Les instructions de boucle (aussi appelé instructions répétitives) en langage BCPL (Basic Combined Programming Language) sont innombrables :
- WHILE
- UNTIL
- REPEATUNTIL
- REPEAT
- FOR
- ...
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 DO instruction_exécuté_si_vrai |
UNTIL
L'instruction «UNTIL» 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 :
UNTIL expression_fausse DO instruction_exécuté_si_fausse |
REPEATUNTIL
L'instruction «REPEATUNTIL» oblige à répéter une boucle jusqu'à ce que la condition soit finalement vrai. Ainsi, tant que la condition est fausse, la boucle est répétée. Ainsi le principe de fonctionnement est simple, on exécute les instructions, on effectue un teste pour vérifier si la condition est fausse, on revient au début et on recommence sinon on poursuit à l'instruction suivante. Voici enfin sa syntaxe :
instruction_exécuté_si_fausse REPEATUNTIL expression_fausse |
REPEAT
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» ou «RETURN». Voici enfin sa syntaxe :
instruction REPEAT |
FOR
Avec «BCPL» 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. L'«expression4» est la valeur de saut ou l'addition effectuer à la variable de compteur. Voici enfin sa syntaxe :
FOR expression1=expression2 TO expression3 BY expression4 DO instruction |