cobol源程序的格式如下:
每行开头有6个字符的序号区。可以输入000010,000020等表示行,也可以不输。
序号区后面是一个字符(第7位)的指示符区,如第一行所示。可以用*和/表示注释,_表示续行,D表示调试。
指示符区后面是4个字符(8~11位)的A区。可以放入部,节,段标题,段名,层指示符和层号01与77,
关键字DECLARATIVES和END DECLARATIVES,程序结束标题。
A区后面(12位以后)是语句体,称为B区。过程部的语句必须从B区开始。B区宽度通常为72或80个字符。
本例是70个字符。
空行的每个区都是空格
标识部(2~4行),PROGRAM-ID段包含程序名,是每个程序都必须的。AUTHOR等其他段是可有可无的。
环境部(5~15行),提供与程序外部有关的项目,具体地说,就是列出程序所用的文件。如果不需要可以省略。
环境部有配置节(6~10行)和输入输出节(11~15行)。
第7行表示编译程序的计算机。如果指定WITH DEBUGGING MODE就编译调试行。
第8行表示程序运行的计算机。
第9,10行包含一组指定输出样式。这里是标准输出,可以自定义。
输入输出节只用于文件。
第13到15行表示如果程序使用文件,则这个段对每个文件包含一个项目。
文件控制项目的格式取决于文 件的描述类型。
数据部(16~22行),提供程序变量的存放位置,对不同的数据类型分成不同的节:文件数据(File Section)、
静态数据(Working-Storage Section)、参数(Linkage Section)、通信(Communication Section)、
报表(Report Section)。
文件节(18~21行),每个文件描述中包含文件所含纪录的定义,文件节中的数据或从文件读取,
或由写文件的程序产生。
第22行表示工作存储节,这节包含程序所需的临时结果和初始化静态数据的数据。
参数(Linkage Section)包含调用程序传递的数据(其他语言中称为参数)。
通信(Communication Section),处理COBOL程序和通信设备之间的消息。
报表(Report Section),报表节实现COBOL报告编写工具系统所需的数据。
第20,21行的PIC是PICTURE的缩写,表示定义数据格式。
X(12)表示12个字符的字符串,9(09)表示9位的整数。
可以将基本项目组成层次结构,称为组数据项或组。
COBOL程序中的数据项的定义从层号开始,01层是最高层,49层是最低层。
77层项目用于某个组的数据项,如程序中的临时变量。
66层是为特殊描述符项目保留的,可以更名现有的数据项或组,或以原定义未允许的方式组合。
88层是对特殊数据项目条件名保留的
如:
03 STATE PIC XX.
88 NEW-ENGLAND VALUES ARE "1","2","3","4","5".
IF NEW-ENGLAND ... then do something
过程部(23~30行),包含构成程序的过程性语句。
带DECLARATIVES的过程部。有些程序用特殊的USE语句表示遇到特殊条件时要执行的过程,
如发生I/O错误时。
USE语句组合在一起,放在过程部开头,由关键字DECLARATIVES和END DECLARATIVES限定。
第24行相当于定义了一个名字叫ACAB030100-PROC()的函数。
第25,29行定义了标志,可以用GO TO 语句跳转到这个地方,执行下面的语句。
第26行在屏幕上打印,相当于printf("ACAB030100-START");
第27行是调用ACAB030100-PROC()函数。
cobol程序的要求:必须以英文句号.结束部标题、节标题、段名、项目和语句。
句号为小数点时,两边都要有数字。