LES BOUcles


Les Boucles font parties des structures de contrôle, des blocs d'instructions qui s'exécutent en fonction du respect d'un certain nombre de conditions. 


I. Boucle « While »


1) Définition et usages


En anglais, le mot « while » signifie « tant que ». Cette boucle est donc utilisée pour exécuter le programme « tant que » la condition est remplie.

 

On peut l’utilise par exemple pour faire un programme de : Fading

 

Ce code permet de faire s’allumer et éteindre une Led, de façon progressive en augmentant et diminuant sa luminosité graduellement.

 

Voici le code où l’on utilise 2 boucles While :

2) Forme de la boucle While


La boucle While se compose d’une condition, entre parenthèses (qui représente les paramètres qui lorsqu’ils sont atteints plongent le code dans la boucle While) suivie d’une instruction, entre crochets (qui représente ce qui se passe lorsque la boucle While est lancée).

3) Intérêt de la boucle While


Ce code nous fait particulièrement bien comprendre l’intérêt de la boucle While. En effet, lorsque le programme se lance, la variable i étant initialisée à 0, La condition de la première boucle While est respectée et donc le programme lance l’instruction qui en découle, c’est-à-dire allumer la Led en lui envoyant du courant proportionnel à la valeur de la variable i. Puis incrémenter, donc augmenter la valeur de i, de 1.

 

L’intérêt de la boucle While, c’est que tant que la condition est remplie le programme reste dans la boucle et continu à exécuter son instruction.

 

C’est seulement lorsque la condition ne sera plus remplie, donc ici lorsque la variable i qui augmente à chaque tour de 1, atteint la valeur de 255. Alors et seulement alors, le programme sort de la boucle While.

 

Et là attention car i ayant pour valeur 255, il ne peut plus exécuter la première boucle While (car dans la condition il n’est question de strictement supérieur à 255, et non supérieur ou égale à 255).

 

Ce qui fait que le code applique alors la seconde boucle While, qui elle a sa condition rempli (à savoir dans notre code si i est supérieur à 0), ce qui est le cas puisque i est à 255.

 

L’instruction de cette seconde boucle While se lance alors, et envoie du courant à la Led avec une valeur égale à la valeur de la variable i, qui elle baisse de 1 à chaque fois car on la décrémente (avec le code « i-- ; »).

4) Pour résumer


A la différence de la boucle For, la boucle While, ne possède pas un nombre d’itération définit, puisque le code s’exécute tant que la condition est remplie et qu’il teste la condition à chaque itération.


II. Boucle « Do… While »


1) Présentation


La boucle Do…While fonctionne de la même manière que la boucle While, à l'exception de la condition qui elle, est testée à la fin de la boucle.

 

Dans la boucle While, la condition de contrôle est vérifiée au début de la boucle. Alors que dans la boucle Do… While, la condition de contrôle est vérifiée à la fin de la boucle.

 

Ce qui fait que l’Instruction de la boucle Do… While s'exécutera toujours au moins une fois, car on entre dans la boucle, puis on vérifie la condition.

2) Forme de la boucle Do… While


La boucle Do… While se compose de 2 parties :

  •  Dans la première partie, le « do » est suivi de l’instruction, entre crochets (représente ce qui se passe lorsque la boucle While est lancée).
  •  Dans la seconde partie, le « while », la condition, entre parenthèses (représente les conditions qui plonge le programme dans la boucle While).
  • Notez que cette seconde partie se finie par un « ; ».

3) Intérêt de la boucle Do… While


Encore une fois l’intérêt de la boucle Do… While réside dans le fait qu’à la différence de la boucle While, ici l’Instruction s'exécute toujours au moins une fois.


III. Boucle « For »


1) Définition et usages


La boucle For, qui signifie « pour que » en anglais, et est utilisée pour exécuter un bloc d’instruction un certain nombre de fois, comme par exemple pour créer un compteur. 

2) Forme de la boucle For


La boucle For, se présente sous la forme suivante : 

L’argument 1 représente l’initialisation, la valeur de départ du compteur.

 

L’argument 2 représente la condition pour que la boucle For s’éxecute.

 

L’argument 3 représente l’incrémentation ou la décrémentation, qui permet de créer un compteur ou un compte à rebours.

 

Les instructions représentent ce qui se passe lorsque la boucle For se déclenche.

Notez que les Arguments de la boucle For (initialisation, condition, incrémentation) se trouve entre parenthèse et sont séparés entre eux par un point-virgule. Mais également que les Instructions (ce que fait la boucle For) se trouve entre accolades.


IV. Boucle infinie


Comme expliquait sur le site zestedesavori.com : une boucle infinie est très simple à réaliser. Il suffit simplement d’utiliser une While et de lui assigner comme argument, une valeur qui ne change jamais, comme le chiffre 1 ou la valeur booléenne TRUE.

Par exemple : 

Ou bien : 

Notez que cela ne fonctionne pas avec la valeur 0. En effet, 0 signifie "condition fausse" donc la boucle s’arrêtera aussitôt…

 

Dans quel cas utiliser une boucle infinie ?

 

On peut imaginer par exemple un programmeur qui souhaiterait absolument maintenir son système (Microcontrôleur) en activité durant son absence. Il peut donc programmer une boucle infinie en s'assurant qu'il pourra l'interrompre quand il le souhaitera.

 

Mais alors comment en sortir ?

 

En utilisant par exemple à l'intérieur de cette boucle, l'instruction break qui fait sortir de la boucle. A condition toutefois de s’assurer que la condition du break soit forcément atteinte à un moment ou un autre, et de préférence après un certain délai.


V. Break


L'instruction break est utilisée avec les boucles While, Do… While, et For mais également avec l’instruction Switch, afin de sortir de ces boucles.

 

Elle se présente très simplement à la fin de la boucle, souvent associé à une instruction If comme par exemple :

Sources :


Rappel :


les images présentent appartiennent au Domaine public et sont l’œuvre de Peggy_Marco sur le site Pixabay : https://pixabay.com/fr/users/Peggy_Marco-1553824/   ou proviennent du projet Fritzing : http://fritzing.org/home/