第Ⅰ部分 结构化程序设计 3
第1章 结构化设计导论 3
1.1 学习目标 3
1.2 学习指导 3
1.3 系统开发生命周期 3
1.4 结构化程序设计 10
1.5 关键术语 12
1.6 练习题 13
第2章 SIMPLE SEQUENCE控制结构 15
2.1 学习目标 15
2.2 学习指导 15
2.4 销售应用示例 17
2.3 数据层次 17
2.5 设计验证 21
2.6 示例问题2.1:温度转换问题 22
2.7 示例问题2.2:账单问题 23
2.8 流程图工具 25
2.9 内容扩充(Basic) 26
2.10 内容扩充(Visual Basic) 27
2.11 关键术语 29
2.12 练习题 29
第3章 IFTHENELSE控制结构 31
3.1 学习目标 31
3.2 学习指导 31
3.3 账单示例 31
3.4 伪代码 32
3.5 IFTHENELSE控制结构 33
3.6 计时卡片示例 34
3.7 示例问题3.1:薪金问题 34
3.8 示例问题3.2:寻找最小值问题 36
3.9 示例问题3.3:银行问题 38
3.10 字符串常量 40
3.11 示例问题3.4:销售问题 41
3.12 内容扩充(Basic) 44
3.13 内容扩充(Visual Basic) 46
3.14 关键字 48
3.15 练习题 49
4.2 学习指导 51
4.1 学习目标 51
第4章 DOWHILE控制结构——计数器控制循环 51
4.3 问题:六数相加 52
4.4 模拟:六数相加 53
4.5 DOWHILE循环 54
4.6 计数器控制循环 56
4.7 示例问题4.1:使用计数器循环的薪金程序 56
4.8 示例问题4.2:使用计数器循环求平均值 58
4.9 首记录逻辑 59
4.10 示例问题4.3:用首记录解决薪金问题 60
4.11 示例问题4.4:用首记录求平均值问题 62
4.12 无效数据 63
4.14 内容扩充(Basic) 65
4.13 正常程序 65
4.15 内容扩充(Visual Basic) 66
4.16 关键术语 68
4.17 练习题 68
第5章 DOWHILE控制结构——尾记录逻辑 71
5.1 学习目标 71
5.2 学习指导 71
5.3 示例问题5.1:缺陷零件问题 72
5.4 文件尾自动处理 75
5.5 示例问题5.2:使用多标题的缺陷零件问题 77
5.6 多标题——总结 80
5.7 示例问题5.3:学分问题 81
5.8 DOWHILE循环控制——总结 83
5.9 内容扩充(Basic) 84
5.10 内容扩充(Visual Basic) 86
5.11 关键术语 88
5.12 练习题 89
第6章 模块化 91
6.1 学习目标 91
6.2 学习指导 91
6.3 结构图 93
6.4 示例问题6.1:使用模块技术求平均值问题 96
6.5 示例问题6.2:使用模块技术处理含多标题的缺陷零件问题 98
6.6 示例问题6.3:使用模块技术处理学分问题 102
6.7 内容扩充(Basic) 106
6.8 内容扩充(Visual Basic) 107
6.9 关键术语 109
6.10 练习题 109
第7章 CASE控制结构 111
7.1 学习目标 111
7.2 学习指导 111
7.3 存货清单操纵示例 111
7.4 示例问题7.1:操作码问题 115
7.5 示例问题7.2:不使用模块求解销售问题 117
7.6 示例问题7.3:使用模块求解销售问题 119
7.7 示例问题7.4:有汇总的销售问题 122
7.8 内容扩充(Basic) 128
7.9 内容扩充(Visual Basic) 130
7.10 关键术语 134
7.11 练习题 135
第8章 DOUNTIL控制结构 139
8.1 学习目标 139
8.2 学习指导 139
8.3 DOUNTIL计数器循环 140
8.4 示例问题8.1:货物——计数器控制 141
8.5 示例问题8.2:货物——首记录逻辑 143
8.6 示例问题8.3:货物——尾记录逻辑 146
8.7 DOWHILE和DOUNTIL的比较 148
8.8 内容扩充(Basic) 151
8.9 内容扩充(Visual Basic) 152
8.10 关键术语 154
8.11 练习题 155
第9章 数组初步 157
9.1 学习目标 157
9.2 学习指导 157
9.3 列表结构 157
9.4 列表示例 158
9.5 示例问题9.1:寻找最小数 160
9.6 示例问题9.2:求平均值 163
9.7 示例问题9.3:统计单词出现次数 164
9.8 示例问题9.4:数组内容加倍 168
9.9 示例问题9.5:求数组内容的平方和立方 169
9.10 表格结构 171
9.11 表格示例 172
9.12 示例问题9.6:座位示意图问题 175
9.13 示例问题9.7:寻找最高平均成绩 178
9.14 示例问题9.8:二维数组计算 182
9.15 多维数组结构 185
9.16 内容扩充(Basic) 186
9.17 内容扩充(Visual Basic) 188
9.18 关键术语 191
9.19 练习题 191
10.1 学习目标 197
10.2 学习指导 197
第10章 面向对象设计概述 197
第Ⅱ部分 面向对象程序设计 197
10.3 对象和类 198
10.4 面向对象设计 198
10.5 GradeBook类 199
10.6 封装和数据隐藏 199
10.7 GradeBook类伪代码 201
10.8 驱动程序——GradeBook示例 202
10.9 构造函数 203
10.10 重载 205
10.11 析构函数 207
10.12 示例问题10.1:计算周长 207
10.13 示例问题10.2:根据输入参数计算周长和面积并返回相应值 208
10.14 关键术语 210
10.15 练习题 211
第11章 继承 213
11.1 学习目标 213
11.2 学习指导 213
11.3 泛化/特化关系 213
11.4 继承 214
11.5 类的层次 214
11.6 多态 215
11.7 Employee类 216
11.8 Faculty子类 217
11.9 Staff子类 218
11.10 驱动程序——Employee类示例 221
11.11 示例问题11.1:银行账户处理结构 222
11.12 示例问题11.2:实现Account类 223
11.13 示例问题11.3:实现标准核算类 225
11.14 抽象类 227
11.15 统一建模语言 228
11.16 关键术语 229
11.17 练习题 229
第12章 其他类和对象间关系 233
12.1 学习目标 233
12.2 学习指导 233
12.3 关联 233
12.5 聚合 235
12.4 示例问题12.1:花瓶和花 235
12.6 管理资产示例 236
12.7 合成 237
12.8 迭代设计 238
12.9 示例问题12.2:计划一个组事件 239
12.10 内部类 240
12.11 面向对象设计的优点 243
12.12 面向对象语言 244
12.13 关键术语 244
12.14 练习题 244
13.3 表格搜索 249
13.2 学习指导 249
13.4 示例问题13.1:表格搜索 249
第13章 数组应用 249
第Ⅲ部分 程序设计应用 249
13.1 学习目标 249
13.5 折半搜索 255
13.6 示例问题13.2:折半搜索的例子 256
13.7 列表的排序 262
13.8 示例问题13.3:排序例子 264
13.9 关键术语 267
13.10 练习题 267
第14章 主文件更新处理 271
14.1 学习目标 271
14.2 学习指导 271
14.3 文件维护 272
14.6 顺序主文件更新示例 273
14.4 顺序处理 273
14.5 直接处理 273
14.7 关键术语 287
14.8 练习题 288
第15章 中断控制处理 291
15.1 学习目标 291
15.2 学习指导 291
15.3 示例问题15.1:单层中断控制 292
15.4 示例问题15.2:多层中断控制 300
15.5 关键术语 312
15.6 练习题 313
附录A 程序流程图符号 319
附录B 结构化程序设计控制结构 323
附录C 部分习题答案 329