目录 1
第1章程序设计的基本概念 1
1.1程序员理解的计算机 1
1.2程序设计 2
1.3高级程序设计语言 3
1.4 PASCAL语言 4
1.5语言的实现 5
第2章表示法和程序的基本结构 6
2.1巴科斯范式和语法图 6
2.2 PASCAL字汇 8
2.3数 9
2.4标识符 10
2.6空格、行结束符和注解 12
2.5字符串 12
2.7程序的基本结构 13
习题 15
第3章数据的类型、定义和说明 16
3.1数据的类型 16
3.2数据说明和定义 25
3.3标识符定义和说明的唯一性和有序性 28
习题 28
第4章语句、表达式和赋值 30
4.1语句 30
4.2表达式 30
4.3赋值语句 34
习题 35
5.1输入和输出 37
第5章数据的简单输入和输出 37
5.2 PASCAL的简单输入 38
5.3 PASCAL的简单输出 39
5.4程序实例(计算到达时间) 42
习题 44
第6章基本的构造语句 45
6.1复合语句 45
6.2重复性语句 46
6.3条件语句 58
习题 67
第7章过程和函数 70
7.1过程的概念 70
7.2分程序结构和标识符的作用域 74
第11章集合 1 75
7.3参数 80
7.4 函数 90
7.5过程和函数作为参数 96
7.6递归 98
习题 105
第8章结构程序设计和转(goto)语句 109
8.1结构程序设计 109
8.2转(goto)语句 111
第9章数组 116
9.1数组的概念 116
9.2二维数组 131
9.3对数组的整体操作 134
9.4程序实例(计算发工资时应付的最合理的元数) 136
9.5紧缩数组 139
9.6字符串 141
9.7程序实例(构造索引表) 142
9.8其他构造类型 146
习题 146
第10章记录 150
10.1记录的概念 150
10.2记录变量的访问 152
10.3开域(with)语句 153
10.4紧缩记录 156
10.5程序实例(更新足球联赛表) 156
10.6带变体的记录 162
10.7程序实例(对正文行长的加工) 166
习题 173
11.1集合的概念 175
11.2集合的构造和运算 177
11.3程序实例 181
习题 197
第12章文件 198
12.1文件的概念 198
12.2文件处理的标准过程(文件的生成—写与文件的使用—读) 199
12.3程序实例(更新顺序文件) 203
12.4程序实例(排序一个文件) 207
12.5 文本文件 214
12.6程序实例(文本编辑程序) 217
习题 224
第13章指针 225
13.1指针的概念 225
13.2链表 230
13.3树 235
13.4程序实例(构造索引表) 244
习题 250
第14章一个综合实例 252
14.1 PL/0语言及其编译程序 252
14.2 PL/0编译程序中的编译部分 258
14.3 PL/0编译程序_中的解释部分 283
14.4 PL/0程序清单 290
15.1程序测试与程序验证 303
第15章程序正确性证明初步 303
15.2程序的终止性 307
15.3 Hoare证明规则 309
15.4用证明规则证明程序的正确性 311
15.5最弱前置条件WP 313
15.6用WP证明程序的完全正确性 315
15.7机械程序验证系统 316
15.8小结 317
习题 318
附录一 ASCII字符代码 321
附录二 PASCAL 语语法图 322
附录三运算符一览表 328
附录四标准函数的自变量类型和结果类型 329
参考文献 330