WHILE / ENDWHILE
DESCRIPTION.
L'instruction WHILE débute une boucle d'instructions tant que qui sera exécutée tant qu'une expression est vraie.
L'instruction ENDWHILE indique la fin de la boucle d'instructions tant que.
SYNTAXE.
WHILE expression
...
...
...
ENDWHILE
REMARQUES.
expression doit être une suite de termes valides, tels que des valeurs brutes, des constantes, des variables, des opérateurs, des comparateurs, permettant son évaluation logique afin de déterminer sa vérité en retournant une valeur booléenne :
- TRUE, -1, si expression est vraie ;
- FALSE, 0, si expression est fausse.
Les variables présentent dans expression à la suite de l'instruction WHILE doivent avoir reçu une valeur, ou être déclarée, avant d'être utilisées expression .sinon une erreur No such variable sera retournée.
Une boucle d'instructions tant que WHILE / ENDWHILE est un bloc d'instructions BBC BASIC qui sera exécuté tant que expression est évalué à TRUE, vrai.
Rappel : une boucle d'instructions :
- pour tous, est exécutée au moins une fois et pour toutes les valeurs données ;
- tant que, ne sera exécutée que si et tant qu'une expression est vraie, elle peut ne pas être exécutée ;
- faire tant que, est exécutée au moins une fois et jusqu'à ce qu'une expression soit vraie.
Si une boucle d'instructions tant que ne doit exécuter qu'une seule instruction, on peut condenser la boucle sur une seule ligne : WHILE expression : ... : ENDWHILE.
Les lignes d'instructions composant le bloc de la boucle tant que doivent être indentées, c'est-à-dire mise en retrait.
Il ne faut jamais utiliser d'instruction GOTO, saut inconditionnel sans retour, pour sortir prématurément d'une boucle tant que, on utilisera l'instruction composée EXIT WHILE qui est prévue à cet effet.
Si besoin, plusieurs boucles tant que, WHILE / ENDWHILE et/ou faire tant que, REPEAT / UNTIL peuvent être imbriquées.
Note : il est important de prévoir au moins une instruction à l'intérieur d'une boucle tant que qui rendra expression faux, FALSE, ou à défaut une possibilité de sortir du bloc d'instructions avec une instruction EXIT WHILE, sinon le programme entrera dans une boucle infinie, sans qu'aucune erreur ne soit décelée.
Les instructions à l'intérieur d'une boucle tant que, WHILE / ENDWHILE peuvent ne jamais être exécutées si expression vaut FALSE, faux, dès sa première évaluation. Pour s'assurer qu'une boucle sera exécutée au moins une fois, il faudra utiliser une boucle faire tant que, REPEAT / UNTIL. Voir l'instruction composée REPEAT / UNTIL pour plus de détails.
Voir l'instruction composée FOR / NEXT pour créer une boucle pour tous.
EXEMPLE.
INPUT "Entrez un nombre ... " ; ksaisie%
WHILE ksaisie% MOD 5 <> 0
PRINT ksaisie% ; " n'est pas un multiple de 5."
INPUT "Entrez un nombre ... " ; ksaisie%
IF ksaisie% = 0 EXIT WHILE
ENDWHILE
PRINT ksaisie% ; " est un multiple de 5."
PRINT "Fin du test. Au revoir."
END
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.