第1章 基本知识 1
1.1 计算机的基本结构 1
1.2 程序设计语言 1
1.2.1 机器语言 2
1.2.2 汇编语言 2
1.2.3 高级语言 3
1.2.4 汇编语言和高级语言程序的执行 3
1.3 Pascal谙言简况 3
1.4 程序语言的形式描述 5
1.4.1 法、语义 5
1.4.2 BNF 5
1.4.3 文法的其它表示法 7
1.5 Pascal程序结构 9
1.6 算法及其描述工具PAD 10
1.6.1 算法 10
1.6.2 PAD 11
本章小结 13
习题一 13
第2章 基本符号、数据及其类型 16
2.1 基本符号 16
2.1.1 字符集 16
2.1.2 特定符号 16
2.1.3 指示字 17
2.1.4 标识符 17
2.1.6 数 18
2.1.5 标号 18
2.1.8 记号分隔符 20
2.1.7 字符串 20
2.2 数据及其类型 21
2.2.1 integer型 22
2.2.2 real型 23
2.2.3 char类型 24
2.2.4 Boolean类型 24
2.3 类型定义 25
2.4 枚举类型 26
2.5 子界型类型 27
2.6 值的可比性及关系运算 28
习题二 29
本章小结 29
第3章 简单程序 32
3.1 常量及常量定义 32
3.2 变量及变量说明 34
3.3 标准函数 36
3.4 表达式 39
3.4.1 表达式的构成形式 40
3.4.2 表达式值的计算 41
3.4.3 表达式的类型 42
3.5 语句 43
3.6 赋值语句 43
3.7 类型一致性 45
3.8.1 标准函数 48
3.8 输入输出 48
3.8.2 输入 49
3.8.3 输出 51
3.8.4 输出表项 52
本章小结 56
习题三 56
第4章 过程与函数 61
4.1 带子程序的Pascal程序 61
4.2.1 调用函数——函数命名符 64
4.2.2 定义函数——函数说明 64
4.2 函数 64
4.3 过程 67
4.3.1 调用过程——过程语句 68
4.3.2 定义过程——过程说明 69
4.4 程序设计实例 70
本章小结 74
习题四 74
第5章 流程控制 77
5.1 顺序结构——复合语句 77
5.2 分支结构——分支程序设计 77
5.2.1 IF语句 77
5.2.2 CASE语句 81
5.3 重复结构——循环程序设计 83
5.3.1 WHILE语句 84
5.3.2 UNTIL语句 85
5.3.3 FOR语句 88
5.4 程序设计实例 92
本章小结 99
习题五 99
第6章 数组 108
6.1 结构数据类型 108
6.2 数组类型 108
6.2.1 数组类型定义 108
6.2.2 数组变量与下标变量 109
6.2.3 有关运算问题 110
6.2.4 应注意的问题 112
6.3 多维数组 113
6.4 程序设计实例——数组在程序设计中的应用 115
6.5 紧缩数组 131
6.6 字符串 133
本章小结 134
习题六 134
第7章 再论过程——参数、作用域和递归 144
7.1 值参数与变量参数 144
7.2 作用域 149
7.2.1 程序的层次结构 149
7.2.2 定义点及定义点区域 150
7.2.3 作用域及作用域规则 151
7.2.6 作用域例题 153
7.2.5 局部量和全局量 153
7.2.4 定义性出现和使用性出现 153
7.3 无参过程与函数 157
7.4 递归 158
7.4.1 递归程序 158
7.4.2 递归程序设计 159
7.4.3 间接递归 164
7.4.4 递归程序执行过程 170
本章小结 180
习题七 180
8.1 集合类型 187
8.2 集合值的表示——集合构造器 187
第8章 集合 187
8.3 集合运算 188
8.4 集合应用及例题 190
本章小结 192
习题八 192
第9章 程序开发和结构化程序设计 195
9.1 GOTO和标号 195
9.1.1 带标号的语句 195
9.1.2 GOTO语句 195
9.1.3 标号说明 196
9.1.4 对标号的认识 196
9.1.5 应注意的问题 197
9.3 结构化程序设计原则 199
9.2 空语句 199
9.4 程序风格 200
9.4.1 良好的行文格式 201
9.4.2 用合适的助忆名来命名标识符 203
9.4.3 注释 203
9.4.4 对程序说明的建议 204
9.5 程序的正确性 204
9.5.1 错误种类 204
9.5.2 程序测试和验证 205
9.5.3 测试方法 206
9.6 可移植性 206
9.7 文档 207
9.8.1 自顶向下、逐步求精 208
9.8 自顶向下逐步求精的程序设计技术 208
9.8.2 求精过程的表示 210
9.9 受限排列组合——穷举法与试探法 218
本章小结 229
习题九 229
第10章 文件 236
10.1 文件类型定义及变量说明 236
10.2 文件操作 237
10.2.1 文件状态描述 237
10.2.2 写操作 239
10.2.3 读操作 240
10.2.4 文件操作例题 242
10.3.1 程序参数方式 243
10.3 Pascal文件变量与操作系统文件的联系 243
10.3.2 assign方式 244
10.3.3 open方式 244
10.4 text文件 245
10.4.1 隐含的数据类型翻译功能 246
10.4.2 text文件的行式结构 247
10.4.3 text文件与一般文件区别 249
10.4.4 text文件例题 249
本章小结 251
习题十 251
第11章 记录 255
11.1 记录类型 255
11.2 记录变量及其成分变量 256
11.3 WITH语句 260
11.4 变体 261
11.4.1 带变体的记录 262
11.4.2 变体部分的域与固定部分的域之间的关系 266
11.4.3 带变体记录结构的动态确定 268
11.4.4 CASE语句与记录变体 270
11.5 作用域和限制 270
11.6 程序设计实例 272
本章小结 277
习题十一 277
第12章 指针及动态数据结构 281
12.1 指针类型 282
12.2.1 栈(stack) 287
12.2 动态数据结构——指针应用 287
12.2.2 队列(queue) 288
12.2.3 链表 289
12.2.4 树 292
12.3 new、dispose与带变体的记录 297
12.4 动态数据结构的程序设计实例 298
本章小结 311
习题十二 311
第13章 三论过程——几个较深入的问题 317
13.1 一致数组参数 317
13.1.1 形式参数与实在参数的对应 319
13.1.2 一致数组参数结合动作 320
13.2 过程和函数作参数 321
13.3 函数副作用 323
13.4 形式参数作实在参数 324
13.5 标识符冲突 324
13.6 参数结合顺序 325
13.7 转出过程体 327
本章小结 328
习题十三 328
综合习题 329
附录一 ACSII字符集 332
附录二 Pascal运算符表 333
参考文献 334