[9] Apprendre Arduino – Les boucles
Bienvenue dans ce nouvel article « Apprendre Arduino » où aujourd’hui, on va faire le point sur les boucles. Qu’est-ce qu’une boucle ? Une boucle est une structure de programmation qui permet de réaliser certaines tâches un certain nombre de fois et parfois selon certaines conditions. Il s’agit d’une partie de code qui va être répétée tant […]
Les Boucles

Bienvenue dans ce nouvel article « Apprendre Arduino » où aujourd’hui, on va faire le point sur les boucles.

Qu’est-ce qu’une boucle ?

Une boucle est une structure de programmation qui permet de réaliser certaines tâches un certain nombre de fois et parfois selon certaines conditions. Il s’agit d’une partie de code qui va être répétée tant qu’une condition sera valide. Le programme ne sortira pas de cette boucle tant que la condition sera respectée.

Une Boucle

Le langage C admet les boucles suivantes : while, do…while et for.

La boucle while

La boucle while peut se traduire en français par la boucle « tant que ». En effet, tant que la condition entre parenthèses est vraie, la boucle continuera de s’exécuter indéfiniment. Pour sortir de la boucle, un élément du programme devra changer cette condition, sinon le programme ne sortira jamais de cette boucle.

Boucle While

Anecdote : En programmation Arduino, la fonction loop() peut s’apparenter à une boucle while(), car une fois que l’exécution du programme se trouve dans cette boucle (après la fonction setup()), le code y est répété à l’infinie.

Syntaxe
while(expression) {
Code à exécuter dans la boucle;
}
Exemple
int a = 0;

while(a < 5) {
a++; //incrémente a
}

// Dans cet exemple, la boucle sera répétée 5 fois.

La boucle do…while

La boucle do…while est similaire à la boucle while. La différence ici, c’est que la condition de répétabilité de la boucle est testée à la fin de celle-ci. Donc la boucle est au minimum exécutée une fois. Si la condition while est vraie, la boucle est répétée. De même que pour la boucle while simple, pour sortir de la boucle, un élément du programme devra changer la condition de répétabilité, sinon le programme ne sortira jamais de la boucle.

Syntaxe
do {
Code à exécuter dans la boucle;
}
while (expression);
Exemple
// On reprends le même exeple qu'avant.

int a = 0;

do {
a++; //incrémente a
}
while(a < 5);

// Dans cet exemple, la boucle sera répétée 5 fois.

La boucle for

Ah… la boucle for ! Ça c’est mon fort ! :-D. Plus sérieusement, c’est l’un des concepts les plus utilisés dans le domaine de la programmation ! Une boucle for a pour but d’exécuter une partie du code un certain nombre de fois. Ce nombre, ce sera à nous, programmeurs, de le déterminer. Une boucle for est déterminée par 3 expressions : la valeur initiale, la valeur à contrôler et la valeur d’incrémentation ou de décrémentation.

La boucle for

Syntaxe
for (initialisation; contrôle; incrément ou décrément) {
// code à exécuter
}
Exemple
for(compteur = 2;compteur <= 9;compteur++) {
// Ici, le code présent dans cette boucle sera exécuté 8 fois.
}

for(compteur = 0;compteur < 10;compteur++) {
// Ici, le code présent dans cette boucle sera également exécuté 10 fois.
}

Les boucles imbriquées

Le langage C permet l’utilisation de boucles imbriquées, tout comme les contrôles d’état qui peuvent également s’imbriquer les uns dans les autres. L’exemple suivant illustre le concept :

Exemple
for(compteur = 2;compteur <= 9;compteur++) {
// Ici, le code présent dans cette boucle sera exécuté 10 fois.

for(i = 0; i < 100; i++) {
// Ici, le code présent dans cette boucle sera exécuté 100 fois. Comme sa boucle maître sera répétée 10 fois.
// On peut calculer que ce code sera exécutée 10*100=1000 fois sur toute la durée de la boucle maître.
}

}

La boucle infinie

La boucle infinie est une boucle qui se répète… à l’infinie ! La condition de terminaison de la boucle n’est jamais atteinte, car toujours vraie. Une boucle infinie est soit l’effet recherché dans un programme, soit une erreur de la part du programmeur. Ce genre de boucle peut également servir à déboguer certaines parties du code, pour tester les limites d’une boucle. On peut créer une boucle infinie avec les boucles for, while et do..while.

Syntaxes
// Boucle infinie avec for
for (;;) {
// code à exécuter à l'infinie
}


//2 boucles infinie avec while
while(1) {
// code à exécuter à l'infinie
}

while(true) {
// code à exécuter à l'infinie
}


//2 boucles infinie avec do..while
do {
// code à exécuter à l'infinie
}
while(1);

do {
// code à exécuter à l'infinie
}
while(true);
<– [8] Les conditions d’état [10] Les fonctions (à venir) –>
Retour au sommaire « Apprendre Arduino »

2 Commentaires

  1. Daniel

    Il me semble qu’il y a une petite erreur :
     »
    for(compteur = 2;compteur <= 9;compteur++) {
    // Ici, le code présent dans cette boucle sera exécuté 10 fois.
    }
    "

    Le boucle ne devrait-elle pas être répétée 8 fois ?

    Réponse

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Pin It on Pinterest

Shares
Share This