Vous êtes sur la page 1sur 26

Chapitre 05

Les Structures itératives

Mohamed Salah Bouhlel

Cours Introduction à la programmation 1


Hiver 2021
Les Structures itératives

Sommaire de la présentation

• Notion de boucle
• while
• do … while
• for
• Différence entre les boucles
• break
• continue
• Questions

Mohamed Salah Bouhlel Cours Introduction à la programmation 2


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Notion de boucle

• Nous allons lancer une fusée spatiale.

• Sa mission consiste à étudier les anneaux de


Saturne.

• Avez-vous des idées sur la façon de


programmer un compte à rebours?

Mohamed Salah Bouhlel Cours Introduction à la programmation 3


MoBouhl@lacitec.on.ca Cours
Hiver Introduction à la programmation
2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Notion de boucle

public static void main(String[] args){


System.out.println("Compte à rebours de lancement: "); Si le compte à rebours
System.out.println(10); commence à partir de 100
System.out.println(9);
!!!!
System.out.println(8);
System.out.println(7);
System.out.println(6);
System.out.println(5);
System.out.println(4);
System.out.println(3);
System.out.println(2);
System.out.println(1);
System.out.println("Mise à feu!");
}
Mohamed Salah Bouhlel Cours Introduction à la programmation 4
MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Notion de boucle

• On veut calculer la moyenne de vingt étudiants d’un groupe programmeur en se


basant sur la note de trois évaluations :
• Saisir la note des trois évaluations
• Calculer la moyenne
• Afficher la moyenne

• On a 40 étudiants et 4 groupes !!!!!

• Inimaginable !!!!
Mohamed Salah Bouhlel Cours Introduction à la programmation 5
MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Notion de boucle

Les structures itératives sont utilisées pour décrire les répétitions d'une action ou d'un groupe
d'actions.

Toute répétition d'actions doit être finie. Ceci sera contrôlé à l'aide d'une expression logique ou
condition dont le changement de valeur provoque l'arrêt de la répétition.

Cette condition est dite condition de sortie ou d’arrêt du traitement itératif.

 La structure itérative : while (TantQue ... Faire)


 La structure itérative : do … while (Répéter ... Jusqu’à)
 La structure itérative : for (Pour ... Faire)
Mohamed Salah Bouhlel Cours Introduction à la programmation 6
MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Syntaxe

• La condition est évaluée avant le premier passage


dans la boucle.
while (condition) {
• Si le résultat est faux alors le bloc de code n’est
bloc instruction pas exécuté.
} • Après chaque exécution du bloc de code, la
condition est à nouveau évaluée pour vérifier si
une nouvelle exécution du bloc de code est
nécessaire.

Mohamed Salah Bouhlel Cours Introduction à la programmation 7


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Exemple

public static void main(String[] args){


int i = 10;
System.out.println("Compte à rebours de lancement: ");
while ( i > 0 ) {
System.out.println(i);
i--;
}
System.out.println("Mise à feu!");
}

Mohamed Salah Bouhlel Cours Introduction à la programmation 8


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Exercice

Afficher les nombres impairs entre 1 et 20

Mohamed Salah Bouhlel Cours Introduction à la programmation 9


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Syntaxe

• Cette structure a un fonctionnement identique à


do { la précédente.
bloc instruction
• La différence réside dans le fait que la condition
} while (condition) ; est examinée après l’exécution du bloc de code.

Mohamed Salah Bouhlel Cours Introduction à la programmation 10


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Exemple

public static void main(String[] args){


int i = 10;
System.out.println("Compte à rebours de lancement: ");
do {
System.out.println(i);
i--;
}while (i>0);
System.out.println("Mise à feu!");
}

Mohamed Salah Bouhlel Cours Introduction à la programmation 11


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Exercice

Tester la validité d’une note (entre 0,0 et 20,0)

Mohamed Salah Bouhlel Cours Introduction à la programmation 12


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Syntaxe

for (initialisation ; condition ; inc/dec-rémentation) {


bloc instruction
}

• initialisation : est exécutée une seule fois lors de l’entrée dans la boucle.
• condition : est évaluée lors de l’entrée dans la boucle puis à chaque itération. Si le résultat
est vrai, une nouvelle itération de la boucle est effectuée.
• inc/dec-rémentation : cette instruction est exécutée après l’exécution du bloc d’instruction.
Puis la condition est à nouveau testée et ainsi de suite tant que la condition est vraie.
Mohamed Salah Bouhlel Cours Introduction à la programmation 13
MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Exemple

