Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
• Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain
nombre de fois
• On distingue trois sortes de boucles en langages de programmation :
Les boucles tant que : on y répète des instructions tant qu'une certaine
condition est réalisée
Les boucles jusqu'à : on y répète des instructions jusqu'à ce qu'une certaine
condition soit réalisée
Les boucles pour ou avec compteur : on y répète des instructions en faisant
évoluer un compteur (variable particulière) entre une valeur initiale et une
valeur finale
1
Définitions Introduction générale
Notion d’algorithme
La boucle Tant que
TantQue (condition)
instructions
FinTantQue
la condition (dite condition de contrôle de la boucle) est évaluée avant chaque itération
si la condition est vraie, on exécute les instructions (corps de la boucle), puis, on retourne
tester la condition. Si elle est encore vraie, on répète l'exécution, …
si la condition est fausse, on sort de la boucle et on exécute l'instruction qui est après
FinTantQue
Il est possible que les instructions à répéter ne soient jamais exécutées.
2
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Boucle Tant que : exemple
Le nombre d'itérations dans une boucle TantQue n'est pas connu au moment
d'entrée dans la boucle. Il dépend de l'évolution de la valeur de la condition
Une des instructions du corps de la boucle doit absolument changer la valeur de
la condition de vrai à faux (après un certain nombre d'itérations), sinon le
programme va tourner indéfiniment
Attention aux boucles infinies
Exemple de boucle infinie Correction
i 1 i 1
Tant Que i>0 Tant Que i<20
i i+1 i i+1
Fin Tant Que Fin Tant Que
3
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Boucle Tant que : exemple
On veut afficher tous les nombres inferieurs à 1000.
4
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
La boucle Répéter … jusqu’à …
Répéter
instructions
Jusqu'à condition
Condition est évaluée après chaque itération
les instructions entre Répéter et jusqu’à sont exécutées au moins une fois et leur
exécution est répétée jusqu’à ce que la condition soit vraie (tant qu'elle est
fausse)
5
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Boucle Répéter jusqu’à : exemple
Un algorithme qui détermine le premier nombre entier N tel que la somme de 1
à N dépasse strictement 100 (version avec répéter jusqu'à)
6
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Différences entre les boucles Tant que et Répéter jusqu'à :
la séquence d'instructions est exécutée au moins une fois dans la boucle Répéter
jusqu'à, alors qu'elle peut ne pas être exécutée dans le cas du Tant que.
la séquence d'instructions est exécutée si la condition est vraie pour Tant que et
si la condition est fausse pour Répéter jusqu'à.
Dans les deux cas, la séquence d'instructions doit nécessairement faire évoluer la
condition, faute de quoi on obtient une boucle infinie
7
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
La boucle Pour
Pour <compteur> allant de <initiale> à <finale> par pas de <valeur du pas>
instructions
FinPour
8
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Les boucles Pour
Remarque : le nombre d'itérations dans une boucle Pour est connu avant le
début de la boucle
Compteur est une variable de type entier (ou caractère). Elle doit être déclarée
Pas est un entier qui peut être positif ou négatif. Pas peut ne pas être mentionné,
car par défaut sa valeur est égal à 1. Dans ce cas, le nombre d'itérations est égal à
finale - initiale+ 1
Initiale et finale peuvent être des valeurs, des variables définies avant le début
de la boucle ou des expressions de même type que compteur
9
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Déroulement des boucles Pour
1) La valeur initiale est affectée à la variable compteur
2) On compare la valeur du compteur et la valeur de finale :
a) Si la valeur du compteur est > à la valeur finale dans le cas d'un pas positif (ou
si compteur est < à finale pour un pas négatif), on sort de la boucle et on
continue avec l'instruction qui suit FinPour
b) Si compteur est <= à finale dans le cas d'un pas positif (ou si compteur est >= à
finale pour un pas négatif), instructions seront exécutées
Ensuite, la valeur du compteur est incrémentée de la valeur du pas si pas est
positif (ou décrémenté si pas est négatif)
On recommence l'étape 2 : La comparaison entre compteur et finale est de
nouveau effectuée, et ainsi de suite …
10
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Boucle Pour : exemple
Calcul de x à la puissance n où x est un réel non nul et n un entier positif ou nul
11
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Boucle Pour : remarques
Il faut éviter de modifier la valeur du compteur (et de finale) à l'intérieur de la
boucle. En effet, une telle action :
• perturbe le nombre d'itérations prévu par la boucle Pour
• rend difficile la lecture de l'algorithme
• présente le risque d'aboutir à une boucle infinie
Exemple : Pour i allant de 1 à 5
i ←i -1
écrire(" i = ", i)
Finpour
12
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Lien entre Pour et TantQue
La boucle Pour est un cas particulier de Tant Que (cas où le nombre d'itérations
est connu et fixé) . Tout ce qu'on peut écrire avec Pour peut être remplacé avec
TantQue (la réciproque est fausse)
Pour compteur allant de initiale à finale par pas valeur du pas
instructions
FinPour
peut être remplacé par : compteur ← initiale
TantQue compteur <= finale
(cas d'un pas positif)
instructions
compteur ← compteur+pas
FinTantQue
13
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Lien entre Pour et TantQue: exemple 1
Calcul de x à la puissance n où x est un réel non nul et n un entier positif ou nul
(forme avec TantQue)
14
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Boucles imbriquées
Les instructions d'une boucle peuvent être des instructions itératives. Dans ce cas,
on aboutit à des boucles imbriquées
Exemple:
Exécution
Pour i allant de 1 à 5
OK
Pour j allant de 1 à i
OOk
écrire("O" )
OOOK
FinPour
OOOOK
écrire("K")
OOOOOK
FinPour
15
Définitions Introduction générale
Notion d’algorithme
Instructions itératives : les boucles
Choix d'un type de boucle
Si on peut déterminer le nombre d'itérations avant l'exécution de la boucle, il est
plus naturel d'utiliser la boucle Pour
S'il n'est pas possible de connaître le nombre d'itérations avant l'exécution de la
boucle, on fera appel à l'une des boucles TantQue ou répéter jusqu'à
Pour le choix entre TantQue et jusqu'à :
• Si on doit tester la condition de contrôle avant de commencer les instructions
de la boucle, on utilisera TantQue
• Si la valeur de la condition de contrôle dépend d'une première exécution des
instructions de la boucle, on utilisera répéter jusqu'à
16