Les structures de contrôle itératives
Les structures de contrôle itératives
I. La structure itérative complète (Pour…)
Activité 1
Écrire un programme qui lit une chaîne de caractères CH, puis détermine et affiche le nombre de lettres
majuscules contenues dans cette chaîne.
Exemple
Pour CH= "3 Math"
Le programme affiche : Le nombre des caractères majuscules est : 1
Initialisation :
Nb ← 0
Étape 1 :
i = 0 → CH[0] = '3'
Test : CH[0] ∈ "A".."Z" ? Non → Nb = 0
Étape 2 :
i = 1 → CH[1] = ' '
Test : CH[1] ∈ "A".."Z" ? Non → Nb = 0
Étape 3 :
i = 2 → CH[2] = 'M'
Test : CH[2] ∈ "A".."Z" ? Oui → Nb ← Nb + 1 = 1
Étape 4 :
i = 3 → CH[3] = 'a'
Test : CH[3] ∈ "A".."Z" ? Non → Nb = 1
Étape 5 :
i = 4 → CH[4] = 't'
Test : CH[4] ∈ "A".."Z" ? Non → Nb = 1
Étape 6 :
i = 5 → CH[5] = 'h'
Test : CH[5] ∈ "A".."Z" ? Non → Nb = 1
Résultat final :
Nb = 1 → Il y a 1 lettre majuscule dans "3 Math"
Questions
a) Combien de fois le programme répète-t-il le traitement pour parcourir la chaîne ?
b) Que représente le compteur i dans le programme ? Quelle est sa valeur initiale au début de la
boucle et sa valeur finale à la fin ?
Nizar SOLI – nizar.3902@[Link] 1
Les structures de contrôle itératives
Réponse
a) Combien de fois le programme répète-t-il le traitement pour parcourir la chaîne ?
Le programme répète le traitement une fois pour chaque caractère de la chaîne.
Exemple : Pour CH = "3 Math" (6 caractères), le traitement est répété 6 fois.
b) Que représente le compteur i dans le programme ? Quelle est sa valeur initiale au début de la boucle et sa
valeur finale à la fin ?
Représentation : i est l’indice du caractère courant dans la chaîne.
Valeur initiale : i = 0 (premier caractère).
Valeur finale : i = Long(CH) - 1 (dernier caractère).
Exemple pour CH = "3 Math" : valeur initiale = 0, valeur finale = 5.
Algorithme
Algorithme Majuscules
Début
Écrire("Donner une chaîne de caractères :")
T.D.O :
Lire(CH)
Nb ← 0 Objet Type / nature
Pour i de 0 à Long(CH) - 1 Faire CH Chaîne de caractères
Si CH[i] ∈ "A".."Z" Alors Nb Entier
Nb ← Nb + 1 i Entier
FinSi
FinPour
Écrire("Le nombre de lettres majuscules est : ", Nb)
Fin
Programme python
Nizar SOLI – nizar.3902@[Link] 2
Les structures de contrôle itératives
1) Définition
La boucle « pour » est une structure de contrôle qui permet d’exécuter un traitement un nombre de fois connu
à l’avance.
NB : le programme connaît à l’avance le nombre total d’itérations à effectuer.
2) Syntaxe
a) Au niveau de l’algorithme
Pour Compteur de Début à Fin [Pas = valeur_pas] Faire
Traitement
Fin Pour
NB :
La valeur du pas peut être positive ou négative. Par défaut, elle est égale à 1.
Éviter de modifier la valeur du compteur au niveau du traitement.
b) Au niveau Python
for compteur in range (Début, Fin+1, Pas) :
Traitement
NB : La valeur finale du compteur est exclue de la boucle.
Remarques :
La valeur du pas peut être positive ou négative. Par défaut, elle est égale à 1.
Ne pas utiliser l’instruction break pour forcer l
II. La structure itérative à condition d’arrêt (Répéter ... Jusqu’à)
Activité 2
Écrire un programme qui lit la masse initiale d’une bougie. La bougie perd 20 % de sa masse chaque jour. Le
programme doit calculer et afficher :
1. Le nombre de jours nécessaires pour que la masse de la bougie soit inférieure ou égale à 1 gramme.
2. La masse restante de la bougie à ce moment-là.
Exemple
Pour m= 3 g
Initialisation :
Jour ← 0
Étape 1 :
Test M > 1
M ← M * 0.8 ==> M = 3 * 0.8 = 2.4
Jour ← Jour + 1 ==> Jour = 1 1
Nizar SOLI – nizar.3902@[Link] 3
Les structures de contrôle itératives
Étape 2 :
Test M > 1
M ← M * 0.8 ==> M = 2.4 * 0.8 = 1.92
Jour ← Jour + 1 ==> Jour = 2 2
Étape 3 :
Test M > 1
M ← M * 0.8 ==> M = 1.92 * 0.8 = 1.536
Jour ← Jour + 1 ==> Jour = 3 3
Étape 4 :
Test M > 1
M ← M * 0.8 ==> M = 1.536 * 0.8 = 1.2288
Jour ← Jour + 1 ==> Jour = 4 4
Étape 5 :
Test M > 1
M ← M * 0.8 ==> M = 1.2288 * 0.8 = 0.98304
Jour ← Jour + 1 ==> Jour = 5 5
Étape 6 :
Test M > 1 → Arrêt
Résultat final :
Nombre de jours nécessaires = 5 5
Masse restante = 0.98304 g
Algorithme
Algorithme Bougie
Début T.D.O :
Écrire("Masse initiale de la bougie (en g) : ")
Lire(masse) Objet Type / nature
jour ← 0 masse Entier
TantQue masse > 1 Faire jour Entier
jour ← jour + 1
masse ← masse × 0.8
FinTantQue
Écrire("À partir du jour ", jour, " la masse devient ≤ 1 g (masse = ", masse, " g).")
Fin
Nizar SOLI – nizar.3902@[Link] 4
Les structures de contrôle itératives
Programme python
1) Définition
La structure TantQue … Faire est une boucle conditionnelle qui permet de répéter un traitement tant qu’une
condition donnée reste vraie.
Principe
La condition est testée avant chaque itération.
Si elle est vraie, le traitement est exécuté.
Si elle devient fausse, la boucle s’arrête.
2) Syntaxe
a) Au niveau de l’algorithme
TantQue condition Faire
Traitement
Fin TantQue
NB :
condition : expression logique qui doit être vraie pour continuer la boucle
instructions : bloc d’instructions exécuté à chaque itération
b) Au niveau Python
while condition:
Traitement
III. La structure itérative à condition d’arrêt (TantQue ... Faire)
Activité 3
Écrire un programme qui génère aléatoirement un nombre compris entre 1 et 50, puis demande à l’utilisateur de
le deviner.
Après chaque tentative, le programme indique si la proposition de l’utilisateur est trop petite, trop grande ou
correcte, et répète la demande jusqu’à ce que le nombre soit trouvé.
Nizar SOLI – nizar.3902@[Link] 5
Les structures de contrôle itératives
Exemple
Supposons que le nombre choisi aléatoirement soit N = 12
(Nombre choisi aléatoirement : N = 12)
Étape 1
Votre proposition : 15
On a 15 > 12
Alors afficher : Trop grand
Étape 2
Votre proposition : 10
On a 10 < 12
Alors afficher : Trop petit
Étape 3
Votre proposition : 12
On a 12 = 12
Alors afficher : Bravo ! Vous avez trouvé.
Algorithme
Algorithme DevinerNombre
Début
Nombre ← Random(1,50)
Écrire("J'ai choisi un nombre entre 1 et 50. Essayez de le deviner !")
Répéter
Proposition ← Lire()
Si Proposition < Nombre Alors
Écrire("Trop petit")
Sinon Si Proposition > Nombre Alors
Écrire("Trop grand")
Sinon
Écrire("Correct ! Vous avez trouvé le nombre.")
FinSi
T.D.O :
Jusqu’à Proposition = Nombre
Fin Objet Type / nature
Nombre Entier
Proposition Entier
Nizar SOLI – nizar.3902@[Link] 6
Les structures de contrôle itératives
Programme python
1) Définition
La structure Répéter … Jusqu’à exécute un traitement au moins une fois et le répète jusqu’à ce qu’une
condition soit vraie.
Principe
Exécuter au moins une fois le bloc d’instructions.
Vérifier la condition après chaque exécution.
Répéter le bloc tant que la condition est fausse.
Arrêter la boucle lorsque la condition devient vraie.
2) Syntaxe
a) Au niveau de l’algorithme
Répéter
instructions
Jusqu’à condition
instructions : actions à exécuter à chaque itération
condition : expression qui devient vraie pour arrêter la boucle
b) Au niveau Python
condition = False
while not condition:
# instructions à répéter
# mettre à jour la condition
Nizar SOLI – nizar.3902@[Link] 7