第一章 算法 1
1.1 算法的概念 1
1.2 简单算法举例 2
1.3 算法的特性 4
1.4 算法的表示 5
1.4.1 自然语言 5
1.4.2 流程图 6
1.4.3 伪代码 8
1.4.4 三种基本结构和改进的流程图 9
1.4.5 N-S结构流程图 12
1.4.6 PAD图 16
第二章 计算机和程序 19
2.1 计算机是实现算法的有效工具 19
2.2 计算机的基本组成 20
2.3 计算机语言和计算机程序 22
2.3.1 机器语言 22
2.3.2 符号语言(汇编语言) 22
2.3.3 算法语言 23
2.3.4 非过程化语言 23
2.4 PASCAI语言的特点 24
2.5 结构化程序设计的实现方法 25
3.1 PASCAL程序的组成 32
第三章 PASCAL程序的基本知识 32
3.2 语法图和巴科斯范式 35
3.3 保留关键字和标识符 37
3.3.1 保留关键字 37
3.3.2 标识符 37
3.4 常量 39
3.4.1 常量的类型 39
3.4.2 符号常量 41
3.5 变量 42
3.5.1 变量名 42
3.5.2 变量的类型 42
3.6 标准函数 45
3.7 算术表达式 47
3.8 数据类型 49
第四章 简单的PASCAL程序设计 51
4.1 PASCAL语言的语句 51
4.2 赋值语句 52
4.3 输出语句——写语句 53
4.3.1 写语句的作用与形式 53
4.3.2 Write语句和Writeln语句 54
4.3.3 写语句的输出格式 55
4.4 输入语句——读语句 58
4.4.1 读语句的作用与形式 58
4.4.2 Read语句和Readln语句 59
4.5 程序举例 63
4.6 程序的输入和运行 65
第五章 选择结构的程序设计 68
5.1 PASCAL中的逻辑运算(布尔运算) 68
5.1.1 布尔常量和布尔变量 68
5.1.2 布尔表达式 69
5.1.3 布尔型数据的输入和输出 72
5.2 IF语句(如果语句)的概念和应用 73
5.2.1 IF语句的概念 73
5.2.2 在IF语句中使用复合语句 77
5.2.3 IF语句的嵌套 81
5.3 CASE语句(分情况语句) 89
第六章 循环结构的程序设计 94
6.1 用GOTO语句和带标号语句实现循环 94
6.1.1 带标号语句 94
6.1.2 GOTO语句 94
6.1.3 用GOTO语句实现循环结构 95
6.2 用FOR语句实现循环结构 96
6.2.1 FOR语句的一般格式和执行过程 96
6.2.2 FOR循环应用嵌套 98
6.2.3 FOR循环的嵌套 109
6.3 用WHILE语句实现循环结构 113
6.4 用REPEAT-UNTIL语句实现循环结构 117
7.1 字符常量 127
第七章 字符类型数据处理 127
7.2 字符符号常量和字符变量 129
7.3 字符量的运算 130
7.4 字符数据的输入和输出 131
7.5 字符处理程序举例 132
第八章 枚举类型和子界类型 143
8.1 PASCAL中类型概念的进一步说明 143
8.2 枚举类型 145
8.2.1 问题的提出 145
8.2.2 枚举类型的定义 145
8.2.3 枚举类型数据的性质 146
8.2.4 枚举类型应用举例 149
8.3 子界类型 153
8.3.1 问题的提出 153
8.3.2 子界类型的定义 153
8.3.3 子界类型数据的运算规则 155
8.3.4 子界类型应用举例 156
8.4 类型间的相容关系 158
第九章 数组 162
9.1 一维数组 164
9.1.1 一维数组的定义 164
9.1.2 数组元素的引用 166
9.1.3 程序举例 166
9.2 二维数组 182
9.2.1 二维数组的定义 183
9.2.2 二维数组元素的引用 184
9.2.3 二维数组的存储结构 186
9.2.4 程序举例 186
9.3 多维数组 196
9.4 字符数组 198
9.5 字符串和压缩字符数组 199
9.5.1 字符串常量 199
9.5.2 压缩式字符数组(字符串变量) 199
9.5.3 其他类型的压缩式数组 202
9.5.4 Turbo PASCAL中的字符串类型 202
9.5.5 程序举例 204
10.1 函数 212
第十章 过程和函数 212
10.1.1 函数的说明 213
10.1.2 函数的调用形式 214
10.1.3 函数的说明、调用和执行 214
10.2 过程 215
10.2.1 过程的说明 215
10.2.2 过程的调用形式 216
10.2.3 过程的说明、调用和执行 217
10.3 全程量和局部量 220
10.3.1 局部量和它的作用域 220
10.3.2 全程量和它的作用域 221
10.3.3 函数名和过程名的作用域 223
10.4 形式参数和实在参数的结合 225
10.4.1 值形式参数 225
10.4.2 变量形式参数 227
10.4.3 值形参和变量形参的使用比较 228
10.4.4 程序举例 232
10.5 子程序名作为形式参数 244
10.5.1 过程名作为形参 244
10.5.2 函数名作为形参 245
10.5.3 Turbo PASCAL中子程序名作形参的形式 248
10.6 子程序的递归调用 250
10.7 超前引用子程序的规则 258
10.8 用可调数组作函数或过程的形参 260
第十一章 集合和记录 264
11.1 集合 264
11.1.1 集合类型的定义和集合变量的说明 264
11.1.2 集合的值 265
11.1.3 给集合变量赋值 265
11.1.4 对集合进行并、并、差运算 265
11.1.5 对集合进行关系运算和包含运算 266
11.1.6 程序举例 267
11.2 记录 273
11.2.1 记录类型的定义和记录的说明 273
11.2.2 对记录中域的引用 274
11.2.3 WITH语句(开域语句) 275
11.2.4 带变体的记录 276
11.2.5 程序举例 277
第十二章 动态数据结构 281
12.1 指针和动态存储分配 281
12.1.1 指针类型和指针变量 281
12.1.2 开辟和释放动态存储单元 282
12.1.3 动态存储单元的引用 282
12.1.4 用指针指示一个记录 282
12.1.5 对指针变量的操作 283
12.1.6 程序举例 284
12.2.1 链表的基本结构 289
12.2 链表结构 289
12.2.2 单向链表的基本操作 290
12.2.3 环形链表结构 295
12.2.4 双向链表结构 295
12.2.5 程序举例 297
第十三章 文件 300
13.1 文件的概念 300
13.2 类型文件 301
13.2.1 文件的类型定义和变量说明 301
13.2.2 文件的打开与关闭 303
13.2.3 文件的操作 303
13.2.4 程序举例 305
13.3.2 文本文件的操作 309
13.3 文本文件 309
13.3.1 文本文件的概念 309
13.3.3 程序举例 311
13.4 无类型文件 313
13.4.1 无类型文件的概念 313
13.4.2 无类型文件的操作 314
13.4.3 无类型文件的使用 315
第十四章 Turbo PASCAL中的编译单元 317
14.1 包含文件 317
14.2 单元的概念及基本结构 318
14.3 用户单元的编制和调用 320
14.4 标准单元及功能简介 322
14.5 利用集成开发环境运含有单元的程序 324
附录一 PASCAL语法图 325
附录二 PASCAL的EBNF语法规则 330
附录三 常用字符——EBCDIC码——ASCII码对照表 336
附录四 标准PASCAL保留关键字 338
附录五 标准PASCAL预定义标识符 339
附录六 PASCAL标准函数表 340
附录七 标准PASCAL运算符一览表 341
附录八 编译指令 342
习题 345
参考文献 357