Académique Documents
Professionnel Documents
Culture Documents
Chapitre 4 :
LES STRUCTURES REPETITIVES
Plan du chapitre :
I. Problématique
II. Définition
III. La boucle Pour
IV. La boucle Répéter
V. La boucle Tant Que
VI. Remarques générales
Objectifs du chapitre :
1
CHAPITRE 4 LES STRUCTURES REPETITIVES
I. Problématique :
Rappelons l’algorithme permettant de calculer la moyenne d’un étudiant ayant obtenu 3 notes
dans 3 épreuves différentes (3 coefficients différents). On a proposé alors l’algorithme suivant :
Algorithme CalculMoy
Variable N1,N2,N3 : réel (* les 3 notes *)
C1,C2,C3 : réel (* les 3 coefficients *)
MOY : réel (* la moyenne *)
Début
Lire(N1, C1)
Lire(N2, C2)
Lire(N3, C3)
MOY (N1*C1+N2*C2+N3*C3)/(C1+C2+C3)
Écrire(MOY)
Fin
Si on veut calculer maintenant la moyenne pour deux étudiants ; avec les structures vues jusqu’à
maintenant, on peut proposer la solution suivante :
Algorithme CalculMoy
Variable N1,N2,N3 : réel (* les 3 notes *)
C1,C2,C3 : réel (* les 3 coefficients *)
MOY : réel (* la moyenne *)
Début
(* Traitement étudiant 1 *)
Lire(N1, C1)
Lire(N2, C2)
Lire(N3, C3)
MOY (N1*C1+N2*C2+N3*C3)/(C1+C2+C3)
(* Traitement étudiant 2 *)
Écrire(MOY)
Lire(N1, C1)
Lire(N2, C2)
Lire(N3, C3)
MOY (N1*C1+N2*C2+N3*C3)/(C1+C2+C3)
Écrire(MOY)
Fin
Comme vous le remarquez, on est obligé de répéter le même bloc d’instructions pour le
traitement de chaque étudiant. Imaginez l’algorithme lorsqu’on dispose de toute une classe avec
un nombre élevé d’étudiants.
On serait en présence d’un algorithme volumineux, non lisible, mal structuré et lourd au niveau
de l’exécution.
L’idéal est d’avoir une structure capable de représenter le bloc d’instructions qui se répète une
seule fois et de l’exécuter plusieurs fois en changeant uniquement les valeurs des notes de
chaque étudiant.
Une telle structure existe et est appelée Structure Répétitive ou Structure Itérative ou encore la
Structure Boucle.
2
CHAPITRE 4 LES STRUCTURES REPETITIVES
II. Définition :
Une structure répétitive est une structure qui répète un même traitement autant de fois que l’on
veut en fonction d’une condition d’exécution.
Cette structure s’arrête lorsque cette condition n’est plus vérifiée.
On distingue deux types de répétitions :
L’Itération : quand on sait le nombre de fois que l’on va répéter un traitement :
La boucle Pour.
La Répétition Conditionnelle : quand la poursuite d’une répétition dépend d’une condition
booléenne :
La boucle Tant que.
La boucle Répéter.
L’utilisation d’un tel ou tel schéma dépend essentiellement de la nature du problème à résoudre.
2. Représentation algorithmique :
Le traitement de la boucle Pour est exécuté pour toutes les valeurs comprises entre
Val_initiale et Val_finale.
Le sens de la boucle Pour peut être croissant (Pas > 0) ou décroissant (Pas < 0).
Si la valeur du Pas = 0, on sera en présence d’une boucle infinie.
L’incrémentation de I est automatique en fonction de la valeur du Pas.
3
CHAPITRE 4 LES STRUCTURES REPETITIVES
4. Exercices d’application :
Exercice N°1 :
Ecrire l'algorithme qui permet de saisir les moyennes des N étudiants et de calculer la moyenne
générale.
Exercice N°2 :
Ecrire l'algorithme qui permet d'afficher tous les nombres pairs qui existent entre 1 et 10.
2. Représentation Algorithmique :
Répéter
<Traitement>
<mise_à_jour_condition_arrêt>
Jusqu'à (Condition_Arrêt_Atteinte)
Remarque :
Dans une boucle Répéter, le traitement est exécuté au moins une seule fois quelle que soit la
valeur de la condition d’arrêt.
4
CHAPITRE 4 LES STRUCTURES REPETITIVES
Dans une boucle Répéter, on parle de condition d’arrêt ; quant elle est atteinte, on sort de
cette boucle.
Il est indispensable d’initialiser correctement les variables de la condition d’arrêt et de les
mettre à jour à la fin de chaque itération : condition nécessaire et obligatoire pour pouvoir
reboucler.
La structure Répéter est conseillée surtout pour les problèmes indiquant dans leur énoncé
une condition d’arrêt.
Remarque :
Si la condition d’arrêt reste inchangée (non mise à jour), on risque de reboucler indéfiniment et
par conséquent le programme se bloque.
4. Exercices d’application :
Exercice N°1 :
Ecrire un algorithme qui lit un nombre entier et s’arrête dès qu’il devienne supérieur à 100.
Exercice N°2 :
Ecrire un algorithme qui calcule la moyenne de N note.
2. Représentation Algorithmique :
……….
Initialisation des variables de la condition d’exécution
Tant que (Condition_exécution_vérifiée) Faire
<Traitement>
<mise_à_jour_condition_exécution>
Fin Tant que
………
5
CHAPITRE 4 LES STRUCTURES REPETITIVES
Remarque :
Dans une boucle Tant que, le traitement associé à la boucle peut ne pas être exécuté : la
condition d’exécution n’est pas vérifiée dès le départ.
Dans une boucle Tant que, on parle de condition d’exécution ; quant elle n’est plus
vérifiée, on sort de cette boucle.
Il est indispensable d’initialiser correctement les variables de la condition d’exécution et de
les mettre à jour à la fin de chaque itération : condition nécessaire et obligatoire pour
pouvoir reboucler.
La mise à jour de ces variables peut se faire soit par une lecture, soit par une affectation.
La structure Tant que est conseillée surtout pour les problèmes indiquant dans leur énoncé
une condition d’exécution.
Une condition d’exécution est la négation de la condition d’arrêt.
On suppose qu’on est déjà entrain d’exécuter un algorithme, et on a rencontré une boucle Tant
que.
On suppose également que les variables impliquées dans la condition d’exécution sont
initialisées.
1ère étape : On teste si la condition d’exécution est vérifiée ou non : si oui alors aller à la 2ème
étape sinon aller à la 5ème étape.
2ème étape : On exécute le traitement associé à la boucle.
3ème étape : On met à jour les variables de la condition d’exécution.
4ème étape : Aller à la 1ère étape.
5ème étape : On sort de la boucle et on continue l’exécution du programme à partir de la première
instruction qui vient après Fin Tant que.
4. Exercices d’application :
Exercice N°1 :
6
CHAPITRE 4 LES STRUCTURES REPETITIVES
La différence entre la boucle REPETER et la boucle TANT QUE est que le traitement
spécifié est exécuté au moins une fois dans le premier cas et peut être 0 ou plusieurs fois
dans le deuxième cas.
La condition d'arrêt de la boucle REPETER est l'inverse de la condition d'exécution de la
boucle TANTQUE.