• Aucun résultat trouvé

Initiation à l'algorithmique Structures répétitives  Les Boucles 

N/A
N/A
Protected

Academic year: 2022

Partager "Initiation à l'algorithmique Structures répétitives  Les Boucles "

Copied!
74
0
0

Texte intégral

(1)

Initiation à l'algorithmique

Structures répétitives Les Boucles

Mohamed MESSABIHI

mohamed.messabihi@gmail.com

Université de Tlemcen Département d'informatique

1ère année MI

https://sites.google.com/site/informatiquemessabihi/

12 novembre 2014

1 / 18

(2)

Qu'est qu'une boucle ?

Une boucle est une structure de contrôle qui permet de répéter les mêmes instructions plusieurs fois.

On distingue types de boucles courantes en C :

1. while 2. do. . . while 3. for

Le passage dans une boucle est appeléitération

2 / 18

(3)

Qu'est qu'une boucle ?

Une boucle est une structure de contrôle qui permet de répéter les mêmes instructions plusieurs fois.

On distingue types de boucles courantes en C :

1. while 2. do. . . while 3. for

Le passage dans une boucle est appeléitération

2 / 18

(4)

La boucle While

Syntaxe :

while ( Condition )

{ // Bloc d' instructions }

• 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 le bloc d'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 se trouve juste après l'accolade fermante } .

3 / 18

(5)

La boucle While

Syntaxe :

while ( Condition )

{ // Bloc d' instructions }

• 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 le bloc d'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 se trouve juste après l'accolade fermante } .

3 / 18

(6)

La boucle While

Syntaxe :

while ( Condition )

{ // Bloc d' instructions }

• 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 le bloc d'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 se trouve juste après l'accolade fermante } .

3 / 18

(7)

Exemple de boucle While

On souhaite écrire un programme qui permet de contrôler la saisie d'un entier positif.

Exemple :

int entierPositif = 0;

while (entierPositif <=0)

{ printf(" Tapez un entier positif ! ");

scanf("%d", &entierPositif);

}

4 / 18

(8)

Répéter un certain nombre de fois

• On va pour cela créer une variable compteur qui vaudra 0 au début du programme

• Et que l'on va incrémenter à chaque itération.

Exemple :

int compteur = 0;

while (compteur < 10)

{ printf("La variable compteur vaut %d \n", compteur);

compteur++; // equivalent a compteur = compteur +1;

}

Uneincrémentationconsiste à ajouter 1 à la variable en faisant var++ ;.

5 / 18

(9)

Attention aux boucles innies

• Le nombre d'itérations dans une bouclewhilen'est pas connu à l'avance. Il dépend de l'évaluation de la condition.

• Lorsque vous créez une boucle, assurez-vous toujours qu'elle peut s'arrêter à un moment ! Si la condition est toujours vraie, votre programme ne s'arrêtera jamais !

Exemple :

int compteur = 0;

while (compteur >= 0)

{ printf("La variable compteur vaut %d \n", compteur);

compteur++; // equivalent a compteur = compteur +1;

}

