Учебники

КОБОЛ — Структура программы

Структура программы COBOL состоит из подразделений, как показано на следующем рисунке —

Структура программы

Краткое введение этих разделов дано ниже —

  • Разделы являются логическим подразделением логики программы. Раздел представляет собой набор абзацев.

  • Абзацы являются подразделением раздела или подразделения. Это либо пользовательское, либо предварительно определенное имя, за которым следует точка, и состоит из нуля или более предложений / записей.

  • Предложения являются комбинацией одного или нескольких утверждений. Предложения появляются только в разделе «Процедура». Предложение должно заканчиваться точкой.

  • Утверждения являются осмысленными операторами COBOL, которые выполняют некоторую обработку.

  • Символы являются самыми низкими в иерархии и не могут быть делимыми.

Разделы являются логическим подразделением логики программы. Раздел представляет собой набор абзацев.

Абзацы являются подразделением раздела или подразделения. Это либо пользовательское, либо предварительно определенное имя, за которым следует точка, и состоит из нуля или более предложений / записей.

Предложения являются комбинацией одного или нескольких утверждений. Предложения появляются только в разделе «Процедура». Предложение должно заканчиваться точкой.

Утверждения являются осмысленными операторами COBOL, которые выполняют некоторую обработку.

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

Вы можете связать вышеупомянутые термины с программой COBOL в следующем примере —

PROCEDURE DIVISION.
A0000-FIRST-PARA SECTION.
FIRST-PARAGRAPH.
ACCEPT WS-ID            - Statement-1  -----|
MOVE '10' TO WS-ID      - Statement-2       |-- Sentence - 1
DISPLAY WS-ID           - Statement-3  -----|
.

Разделы

Программа COBOL состоит из четырех отделов.

Отдел идентификации

Это первое и единственное обязательное разделение каждой программы COBOL. Программист и компилятор используют это разделение для идентификации программы. В этом разделе PROGRAM-ID является единственным обязательным пунктом. PROGRAM-ID указывает имя программы, которое может содержать от 1 до 30 символов.

Попробуйте следующий пример, используя опцию Live Demo онлайн.

Live Demo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY 'Welcome to Tutorialspoint'.
STOP RUN.

Ниже приведен JCL для выполнения вышеуказанной программы COBOL.

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

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —

Welcome to Tutorialspoint

Отдел окружающей среды

Разделение среды используется для указания входных и выходных файлов программы. Он состоит из двух разделов —

  • Раздел конфигурации предоставляет информацию о системе, в которой написана и выполнена программа. Он состоит из двух параграфов —

    • Исходный компьютер — система, используемая для компиляции программы.

    • Объектный компьютер — система, используемая для выполнения программы.

  • Раздел ввода-вывода предоставляет информацию о файлах, которые будут использоваться в программе. Он состоит из двух параграфов —

    • Управление файлами — предоставляет информацию о внешних наборах данных, используемых в программе.

    • IO control — предоставляет информацию о файлах, используемых в программе.

Раздел конфигурации предоставляет информацию о системе, в которой написана и выполнена программа. Он состоит из двух параграфов —

Исходный компьютер — система, используемая для компиляции программы.

Объектный компьютер — система, используемая для выполнения программы.

Раздел ввода-вывода предоставляет информацию о файлах, которые будут использоваться в программе. Он состоит из двух параграфов —

Управление файлами — предоставляет информацию о внешних наборах данных, используемых в программе.

IO control — предоставляет информацию о файлах, используемых в программе.

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
   SOURCE-COMPUTER. XXX-ZOS.
   OBJECT-COMPUTER. XXX-ZOS.

INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT FILEN ASSIGN TO DDNAME
   ORGANIZATION IS SEQUENTIAL.

Отдел данных

Разделение данных используется для определения переменных, используемых в программе. Он состоит из четырех разделов —

  • Раздел File используется для определения структуры записи файла.

  • Раздел Working-Storage используется для объявления временных переменных и файловых структур, которые используются в программе.

  • Раздел Local-Storage аналогичен разделу Working-Storage. Единственное отличие состоит в том, что переменные будут выделяться и инициализироваться каждый раз, когда программа начинает выполнение.

  • Раздел связывания используется для описания имен данных, полученных из внешней программы.

Раздел File используется для определения структуры записи файла.

Раздел Working-Storage используется для объявления временных переменных и файловых структур, которые используются в программе.

Раздел Local-Storage аналогичен разделу Working-Storage. Единственное отличие состоит в том, что переменные будут выделяться и инициализироваться каждый раз, когда программа начинает выполнение.

Раздел связывания используется для описания имен данных, полученных из внешней программы.

Программа КОБОЛ

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
   SELECT FILEN ASSIGN TO INPUT.
      ORGANIZATION IS SEQUENTIAL.
      ACCESS IS SEQUENTIAL.

DATA DIVISION.
   FILE SECTION.
   FD FILEN
   01 NAME PIC A(25).
   
   WORKING-STORAGE SECTION.
   01 WS-STUDENT PIC A(30).
   01 WS-ID PIC 9(5).

   LOCAL-STORAGE SECTION.
   01 LS-CLASS PIC 9(3).
   
   LINKAGE SECTION.
   01 LS-ID PIC 9(5).
   
PROCEDURE DIVISION.
   DISPLAY 'Executing COBOL program using JCL'.
STOP RUN.

JCL для выполнения вышеуказанной программы COBOL выглядит следующим образом:

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO
//INPUT DD DSN = ABC.EFG.XYZ,DISP = SHR

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —

Executing COBOL program using JCL

Процедурный отдел

Процедура деления используется для включения логики программы. Он состоит из исполняемых операторов с использованием переменных, определенных в разделе данных. В этом разделе имена абзацев и разделов определяются пользователем.

В разделении процедуры должен быть хотя бы один оператор. Последним оператором, завершающим выполнение в этом разделе, является либо STOP RUN, который используется в вызывающих программах, либо EXIT PROGRAM, который используется в вызываемых программах.

Live Demo

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.

DATA DIVISION.
   WORKING-STORAGE SECTION.
   01 WS-NAME PIC A(30).
   01 WS-ID PIC 9(5) VALUE '12345'.

PROCEDURE DIVISION.
   A000-FIRST-PARA.
   DISPLAY 'Hello World'.
   MOVE 'TutorialsPoint' TO WS-NAME.
   DISPLAY "My name is : "WS-NAME.
   DISPLAY "My ID is : "WS-ID.
STOP RUN.

JCL для выполнения вышеуказанной программы COBOL —

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

Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —