Recherche dans un tableau – Bac Pratique 2015 [ Algorithme + Python ]

Algo et Python 04-09-24
104 0

Sujet bac informatique pratique 2015 (Bac scientifique)

Une chaine est dite existante dans un tableau de chaine si elle peut être formée à partit de la concaténation des ièmes carcatères des différents éléments de ce tableau.

Exemple : pour n=5 et le tableau suivant : t

SALAH AMIRA BILEL ANWAR KARIM

Pour ch=’’AMINA’’ le programme affiche chaine existante dans T car elle est le résultat de la concaténation des 2èmes carcatères des différents éléments de T

Pour ch=’’SALWA’’ le programme affiche chaine inexistante dans T car aucune cocaténation des ième caractères de T ne forme ch.

Ecrire un programme Python qui permet de saisir un entier n (5≤n≤10) et une chaine ch composée de lettres majuscules, puis de remplir un tableau T par n chaine de lettres et de même longueur que ch et de vérifier l’existence de ch dans T comme décrit ci-dessus.

Solution Algorithmique

Pour résoudre ce problème, il faut concevoir un algorithme qui vérifie si une chaîne ch peut être formée par la concaténation des ièmes caractères des différentes chaînes d'un tableau T. Voici un principe pour construire cet algorithme :

1- Initialisation et saisie des données :

Lire la chaîne ch composée de lettres majuscules.

Lire un entier n (avec 5≤n≤105 \leq n \leq 10).

Initialiser un tableau T de n chaînes, chacune de longueur ch.

2- Saisie des chaînes dans le tableau T :

Pour chaque indice i de 1 à n, lire une chaîne T[i] de longueur ch et la stocker dans le tableau.

3- Vérification de l'existence de ch :

a) Initialiser une chaîne ch1

b) Initialiser une variable booléenne existence à Vrai.

c) Parcourir chaque caractère de la chaîne ch :

d) Pour chaque i allant de 0 à n-1, ajouter le ième caractère  de T[i]à ch1.

Si ch1  ne correspond pas à ch1, mettre existence à Faux et arrêter la boucle et retourner à l'étape c.

Si la variable existence est toujours à Vrai, alors ch existe dans T selon les critères donnés, sinon elle n'existe pas.

4- Affichage du résultat :

Si existence est Vrai, afficher "chaine existante dans T".

Sinon, afficher "chaine inexistante dans T".

Dans cet algorithme, On va utiliser 4 fonctions et 2 procédures :


Algorithme du programme principal

Déclaration des objets

Objet Type / Nature
n entier
ch chaîne des caractères
t tableau des 20 chaînes des caractères

 

La fonction saisie_taille

Cette fonction retourne un entier n entre 5 et 10 saisi par l'utilisateur.

Déclaration des objets

Objet

Type / Nature

n

entier

La fonction saisie_ch

Cette fonction retourne une chaîne de caractères formée des lettres majuscules.

Déclaration des objets

Objet Type / Nature
ch chaine des caracteres

 

La fonction verif_majus

Cette fonction vérifie si une chaine est composé uniquement des lettres majuscules ou non.

Déclaration des objets

Objet

Type / Nature

i

entier

La procédure remplir

Cette procédure remplit le tableau t des mots composé uniquement des lettres majuscules et dont ses longueurs sont égaux à long de ch

Déclaration des objets

Objet

Type / Nature

i

entier

La fonction recherche_existence

Cette fonction recherche l'existence d'un mot donné dans un tableau T des chaînes de caractères.

Déclaration des objets

Objet Type / Nature
i entier
j entier
ch1 chaîne des caractères
ch2 chaîne des caractères
existence booléen

 

Solution en Python

Exécution du programme

Solution en Python et Designer QT

Pour remplir un tableau des chaînes à partir d'une chaîne de caractères en Python, vous pouvez suivre les étapes suivantes :

1- Découper la chaîne de caractères en sous-chaînes contenant les mots.

3- Ajouter chaque sous-chaîne  au tableau.

Pour créer une application en Python pour rechercher l'existence d'un mot donné dans le tableau T.

1- Créer l'interface graphique avec Qt Designer

a- Ouvrez Qt Designer et créez un nouveau fichier de type Main Window.

b- Ajoutez ces widgets:

QLineEdit nommé 'ch' pour entrer le mot.

QLineEdit nommé 'tab_ch' pour entrer les chaines à mettre dans le tableau.

QPushButton nommé 'remplir_bt' pour exécuter le module createTab afin de remplir le tableau à partir de la chaine 'ch'.

QPushButton nommé 'bt_recherche' pour exécuter le module recherche_existence.

QLabel nommé 'msg' pour afficher les messages d'erreur

QLabel nommé 'tab_label' pour afficher les éléments du tableau T.

QLabel nommé 'resultat' pour afficher les mots zigzag.

Enregistrez le fichier avec l'extension .ui, par exemple tabtab-2.ui.

2- Créer le script Python pour l'application

Exécution du programme

 

Vous pouvez voir aussi :

1) des exercices sur les chaînes des caractères

2) des exercices sur les tableaux

3) des sujets Bac pratique

4) des sujets Bac théorique

0 commentaire

laisser un commentaire

Veuillez noter s'il vous plaît*

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Passion de robotique

Atelier robotique

Construction des robots

Bras robotique

Maison intelligente

But de ce site web

La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.

Coordonnées

Zaouiet Kontech-Jemmel-Monastir-Tunisie

+216 92 886 231

medaliprof@gmail.com

Photos des articles

Site robotique réalisé par Mohamed Ali-Prof Info