REPEAT / UNTIL
DESCRIPTION.
L'instruction REPEAT débute une boucle d'instructions faire tant que qui sera exécutée tant qu'une expression est vraie.
L'instruction UNTIL indique la fin de la boucle d'instructions faire tant que.
SYNTAXE.
REPEAT
...
...
...
UNTIL expression
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.
Une boucle d'instructions faire tant que REPEAT / UNTIL est un bloc d'instructions BBC BASIC qui sera exécuté tant que expression est évalué à FALSE, faux.
Les variables présentent dans expression à la suite de l'instruction UNTIL 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.
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 faire tant que ne doit exécuter qu'une seule instruction, on peut condenser la boucle sur une seule ligne : REPEAT : ... : UNTIL expression .
Les lignes d'instructions composant le bloc de la boucle faire tant que doivent être indentées, c'est-à-dire mise en retrait.
Si besoin, plusieurs boucles faire tant que, REPEAT / UNTIL et/ou tant que, WHILE / ENDWHILE, peuvent être imbriquées.
Il ne faut jamais utiliser d'instruction GOTO, saut inconditionnel sans retour, pour sortir prématurément d'une boucle faire tant que, on utilisera l'instruction composée EXIT REPEAT qui est prévue à cet effet.
Note : il est important de prévoir au moins une instruction à l'intérieur d'une boucle faire tant que qui rendra expression faux, FALSE, ou à défaut une possibilité de sortir du bloc d'instructions avec une instruction EXIT REPEAT, 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 faire tant que, REPEAT / UNTIL seront exécutées au moins une fois, même si expression vaut TRUE, vrai, dès l'entrée dans le bloc d'instructions. Pour s'assurer qu'une boucle puisse ne pas être exécutée au moins une fois, il faudra utiliser une boucle tant que, WHILE / ENDWHILE. Voir l'instruction composée WHILE / ENDWHILE pour plus de détails.
Voir l'instruction composée FOR / NEXT pour créer une boucle pour tous.
EXEMPLE.
REPEAT
INPUT "Entrez un nombre ... " ; ksaisie%
IF ksaisie% = 0 EXIT REPEAT
PRINT STR$( ksaisie% ) ; " / 5 = " ; ksaisie% / 5
UNTIL ksaisie% MOD 5 = 0
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.