public static void main(String[] args){


System.out.println("Compte à rebours de lancement: ");
for (int i = 10 ; i > 0; i--) {
System.out.println(i);
}
System.out.println("Mise à feu!");
}

Mohamed Salah Bouhlel Cours Introduction à la programmation 14


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différence entre les boucles
break
continue
Questions
Exercice

Exercice

Écrire un programme qui affiche la table de multiplication d’un entier entre 1 et 9.

Mohamed Salah Bouhlel Cours Introduction à la programmation 15


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Tableau comparatif

Type de
Définition Utilisation
boucle
Boucle avant test qui se répète jusqu'à ce qu'une Lorsque vous ignorez le nombre d'exécutions requises
while condition spécifiée soit fausse. de la boucle ou si vous doutez qu'elle doive être
exécutée.
Boucle après test qui s'exécute avant de tester la Lorsque vous savez que le code doit être exécuté au
do .. while condition, puis se répète jusqu'à ce que la moins une fois, ou peut-être plusieurs fois selon la
condition soit fausse. condition définie.
Boucle qui contient un compteur initialisé, qu'elle Lorsque vous devez exécuter une boucle un nombre de
incrémente à chacune de ses exécutions. Elle se fois précis ou incrémenter un ensemble de données. Le
for
répète jusqu'à ce que la condition soit fausse. compteur peut également servir d'index pour accéder
aux données élément par élément.

Mohamed Salah Bouhlel Cours Introduction à la programmation 16


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Interruption d’une boucle

• break provoque la sortie immédiate de la boucle.

• L’exécution se poursuit par l’instruction venant juste après la boucle.

• Généralement, on utilise l’instruction break moyennant une condition.

• Les instructions se plaçant après le break ne seront pas exécuter.

break ;
Mohamed Salah Bouhlel Cours Introduction à la programmation 17
MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Break et while

Même logique pour les autres boucles

Mohamed Salah Bouhlel Cours Introduction à la programmation 18


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Exemple

for(int i = 0; i<=4; i++)

for(int j = 0; j <= 3 ; j++){

if (i+j == 2) break;

System.out.println("i="+i+" j="+j);

Mohamed Salah Bouhlel Cours Introduction à la programmation 19


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Exercice

• Écrivons un programme pour démontrer l'utilisation d'une instruction break


dans une boucle for.

• Fonctions désirées du programme:


• Lire 10 nombres à partir de la console
• Calculer la somme des nombres saisis par l'utilisateur
• Si l'utilisateur saisit 999, arrêter la boucle indépendamment de la valeur du compteur
(sans ajouter ce nombre à la somme).

Mohamed Salah Bouhlel Cours Introduction à la programmation 20


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Interruption d’une itération

• continue permet d’interrompre l’exécution de l’itération courante d’une boucle,

• L’exécution continue avec à l’itération suivante après vérification de la condition


de la boucle.

• Généralement, elle est exécutée de manière conditionnelle et on peut utiliser les


étiquettes.
continue ;
Mohamed Salah Bouhlel Cours Introduction à la programmation 21
MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Continue et while

Même logique pour les autres boucles

Mohamed Salah Bouhlel Cours Introduction à la programmation 22


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Exemple

int x = 10;
System.out.println("Instruction avant la boucle");
while (x > 0){
x--;
if (x == 5) continue;
System.out.println("x = "+x);

}
System.out.println("Instruction après la boucle");

Mohamed Salah Bouhlel Cours Introduction à la programmation 23


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Exercice

• Écrire un programme utilisant la boucle while et l'instruction continue.

• Fonctions désirées du programme:


• Calculer la somme des nombres compris entre 1 et 99 avec la boucle while
• Si le nombre est un multiple de 10, ignorer l'itération en cours et ne pas ajouter ce nombre
à la somme
• Afficher la somme sur la console

Mohamed Salah Bouhlel Cours Introduction à la programmation 24


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

Questions

Mohamed Salah Bouhlel Cours Introduction à la programmation 25


MoBouhl@lacitec.on.ca Hiver 2021
Notion de boucle
while
do … while
for
Les Structures itératives Différences entre les boucles
break
continue
Questions
Exercice

• Réaliser le laboratoire numéro 5

Mohamed Salah Bouhlel Cours Introduction à la programmation 26


MoBouhl@lacitec.on.ca Hiver 2021