|
||||||||||||||
Si vous voulez que le traitement dans une boucle soit
exécuté au moins une fois, avant qu'une condition soit évaluée, qui commande l'exécution de nouvelles boucles, il vous faut placer le test de condition à la fin de la boucle, avec le mot clé while.
Ici aussi on peut utiliser le mot-clé forever en combinaison avec la commande break. Do until Et si l'on veut exécuter le corps d'une boucle jusqu'à ce qu'une condition soit atteinte (et non pas tant qu'elle est vérifiée), on utilisera la variante until, au lieu de while.
On notera que l'on a écrit simplement until ici, et non /do until. Ecrire /do until est parfaitement valide, mais inutilement long. Ce n'est pas le cas d'une structure while, car while peut débuter une autre structure de contrôle, en écrivant do ... while, le compilateur serait en mis en confusion. Do case Le contenu d'une instruction "do" peut être divisé en plusieurs cas conditionnels qui sont sélectionnés par l'ordinateur, et dont un seul est traité à la fois. Aucun symbole n'est nécessaire pour marquer la fin d'un bloc case.
Le "while condition" a disparu ici, mais on pourrait le garder, cela permettrait de produire un automate à états finis! Pour compléter cet automate, on a besoin d'un bloc de traitement inconditionnel dans la structure, et cela est permis par l'option always.
On vient juste de créer une sorte d'automate qui lit son état à partir d'une fonction quelconque, nommée ici "getState()", et cet automate continue de boucler jusqu'à ce que la fonction retourne l'état OFF.
|