CHAPITRE 3 : Les boucles de répétition - Département d ...

Examen 1ére session juin 2006. Licence Informatique 3éme année. Module
Complément JAVA. Durée 2 heures. Documents autorisés : les polycopiés et
notes ...

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