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