- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!COBOL ステートメント - PERFORM
[COBOL]
{{include_html banner_html, "!Google_Ads"}}
{{include_html banner_html, "!Google_Ads2"}}
プロシージャに明示的に制御を移し、プロシージャの実行終了後に、PERFORMステートメントの次のステートメントに制御を戻す。
繰り返し処理を記述するのに利用できる。
::行外PERFORM
プロシージャ名が指定された場合
::行内PERFORM
プロシージャ名が省略された場合。END-PERFORMにより、区切る必要がある
!!基本
PERFORM [プロシージャ名 [ {THROUGH | THRU} プロシージャ名2]]
[命令文1 END-PERFORM]
*THROUGHプロシージャ名2 まで指定されているときには、2つ以上の段落を実行する。
!!TIMES句付き
指定した回数だけ実行し、次の行へ戻ってくる
PERFORM [プロシージャ名 [{THROUGH | THRU} プロシージャ名2]]
[{一意名1 |整数1 } TIMES 命令文 END-PERFORM]
PERFORM SUB1 4 TIMES
SUB1を4回繰り返し実行し、元に戻る
!!UNTIL句付き
UNTIL 句によって指定された条件が真になるまで実行し、次の行へ戻ってくる
PERFORM [プロシージャ名 [{THROUGH | THRU} プロシージャ名2]]
[WITH TEST {BEFORE | AFTER}]
UNTIL 条件1
[命令文 END-PERFORM]
PERFORM SUB1 UNTIL N > 20
SUB1をNが20を超えるまで実行する
,TESTオプション,内容
,TEST BEFORE,条件判定を、命令文の前に実行
,TEST AFTER,条件判定を、命令文の前後に実行
!!VARYING句付き
ある一定の規則に従って、1 つまたは複数のID や指標名の値を増やすか、または減らします
PERFORM [プロシージャ名 [{THROUGH | THRU} プロシージャ名2]]
[WITH TEST {BEFORE | AFTER}]
VARYING データ名
FROM 初期値
BY 増分
UNTIL 条件
[命令文 END-PERFORM]
PERFORM VARYING J FROM 1 BY 1
UNTIL J > 100
ADD J TO GOKEI
ENF-PERFORM.
{{include_html banner_html, "!COBOL"}}