トップ 一覧 ping 検索 ヘルプ RSS ログイン

COBOL ステートメント - PERFORMの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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"}}