• Une des instructions du corps de la boucle doit absolument changer la valeur de condition de vrai à faux (après un certain nombre d'itérations), sinon le programme tourne indéniment

6 / 18

(10)

La boucle do...while

Syntaxe :

do{

// Bloc d' instructions } while ( Condition );

• La boucle do...whileest très similaire à while

• La seule chose qui change par rapport à while, c'est la position de la condition. Au lieu d'être au début de la boucle, la condition est à la n.

• Cette boucle s'exécutera donc toujours au moins une fois

7 / 18

(11)

Exemple de boucle do...while

Exemple :

int compteur = 0;

int somme = 0;

do{

somme =+ compteur // equivalent a somme = somme + compteur compteur++;

}while (compteur <= 10) ;

Dans la boucle do...while , n'oubliez pas de mettre un point-virgule à la n.

8 / 18

(12)

La boucle For

Syntaxe :

for (initialisation ; condition ; pas ) { // Bloc d' instructions

}

Il y a trois instructions condensées, chacune séparée par un point-virgule.

• La première est l'initialisation :cette première instruction est utilisée pour préparer notre variable compteur.

• La seconde est lacondition :comme pour la boucle while, c'est la condition qui dit si la boucle doit être répétée ou non. Tant que la condition est vraie, la boucle for continue.

• Enn, il y a l'incrémentation :cette dernière instruction est exécutée à la n de chaque tour de boucle pour mettre à jour la variable compteur. par exemple).

9 / 18

(13)

Principe de la boucle For

Syntaxe :

int cpt;

for (cpt=initial; cpt<=finale; cpt=cpt+pas) { printf(" cpt vaut %d !\n", cpt);

}

1. La valeur initiale est aectée à la variable cpt ; 2. On compare la valeur du cpt et la valeur nale :

3. Si la condition est fausse, on sort de la boucle et on continue avec l'instruction qui suit l'accolade fermante.

4. Si la condition est vrai alors :

4.1 les instructions de la boucle seront exécutées

4.2 Ensuite, la valeur de cpt est incrémentée de la valeur du pas (sinon 1 par défaut).

4.3 On recommence l'étape 2 : La comparaison entre cpt et nale est de nouveau eectuée, et ainsi de suite...

10 / 18

(14)

Exemple de la boucle for

Exemple :

int compteur;

for (compteur = 0 ; compteur < 10 ; compteur++)

{ printf("La variable compteur vaut %d !\n", compteur);

}

La plus part du temps on fera uneincrémentation, mais on peut aussi faire unedécrémentation (variable)ou encore n'importe quelle autre opération (variable += 2 ; pour avancer de 2 en 2 par exemple).

11 / 18

(15)

Attention !

Il est fortement déconseillé de modier la valeur du compteur (et/ou la valeur de nale) à l'intérieur de la boucle. En eet, une telle action :

• perturbe le nombre d'itérations prévu par la boucle Pour

• présente le risque d'aboutir à une boucle innie Exemples :

int compteur;

for (compteur = 0 ; compteur < 10 ; compteur++)

{ printf("La variable compteur vaut %d !\n", compteur);

compteur = compteur+2;

}

for (compteur = 9 ; compteur > 0 ; compteur--)

{ printf("La variable compteur vaut %d !\n", compteur);

compteur = compteur+2;

}

12 / 18

(16)

La boucle For Vs. La boucle While

La boucle Pour est un cas particulier de la boucle While (cas où le nombre d'itérations est connu et xé) . Tout ce qu'on peut écrire avec For peut être remplacé par une boucle While (la réciproque n'est pas forcément vraie).

Exemple :

int compteur;

for (compteur = 0 ; compteur < 10 ; compteur++)

{ printf("La variable compteur vaut %d !\n", compteur);

}// est equivalent a : int compteur = 0;

while (compteur < 10)

{ printf("La variable compteur vaut %d !\n", compteur);

compteur++;

}

13 / 18

(17)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(18)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(19)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(20)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(21)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(22)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(23)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(24)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(25)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(26)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(27)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(28)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(29)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(30)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(31)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(32)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(33)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(34)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(35)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(36)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(37)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(38)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(39)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(40)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(41)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(42)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(43)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(44)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(45)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(46)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(47)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(48)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(49)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(50)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(51)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(52)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(53)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(54)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(55)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(56)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(57)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(58)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(59)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(60)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(61)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(62)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(63)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(64)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(65)

Les boucles imbriqués

Le bloc d'instructions d'une boucle peut contenir lui même une autre boucle. C'est ce qu'on appelle des boucles imbriquées Exemple :

int i;

int j=1;

for (i = 1 ; i <= 3 ; i++) { j=1

while (j <= 4)

{printf("i=%d et j=%d!\n", i, j);

j++;

} }

Historique d'exécution Inst. i j Achage

1 1 1 i=1 et j=1 2 1 2 i=1 et j=2 3 1 3 i=1 et j=3 4 1 4 i=1 et j=4 5 2 1 i=2 et j=1 6 2 2 i=2 et j=2 7 2 3 i=2 et j=3 8 2 4 i=2 et j=4 9 3 1 i=3 et j=1 10 3 2 i=3 et j=2 11 3 3 i=3 et j=3 12 3 4 i=3 et j=4

14 / 18

(66)

Quelle boucle puisse-je utiliser pour mon programme ?

Utilisez la structure qui reète le mieux l'idée du programme que vous voulez réaliser :

• Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse, alors utilisez while ou for.

• Si le bloc d'instructions doit être exécuté au moins une fois, alors utilisez do - while.

• Si le nombre d'exécutions du bloc d'instructions est connu à l'avance alors utilisez for.

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while.

Le choix entre for et while n'est souvent qu'une question de préférence ou d'habitudes.

15 / 18

(67)

Quelle boucle puisse-je utiliser pour mon programme ?

Utilisez la structure qui reète le mieux l'idée du programme que vous voulez réaliser :

• Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse, alors utilisez while ou for.

• Si le bloc d'instructions doit être exécuté au moins une fois, alors utilisez do - while.

• Si le nombre d'exécutions du bloc d'instructions est connu à l'avance alors utilisez for.

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while.

Le choix entre for et while n'est souvent qu'une question de préférence ou d'habitudes.

15 / 18

(68)

Quelle boucle puisse-je utiliser pour mon programme ?

Utilisez la structure qui reète le mieux l'idée du programme que vous voulez réaliser :

• Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse, alors utilisez while ou for.

• Si le bloc d'instructions doit être exécuté au moins une fois, alors utilisez do - while.

• Si le nombre d'exécutions du bloc d'instructions est connu à l'avance alors utilisez for.

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while.

Le choix entre for et while n'est souvent qu'une question de préférence ou d'habitudes.

15 / 18

(69)

Quelle boucle puisse-je utiliser pour mon programme ?

Utilisez la structure qui reète le mieux l'idée du programme que vous voulez réaliser :

• Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse, alors utilisez while ou for.

• Si le bloc d'instructions doit être exécuté au moins une fois, alors utilisez do - while.

• Si le nombre d'exécutions du bloc d'instructions est connu à l'avance alors utilisez for.

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while.

Le choix entre for et while n'est souvent qu'une question de préférence ou d'habitudes.

15 / 18

(70)

Quelle boucle puisse-je utiliser pour mon programme ?

Utilisez la structure qui reète le mieux l'idée du programme que vous voulez réaliser :

• Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse, alors utilisez while ou for.

• Si le bloc d'instructions doit être exécuté au moins une fois, alors utilisez do - while.

• Si le nombre d'exécutions du bloc d'instructions est connu à l'avance alors utilisez for.

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while.

Le choix entre for et while n'est souvent qu'une question de préférence ou d'habitudes.

15 / 18

(71)

Quelle boucle puisse-je utiliser pour mon programme ?

Utilisez la structure qui reète le mieux l'idée du programme que vous voulez réaliser :

• Si le bloc d'instructions ne doit pas être exécuté si la condition est fausse, alors utilisez while ou for.

• Si le bloc d'instructions doit être exécuté au moins une fois, alors utilisez do - while.

• Si le nombre d'exécutions du bloc d'instructions est connu à l'avance alors utilisez for.

• Si le bloc d'instructions doit être exécuté aussi longtemps qu'une condition extérieure est vraie alors utilisez while.

Le choix entre for et while n'est souvent qu'une question de préférence ou d'habitudes.

15 / 18

Références

Documents relatifs

Rédiger un programme permettant de savoir si un nombre entier naturel est divisible par 7 et afficher le

On utilise une boucle for , appelée boucle itérative, pour exécuter une instruction (ou un bloc d’instructions) un nombre de fois

[r]

La variable utilisée dans le test d’arrêt (ou de continuité) doit toujours évoluer dans le corps de la boucle, si on veut que la boucle s’arrête un jour.. Faire « tourner à

Calculer une factorielle est le processus qui consiste à multiplier un nombre entier par tous les nombres entiers positifs inférieurs à celui-ci. b) Si vous n’êtes pas en

Cr´eer puis tester un programme permettant d’afficher la liste des multiples de sept inf´erieurs ou ´egaux ` a un entier n quelconque..

[r]

Lorsque l’on uti- lise une boucle while, il faut avoir un argument permettant de justifier que la condition c deviendra nécessairement fausse..