COBOL ステートメント - PERFORM
[COBOL]
プロシージャに明示的に制御を移し、プロシージャの実行終了後に、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.
指定されたパートは存在しません。

YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto
Copyright© 矢木 浩人 All Rights Reserved.