Section courante

A propos

Section administrative du site

Les instructions de boucle (aussi appelé instructions répétitives) en langage Ada sont au nombres de trois mais permettent quand même de faire face à de nombreuses situations ou presque :

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 LOOP
   instruction_exécuté_si_vrai;
END LOOP

Exemple

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

  1. WITH TEXT_IO;
  2. USE TEXT_IO;
  3.  
  4. PROCEDURE WhileSamples IS 
  5.    A:Integer;
  6. BEGIN
  7.    A := 0;
  8.    WHILE A < 10 LOOP
  9.          PUT_LINE("a = " & Integer'IMAGE(A));
  10.          A := A + 1;
  11.    END LOOP; 
  12. END WhileSamples;

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

LOOP ... END

Cette instruction permet d'effectuer une boucle sans condition (boucle infinie). La seule façon de terminer cette boucle c'est avec une instruction «BREAK» ou «RETURN». Voici enfin sa syntaxe :

LOOP
 instruction
END LOOP;

Exemple

Cet exemple permet d'effectuer une simple boucle :

  1. WITH TEXT_IO; USE TEXT_IO;
  2.  
  3. PROCEDURE LoopSamples IS 
  4.    I:Integer;
  5. BEGIN
  6.    I := 0;
  7.    LOOP
  8.       PUT_LINE("i = " & Integer'IMAGE(I));
  9.       I := I + 1;
  10.       IF I >= 10 THEN
  11.          EXIT;
  12.       END IF;
  13.    END LOOP;
  14. END LoopSamples;   

on obtiendra le résultat suivant :

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

FOR

Avec «Ada» l'instruction permettant d'effectuer des compteurs 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. Voici enfin sa syntaxe:

FOR expression1 IN expression2 .. expression3 LOOP
   instruction;
END LOOP;

Exemple

Cet exemple permet d'effectuer un saut de 1 dans une boucle :

  1. WITH TEXT_IO;
  2. USE TEXT_IO;
  3.  
  4. PROCEDURE ForSamples IS BEGIN
  5.    FOR I IN 0..10 LOOP
  6.       PUT_LINE("i = " & Integer'IMAGE(I));
  7.    END LOOP; 
  8. END ForSamples;

on obtiendra le résultat suivant :

i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10


Dernière mise à jour : Samedi, le 25 août 2012