「COBOL ステートメント - PERFORM」の版間の差分
ナビゲーションに移動
検索に移動
(同じ利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
− | ==COBOL ステートメント - PERFORM== | + | ==[[COBOL ステートメント - PERFORM]]== |
− | + | [[COBOL]] | | |
− | + | プロシージャに明示的に制御を移し、プロシージャの実行終了後に、PE[[R]]FO[[R]]Mステートメントの次のステートメントに制御を戻す。 | |
繰り返し処理を記述するのに利用できる。 | 繰り返し処理を記述するのに利用できる。 | ||
− | ===== | + | =====行外PE[[R]]FO[[R]]M===== |
プロシージャ名が指定された場合 | プロシージャ名が指定された場合 | ||
− | ===== | + | =====行内PE[[R]]FO[[R]]M===== |
− | プロシージャ名が省略された場合。END- | + | プロシージャ名が省略された場合。END-PE[[R]]FO[[R]]Mにより、区切る必要がある |
===基本=== | ===基本=== | ||
15行目: | 15行目: | ||
[命令文1 END-PERFORM] | [命令文1 END-PERFORM] | ||
− | * | + | *TH[[R]]OUGHプロシージャ名2 まで指定されているときには、2つ以上の段落を実行する。 |
===TIMES句付き=== | ===TIMES句付き=== | ||
23行目: | 23行目: | ||
[整数1 } TIMES 命令文 END-PERFORM {一意名1 ] | [整数1 } TIMES 命令文 END-PERFORM {一意名1 ] | ||
− | + | PE[[R]]FO[[R]]M SUB1 4 TIMES | |
SUB1を4回繰り返し実行し、元に戻る | SUB1を4回繰り返し実行し、元に戻る | ||
34行目: | 34行目: | ||
[命令文 END-PERFORM] | [命令文 END-PERFORM] | ||
− | + | PE[[R]]FO[[R]]M SUB1 UNTIL N > 20 | |
SUB1をNが20を超えるまで実行する | SUB1をNが20を超えるまで実行する | ||
{|class="wikitable" | {|class="wikitable" | ||
− | ! | + | ![[TEST]]オプション |
!内容 | !内容 | ||
|- | |- | ||
− | |TEST BEFORE | + | |[[TEST]] BEFORE |
|条件判定を、命令文の前に実行 | |条件判定を、命令文の前に実行 | ||
|- | |- | ||
− | |TEST AFTER | + | |[[TEST]] AFTER |
|条件判定を、命令文の前後に実行 | |条件判定を、命令文の前後に実行 | ||
|- | |- | ||
|} | |} | ||
− | === | + | ===VA[[R]]YING句付き=== |
ある一定の規則に従って、1 つまたは複数のID や指標名の値を増やすか、または減らします | ある一定の規則に従って、1 つまたは複数のID や指標名の値を増やすか、または減らします | ||
PERFORM [ THRU} プロシージャ名2] プロシージャ名 [{THROUGH ] | PERFORM [ THRU} プロシージャ名2] プロシージャ名 [{THROUGH ] | ||
[ AFTER} WITH TEST {BEFORE ] | [ AFTER} WITH TEST {BEFORE ] | ||
− | + | VA[[R]]YING データ名 | |
− | + | F[[R]]OM 初期値 | |
BY 増分 | BY 増分 | ||
UNTIL 条件 | UNTIL 条件 | ||
[命令文 END-PERFORM] | [命令文 END-PERFORM] | ||
− | + | PE[[R]]FO[[R]]M VA[[R]]YING J F[[R]]OM 1 BY 1 | |
UNTIL J > 100 | UNTIL J > 100 | ||
ADD J TO GOKEI | ADD J TO GOKEI | ||
− | ENF- | + | ENF-PE[[R]]FO[[R]]M. |
− | {{include_html banner_html, "!COBOL"}} | + | {{include_html [[banner_html]], "!COBOL"}} |
2020年2月16日 (日) 04:23時点における最新版
目次
COBOL ステートメント - PERFORM
COBOL | プロシージャに明示的に制御を移し、プロシージャの実行終了後に、PERFORMステートメントの次のステートメントに制御を戻す。
繰り返し処理を記述するのに利用できる。
行外PERFORM
プロシージャ名が指定された場合
行内PERFORM
プロシージャ名が省略された場合。END-PERFORMにより、区切る必要がある
基本
PERFORM [ THRU} プロシージャ名2] プロシージャ名 [ {THROUGH ] [命令文1 END-PERFORM]
- THROUGHプロシージャ名2 まで指定されているときには、2つ以上の段落を実行する。
TIMES句付き
指定した回数だけ実行し、次の行へ戻ってくる
PERFORM [ THRU} プロシージャ名2] プロシージャ名 [{THROUGH ] [整数1 } TIMES 命令文 END-PERFORM {一意名1 ]
PERFORM SUB1 4 TIMES
SUB1を4回繰り返し実行し、元に戻る
UNTIL句付き
UNTIL 句によって指定された条件が真になるまで実行し、次の行へ戻ってくる
PERFORM [ THRU} プロシージャ名2] プロシージャ名 [{THROUGH ] [ AFTER} WITH TEST {BEFORE ] UNTIL 条件1 [命令文 END-PERFORM]
PERFORM SUB1 UNTIL N > 20
SUB1をNが20を超えるまで実行する
TESTオプション | 内容 |
---|---|
TEST BEFORE | 条件判定を、命令文の前に実行 |
TEST AFTER | 条件判定を、命令文の前後に実行 |
VARYING句付き
ある一定の規則に従って、1 つまたは複数のID や指標名の値を増やすか、または減らします
PERFORM [ THRU} プロシージャ名2] プロシージャ名 [{THROUGH ] [ AFTER} WITH TEST {BEFORE ] 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"}}
© 2006 矢木浩人