PERFORM VARYING UNTILで繰り返しを行う場合のサンプルソースです。
VARYINGを使うことで処理を繰り返すごとにカウンタが自動的にカウントアップしていきます。(C言語でのfor文に相当します)
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 WRK-COUNTER FROM 1 BY 1 000130 UNTIL WRK-COUNTER > 10 000140 DISPLAY "WRK-COUNTERは " WRK-COUNTER UPON CONSOLE 000150 END-PERFORM. 000160 STOP RUN.
- PERFORM VARYING UNTIL 書式
- PERFORM VARYING カウンタ FROM 初期値 BY 増分値
[WITH TEST 判定のタイミング] UNTIL 論理式
:
命令文1
命令文2
:
END-PERFORM.
※EXIT PERFORM文を実行すると、そのタイミングで繰り返し処理から抜ける。
※PERFORMからEND-PERFORMまでの間に記述する命令文にはピリオド不要。
判定のタイミング
※WITH TESTを省略した場合、BEFOREが指定されたものとみなされる。BEFORE PERFORMを実行する前に論理式の条件を判定する(前判定型)
C言語でのwhile文に相当AFTER PERFORMを実行した後に論理式の条件を判定する(後判定型)
C言語でのdo-while文に相当