for〜next構文(for区) ☆☆☆
FOR〜NEXT構文は,
FOR 制御変数 = 始値 TO 限界 STEP 増分
………
NEXT 制御変数
の形に書く。
制御変数は単純変数を書く。添字付き変数を制御変数にすることはできない。
始値,限界,増分は数値式。
NEXT文にはFOR文に書いた制御変数と同じ変数を書く。
限界,増分はFOR文が実行されたときに計算され,この構文の繰り返しを終了するまでその値が用いられる。
増分が正の数のときは,次のように動作する。
(1)制御変数に始値を代入する。
(2)制御変数の値が限界より大きければ,この構文の処理を終えてNEXT文の次の行に進む。
(3)NEXT文を実行すると,制御変数に増分が加算され,(2)に戻る。
増分が負の数のときの動作は,(2)の段階で大小が逆になる。
「STEP増分」を省略すると,増分は1とみなされる。
例
10 FOR N=10 TO 1 STEP -1 20 PRINT N 30 NEXT N 40 END
FOR〜NEXTループを逆順に実行したいときは,この例のように「STEP -1」を指定する。
○ EXIT FOR
DO〜LOOPの場合のEXIT DO文と同様に,EXIT FOR文でFOR〜NEXTの繰り返しを抜けることができる。
例
10 INPUT n 20 FOR f=2 TO n-1 30 IF MOD(n,f)=0 THEN 40 PRINT f 50 EXIT FOR 60 END IF 70 NEXT f 80 END
FOR〜NEXTが入れ子になっている場合,EXIT FORは最も内側のループからの脱出を意味する。外側のループを一気に抜けたいときは,GOTO文を用いる。
<参考> 十進BASIC Q&A
FOR〜NEXTの正しい使い方
<参考> 十進BASIC Q&A
多重ループから抜ける方法