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

Абзацы и ВЫПОЛНЕНИЕ

В COBOL модульность и логическое структурирование кода внутри PROCEDURE DIVISION осуществляются не с помощью функций или методов, а с помощью Paragraphs и оператора 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 перед остановкой программы.

Загрузка редактора…
Показать подсказку

Напишите ВЫПОЛНИТЬ ПОКАЗ-ВСЕГО. в столбце 12 и под блоком MAIN-PROCEDURE объявите DISPLAY-TOTAL. абзац в графе 8.

Решение доступно после 3 попыток

Упражнение#cobol.m3.l1.e2
Попыток: 0Загрузка…

Последовательно вызовите два абзаца: сначала INITIALIZE-DATA, а затем PROCESS-DATA в блоке MAIN-PROCEDURE.

Загрузка редактора…
Показать подсказку

Вставьте два оператора PERFORM последовательно в столбец 12.

Решение доступно после 3 попыток