Vous êtes sur la page 1sur 7

LES STRUCTURES REPETITIVES

LES STRUCTURES REPETITIVES

Plan du chapitre :

I. Problématique ……………………………………………………………………………………………... 2
II. Définition ..………………………………………………………………….……………….……………….. 3
III. La boucle Pour……………………………………………………………………………………………… 3
IV. La boucle Répéter ……………….…………………………………………………………..………….. 4
V. La boucle Tant Que ………………………………………..…………………………..…………………... 5
VI. Remarques générales ……..…………………….…………………………………………….……… 6

Objectifs du chapitre :
 Comprendre l’utilité d’une structure répétitive.
 Connaître les différentes structures répétitives disponibles en algorithmique.
 Résoudre des problèmes nécessitant l’utilisation des structures répétitives.

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

III. La boucle Pour :


1. Définition :

La boucle Pour est une structure répétitive qui itère le même traitement pour une plage de
valeurs entières comprises entre une borne inférieure et une borne supérieure. La mise à jour
étant automatique, l’arrêt du traitement de la boucle Pour se réalise lorsqu’on dépasse l’une des
bornes.

2. Représentation algorithmique :

Pour I de Val_initiale à Val_finale, (Pas = Val_pas) Faire


<Traitement>
Fin Pour
Avec
I : variable de type entier (en général) servant de compteur.
Val_initiale : valeur initiale que va prendre I.
Val_finale : valeur finale que prendra I.
Pas : contient une valeur entière indiquent la valeur de l’incrémentation de I (mise à jour de I).
Du fait que le nombre d'itérations est connu à l’avance, on se sert d'un compteur (ici I) qui sera
initialisé automatiquement à la valeur initiale et sera incrémenté de la valeur du pas, jusqu'à la
valeur finale.
Remarque :

 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.
 Dans le corps de la boucle il est interdit de modifier la valeur du compteur I, même si on
peut s'en servir.
 Dans une boucle Pour, si le Pas n’apparaît pas, il vaut 1 par défaut.

3
LES STRUCTURES REPETITIVES

 La boucle Pour est conseillée si le nombre d’itérations à faire est connu à l’avance.

3. Exécution de la Boucle Pour :

On suppose qu’on est déjà entrain d’exécuter un algorithme, et on a rencontré une boucle Pour.
1ère étape : Affectation de Val_initiale au compteur I.
2ème étape : Vérification si la valeur de I est dans l’intervalle ou non, si elle est dans l’intervalle
alors aller à la 3ème étape, sinon aller à la 5ème étape.
3ème étape : Exécution du traitement de la boucle.
4ème étape : Incrémentation automatique de la valeur de I en fonction de la valeur du Pas (I I +
Val_pas) et retour à la 2ème étape.
5ème étape : Sortie de la boucle et suite de l’exécution du programme à partir de la première
instruction qui vient après Fin pour.

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.

IV. La boucle Répéter :


1. Définition :

La boucle Répéter permet de rentrer dans la boucle quelque soit la condition et réitère
l’exécution jusqu'à ce que la condition soit vérifiée.
La condition est une expression logique qui peut être simple ou composée mais qui donne
toujours un résultat logique.

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.
 Dans une boucle Répéter, on parle de condition d’arrêt ; quand elle est atteinte, on sort de
cette boucle.

4
LES STRUCTURES REPETITIVES

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

3. Exécution de la Boucle Répéter :

On suppose qu’on est déjà entrain d’exécuter un algorithme, et on a rencontré une boucle
Répéter.
1ère étape: on entre directement dans le traitement associé à Répéter et on l’exécute.
2ème étape: on met à jour les variables impliquées dans la condition d’arrêt.
3ème étape: on teste la condition d’arrêt : si elle n’est pas atteinte, on revient à la 1ère étape, sinon
on passe à la 4ème étape.
4èmeétape: la condition d’arrête étant atteinte, on sort de la boucle Répéter et on continue
l’exécution du programme à partir de la 1ère instruction qui vient après Jusqu’à.

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.

V. La boucle Tant que :


1. Définition :

La boucle Tant que permet d’exécuter le corps de la boucle lorsque la condition d’exécution est
vérifiée ; on s'arrêtera dès que la condition n’est plus vérifiée.

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

5
LES STRUCTURES REPETITIVES

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

3. Exécution de la Boucle Tant que :

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.

Remarque : Si la condition d’exécution reste inchangée (non mise à jour), on risque de


reboucler indéfiniment et par conséquent le programme se bloque (boucle infinie).

4. Exercices d’application :

Exercice N°1 :

Ecrire un algorithme calculant la somme des N premiers entiers.

5. Exercice d’application récapitulatif :

En utilisant les 3 schémas itératifs, on vous demande d’écrire les algorithmes correspondants au
calcul du factoriel d’un entier N donné.

VI. Remarques générales :


 Le <Traitement> d'une boucle peut contenir lui aussi une autre boucle. On l'appelle dans ce
cas des boucles imbriquées.
 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.

6
LES STRUCTURES REPETITIVES

 Tableau Comparatif des Trois Schémas itératifs :

Critère Répéter Tant que Pour


Traitement Au moins 1 fois De 0 à N fois De Val_initiale jusuq’à
Val_finale
Initialisation Oui avant Répéter Oui avant Tant que Oui : Val_initiale
Mise à jour Oui après traitement Oui après traitement Oui, Automatique en
variable fonction du Pas
Sortie de la boucle Condition_arrêt atteinte Condition_exécution Compteur dépassant
non vérifiée les bornes
Type de la Expression logique avec Expression logique Une seule variable de
condition ET, OU, etc. avec ET, OU, etc. type Entier

Tableau 1 : Tableau comparatif entre les trois boucles.

Vous aimerez peut-être aussi