COBOL - Tuyên bố vòng lặp

Có một số tác vụ cần được thực hiện lặp đi lặp lại như đọc từng bản ghi của tệp cho đến khi kết thúc. Các câu lệnh lặp được sử dụng trong COBOL là:

  • Thực hiện Thru
  • Thực hiện cho đến khi
  • Thời gian thực hiện
  • Thực hiện thay đổi

Thực hiện Thru

Thực hiện Thru được sử dụng để thực hiện một chuỗi đoạn văn bằng cách đặt tên đoạn văn đầu tiên và cuối cùng trong chuỗi. Sau khi thực hiện đoạn cuối cùng, điều khiển được trả lại.

Thực hiện trong dòng

Các câu lệnh bên trong PERFORM sẽ được thực hiện cho đến khi đạt được END-PERFORM.

Cú pháp

Sau đây là cú pháp của biểu diễn nội dòng:

PERFORM 
   DISPLAY 'HELLO WORLD'
END-PERFORM.

Thực hiện ngoài dòng

Ở đây, một câu lệnh được thực hiện trong một đoạn và sau đó điều khiển được chuyển sang đoạn hoặc phần khác.

Cú pháp

Sau đây là cú pháp của Out-of-line performance:

PERFORM PARAGRAPH1 THRU PARAGRAPH2

Example

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 để thực hiện chương trình COBOL trên.

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

Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:

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

Thực hiện cho đến khi

Trong 'thực hiện cho đến khi', một đoạn được thực hiện cho đến khi điều kiện đã cho trở thành đúng. 'With test before' là điều kiện mặc định và nó chỉ ra rằng điều kiện được kiểm tra trước khi thực hiện các câu lệnh trong một đoạn văn.

Cú pháp

Sau đây là cú pháp của biểu diễn cho đến khi -

PERFORM A-PARA UNTIL COUNT=5

PERFORM A-PARA WITH TEST BEFORE UNTIL COUNT=5

PERFORM A-PARA WITH TEST AFTER UNTIL COUNT=5

Example

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 để thực hiện chương trình COBOL ở trên -

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

Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:

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

Thời gian thực hiện

Trong 'thời gian thực hiện', một đoạn văn sẽ được thực hiện theo số lần được chỉ định.

Cú pháp

Sau đây là cú pháp của thời gian thực hiện:

PERFORM A-PARA 5 TIMES.

Example

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

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

JCL để thực hiện chương trình COBOL ở trên -

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

Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:

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

Thực hiện thay đổi

Khi thực hiện khác nhau, một đoạn văn sẽ được thực hiện cho đến khi điều kiện trong cụm từ Until trở thành true.

Cú pháp

Sau đây là cú pháp thực hiện thay đổi:

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

Example

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 để thực hiện chương trình COBOL ở trên -

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

Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:

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

ĐI ĐẾN Tuyên bố

Câu lệnh GO TO được sử dụng để thay đổi luồng thực thi trong một chương trình. Trong câu lệnh ĐI ĐẾN, chuyển chỉ đi theo hướng về phía trước. Nó được sử dụng để thoát khỏi một đoạn văn. Các loại câu lệnh GO TO khác nhau được sử dụng như sau:

ĐI ĐẾN vô điều kiện

GO TO para-name.

ĐI ĐẾN có điều kiện

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

Nếu 'x' bằng 1, thì điều khiển sẽ được chuyển đến đoạn đầu tiên; và nếu 'x' bằng 2, thì điều khiển sẽ được chuyển sang đoạn thứ hai, v.v.

Example

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 để thực hiện chương trình COBOL ở trên:

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

Khi bạn biên dịch và thực thi chương trình trên, nó tạo ra kết quả sau:

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