Si vous êtes un peu anglophone, vous avez compris que
While voulait dire "Tant que".
L'intérêt de cette boucle est d'
exécuter une partie du code tant qu'une condition est vraie.
Si elle est vraie, on recommence.
Par contre si elle devient fausse, on exécute le code situé après la boucle.
Citation : SituationTant que ça ne fait pas 10 minutes que j'attends
Je reste à l'arrêt de bus.
Refaire
Je m'en vais.
Voilà pour la mise en situation.
En Ti-Basic, cette boucle s'écrit avec deux instructions :
- While : [PRGM], Clt, ligne 5. C'est lui qui marque le début de la boucle.
- End : [PRGM], Clt, ligne 7. Pour définir la fin de la boucle.
Code : Pascal1
2
3
4 | :While [Condition]
: // Code à exécuter dans la boucle
:End
: // Code à exécuter après la boucle
|
Code : Pascal1
2
3
4
5
6
7
8 | :ClrHome
:0->A
:While A<6
:Disp A
:A+1->A
:End
:Disp "FIN"
:Output(1,1,"
|
Que se passe-t-il dans ce code ?
On efface l'écran et on met la variable A à zéro.
On entre dans la boucle, elle s'exécutera
tant que A est inférieur à 6. Si jamais A est supérieur ou égal à 6, la boucle s'arrête.
On affiche la valeur de A (ici 0).
On ajoute 1 à A.
On arrive à la fin de la boucle (
End) et on
remonte au niveau du
While.
On affiche la valeur de A (ici 1).
On ajoute 1 à A.
On arrive à la fin [...]
On continue ainsi jusqu'à ce que A soit égal à 6. A ce moment-là, le programme sort de la boucle, affiche la ligne "FIN" et termine le processus.
Les applications de cette boucle sont multiples. Par exemple, si vous voulez qu'un utilisateur entre une valeur, mais qu'elle soit obligatoirement différente de 0, vous pouvez vérifier cette valeur avec une boucle
While, pour redemander à l'utilisateur d'entrer une valeur en cas d'erreur.
Code : Pascal1
2
3
4
5
6 | :ClrHome
:0->V
:While V=0
:Input "ENTER A:",A
:If A!=0:1->V
:End
|
Le
If vérifie la valeur de A. Si la valeur entrée est bonne, on passe la variable V à 1 pour finir l'exécution de la boucle. Par contre si A vaut 0, alors V reste à 0 et la boucle continue à s'exécuter, demandant une nouvelle fois l'entrée d'une valeur.
N'oubliez pas de déclarer la variable utilisée dans le
While avant de lancer la boucle !