Manuel Amos Professional  Sommaire  Index

Structures de Contrôle


Contrairement à l'exemple précédent, au lieu de vérifier si une condition est vraie ou fausse au début d'une boucle, cette paire de commandes effectue le test à la fin de la boucle. REPEAT marque le début et UNTIL la fin de la boucle à tester. Cela signifie que si une condition est fausse au début d'une structure WHILE ... WEND, cette boucle ne sera jamais exécutée, mais si elle est vraie au début d'une structure REPEAT ... UNTIL, la boucle sera exécutée au moins une fois. Voici un exemple qui attend que vous appuyiez sur un bouton de la souris :

E> Repeat
    Print "Je peux continuer pour toujours" : Wait 25
   Until Mouse Key<>0

Boucles contrôlées
Lorsque l'on décide combien de fois une boucle doit être répétée, il est possible de contrôler cela de façon bien plus précise qu'en se basant sur des conditions vraies ou fausses.

FOR
TO
NEXT
structure : répéter une boucle un nombre défini de fois
For index=valeur de départ To valeur finale
liste d'instructions
Next index

Cette structure de contrôle est un classique pour les programmeurs. Chaque instruction FOR doit être accompagnée d'un NEXT, et plusieurs boucles FOR ... NEXT peuvent être imbriquées. Chaque boucle répète une liste d'instructions un certain nombre de fois, déterminé par un index qui compte les itérations. Une fois dans la boucle, cet index peut être lu comme une variable normale. Voici un exemple simple :

E> For X=1 To 7
    Print "LES SEPT PÉCHÉS CAPITAUX"
   Next X

STEP
structure : contrôler l'incrément de l'index dans une boucle
For index=valeur de départ To valeur finale Step pas

Normalement, le compteur d'index est incrémenté de 1 à chaque tour de boucle FOR ... NEXT. Lorsque la valeur actuelle dépasse la valeur de fin indiquée, la boucle s'arrête. Par exemple :

E> For JOUR=1 To 365
    Print JOUR
   Next JOUR

STEP est utilisé pour changer la taille de l'incrément de l'index, comme ceci :

E> For JOUR=1 To 365 Step 7
    Print JOUR
   Next JOUR
Précédent    Suivant
05.04.09