计算机科学丛书 程序设计基础 原书第3版
作者:(美)托尼 加迪斯(Tony Gaddis)
出版时间: 2018年版
丛编项: 计算机科学丛书
内容简介
本书教授编程概念和解决问题的技巧,所使用的方法独立于具体的编程语言,且不需要读者有任何编程经验。内容不仅包括数据类型、变量、输入、输出、控制结构、模块、函数、数组和文件,还有面向对象的概念、GUI开发和事件驱动编程。配套的教学资源也十分丰富,包括复习中的答案、编程练习中的解决方案、PPT和试题库。此外,在本书的相应网站上还提供了用各种语言实现的书中伪代码对应的程序。本书适合作为学习具体语言之前的先导编程逻辑课程,也可以是入门编程课程的部分。
目录
目 录
Starting Out with Programming Logic & Design, Third Edition
出版者的话
译者序
前言
第1章 计算机与程序设计导论 1
1.1 引言 1
1.2 硬件 2
1.3 计算机是如何存储数据的 5
1.4 程序是如何执行的 8
1.5 软件的种类 14
复习 15
第2章 输入、处理和输出 18
2.1 设计一个程序 18
2.2 输出、输入和变量 21
2.3 变量赋值和计算 27
重点聚焦:计算手机的超时话费 29
重点聚焦:计算百分比 31
重点聚焦:计算平均值 32
重点聚焦: 将一个数学公式转换为编程语句 34
2.4 变量声明和数据类型 36
2.5 命名常量 40
2.6 手动跟踪程序 41
2.7 程序文档 42
重点聚焦: 使用命名常量、风格约定和注释 43
2.8 设计你的第一个程序 44
复习 47
第3章 模块 52
3.1 模块简介 52
3.2 定义和调用模块 53
重点聚焦:模块的定义和调用 57
3.3 局部变量 61
3.4 将参数传递给模块 63
重点聚焦: 将一个实参传给一个模块 66
重点聚焦: 通过引用传递一个实参 71
3.5 全局变量和全局常量 73
重点聚焦:使用全局常量 74
复习 76
第4章 决策结构和布尔逻辑 82
4.1 决策结构简介 82
重点聚焦:使用If-Then语句 86
4.2 双重选择决策结构 88
重点聚焦:使用If-Then-Else语句 89
4.3 比较字符串 92
4.4 嵌套决策结构 95
重点聚焦:决策结构的多重嵌套 98
4.5 Case结构 101
重点聚焦:使用Case结构 103
4.6 逻辑运算符 105
4.7 布尔变量 110
复习 111
第5章 循环结构 116
5.1 循环结构简介 116
5.2 条件控制循环: While、Do-While和 Do-Until 117
重点聚焦:设计一个While循环 120
重点聚焦: 设计一个Do-While循环 126
5.3 计数控制循环和For语句 130
重点聚焦: 使用For语句设计一个计数控制循环 135
5.4 计算运行总和 143
5.5 哨兵 145
重点聚焦:如何使用哨兵 146
5.6 嵌套循环 148
复习 151
第6章 函数 155
6.1 函数简介:生成随机数 155
重点聚焦:使用随机数 157
重点聚焦:用随机数表示其他值 158
6.2 写自己的函数 161
重点聚焦:基于函数的模块化 165
6.3 更多的库函数 172
复习 181
第7章 输入验证 185
7.1 垃圾入,垃圾出 185
7.2 输入验证循环 186
重点聚焦: 设计一个输入验证循环 187
7.3 防御性编程 191
复习 192
第8章 数组 195
8.1 数组基础知识 195
重点聚焦: 在数学表达式中使用数组元素 199
8.2 数组的顺序搜索 206
8.3 数组的数据处理 210
重点聚焦:处理数组 216
8.4 并行数组 221
重点聚焦:并行数组的应用 221
8.5 二维数组 224
重点聚焦:二维数组的应用 227
8.6 三维或高维数组 231
复习 232
第9章 数组的排序和查找 237
9.1 起泡排序算法 237
重点聚焦:使用起泡排序算法 242
9.2 选择排序算法 248
9.3 插入排序算法 253
9.4 折半查找算法 257
重点聚焦:使用折半查找算法 260
复习 262
第10章 文件 266
10.1 文件的输入和输出 266
10.2 采用循环处理文件 275
重点聚焦:处理文件 278
10.3 使用文件和数组 282
10.4 处理记录 283
重点聚焦:添加和显示记录 286
重点聚焦:搜索记录 289
重点聚焦:修改记录 290
重点聚焦:删除记录 295
10.5 控制中断逻辑 297
重点聚焦:使用控制中断逻辑 298
复习 302
第11章 菜单驱动程序 306
11.1 菜单驱动程序简介 306
11.2 模块化菜单驱动程序 314
11.3 使用循环重复菜单 318
重点聚焦:设计菜单驱动程序 320
11.4 多级菜单 332
复习 336
第12章 文本处理 340
12.1 引言 340
12.2 逐字符文本处理 341
重点聚焦:密码验证 343
重点聚焦: 电话号码格式化和去格式化 347
复习 351
第13章 递归 356
13.1 递归介绍 356
13.2 递归求解 358
13.3 递归算法举例 361
复习 369
第14章 面向对象设计 372
14.1 过程化编程及面向对象编程 372
14.2 类 374
14.3 使用统一建模语言来设计类 383
14.4 寻找一个问题中的类及其功能 384
重点聚焦:寻找一个问题中的类 384
重点聚焦:定义类的功能 387
14.5 类的继承 392
14.6 类的多态性 397
复习 401
第15章 GUI应用程序和事件驱动编程 405
15.1 图形交互界面 405
15.2 设计GUI程序的用户接口 407
重点聚焦:设计一个窗口 410
15.3 编写事件处理程序 412
重点聚焦: 设计一个事件处理程序 414
复习 415
附录 ASCII/Unicode字符 418