| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

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

案内メニュー