COBOL - петля с заявлениями выступили


Advertisements

Существует ряд задач, которые необходимо выполнить еще и еще раз хотел бы чтение каждой записи в файл до конца. цикла в COBOL, являются:

  • Выполните проверку по
  • Выполните процедуру до тех пор пока
  • Выполните процедуру раз
  • Выполнить различные

Выполните проверку по

Выполните процедуру Thru используется для выполнения серии пункта, первый и последний пункт имена в последовательности. После выполнения последнего пункта управление возвращается обратно.

В линию выполнить

С заявлениями выступили внутри выполнить будет выполняться до конца выполнить.

Синтаксис

В синтаксисе в линию:

PERFORM 
   DISPLAY 'HELLO WORLD'
END-PERFORM.

Out-of-line выполнить

Здесь, заявление выполняется в один пункт и затем управление передается на другой пункт или раздела.

Синтаксис

Ниже приводится синтаксис out-of-line выполнить:

PERFORM PARAGRAPH1 THRU PARAGRAPH2

Пример

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

PROCEDURE DIVISION.
   A-PARA.
   PERFORM DISPLAY 'IN A-PARA'
   END-PERFORM.
   PERFORM C-PARA THRU E-PARA.
   
   B-PARA.
   DISPLAY 'IN B-PARA'.
   STOP RUN.
   
   C-PARA.
   DISPLAY 'IN C-PARA'.
   
   D-PARA.
   DISPLAY 'IN D-PARA'.
   
   E-PARA.
   DISPLAY 'IN E-PARA'.

JCL для выполнения выше COBOL программы.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

При компиляции и выполнения этой программы, она производит следующие результаты:

IN A-PARA
IN C-PARA
IN D-PARA
IN E-PARA
IN B-PARA

Выполните процедуру до тех пор пока

В выполнить до", пункте выполняется до тех пор пока в условие. С помощью проверки перед условие по умолчанию и это указывает на то, что состояние проверяется перед исполнением заявления в пункте.

Синтаксис

Ниже синтаксис выполнять до:

PERFORM A-PARA UNTIL COUNT=5

PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5

PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5

Пример

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-CNT PIC 9(1) VALUE 0. 

PROCEDURE DIVISION.
   A-PARA.
   PERFORM B-PARA WITH TEST AFTER UNTIL WS-CNT>3.
   STOP RUN.
   
   B-PARA.
   DISPLAY 'WS-CNT : 'WS-CNT.
   ADD 1 TO WS-CNT.

JCL для выполнения выше COBOL программы.

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

При компиляции и выполнения этой программы, она производит следующие результаты:

WS-CNT : 0
WS-CNT : 1
WS-CNT : 2
WS-CNT : 3

Выполните процедуру раз

В поле "Выполнить", а пункт будет казнен необходимое число раз.

Синтаксис

В синтаксисе выполнить:

PERFORM A-PARA 5 TIMES.

Пример

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

PROCEDURE DIVISION.
   A-PARA.
   PERFORM B-PARA 3 TIMES.
   STOP RUN.
   
   B-PARA.
   DISPLAY 'IN B-PARA'.

JCL для выполнения выше COBOL программы:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

При компиляции и выполнения этой программы, она производит следующие результаты:

IN B-PARA
IN B-PARA
IN B-PARA

Выполнить различные

В выполнение той или иной пункт, будут выполняться до состояния, в до фразы.

Синтаксис

Ниже синтаксис выполнять различные:

PERFORM A-PARA VARYING A FROM 1 BY 1 UNTIL A=5.

Пример

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-A PIC 9 VALUE 0.

PROCEDURE DIVISION.
   A-PARA.
   PERFORM B-PARA VARYING WS-A FROM 1 BY 1 UNTIL WS-A=5
   STOP RUN.
   
   B-PARA.
   DISPLAY 'IN B-PARA ' WS-A.

JCL для выполнения выше COBOL программы:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

При компиляции и выполнения этой программы, она производит следующие результаты:

IN B-PARA 1
IN B-PARA 2
IN B-PARA 3
IN B-PARA 4

ПЕРЕЙДИТЕ К заявлению

ПЕРЕЙДИТЕ К используется для изменения потока исполнения программы. В ПЕРЕЙТИ К заявления передача выходит только в направлении вперед. Он используется для выхода из пункта. Различные типы ПЕРЕЙТИ К ведомости используются следующим образом:

Безусловное перейти к

GO TO para-name.

Условный перейти к

GO TO para-1 para-2 para-3 DEPENDING ON x.

Если 'x' равен 1, то Управление будет передано на первом пункте и, если 'x' равен 2, то Управление будет передано на второй пункт, и т.д.

Пример

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-A PIC 9 VALUE 2.
   
PROCEDURE DIVISION.
   A-PARA.
   DISPLAY 'IN A-PARA'
   GO TO B-PARA.
   
   B-PARA.
   DISPLAY 'IN B-PARA '.
   GO TO C-PARA D-PARA DEPENDING ON WS-A.
   
   C-PARA.
   DISPLAY 'IN C-PARA '.
   
   D-PARA.
   DISPLAY 'IN D-PARA '.
   STOP RUN.

JCL для выполнения выше COBOL программы:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

При компиляции и выполнения этой программы, она производит следующие результаты:

IN A-PARA
IN B-PARA 
IN D-PARA 
Advertisements