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.