📅  最后修改于: 2020-11-22 16:42:17             🧑  作者: Mango
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.
下面给出的是执行上述COBOL程序的JCL 。
//SAMPLE JOB(TESTJCL,XXXXXX),CLASS = A,MSGCLASS = C
//STEP1 EXEC PGM = HELLO
当您编译并执行上述程序时,它将产生以下结果-
Welcome to Tutorialspoint
环境划分用于指定程序的输入和输出文件。它由两部分组成-
配置部分提供有关在其上编写和执行程序的系统的信息。它由两段组成-
源计算机-用于编译程序的系统。
对象计算机-用于执行程序的系统。
输入-输出部分提供有关程序中要使用的文件的信息。它由两段组成-
文件控制-提供程序中使用的外部数据集的信息。
IO控制-提供程序中使用的文件信息。
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.
数据除法用于定义程序中使用的变量。它包括四个部分-
文件部分用于定义文件的记录结构。
工作存储区用于声明程序中使用的临时变量和文件结构。
本地存储部分类似于工作存储部分。唯一的区别是,每次程序开始执行时,变量将被分配和初始化。
链接部分用于描述从外部程序接收的数据名称。
COBOL计划
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.
执行上述COBOL程序的JCL如下-
//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
当您编译并执行上述程序时,它将产生以下结果-
Hello World
My name is : TutorialsPoint
My ID is : 12345