PERFORM VARYING UNTILによる繰り返し

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までの間に記述する命令文にはピリオド不要。

判定のタイミング
BEFOREPERFORMを実行する前に論理式の条件を判定する(前判定型)
C言語でのwhile文に相当
AFTERPERFORMを実行した後に論理式の条件を判定する(後判定型)
C言語でのdo-while文に相当
※WITH TESTを省略した場合、BEFOREが指定されたものとみなされる。


«  PERFORM VARYING UNTILによる繰り返し  »