Section courante

A propos

Section administrative du site

Introduction

Les instructions de boucle (aussi appelé instructions répétitives) en langage PL/1 sont au nombres de quatre mais permettent quand même de faire face à n'importe quel situation ou presque :

DO WHILE

L'instruction «DO 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 :

DO WHILE(expression_vrai);
 instruction_exécuté_si_vrai;
END;

Exemple

Cet exemple permet de montrer un simple boucle avec la variable «a» :

  1.  Corps: PROC options(main);  
  2.      DECLARE (a) fixed;
  3.      a = 0;
  4.      DO WHILE (a < 10);
  5.             display('a = ' || a);
  6.         a = a + 1;
  7.      END;
  8.  END Corps;

on obtiendra le résultat suivant :

a = 0
a = 1
a = 2
a = 3
a = 4
a = 5
a = 6
a = 7
a = 8
a = 9

DO

Avec «PL/1» l'instruction permettant d'effectuer des comptes de boucles n'est pas «for» mais «DO». 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 ou à laquelle le compteur de boucle vas se terminer. Voici enfin sa syntaxe :

DO expression1=expression2 TO expression3;
 instruction;
END;

ou

DO expression1=expression2 TO expression3 BY saut DO
   instruction;
END;

Où l'expression «saut» permet d'indiquer le niveau d'incrémentation de la boucle.

Exemple

Voici un exemple permettant d'incrémenter de 2 une variable :

  1.  Corps: PROC options(main);
  2.      DECLARE (i) fixed;
  3.      DO i=0 TO 10 BY 2;
  4.         display('i = ' || i);
  5.      END;
  6.  END Corps;

on obtiendra le résultat suivant :

i = 0
i = 2
i = 4
i = 6
i = 8
i = 10


Dernière mise à jour : Dimanche, le 23 novembre 2014