Cobol基础学习报告
Cobol简介
Cobol是Common Business-Oriented Language(公用面向商业的语言)的缩写。依据美国国家标准协会(ANSI)与1974年规定的标准,cobol包括内核(Nucleus)和下列11大功能处理模块
Ø Table Handling(表格处理)
Ø Sequential I/O(顺序I/O)
Ø Relative I/O(相对I/O)
Ø Indexed I/O(索引I/O)
Ø Sort-Merge(排序/合并)
Ø Report Writer(报表写入)
Ø Segmentation(分段)
Ø Library(库)
Ø Debug(调试)
Ø Inter-Program Communication(程序间通信)
Ø Communication(通信)
COBOL格式
1。标识部(IDENTIFICATION DIVISION):用于标识程序名。
2。环境部(ENVIRONMENT DIVISION):用于说明程序运行的环境。
3。数据部(DATA DIVISION):用于说明程序中涉及的所有数据。
4。过程部(PROCEDURE DIVISION):是程序的核心部分,它决定计算机应进行什么操作。
Cobol书写格式如下:
第1 至 6 列为 “标号区”;
第7列为“续行标志区”;
第8至此11列,称为“A区”。程序中有些内容如部头,节头,段头,层号 01,层号 77 及文件描述符FD等应从A区开始写;
第12至此72列,称为“B区”。写程序中的正文部分。如过程部中的句子只能从B区开始写;
第73至80列,称为“注释区”。
Cobol程序四大部详细说明
标识部(IDENTIFICATION DIVISION):标识部是cobol程序的开始,是必要元素,表示程序及其他有关信息。
IDENTIFICATION DIVISION.
PROGRAM-ID. 程序名。
[AUTHOR。 作者名。 ]
[INSTALLATION。 计算机设置场所。 ]
[DATE-WRITTEN。 源程序编写日期。 ]
[DATE-COMPILED。 源程序编译日期。 ]
[SECURITY。 保密程度。]
环境部(ENVIRONMENT DIVISION):环境部指定程序中与特定计算机或操作系统相关的方面。如果程序不需要任何环境部提供的项目,则可以省略环境部.
ENVIRONMENT DIVISION.
CONFIGRATION SECTION。
SOURCE-COMPUTER。 源计算机名。
OBJECT-COMPUTER。 目标计算机名。
[SPECIAL-NAMES。 专用名描述项。 ]
[INPUT-OUTPUT SECTION。
FILE-CONTROL。 {文件控制描述体}。。。
[I-O-CONTROL。 输入输出控制描述体]]
数据部(DATA DIVISION):用于说明程序中涉及的所有数据。
Cobol要求程序数据部中的定义所有程序引用的数据,如文件记录,变量,表格和报表。数据项的定义包括名称,特征与其他数据项的关系。
数据部的节:数据部包含程序使用的所有局部数据的定义(数据描述)。COBOL将数据分成节,针对COBOL程序使用的每种数据,每个节前面有节标题。每个节都是可选的,但程序使用的所有数据部都应在数据部的某个节中定义。
文件节(FILE SECTION):文件节中有程序使用的每个文件的项目,包括打印文件和海量存储(磁盘和磁带)文件。每个文件描述中包括文件所含记录的定义。
工作存储节(WORKING-STORAGE SECTION):这个节包含程序所需的临时结果和初始化静态数据的数据。
连接节(LINKAGE SECTION):这节只用于子程序。连接节包含调用程序传递的数据(即参数)。
通信节(COMMUNICATION SECTION):通信节描述作为程序间接口的数据和信息控制系统,用以实现与通信设备相关的消息分析的COBOL方法。
报表节(REPROT SECTION):报表节描述实现COBOL报告编写工具的系统所需的数据。
COBOL的数据类型称为数据类别(category).五个数据类别是numeric,numeric-edited,alphabetic,alphanumeric和alphamumeric-edited.
COBOL的数据组成层次结构:可以将基本项目组成层次结构,称为组数据项或组。组可以分为子组,最终分成基本项目不能再划分。COBOL程序中数据项的定义从层号开始,这是个整数,将项目放进组中。01层是最高层。49层是描绘数据的最低层。77层项目用于某个组的数据项。如程序中的临时变量。66层和88层是特殊层。
过程部(PROCEDURE DIVISION):COBOL程序前三个部定义程序使用的数据和环境,而过程部则包含对数据进行操作的程序逻辑。下面是过程部中常用的基本的过程语句:
输入输出语句
1。ACCEPT语句:直接从终端键盘或系统指定的输入设备上输入数据。
ACCEPT 标识符 [FROM 助忆名]
注:
A。标识符(identifier)指的是能唯一地标识一个数据项的数据名,不能唯一地标识一个数据项的数据名不是标识符。标识符可以是组合项。
B。在ACCEPT语句中如不写FROM部分,如ACCEPT A ,则表示从系统隐含指定的设备上读入一个数据给A。 如果不想从指定的设 备上输入,则要用FROM 选项, 这时“助忆名”需要在环境部中事先说明和那种外部设备相联系。
2。DISPLAY语句:从计算机内存中输出到某一指定的输出设备上。
DISPLAY { 标识符1,常量1}[标识符2,常量2]。。。[UPON 助忆名]
3。READ语句:COBOL语言中数据的输入输出主要是通过对外部文件的读写进行的。READ 语句就是从外部文件上读入数据输出到程序中的数据项中。在程序中用到的所有文件都需要在环境部中指定程序中用到的文件名与实际外部文件的联系。数据部也要对文件加以描述。指定数据结构各数据项所占的内存单元长度以及数据形式。
COBOL 的存取是以文件为对象以记录为单位的
。WRITE语句:将内存中的数据输出到外部设备,主要是由WRITE 语句来完成的。WRITE语句的最简单的格式为:
WRITE 记录名
(注意WRITE语句的操作对象是记录,所以是‘记录名’而不是‘文件名’)
5。OPEN语句:程序中如果需要读写文件,则该文件必须先用OPEN语句打开,系统在执行READ,WRITE以前先检查该文件是否已在规定的外部设备上准备就绪。
OPEN语句的一般格式为:
INPUT 文件名1 [,文件名2]。。。
OPEN OUTPUT 文件名3 [,文件名4]。。。 。。。
6。CLOSE语句:当对一个文件的读或写的操作已完成,就应关闭该文件。
CLOSE语句的一般格式为:
CLOSE 文件名 1 [,文件名2]。。。
算数运算语句有ADD语句,SUBTRACT语句,MUTIPLY语句,DIVIDE语句。
传送语句:move语句,转移语句:GO TO 语句,条件语句:IF语句,停止语句:STOP语句
COBOL简单程序编译:
000001 IDENTIFICATION DIVISION.
000002 PROGRAM-ID. LPTEST.
000003 AUTHOR. LIPING.
000004 ENVIRONMENT DIVISION.
000005 DATA DIVISION.
000006 PROCEDURE DIVISION.
000007 000-MAIN.
000008 DISPLAY "HELLO WORLD!".
000009 STOP RUN.
上面是一个简单的显示HELLO WORLD的COBOL程序。COBOL程序需要用下面的JCL语句来编译。
000100 //ST071P JOB ACCT#,
000200 // ST071,
000300 // NOTIFY=ST071
000400 //STEP1 EXEC PROC=IGYWCLG
000500 //COBOL.SYSIN DD DSN=ST071.COBOL.HELLO,DISP=SHR