第一章 计算机科学:发展中的科学 1
1.1 作为一门学科的计算机科学 1
1.2 什么是计算机 2
1.3 计算机的发展历史 4
1.4 本章练习 5
第二章 算法和问题求解 7
2.1 算法的性质 7
2.2 计算的算法 8
2.3 算法的分类 13
2.4 算法的分析 20
2.5 结构化程序设计 21
2.6 本章小结 22
2.7 本章练习 22
第三章 计算机中数据的表示方式 24
3.1 按位计数系统 24
3.2 位,字节和字 31
3.3 本章小结 38
3.4 本章练习 38
第四章 计算机结构 40
4.1 数字计算机的组成 40
4.2 假想的机器语言 43
4.3 符号程序设计 47
4.4 寻址方式(任选) 49
4.5 本章练习 51
第五章 程序设计语言概念 52
5.1 编程方法 54
5.2 符号语言学(形式语言学) 55
5.3 BNF(巴科斯—诺尔)范式 56
5.4 二义性 60
5.5 本章小结 64
5.6 本章练习 64
第六章 计算机系统软件 66
6.1 程序设计语言 66
6.2 翻译程序 66
6.3 操作系统 70
6.4 本章小结 74
6.5 本章练习 74
第七章 基本数据结构 76
7.1 语言的基本元素 76
7.2 数据类型 78
7.3 变量说明 80
7.4 常量说明 80
7.5 赋值语句 81
7.6 Pascal程序 81
7.7 表达式 82
7.8 离散类型的序数特性 88
7.9 输入语句 89
7.10 输出语句 91
7.11 Pascal实例 92
7.12 本章小结 92
7.13 本章练习 92
第八章 控制结构 95
8.1 复合语句 95
8.2 重复语句 95
8.3 选择语句 101
8.4 著名的GOTO语句 106
8.5 本章小结 108
8.6 本章练习 108
第九章 复合的数据结构 110
9.1 数组 110
9.2 多维数组 114
9.3 串 118
9.4 记录 120
9.5 本章小结 124
9.6 本章练习 124
第十章 过程和函数 127
10.1 过程 127
10.2 函数 132
10.3 内存分配 134
10.4 模块的通讯与调用 138
10.5 过程参数与函数参数 141
10.6 递归 143
10.7 本章练习 148
第十一章 动态数据结构 149
11.1 动态数据结构的特点 149
11.2 列表 155
11.3 堆栈和队列 157
11.4 树 159
11.5 本章小结 161
11.6 本章练习 161
第十二章 非数值算法 163
12.1 检索 163
12.2 排序技术 165
12.3 快速排序:一种有效的交换排序算法 170
12.4 归并 174
12.5 本章小结 177
12.6 本章练习 177
第十三章 信息系统 178
13.1 文件概述 178
13.2 Pascal文件 178
13.3 顺序文件、直接存取文件和索引顺序文件 182
13.4 归并外部文件 187
13.5 数据库管理系统 188
13.6 本章小结 190
13.7 本章练习 190
第十四章 科学计算 191
14.1 牛顿——辛普生法 191
14.2 高斯消去法 192
14.3 随机数 195
14.4 蒙特卡洛法 195
14.5 计算中的误差 198
14.6 本章小结 199
14.7 本章练习 199
第十五章 人工智能 201
15.1 智能机器:有很大争议的问题 201
15.2 面向问题的技术 201
15.3 游戏程序 207
15.4 专家系统 208
15.5 自然语言处理 211
15.6 重新回到有争议的大问题 212
15.7 本章练习 213
第十六章 软件工程 214
16.1 什么是软件工程 214
16.2 软件开发计划的制定 218
16.3 需求分析 218
16.4 软件设计 218
16.5 说明举例 219
16.6 实现 223
16.7 软件测试 224
16.8 文档 227
16.9 维护 227
16.10 本章小结 228
16.11 本章练习 228
第十七章 发展方向 229
17.1 计算机网络 229
17.2 程序包 232
17.3 第五代计算机 237
17.4 本章小结 238
第十八章 计算机对社会的冲击 239
18.1 日常生活中的计算机 239
18.2 有关保守私人秘密的问题 240
18.3 计算机病毒 241
18.4 用计算机进行犯罪活动 242
18.5 用计算机查找罪犯 243
18.6 计算机与军事 244
18.7 计算机与就业 244
18.8 本章练习 245