[FOR〜NEXT]コマンド
FOR〜NEXTの区間の命令を繰り返します。
文法 FOR <変数名> = <初期値> TO <終了値> [STEP <増分>]
〜 NEXT [<変数名>] [,<変数名>]
変数名はループ変数と呼び、整数型か単精度型に限ります。
FOR〜NEXTの中にもう1組のFOR〜NEXTを置くこと(ネスト構造にすること)が出来ます。
ただし、FOR変数は異なるものでなければいけない。
ネスト構造は30 組までです。
NEXT文で変数を省略した場合は、現在のFOR ループ変数と扱います。
FOR〜NEXTの対は注意をしてください。
FOR変数が空の場合、NEXT文の次の文から実行します。
例えば、
FOR I=11 TO 2
PRINT I
NEXT I
PRINT "END"
FORループをとばし,ENDをプリントして終わります。
1つのNEXT文で複数のNEXT文を表したり、NEXT文で変数を省略する場合は
下記の文例を参照して下さい。
サンプル1
FOR I=1 TO 10
PRINT I
NEXT I
この例は 1,2,,,10 と10行にわたって表示します。
サンプル2
FOR I=1 TO 10
FOR J=1 TO 10 STEP 2
PRINT I,J
NEXT J
NEXT I
この例は1,1 1,3 1,5 1,7 1,9 2,1 2,3, ,,, 10,1 10,3 10,5 10,7 10,9 と表示します。
文例1
FOR j=0 TO 10
〜
NEXT j
これはj=0, 1, 2, 3, , 10まで 〜の区間を繰り返します。
文例2
FOR j=0 TO 50
FOR K=0 TO 100 STEP 2
〜
NEXT K
NEXT j
これはj=0, 1, 2, 3, , 50まで1の増分で変化しさらに、
K=0, 2, 4, 6, , 100まで2の増分で変化するあいだ、
〜の区間を繰り返します。
文例3
1つのNEXT文で複数のNEXT文を表す。
FOR i=0 TO 10
〜
FOR j=0 TO 50
FOR K=0 TO 100
〜
NEXT K,j,i
このNEXT文は、次と同じです。
FOR i=0 TO 10
〜
FOR j=0 TO 50
FOR K=0 TO 100
〜
NEXT K
NEXT j
NEXT i
と同じです。
文例4
NEXT文で変数を省略する場合。
FOR i=0 TO 10
〜
FOR j=0 TO 50
FOR K=0 TO 100
〜
NEXT
NEXT
NEXT
このNEXT文は 次と同じです。
FOR i=0 TO 10
〜
FOR j=0 TO 50
FOR K=0 TO 100
〜
NEXT K
NEXT j
NEXT i
NEXT文で変数の記述を省略する場合、
1つの変数に1つのNEXT文が必要です。
特に、IF条件による不規則なループ外への飛び越しが有る場合は、
NEXT文で変数の記述を省略出来ません。
文例5
IF文でNEXTの飛び越しがある場合。
10 FOR i=0 TO 10
20 〜
30 FOR j=0 TO 50
40 FOR K=0 TO 100
50 IF K>j THEN 80
60 〜
70 NEXT
80 NEXT
90 NEXT
100
このNEXT文は変数を付けなければ制御が不安定になります。
10 FOR i=0 TO 10
20 〜
30 FOR j=0 TO 50
40 FOR K=0 TO 100
50 IF K>j THEN 80
60 〜
70 NEXT K
80 NEXT j
90 NEXT i
100