目录 1
第1章引 言 1
1.1什么是COBOL 1
1.1.1 IBM个人计算机COBOL和国家标准 1
8.6.1 语法考虑 (1 2
1.1.3归纳 3
1.1.2例外 3
第2章怎样书写COBOL程序 4
2.1程序结构 4
2.1.1程序的各个部 4
2.1.2编码结构 4
2.1.3编码规则 5
2.1.4语法注释 6
2.1.5字符集 6
2.1.6标点(Punctuation) 7
2.1.7字的格式 7
2.2语句、句子和名字 8
2.2.1语句(Statement) 8
2.2.3段落 9
2.3.2数据项 9
2.3.1什么是记录 9
2.3层号和数据名 9
2.2.2句子 9
2.2.4节(Section) 9
2.3.3数据名 12
2.3.4限定名(Qualifier Name) 12
2.3.5条件名 12
2.3.6助记名 12
2.4数据描述入口(Entry) 12
2.4.1组项格式 13
2.4.2基本项格式 13
2.5文件名 14
2.6直接量 14
2.6.1非数字型直接量 15
2.6.2数字型直接量 15
2.6.3赋形常量(Figurative Constant) 15
2.7算术表达式 16
2.8算术语句 17
图1. 标准COBOL编码形式的例子………………………………………………………(5后)图2. 舍入和截断的说明 18
2.8.1 SIZE ERROR任选项 18
2.8.2 ROUNDED任选项 18
2.8.3 GIVING任选项 19
3.1什么是你所需要的 20
第3章开发一个程序 20
3.3程序开发步骤 21
3.4怎样生成COBOL源文件 21
3.4.1编码规则 21
3.2编译程序概观 21
3.5怎样编译COBOL程序 22
3.5.1准备开始 22
3.5.2编译步骤 23
3.6怎样连接COBOL程序 24
3.7.1运行时系统(Runtime Sy stem) 26
3.7.2特许协议(License Agreement) 26
3.7怎样运行COBOL程序 26
3.8任选的COBOL命令 27
3.8.1例子 27
3.8.2/参数 28
3.9任选的连接程序命令 29
3.9.1例子 29
3.9.2自动回答文件(Automatic Response File) 30
3.9.3连接子程序 30
3.9.5使用批文件(BatchFile) 30
3.9.4带分段(Segmentation)的连接 30
3.9.6编译一个大程序 31
3.10 COBOL使用的文件 31
图3. 编译和连接时使用的文件 31
3.11输出清单和错误信息 32
3.12 COPY语句 33
3.13清单示例 33
第4章标识部 36
目的 36
格式 36
注解 36
例子 37
4.1AUTHOR段落 37
4.2 DATE-COMPILED段落 37
4.3 DATE-WRITTEN段落 37
4.5 INSTALLATION段落 38
4. 7 SECURITY段落 38
4.4 IDENTIFICATION DIVISION首部 38
4.6 PROGRAM-ID段落 38
目的 39
格式 39
第5章环境部 39
注解 40
例子 40
5.1 CONFIGURATION SECTION首部 40
5.2ENVIRONMENT DIVISION首部 41
5.3 FILE-CONTROL段落 41
5.4 INPUT-OUTPUT SECTION首部 43
5.5 I-O-CONTROL段落 43
5.6 OBJECT-COMPUTER段落 44
5.7 SOURCE-COMPUTER段落 44
5.8SPECIAL-NAMES段落 44
注解 46
目的 46
第6章数据部 46
格式 46
例子 47
6.1文件节 47
6.2工作存贮节 48
6.3连接节 49
6.4屏幕节 50
6.5数据部限度 54
6.6 BLANKWHEN ZERO子句 54
6.7 BLOCK子句 54
6.8CODE-SET子句 55
6.9 DATA RECORD(S)子句 55
6.10 FD入口(只对顺序I/O) 55
6.12 LABEL子句 56
6.13 LINAGE子句 56
6.11 JUSTIFIED子句 56
6.1 4 OCCURS子句 57
6.15 PICTURE子句 59
6.16 RECORD子句 62
图4. 用PICTURE编辑数据的例子 62
6.17 REDEFINES子句 63
6.18 SIGN子句 63
图5. SIGN子句的作用 64
图6. 符号位上的字母字符 65
6.19 SYNCHRONIZED子句 65
6.20 USAGE子句 65
6.21 VALUE子句 66
6.21.1 88层条件名 66
6.22 VALUE OF FILE-ID子句 67
格式 68
注解 68
目的 68
第7章过程部 68
例子 69
7.1声明Declarative和USE句子 70
7.1.1 例子 71
7.2分段 71
7.3 ACCEPT语句 72
7.3.1 ACCEPT语句格式1 72
例子 73
图7. 当ACCEPT语句终止时,ESCAPE KEY值 73
7.3.2 ACCEPT语句格式2 73
例子 74
7.3.3 ACCEPT语句格式3 74
图8. ACCEPT语句格式3例1 80
图9. ACCEPT语句格式3例2 81
图10.ACCEPT语句格式3例3 82
7.3.4 ACCEPT语句格式4 83
7.5 ALTER语句 84
7.4 ADD语句 84
例子 84
7.7 DISPLAY语句 85
7.6 COMPUTE语句 85
7.7.3 屏幕名 86
7.7.1位置指定(Position-spec) 86
7.7.2标识符、直接量和ERASE 86
7.7.4 例子 87
7.9 EXHIBIT语句 87
7.8 DIVIDE语句 87
7.12 IF语句 88
7.11 GO TO语句 88
7.10 EXIT语句 88
7.12.1条件 89
图11. 条件对程序流的影响 90
7.13 INSPECT语句 91
7.14 MOVE语句 93
图12.数据传送的例子 94
7.15 MULTIPLY语句 94
716 PERFORM语句 95
7.18 STRING语句 96
7.17 STOP语句 96
7.20 TRACE语语句 97
7.19 SUBTRACT语句 97
7.21 UNSTRING语句 98
8.2 怎样管理打印机文件 100
第8章数据的输入和输出 100
8.1 导言 100
8.3 怎样管理通讯文件 100
8.4.1 显示器输出 101
8.5 怎样管理软盘文件 101
8.4 怎样操纵显示器和键盘 101
8.4.2键盘输入 101
8 .6 什么是顺序文件组织 102
8.7 什么是相对文件组织…………………………………………………(102 )8.7.1语法考虑 102
8.6.2 处理顺序文件的过程部语句 102
8.8 什么是索引文件组织 103
8.7.4 处理相对文件的过程部语句 103
8.7.3 FILE STATUS报告 103
8.7.2RELATIVE KEY子句 103
8.8.1 语法考虑………………………………………………………………(104 )8.8.2 RECORD KEY子句………………………………………(104 )8.8.3 FILE STATUS报告…………………………………………(105 )8.8.4 处理索引文件的过程部语句 105
图13.颗粒类型标志符…………………( 104 ) 106
图14.索引文件可使用的过程部语句 106
8.9CLOSE语句 106
8.12 OPEN语句 107
8.11 DELETE语句(相对I/O) 107
8.10 DELETE语句(索引 I/O) 107
8.13 READ语句(索引I/O) 108
8.15 READ语句(顺序I/O) 109
8.14 READ语句(相对I/O) 109
8.16 REWRITE语句(索引I/O) 110
8.19 START语句(索引I/O) 111
8.18 REWRITE语句(顺序I/O) 111
8.17 REWRITE语句(相对I/O) 111
8.21WRITE语句(索引I/O) 112
8.20 START语句(相对I/O) 112
8.22 WRITE语句(相对I/O) 113
8.23 WRITE语句(顺序I/O) 113
9.1.1 相对索引 115
第9章用索引方法进行表处理 115
9.1 索引名和索引数据项 115
9.2 SEARCH语句格式1 116
9.3 SEARCH语句格式2 117
9.4SET语句 118
10.1.1汇编子例程(Subroutin e) 119
第1 0章程序内部通讯 119
10.1怎样控制通讯 119
图15. 在进入一个子例程时栈的内容 119
10.1.2例子 120
10.1.3链参数(Clrain Parameter) 121
10.2 CALL语句 122
10.3 CHAIN语句 122
图16.链接程序时的存贮器格式 122
10.4 EXIT PROGRAM语句 123
10.5 LINKAGE(连接)节 123
10.6带有CALL和CHAIN的PROCEDURE DIVISION首部 124
A.1.1命令输入和依赖于DOS的I/O错误 125
A.1 编译时期错误 125
附录A.COBOL错误信息 125
A.1.2 语法错误 126
A.2运行时期错误 131
附录B保留字 134
图17.连接程序使用的输入文件 139
图18. 连接程序使用的输出文件 139
C.2.2输出文件 139
C.2.1输入文件 139
C.1导言………………………………………………………………………………(139 )C.2文件 139
附录C. 连接(LINK)程序 139
C.3.2组(Group) 140
C.3.3类(Class) 140
C.3.1段 140
C.3定义 140
C.2.3 VM.TMF(临时文件) 140
C.5.1 目标模块〔.OBJ〕 141
C.4命令提示…………………………………………………………………(141))C.5命令提示的详细描述 141
图19.连接程序命令提示 141
C.5.4库文件〔.LIB〕: 142
C.5.3清单文件〔NUL.MAP〕: 142
C.5.2运行文件〔文件名1.EXE〕: 142
/DSALLOCATION 143
/HIGH 143
/LINE 143
/MAP 143
/PAUSE 143
C.5.5参数 143
C.6.1开始之前 144
/STACK:大小 144
C.6怎样启动连接程序 144
C.6.2例子 145
C.6.3例子 145
C.7连接程序对话过程示例 146
图20.装入模块存贮器映象 148
C.8装入模块存贮映象(Map) 148
C.10信息 149
C.9怎样确定段的绝对地址 149
附录D. 对话过程示例 152
D.2打印机输出 157
D.1单独的屏幕输出 157
E.2带括号的条件 158
E.1复合条件的求值规则 158
附录E. 条件的高级形式 158
E.3缩写的条件 159
E.4 NOT——逻辑否定运算符 159
附录F.嵌套的IF语句 160
附录G.ASCll字符编码 161
附录H.允许的MOVE操作数表 165
图21.MOVE语句中的接收操作数 165
附录I. 带有VARYING和AFTER子句的PERFORM语句 166
图22.视频方式 167
J.1 COBOL程序的例子 167
附录J.检查视频方式的程序例子 167
J.2 汇编程序的例子 168
K.3.2非正常终止 169
K.3.1软盘满 169
K.2此公用程序怎样工作 169
K.1导言 169
附录K.索引文件恢复公用程序(REBUILD) 169
K.3什么时候使用REBUILD 169
K.4 REBUILD的使用 170
K.3.3非可用空间 170
K.5 REBUILD对话过程示例 171