开发手册 欢迎您!
软件开发者资料库

COBOL - 程序结构

COBOL程序结构 - 从简单和简单的步骤学习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 - 1DISPLAY WS-ID           - Statement-3  -----|.


分部

COBOL程序由四个部门组成.

识别分部

它是每个COBOL程序的第一个也是唯一的强制分区.程序员和编译器使用该分区来识别程序.在这个部门中,PROGRAM-ID是唯一的强制性段落. PROGRAM-ID指定可包含1到30个字符的程序名称.

在线使用实时演示选项尝试以下示例.

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


环境部门

环境划分用于指定程序的输入和输出文件.它由两部分组成 :

  • 配置部分提供有关系统的信息程序编写和执行.它包含两个段落 :

    • 源计算机 : 用于编译程序的系统.

    • 对象计算机 : 用于执行程序的系统.

  • 输入输出部分提供信息关于程序中使用的文件.它包含两个段落 :

    • 文件控制&减去;提供程序中使用的外部数据集的信息.

    • I-O控制&减去;提供程序中使用的文件的信息.

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 WorldMy name is : TutorialsPointMy ID is : 12345