CHAPITRE 3 : Les boucles de répétition
Exercice : Écrire un bloc d'instructions permettant de saisir le prix d'un article (un
réel). Ensuite, on calcule les taxes TPS et TVQ et on affiche à l'écran les ...
Part of the document
CHAPITRE 3 : Les boucles de répétition
Une boucle permet de répéter un même traitement, une ou plusieurs fois. Le
langage C offre trois sortes de boucles :
do ... while (Répéter ...),
while ... (Tant que ...) et
for ... (Pour ...)
A)Boucle do ... while ... (Répéter .... Tant que)
1) Syntaxe
| | |
| | |
| | |
|do | |
|instruction | |
|while (condition); | |
| | |
| | |
| | |
L'instruction à répéter peut être simple (une seule action), structurée
(une autre instruction de contrôle) ou composée (c'est le cas le plus
fréquent).
Exemples pour illustrer la syntaxe :
. int somme = 0;
int n = 1;
/* instruction à répéter est composée */
do {
somme += n;
n++;
} while (n = 18)
printf("C'est un adulte");
else
age += 5;
} while (age < 18);
. int age;
/* instruction à répéter est composée */
do {
printf("age = %d\n", age);
if (age >= 18)
printf("C'est un adulte");
else
age += 5;
} while (age < 18);
2) Fonctionnement
Étape 1 : Effectuer (d'abord) l'instruction à répéter.
Étape 2 : Vérifier (après) la condition:
a) si la condition est vrai, on revient à l'étape 1;
b) si non (la condition est faux), on quitte la boucle.
Conclusion :
Avec la boucle do ... while, on effectue au moins une fois l'instruction
à répéter.
3) Domaines d'utilisation
On utilise la boucle do ... while quand on ne sait pas à l'avance le
nombre de fois que l'on doit répéter le même traitement. Les exemples
suivants permettent de voir quelques applications possibles avec cette
boucle.
1 Répéter le même traitement en mode conversationnel
C'est le cas le plus fréquent pour le premier travail pratique en
IFT 1810.
Exemple :
Écrire un bloc d'instructions permettant de saisir l'âge et le sexe
d'une personne. Ensuite, on affiche un message du genre :
C'est un enfant de sexe masculin.
On répète le même traitement tant que l'usager décide de continuer.
Solution :
int age;
char sexe,
reponse; /* Oui ou Non l'usager veut continuer */
do {
printf("\nEntrez le sexe et l'age ");
fflush(stdin); /* vider la memoire temporaire */
scanf("%c%d", &sexe, &age);
printf("C'est un ");
if (age