Vous êtes sur la page 1sur 4

Chapitre 4 ® Les structures de contrôle itératives (N+A) Classe: 4èmeSc.

I. La structure itérative complète :


Exercice1 : Soit la séquence algorithmique suivante :
ch1  ""
pour i de 0 à long(ch)-1 faire
ch1  ch1 + ch[i]
Finpour
Questions:
a) Exécuter à la main cette séquence pour ch= "ruojnoB" et donner la valeur finale de ch1
ch1="ruojnoB"
b) Déduire le rôle de cette séquence : cette séquence permet d’affecter la chaine ch à ch1 caractère par
caractère.
c) Remplacer cette boucle par une boucle pour décroissante sans modifier le résultat de la séquence
ch1  ""
pour i de long(ch)-1 à 0 faire
ch1  ch1 + ch[i]
Finpour

Définition : La structure itérative complète permet de répéter l’exécution d’une suite d’instructions un
nombre fini de fois connu d’avance .
1. Syntaxe : En algorithmique Implémentation en Python
… …
[Initialisation] Initialisation
pour compteur de vi à vf (pas=val_pas) faire for compteur in range (vi,vf+1, pas=val_pas) :
Instruction 1 Instruction 1
Instruction 2 Instruction 2
… …
Instruction n Instruction n
Fin pour …
….
Remarques : - Le compteur doit être de type entier.
- vi : c’est la valeur initiale du compteur et vf : c’est valeur finale du compteur.
- L’incrémentation de 1 de la valeur du compteur se fait automatiquement.
Exercice2 : Ecrire un algorithme et un programme en Python du problème qui permet de saisir une
chaîne de caractères ch, calculer et afficher le nombre de voyelles figurant dans ch.
Exemple : Donnée : Résultat
ch= "Ba2I ;uA" nombre de voyelles =4
Algo python
Algorithme voyelles
Début
Ecrire("Entre ch = "), Lire(ch)
nbv 0
Pour i de 0 à long(ch) – 1 faire
Si ch[i] € ["A","E","I","O","U","Y", "a","e","i","o","u","y"]
Alors
nbv nbv+1
Finsi
Finpour
Fin
T.D.O
Objet T/ N
ch Chaine
i Entier
nbv Entier

Lycée Jendouba 1/4 A.S :2021/2022


Chapitre 4 ® Les structures de contrôle itératives (N+A) Classe: 4èmeSc.

II. Les structures de contrôle itératives à condition d’arrêt :


1- La structure itérative à condition d’arrêt : « Répéter … Jusqu’à »
Exercice3 : Ecrire l’algorithme qui permet la lire le mot de passe pour accéder à un ensemble des
données.
Algo python
Algorithme motdepasse
Début
Estrcrire("Entrer mot = "), Lire(mot)
Répéter
Ecrire("Entrer mp = "), Lire(mp)
Jusqu’à mp = mot
Ecrire("mot de passe accepté")
Fin
T.D.O
Objet T/ N
mp Chaine
mot Chaine
a. Définition : La structure itérative à condition d’arrêt « Répéter…jusqu’à » permet de répéter l’exécution d’une
suite d’instructions jusqu’à ce que la valeur d’une condition d’arrêt (de sortie) passe à l’état «Vrai »
b. Syntaxe : En algorithmique Implémentation en Python
… …
[Initialisation] [Initialisation]
Répéter
Instruction 1 while not (condition d’arrêt) :
Instruction 2 Traitement
… …
Instruction n
Jusqu’à condition

Remarques:
 La structure « Répéter…jusqu’à » est utilisée lorsque le nombre de répétitions est non connu d’avance.
 Le traitement se répète au moins une fois .
 Si la valeur de la condition de sortie est « Vrai », la répétition s’arrête.
 Si la valeur de la condition de sortie est « Faux», le traitement se répète.
 La partie Initialisation contient les éventuelles initialisations des variables qui seront mises à jour au
niveau du traitement répétitif.
 S'il y a un éventuel compteur, il faut l'initialiser avant la boucle, de même on doit assurer son
avancement au sein de la boucle.
 La boucle Répéter est utilisée entre autre dans le contrôle des données saisies.
 Python n’utilise pas la boucle répéter, pour l’implémenter on utilise la boucle while, le minimum à faire
est d’inverser la condition.
Exercice4 :
1) Ecrire l’instruction algorithmique qui permet de saisir un entier X > 0.
Répéter
Ecrire("Entrer X = "), Lire(X)
Jusqu’à X > 0
2) Ecrire l’instruction algorithmique qui permet de saisir une chaine de caractères ch non vide.
Répéter
Ecrire("Entrer ch = "), Lire(ch)
Jusqu’à long(ch) > 0
3) Ecrire l’instruction algorithmique qui permet de saisir un entier N positif composé de 7 chiffres.
Répéter
Ecrire("Entrer X = "), Lire(X)
Jusqu’à ( long(concgh(X) ) = 7)

Lycée Jendouba 2/4 A.S :2021/2022


Chapitre 4 ® Les structures de contrôle itératives (N+A) Classe: 4èmeSc.

Exercice5 : Ecrire un algorithme et un programme Python du problème qui permet de :


