Types de boucles en C++

Bonjour, futurs programmeurs ! Aujourd'hui, nous allons entreprendre un voyage passionnant à travers le monde des boucles en C++. En tant que votre professeur de science informatique de quartier, je suis là pour vous guider à travers ce concept fondamental qui deviendra un outil essentiel dans votre boîte à outils de programmation.

C++ Loop Types

Introduction aux boucles

Imaginez que vous êtes chargé d'écrire "J'aime C++" 100 fois. fastidieux, n'est-ce pas ? C'est là que les boucles viennent à la rescousse ! Les boucles nous permettent d'exécuter un bloc de code plusieurs fois, nous économisant du temps et rendant nos programmes plus efficaces.

En C++, nous avons trois types principaux de boucles :

  1. Boucle for
  2. Boucle while
  3. Boucle do-while

Plongeons dans chacun de ces types de boucles et voyons comment ils font leurs merveilles !

Boucle for

La boucle for est probablement la boucle la plus couramment utilisée en C++. Elle est parfaite lorsque vous savez exactement combien de fois vous souhaitez répéter un bloc de code.

Syntaxe

for (initialisation; condition; mise à jour) {
// Code à répéter
}

Exemple

#include <iostream>
using namespace std;

int main() {
for (int i = 1; i <= 5; i++) {
cout << "J'aime C++ " << i << " fois !" << endl;
}
return 0;
}

Dans cet exemple, nous imprimons "J'aime C++" cinq fois. Voici un détail :

  1. int i = 1 : Nous initialisons une variable compteur i à 1.
  2. i <= 5 : C'est notre condition. La boucle continuera tant que i est inférieur ou égal à 5.
  3. i++ : Après chaque itération, nous incrémentons i de 1.

La sortie sera :

J'aime C++ 1 fois !
J'aime C++ 2 fois !
J'aime C++ 3 fois !
J'aime C++ 4 fois !
J'aime C++ 5 fois !

Boucle while

La boucle while est utilisée lorsque nous voulons répéter un bloc de code tant qu'une certaine condition est vraie, mais que nous ne savons pas exactement combien d'itérations nous avons besoin.

Syntaxe

while (condition) {
// Code à répéter
}

Exemple

#include <iostream>
using namespace std;

int main() {
int count = 1;
while (count <= 5) {
cout << "Itération de la boucle while : " << count << endl;
count++;
}
return 0;
}

Dans cet exemple :

  1. Nous initialisons count à 1 avant la boucle.
  2. La boucle continue tant que count est inférieur ou égal à 5.
  3. À l'intérieur de la boucle, nous imprimons le compteur actuel et puis nous l'incrémentons.

La sortie sera :

Itération de la boucle while : 1
Itération de la boucle while : 2
Itération de la boucle while : 3
Itération de la boucle while : 4
Itération de la boucle while : 5

Boucle do-while

La boucle do-while est similaire à la boucle while, mais avec une différence clé : elle exécute toujours le bloc de code au moins une fois avant de vérifier la condition.

Syntaxe

do {
// Code à répéter
} while (condition);

Exemple

#include <iostream>
using namespace std;

int main() {
int number;
do {
cout << "Entrez un nombre entre 1 et 10 : ";
cin >> number;
} while (number < 1 || number > 10);

cout << "Vous avez entré : " << number << endl;
return 0;
}

Dans cet exemple :

  1. Nous demandons à l'utilisateur d'entrer un nombre.
  2. Nous lisons l'entréeusing cin.
  3. La boucle continue si le nombre est inférieur à 1 ou supérieur à 10.
  4. Une fois qu'un nombre valide est entré, nous l'imprimons et quittons la boucle.

Cette boucle garantit que l'utilisateur entre un nombre valide entre 1 et 10.

Instructions de contrôle des boucles

Parfois, nous avons besoin de plus de contrôle sur nos boucles. C'est là que les instructions de contrôle des boucles deviennent utiles. Jetons un coup d'œil à deux d'entre elles :

Instruction break

L'instruction break nous permet de sortir d'une boucle prématurément.

#include <iostream>
using namespace std;

int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
cout << "Sortie de la boucle !" << endl;
break;
}
cout << "Itération : " << i << endl;
}
return 0;
}

Cette boucle imprimera les itérations 1 à 5, puis sortira lorsque i vaut 6.

Instruction continue

L'instruction continue saute le reste de l'itération actuelle et passe à la suivante.

#include <iostream>
using namespace std;

int main() {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
cout << "Itération 3 ignorée" << endl;
continue;
}
cout << "Itération : " << i << endl;
}
return 0;
}

Cette boucle imprimera toutes les itérations sauf la 3, qu'elle ignorera.

Boucle infinie

Une boucle infinie est une boucle qui ne se termine jamais. Bien que généralement indésirable, il y a des cas où elle peut être utile (comme dans le développement de jeux).

while (true) {
// Cela tournera pour toujours, sauf si interrompu
}

Soyez prudent avec les boucles infinies ! Assurez-vous toujours d'avoir un moyen de les quitter.

Comparaison des types de boucles

Voici un comparatif rapide des trois principaux types de boucles :

Type de boucle Quand utiliser Syntaxe
for Lorsque vous savez le nombre d'itérations for (init; condition; update) { }
while Lorsque vous ne savez pas le nombre d'itérations while (condition) { }
do-while Lorsque vous voulez exécuter au moins une fois do { } while (condition);

Conclusion

Les boucles sont un concept fondamental en programmation, et les maîtriser renforcera grandement vos compétences en codage. Souvenez-vous, la pratique rend parfait ! Essayez d'écrire vos propres boucles et expérimentez avec différents scénarios.

En tant que votre fidèle professeur de science informatique, je vous encourage à jouer avec ces concepts. Qui sait ? Vous pourriez créer le prochain grand jeu vidéo ou une application révolutionnaire en utilisant ces structures de boucles !

Bonne programmation, et que vos boucles se terminent toujours lorsque vous le souhaitez !

Credits: Image by storyset