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 多重ループから抜ける方法

inserted by FC2 system