Les instructions de boucle (aussi appelé instructions répétitives) en langage GFA-Basic sont au nombres de cinq mais permettent quand même de faire face à n'importe quel situation ou presque:
- DO UNTIL ... LOOP
- DO ... UNTIL
- DO ... LOOP
- FOR ... NEXT
- WHILE .. WEND
DO UNTIL ... LOOP
L'instruction «DO UNTIL ... LOOP» permet la comparaison au début de la boucle, avant même que la suite d'instruction inclus dans la boucle ne soit lancé! On peut voir cette instruction à la manière d'un «IF NOT» se répétant tant et aussi longtemps que la condition est fausse. Voici donc sa syntaxe:
DO UNTIL expression_vrai instruction_exécuté_si_vrai LOOP |
DO ... UNTIL
L'instruction «DO .. UNTIL» est identique à si méprendre avec l'instruction «DO» à la différence que la condition est effectué à la fin des instructions plutôt qu'au début. L'avantage, on est certain que les instructions seront exécutés au moins une fois! Ainsi le principe de fonctionnement est simple, on exécute les instructions, on effectue un teste pour vérifier si la condition est vrai, on revient au début et on recommence sinon on poursuit à l'instruction suivante. Voici enfin sa syntaxe:
DO instruction UNTIL expression_vrai |
DO ... LOOP
Cette instruction permet d'effectuer une boucle sans condition (boucle infinie). La seule façon de terminer cette boucle c'est avec une instruction «EXIT». Voici enfin sa syntaxe:
DO instruction LOOP |
FOR
Avec «GFA-Basic» l'instruction permettant d'effectuer des comptes de boucles est «FOR». L'«expression1» permet d'identifier la variable devant être utilisé pour effectuer le compteur de boucle. L'«expression2» est la valeur de départ ou d'initialisation du compteur de boucle. L'«expression3» est la valeur de fin du compteur de boucle. Le «saut» est le nombre d'incrémentation ou de décrementation appliquer à l'expression1. Voici enfin sa syntaxe:
FOR expression1 = expression2 TO expression3 STEP saut instruction NEXT |
WHILE
L'instruction «WHILE» permet la comparaison au début de la boucle, avant même que la suite d'instruction inclus dans la boucle ne soit lancé! On peut voir cette instruction à la manière d'un «IF» se répétant tant et aussi longtemps que la condition est vrai. Voici donc sa syntaxe:
WHILE expression_vrai instruction_exécuté_si_vrai WEND |