Gladir.com - GFA-Basic - Boucle


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 executé 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

Dernière mise à jour: Lundi, le 21 février 2006