[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