Programmation en C++ – Les boucles
Vous pouvez rencontrer des situations, quand un bloc de code doit être exécuté plusieurs fois. En général, les instructions sont exécutées séquentiellement.
Dans tous les langages de programmation, les boucles sont utilisées pour exécuter un ensemble d’instructions plusieurs fois jusqu’à ce qu’une condition particulière soit satisfaite.
Une séquence d’instructions est exécutée jusqu’à ce qu’une condition soit vraie. Cette séquence d’instructions à exécuter est à l’intérieur des accolades { } appelées le corps de la boucle. Après chaque exécution du corps de la boucle, la condition est vérifiée, et si elle est trouvée « true », le corps de la boucle est exécuté à nouveau. Lorsque la vérification retourne « false », le corps de la boucle ne sera pas exécuté.
Le langage de programmation C++ fournit différents façon pour déclarer des boucles.
Description des différents types de boucles |
---|
La boucle while Répète une instruction ou un groupe d’instruction jusqu’à ce qu’une condition donnée est vraie. Il teste la condition avant d’exécuter le corps de la boucle. |
La boucle for Exécute une séquence d’instructions plusieurs fois avec un code abrégé. |
La boucle do…while Il ressemble à la déclaration while, sauf qu’elle teste la condition à la fin du corps de la boucle. |
Les boucles imbriquées Vous pouvez utiliser une ou plusieurs boucles à l’intérieur d’une autre boucle while, for ou do..while |
La boucle while
Tandis que la boucle while peut être traitée comme une boucle de contrôle. Il est complété en 3 étapes.
1- Initialisation de la variable (par exemple, int x = 0;)
2- Condition (par exemple while(x <= 100))
3- Incrémentation ou décrémentation de la variable (x ++ ou x– ou x = x + 4)
La syntaxe :
initialisation de la variable ;while (condition) { bloc d'instructions; incrementation ou decrementation de la variable; }
Exemple: Programme qui affiche les 10 premiers nombres naturels.
#include <iostream> using namespace std; void main( ) { int x; x=1; while(x<=10) { cout << x <<endl; x++; } getch(); }
La sortie :
1 2 3 4 5 6 7 8 9 10
La boucle for
La boucle for est utilisé pour exécuter un ensemble d’instructions de façon répétitive jusqu’à ce qu’une condition particulière soit satisfaite. Le format général est,
for(initialisation; condition ; incrementation/decrementation) { Bloc d'instructions; }
Dans la boucle for nous avons exactement deux points-virgules, un après l’initialisation et la deuxième après la condition. Dans cette boucle, nous pouvons avoir plus d’une initialisation ou une incrémentation ou décrémentation séparés par des virgules. Une boucle for ne peut avoir qu’une seule condition.
Exemple :
#include <iostream> using namespace std; void main( ) { int x; for(x=1; x<=10; x++) { cout<< x <<endl; } getch(); }
La sortie :
1 2 3 4 5 6 7 8 9 10
La boucle do…while
Dans certaines situations, il est nécessaire d’exécuter le corps de la boucle avant de tester la condition. Ces situations peuvent être traitées avec la boucle do…while. Do permet d’évaluer le corps de la boucle en premier, la condition est vérifiée en utilisant l’instruction while. Le format général de la boucle do…while est,
do { .... ..... } while(condition)
Exemple: programme pour afficher les dix premiers nombres multiplies par 5.
#include <iostream> using namespace std; void main() { int a,i; a=5; i=1; do { cout << a*i <<endl; i++; } while(i <= 10); getch(); }
La sortie :
5 10 15 20 25 30 35 40 45 50
Les boucles imbriquées
Nous pouvons également avoir des boucles imbriquées, c’est-à-dire une boucle à l’intérieur d’une autre boucle. La syntaxe de base est :
for(initialization; condition; increment/decrement) { for(initialization; condition; increment/decrement) { statement ; } }
Exemple: Programme qui affiche une demi-pyramide de nombres
#include <iostream> using namespace std; void main( ) { int i,j; for(i=1;i<5;i++) { cout << "n"; for(j=i;j>0;j--) { cout << j <<endl; } } getch(); }
La sortie :
1 21 321 4321 54321
La boucle infinie
Une boucle devient une boucle infinie si une condition ne devient jamais fausse, elle est toujours vraie. ou vous pouvez faire une boucle infinie en laissant l’expression conditionnelle vide.
#include <iostream> using namespace std; int main () { for( ; ; ) { cout << "Cette une boucle infinie" <<endl; } return 0; }
Lorsque l’expression conditionnelle est absente, elle est supposée vraie. Vous pouvez avoir une expression d’initialisation et d’incrémentation, mais les programmeurs C++ utilisent plus souvent la syntaxe for (;;) pour signifier une boucle infinie.
Voire aussi :