PERFORM VARYING UNTILによる繰り返し
概要
PERFORM VARYING UNTILで繰り返しを行う場合のサンプルソースです。 VARYINGを使うことで処理を繰り返すごとにカウンタが自動的にカウントアップしていきます。(C言語でのfor文に相当します)
PERFORM VARYING UNTIL 書式
PERFORM VARYING カウンタ FROM 初期値 BY 増分値
[WITH TEST 判定のタイミング] UNTIL 論理式
:
命令文1
命令文2
:
END-PERFORM.
※EXIT PERFORM文を実行すると、そのタイミングで繰り返し処理から抜ける。
※PERFORMからEND-PERFORMまでの間に記述する命令文にはピリオド不要。
判定のタイミング
| BEFORE(省略値) | PERFORMを実行する前に論理式の条件を判定する(前判定型) C言語でのwhile文に相当 |
| AFTER | PERFORMを実行した後に論理式の条件を判定する(後判定型) C言語でのdo-while文に相当 |
コード例
000010 IDENTIFICATION DIVISION.
000020 PROGRAM-ID. SAMPLE-10.
000030*
000040 ENVIRONMENT DIVISION.
000050*
000060 DATA DIVISION.
000070 WORKING-STORAGE SECTION.
000080 77 WRK-COUNTER PIC 9(3).
000090*
000100 PROCEDURE DIVISION.
000110 MAIN.
000120 PERFORM VARYING FROM 1 BY 1
000130 UNTIL WRK-COUNTER > 10
000140 DISPLAY "WRK-COUNTERは " WRK-COUNTER UPON CONSOLE
000150 END-PERFORM.
000160 STOP RUN.