FOR operand1 |
[:]= |
|||||||||
|
|
||||||||||
|
|
STEP |
|
||||||||
| statement |
||||||||||
END-FOR |
(structured mode only) | |||||||||
LOOP |
(reporting mode only) | |||||||||
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連機能グループ:ループ実行
FOR ステートメントは、処理ループを開始し、ループの処理回数を制御するために使用します。
FOR ループに入る前に、オペランドの値に矛盾がないか(operand2 に operand4 を繰り返し加算し、operand3 の値以上になるか)を確かめます。値に矛盾があれば、FOR ループには入りません(STEP 値がゼロの場合を除き、エラーメッセージは出力されません)。
オペランド定義テーブル:
| オペランド | 構文要素 | フォーマット | オペランド参照 | ダイナミック定義 | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 |
S | N | P | I | F | ○ | ○ | |||||||||||||
operand2 |
C | S | N | N | P | I | F | ○ | × | |||||||||||
arithmetic-expression |
S | N | P | I | F | × | × | |||||||||||||
operand3 |
C | S | N | N | P | I | F | ○ | × | |||||||||||
operand4 |
C | S | N | N | P | I | F | ○ | × | |||||||||||
構文要素の説明:
| 構文要素 | 説明 |
|---|---|
operand1 |
ループ制御変数(
operand1)および初期設定(operand2):
キーワード 処理ループ実行中にループ制御変数を参照できます。ループ制御変数には、その現在値が含まれます。 注意: |
operand2 |
|
operand3 |
TO 値:
処理ループは、 注意: |
STEP operand4 |
STEP 値:
ループに入るときに 注意:
|
(arithmetic-expression) |
算術演算式:
注意:
算術式の詳細については、 |
END-FOR |
End of FOR ステートメント:
ストラクチャードモードでは、 レポーティングモードでは、Natural のステートメント |
LOOP |
** Example 'FOREX1S': FOR (structured mode) ************************************************************************ DEFINE DATA LOCAL 1 #INDEX (I1) 1 #ROOT (N2.7) END-DEFINE * FOR #INDEX 1 TO 5 COMPUTE #ROOT = SQRT (#INDEX) WRITE NOTITLE '=' #INDEX 3X '=' #ROOT END-FOR * SKIP 1 FOR #INDEX 1 TO 5 STEP 2 COMPUTE #ROOT = SQRT (#INDEX) WRITE '=' #INDEX 3X '=' #ROOT END-FOR * END
#INDEX: 1 #ROOT: 1.0000000
#INDEX: 2 #ROOT: 1.4142135
#INDEX: 3 #ROOT: 1.7320508
#INDEX: 4 #ROOT: 2.0000000
#INDEX: 5 #ROOT: 2.2360679
#INDEX: 1 #ROOT: 1.0000000
#INDEX: 3 #ROOT: 1.7320508
#INDEX: 5 #ROOT: 2.2360679
レポーティングモードの例については、次のプログラムを参照してください:FOREX1R