- Saisir une chaîne des caractères ch non vide
- Former à partir de ch les trois variables ci-dessous :
* ch1 : résultat de la concaténation des lettres figurant dans ch.
* S : la somme des chiffres figurant dans ch
* ch2 : résultat de la concaténation des symboles figurant dans ch
- Afficher ch1, S et ch3
Exemple : Donnée : Résultat :
ch= "Ba2;c9!4" ch1= Bac, S= 15 et ch2= ;!
Algo python
Algorithme tous
Début
Répéter
Ecrire("Entrer ch = "), Lire(ch)
Jusqu’à long(ch) > 0
[ch1"" , ch2"" , s0 ]
Pour i de 0 à long(ch) – 1 faire
Si ch[i] € ["A",..,"Y","Z","a","b",... ,"z] Alors
ch1ch1+ch[i]
Sinon Si ch[i] € ["0","1","2",…,"8","9"] Alors
ss+valeur(ch[i])
Sinon
ch2ch2+ch[i]
Finsi
Finpour
Ecrire(ch1)
Ecrire(ch2)
Ecrire(s)
Fin
T.D.O
Objet T/ N
ch Chaine
ch1 Chaine
ch2 Chaine
s Entier
i entier
2- La structure « Tant que … Faire »
Exercice6 : A chaque station le bus s’arrête pour faire monter les voyageurs à condition qu’aucun voyageur ne
puisse monter s’il n’y a pas de places vacantes. Ecrire la séquence d’instructions qui permet d’effectuer cette
action.
[arrêt du bus]
Tant que (il y a des places vacantes) faire
Monter voyageur
FinTq
Exercice7 : Écrire un algorithme qui saisit un nombre pair et qui détermine combien de fois ce nombre
est divisible par 2.
Exemple: Le nombre 8 est divisible 3 fois par 2 (Ne pas contrôler la parité du nombre).
Algorithme divise2
Début
Ecrire("Entrer n = "), Lire(n) T.D.O
[nb0] Objet T/ N
Tant que (n mod 2 = 0) faire n Entier
n n div 2 nb Entier
nbnb+1
FinTq
Ecrire("Le nombre ",n, "divise 2 ", nb, " fois.")
Fin

Lycée Jendouba 3/4 A.S :2021/2022


Chapitre 4 ® Les structures de contrôle itératives (N+A) Classe: 4èmeSc.

b. Définition : La structure itérative à condition d’arrêt « Tant que…Faire » permet de répéter l’exécution
d’une suite d’instructions tant que la valeur d’une condition (d’entrée) est « Vrai »
c. Syntaxe :
En algorithmique Implémentation en Python
… …
Tant que condition faire
Instruction 1 While condition :
Instruction 2 Instruction 1
… Instruction 2
Instruction n …
Fin tant que Instruction n
… …
Remarques :
 La structure « Tant que…Faire » est utilisée lorsque le nombre de répétitions est non connu d’avance.
 Le traitement se répète au moins zéro fois.
 Si la valeur de la condition d’entrée est « Vrai.», le traitement se répète.
 Si la valeur de la condition d’entrée est « Faux » la répétition s’arrête.
Exercice8 : Pour calculer le PGCD de deux entiers positifs a et b on utilise la méthode de la différence exprimée par l’algorithme formel
suivant :
1) Remplacer a par a-b si a>b
2) Remplacer b par b-a si b>a
3) Répéter les étapes précédentes jusqu’à avoir a est égal à b (le pgcd est soit a ou b)
Ecrire un algorithme et un programme en Python du problème qui permet de saisir deux entiers strictement positifs a et b, calculer et
afficher leur PGCD en utilisant la méthode de différence décrite auparavant.
Algo python
Algorithme PGCD
Début
Ecrire("Entrer a = "), Lire(a)
Ecrire("Entrer b = "), Lire(b)
Tant que (a ≠ b) faire
Si a > b Alors
a a - b
Sinon
b b - a
FinTq
Ecrire("Le PGCD est = ", a)
Fin
T.D.O
Objet T/ N
a Entier
b entier
Exercice9 : Ecrire l’algorithme et le programme Python du problème qui permet de calculer et afficher le nombre des mots dans une
phrase donnée. La phrase est non vide, ne commence pas, ne se termine pas par un espace et ses mots sont séparés par un seul espace.
Algorithme solution du problème en utilisant la boucle Pour…. Faire:
Algorithme solution du problème en utilisant la boucle Tantque…. Faire:
Algorithme solution du problème en utilisant la boucle Répéter…. Jusqu’à:
Pour…. Faire Tantque…. Faire Répéter…. Jusqu’à
Algorithme PGCD
Début
Ecrire("Entrer a = "), Lire(a)
Ecrire("Entrer b = "), Lire(b)
Tant que (a ≠ b) faire
Si a > b Alors
a a - b
Sinon
b b - a
FinTq
Ecrire("Le PGCD est = ", a)
Fin
T.D.O
Objet T/ N
a Entier
b entier
Exercice10 : Ecrire l’algorithme du programme qui permet de :
 Saisir un entier n, avec 5 ≤ n ≤ 15
 Remplir un tableau T par n chaines de caractères non vides.
 Afficher la chaine la plus langue et la plus courte du tableau T.

Lycée Jendouba 4/4 A.S :2021/2022

Vous aimerez peut-être aussi