Les structures répétitives :
On dispose de 03 structures pour contrôler un traitement répétitif :
- La boucle tant que ….faire
- La boucle faire ….faire
- La boucle répéter …. Jusqu’à.
-
La boucle tant que ……faire :
Tant que (condition vérifiée) do (séquence d’instructions) ;
principe : tant que la condition est vérifiée la séquence s’exécute , le ne s’arrêtera que lorsque la condition
est invérifiable.
Exemple :
1/ tant que le clou n’est pas totalement enfoncé, frapper avec le marteau …
- Opérations répétées : frapper avec le marteau
- Conditions d’arrêt : clou totalement enfoncé.
2/ afficher les 100 premiers nombres positifs .
I0;
Tant que i<=100 faire
Début
I I+1 ;
Ecrire (I);
Fin ;
Eléments de boucle tant que :
La condition d’arrêt : sans condition d’arrêt la boucle devient infinie (cas à éviter).
Le compteur de la boucle : il sert à faire avancer la boucle (incrémentation).
Initialisation du compteur : la condition d’arrêt porte sur le compteur de la boucle, pour cela la
boucle doit commencer par une valeur initial.
La boucle pour …….faire :
Pour (compteur) (valeur initial) à (valeur final) faire (séquence d’instructions) ;
Principe :
- Pour compteur allant de valeur initiale jusqu’à valeur finale exécuter la séquence d’instructions .
- Le nombre de fois que la séquence s’exécute est égale à (valeur finale-valeur initiale+1) ce qui veut
dire que le nombre est connu à l’avance.
Exemple : afficher les 100 premiers nombres entiers positifs.
Var I : entier ;
Pour I 1 A 100 faire
Début
Ecrire (I) ;
Fin ;
Eléments de la boucle pour :
Valeur initiale/finale : le compteur de la boucle doit commencer le comptage à partir de la valeur
initiale et finir avec la valeur finale .
Remarque : on voit clairement ici que la boucle Pour ne nécessite pas d’incrémentation ni d’initialisation
au préalable.
La boucle répéter …….jusqu’a :
Répéter
(Séquence d’instruction) ;
Jusqu'à (condition vérifiée) ;
Exemple 01 : frapper avec le marteau jusqu’à avoir le clou totalement enfoncé.
- Opérations répétées avec le marteau.
- Conditions d’arrêt : clou totalement enfoncé.
Exemple02 : afficher les 100 premiers nombres entiers positifs.
Var I : entier ;
Début
I1;
Répéter
Début
Ecrire (I) ;
I I+1 ;
Jusqu’à I >100 ;
Fin ;
Eléments de la boucle répéter :
Condition d’arrêt.
Incrémentation.
Initialisation.
Remarques générales sur les boucles :
1. la boucle tant que peut ne pas s’exécuter du tout si la condition d’accès à la
boucle n’est pas vérifié.
2. la boucle Répéter s’exécute au moins une seule fois.
3. la boucle Pour s’exécute toujours , le nombre d’exécutions de la séquence
(itérations)est connu d’avance.
4.la boucle tant que et répéter nécessitent toujours une initialisation et une
incrémentation du compteur de boucle.
5. dans le cas ou le nombre d’itérations n’est pas connu, la variable sur laquelle
porte la condition doit être possible à atteindre, et doit être initialisé au préalable,
autre cas on risque de générer une boucle infinie .
6. la boucle pour est utilisé exclusivement dans le cas ou le nombre d’itérations est
connu, on utilisera un compteur entier.