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.