Перейти до основного вмісту
Модуль 3 · Урок 1 із 25/10 у курсі~12 min
Модульні уроки (1/2)

Абзаци і ВИКОНУВАТИ

У COBOL модульність і логічне структурування коду всередині PROCEDURE DIVISION відбувається не через функції чи методи, а через Абзаци та оператор PERFORM.

Визначення абзаців

Абзац — це позначений розділ коду, який починається з назви в стовпці 8 (область A), закінчується крапкою ., за якою йде послідовність інструкцій у стовпці 12 (область B).

COBOL
DISPLAY-MESSAGE.
    DISPLAY "This is a paragraph!".

Абзаци дозволяють розділити потенційно дуже довгі програми на багаторазові та самодокументовані блоки.

Виконання абзаців за допомогою PERFORM

Інструкція PERFORM викликає та виконує абзац, а потім повертає керування інструкції, що йде одразу після інструкції PERFORM.

COBOL
PROCEDURE DIVISION.
MAIN-PROCEDURE.
    DISPLAY "Starting program...".
    PERFORM PROCESS-DATA.
    DISPLAY "Ending program.".
    STOP RUN.

PROCESS-DATA.
    DISPLAY "Processing data in memory...".

У наведеному вище списку:

  1. DISPLAY всередині MAIN-PROCEDURE виконується.
  2. PERFORM PROCESS-DATA розгалужує виконання до абзацу PROCESS-DATA.
  3. Після завершення абзацу PROCESS-DATA виконання повертається до MAIN-PROCEDURE для друку «Завершення програми». і зупиніть використання STOP RUN..

Спробуйте самі

вправи#cobol.m3.l1.e1
Спроби: 0Завантаження…

Визначте абзац під назвою DISPLAY-TOTAL, який друкує «TOTAL IS DONE» за допомогою DISPLAY, і викличте його в MAIN-PROCEDURE за допомогою PERFORM перед зупинкою програми.

Завантаження редактора…
Показати підказку

Напишіть PERFORM DISPLAY-TOTAL. у стовпці 12, а під блоком MAIN-PROCEDURE оголосити DISPLAY-TOTAL. абзац у колонці 8.

Рішення доступне після 3 спроб

вправи#cobol.m3.l1.e2
Спроби: 0Завантаження…

Викличте два абзаци послідовно, спочатку INITIALIZE-DATA, а потім PROCESS-DATA, у блоці MAIN-PROCEDURE.

Завантаження редактора…
Показати підказку

Вставте два оператори PERFORM у послідовному порядку в стовпець 12.

Рішення доступне після 3 спроб