FOR operand1 |
[:]= | operand2 | |||||
EQ |
|||||||
FROM |
|||||||
TO
|
operand3 [[STEP ] operand4]
|
||||||
THRU |
|||||||
statement | |||||||
END-FOR |
(structured mode only) | ||||||
[LOOP ]
|
(reporting mode only) |
このドキュメントでは、次のトピックについて説明します。
構文図で使用されている記号については、「構文記号」を参照してください。
関連機能グループ:「ループ実行」
FOR
ステートメントは、処理ループを開始し、ループの処理回数を制御するために使用します。
FOR
ループに入る前に、オペランドの値に矛盾がないか(operand2 に operand4 を繰り返し加算し、operand3 の値以上になるか)を確かめます。 値に矛盾があれば、FOR
ループには入りません(エラーメッセージは出力されません)。
オペランド定義テーブル:
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand1 | S | N | P | I | F | 可 | 可 | ||||||||||||
operand2 | C | S | N | N | P | I | F | 可 | 不可 | ||||||||||
operand3 | C | S | N | N | P | I | F | 可 | 不可 | ||||||||||
operand4 | C | S | N | N | P | I | F | 可 | 不可 |
構文要素の説明:
** 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。