Структура программы 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 онлайн.
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, который используется в вызываемых программах.
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
Когда вы компилируете и запускаете вышеуказанную программу, она дает следующий результат —