Mot ZIGZAG – Bac Pratique 2015 [ Algorithme + Python ]

Algo et Python 02-09-24
41 0

Travail demandé

Un mot est zig-zag est un mot composé par des lettres majuscules et dont l’ordre alphabétique de ses lettres croissent et décroissant ou inversement d’une façon alternative.

Exemples:

- Le mot « ADAM » est zig-zag car l’ordre alphabétique de «A» est < à celui de « D » dont son ordre alphabétique est > à celui de « A » qui le suit et l’ordre alphabétique de « A » est < à celui de « M ». - Le mot « RANIM » est zig-zag car l’ordre alphabétique de «R» est > à celui de « A » dont son ordre alphabétique est < à celui de « N » qui le suit et l’ordre alphabétique de « N » est > à celui de « I » dont son ordre alphabétique est < à celui de « M ». - Le « PROGRAMME » est non zig-zag car l’ordre alphabétique de «P» est < à celui de « R » dont son ordre alphabétique est > à celui de « O » qui le suit et l’ordre alphabétique de « O » est > à celui de « G ».

Ecrire un programme Python qui permet de remplir un tableau T par N (5≤N≤10) mots composées par des lettres majuscules et dont les longueurs sont comprises entre 2 et 12 et d’afficher les mots zizag du tableau T.

Exemple : Pour N=6 et le tableau T suivant :

BAC TECH PROGRAMME INFO SALUT AHMED

Le programme affiche : « les mots ZIZAG sont : BAC INFO  SALUT »

Solution Algorithmique

Pour résoudre ce problème, voici un algorithme qui permet de remplir un tableau avec des mots et d'identifier ceux qui sont "zig-zag" :

1. Initialisation

Créer un tableau T de taille N, où 5 ≤ N ≤ 10.

Remplir le tableau T avec N mots composés uniquement de lettres majuscules, où chaque mot a une longueur comprise entre 2 et 12 caractères.

2. Vérification des mots "zig-zag"

Pour chaque mot dans le tableau T :

a) Parcourir les lettres du mot deux par deux.

b) Si l'ordre alphabétique d'une lettre est croissant par rapport à la suivante, la suivante doit être décroissante par rapport à celle qui suit, et ainsi de suite.

c) De même, si l'ordre est décroissant, la suivante doit être croissante, puis de nouveau décroissante, etc.

d) Si toutes les comparaisons alternent correctement, le mot est considéré comme zig-zag.

3. Affichage des résultats

Parcourir le tableau et afficher tous les mots zig-zag identifiés.

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

Déclaration des objets

Objet Type / Nature
n entier
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 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 entre 2 et 12

Déclaration des objets

Objet

Type / Nature

i

entier

La fonction test_zig_zag

Cette fonction teste si un mot est zigzag ou non.

Déclaration des objets

Objet Type / Nature
i entier
test booléen
zigzag booléen

 

La procédure afficher_mots_zigzag

Cette procédure identifie et affiche les mots zizag.

Déclaration des objets

Objet Type / Nature
i entier

 

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 identifier et afficher les mots zizag

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 des entiers .

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 afficher_mots_zizgag.

QLabel nommé 'msg' pour afficher des 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

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