FOR ... NEXT
GW-Basic, utilisé par PC-Basic

PC-BASIC

Exécuter une série d'instructions un nombre de fois spécifié dans une boucle.

Syntaxe:

FOR variable=x TO y [STEP z] 
. 
. 
. 
NEXT [variable][,variable...]

Commentaires:

La variable est utilisée comme compteur.

x, y et z sont des expressions numériques.

STEP z spécifie l'incrément du compteur pour chaque boucle.

La première expression numérique (x) est la valeur initiale du compteur. La deuxième expression numérique (y) est la valeur finale du compteur.

Les lignes de programme suivant l'instruction FOR sont exécutées jusqu'à ce que l'instruction NEXT soit rencontrée. Ensuite, le compteur est incrémenté de la quantité spécifiée par STEP.

Si STEP n'est pas spécifié, l'incrément est supposé être 1.

Une vérification est effectuée pour voir si la valeur du compteur est maintenant supérieure à la valeur finale (y).

S'il n'est pas supérieur, GW-BASIC revient à l'instruction après l'instruction FOR et le processus est répété.

S'il est supérieur, l'exécution se poursuit avec l'instruction suivant l'instruction NEXT.

Il s'agit d'une boucle FOR-NEXT.

Le corps de la boucle est sauté si la valeur initiale de la boucle multipliée par le signe de l'étape dépasse la valeur finale multipliée par le signe de l'étape.

Si STEP est négatif, la valeur finale du compteur est définie pour être inférieure à la valeur initiale. Le compteur est décrémenté à chaque fois dans la boucle, et la boucle est exécutée jusqu'à ce que le compteur soit inférieur à la valeur finale.

Boucles imbriquées :

Les boucles FOR-NEXT peuvent être imbriquées ; c'est-à-dire qu'une boucle FOR-NEXT peut être placée dans le contexte d'une autre boucle FOR-NEXT. Lorsque les boucles sont imbriquées, chaque boucle doit avoir un nom de variable unique comme compteur.

L'instruction NEXT pour la boucle intérieure doit apparaître avant celle de la boucle extérieure.

Si des boucles imbriquées ont le même point final, une seule instruction NEXT peut être utilisée pour toutes.

La ou les variables de l'instruction NEXT peuvent être omises, auquel cas l'instruction NEXT correspondra à l'instruction FOR la ​​plus récente.

Si une instruction NEXT est rencontrée avant l'instruction FOR correspondante, un message d'erreur "NEXT without FOR" est émis et l'exécution est interrompue.

Exemples:

L'exemple suivant imprime les valeurs entières de la variable I de 1 à 10 par pas de z. Pour une exécution plus rapide, I est déclaré comme un entier par le signe %.

10 K=10
20 FOR I%=1 TO K STEP 2
30   PRINT I%
40 NEXT
RUN
 1
 3
 5
 7
 9

Dans l'exemple suivant, la boucle ne s'exécute pas car la valeur initiale de la boucle dépasse la valeur finale. Rien n'est imprimé par cet exemple.

10 R=0
20 FOR S=1 TO R
30   PRINT S
40 NEXT S

Dans l'exemple suivant, la boucle s'exécute 10 fois. La valeur finale de la variable de boucle est toujours définie avant la valeur initiale.

10 S=5
20 FOR S=1 TO S+5
30   PRINT S;
40 NEXT
RUN
 1 2 3 4 5 6 7 8 9 10

 

 

 

 

 

 

 

Recherche personnalisée