本书深入浅出地阐述了如何利用计算机来求解问题的一些思想和方法。全书分为6个部分,另有6个附录。本书全面讲解了解题方法和编程概念的各个方面,通过详细的解释和大量的实例逐步展开介绍,从基本的数学函数和操作符到代码、数组、指针和其他数据结构等技术的设计和使用,以及数据库和面向对象程序设计的概念,然后以综合实例阐述应用软件中解题方法的使用。附录介绍了商业中常用到的模板、排序和合并方法。
本书是一本学习如何求解问题的教材,适合作为高等学校计算机专业学生的必修或选修课程,对于希望提高自己编程水平的广大程序员也具有很大的参考价值。
第I部分 解题和编程方法简介
第1章 解决问题一般概念
1.1 日常生活问题的解决
1.2 问题的类型
1.3 计算机解决的问题
1.4 解决问题的难点
1.5 本章小结
1.6 术语
1.7 简答
1.8 习题
1.9 纠错
第2章 计算机解决问题的初级概念
2.1 常量和变量
2.2 数据类型
2.3 函数
2.4 操作符
2.5 表达和等式
第3章 编程概念
3.1 计算机如何存储数据
3.2 计算机通信
3.3 问题的求解
3.4 使用这些工具
3.5 测试解决方案
3.6 编程
第II部分 逻辑结构
第4章 程序结构
4.1 构建程序结构的要点
4.2 内聚和耦合
4.3 模块及其功能
4.4 局部变量和全局变量
4.5 参数
4.6 变量命名和数据字典
4.7 4种逻辑结构
第5章 采用顺序逻辑结构解决问题
5.1 算法指令和流程图符号
5.2 顺序逻辑结构
5.3 解决方案开发
第6章 采用分支结构解决问题
6.1 分支逻辑结构
6.2 多重IF/THEN/ELSE指令
6.3 使用串行逻辑
6.4 使用正逻辑
6.5 使用负逻辑
6.6 逻辑转换
6.7 选择哪一种分支逻辑
6.8 分支表
6.9 综合实例
第7章 采用循环结构解决问题
7.1 循环逻辑结构
7.2 增量
7.3 累加
7.4 WHILE/WHILE-END
7.5 综合实例
7.6 REPEAT/UNTIL
7.7 综合实例
7.8 自动计数循环
7.9 综合实例
7.10 嵌套循环
7.11 指示器
7.12 算法指令和程序流程图符号
7.13 递归
第8章 采用Case结构解决问题
8.1 Case逻辑结构
8.2 代码
8.3 综合实例I
8.4 综合实例II
第III部分 数据结构
第9章 处理数组
9.1 数组
9.2 一维数组
9.3 综合实例
9.4 二维数组
9.5 综合实例
9.6 多维数组
9.7 查表技术
9.8 指针技术
9.9 综合实例
第10章 数据结构
10.1 文件概念入门
10.2 排序技术
10.3 栈
10.4 以记录作为一种数据结构
10.5 链表
10.6 二叉树
第11章 关系数据库管理系统
11.1 关系数据库管理系统
11.2 表格
11.3 主键、辅键、外键
11.4 范式化表格
11.5 模式
11.6 创建表格
11.7 查询
11.8 窗体设计
11.9 界面设计
11.10 报表
11.11 使用RDBMS设计解决方案
11.12 关系数据库管理系统实例: 家庭财务管理
第IV部分 面向对象编程
第12章 面向对象程序设计的概念
12.1 面向对象程序设计
12.2 图形用户界面
12.3 事件驱动的面向对象程序设计
第13章 面向对象程序设计
13.1 面向对象的应用程序设计
13.2 界面设计
13.3 事件驱动的面向对象程序设计
第V部分 文件处理
第14章 文件的概念
14.1 顺序访问文件
14.2 随机访问文件
14.3 缓冲器
14.4 主键和辅键
14.5 算法指令和流程图符号
14.6 系统流程图
14.7 记录设计
14.8 顺序访问文件的处理
14.9 初始读
14.10 随机访问文件的处理
第15章 顺序访问文件应用程序
15.1 设计输出报表
15.2 标题计数器和行计数器
15.3 控制中断
15.4 多重控制中断
15.5 使用指示器进行程序控制
15.6 错误处理
15.7 空文件
第16章 顺序访问文件的更新
16.1 创建文件
16.2 主文件
16.3 事务文件
16.4 活动文件
16.5 备份文件
16.6 使用事务文件更新主文件
16.7 综合实例
16.8 另一种有效的方法
第17章 随机访问文件的处理和更新
17.1 索引文件
17.2 使用交互式方法更新随机访问文件
第VI部分 应用软件中解题方法的使用
第18章 应用软件介绍
18.1 水平型软件的类型
18.2 学习新软件包的步骤
18.3 软件的兼容性问题
18.4 文件组织
第19章 字处理和桌面出版软件的使用
19.1 字处理
19.2 图形
19.3 桌面出版软件
19.4 一些设计思想
19.5 字处理和桌面出版设计
19.6 文档类型
第20章 使用电子数据表解决问题
20.1 电子数据表的基础
20.2 电子数据表的设计
20.3 综合
20.4 宏
20.5 图表与图表的制作
20.6 综合实例
第21章 文档处理
21.1 计算机系统的6大组成部分
21.2 信息处理
21.3 软件套件
21.4 共享数据
21.5 对象链接和嵌入技术
附录A 商业应用中的常用公式
附录B 排序、合并和查找方法
附录C 数据表示的ASCII代码和EBCDIC代码
附录D 解决问题时要使用的图
附录E 其他的问题解决工具
附录F 统一建模语言概述
附录G 术语表
对于为用户开发应用程序的专业人士来说,掌握解题方法和编程概念是非常必要的。遗憾的是,对于许多读者来说,解题方法比计算机语言的语法更难于掌握。编程的艺术在于能掌握各种各样的技术,并能用这些技术去解决特定的问题。读者应该首先掌握基本的编程方法和解题方法,然后在学习特定编程语言的过程中着重学习语法。可以在介绍解题方法的课程或第一门针对解题的语言课程中学习这种技巧。它可以减少学生在学习过程中的阻力,提高成功率。
本书供编程专业学生第一学期使用,它是一门介绍性课程,可作为必修或辅助教材使用。虽然本书是为初学者或没有接触过计算机的读者编写的,但其介绍的内容对学习计算机语言的人也很有帮助。
本书通过详细的解释和大量的实例逐步展开介绍,从基本的数学函数和操作符到代码、数组、指针和其他数据结构等技术的设计和使用,以及数据库和面向对象程序设计的概念。书中用到了很多解题工具,包括问题分析图(problem analysis chart)、交互图(interactivity chart)、IPO图、算法和流程图,来设计问题的解决方案。另外,附录中还介绍了一些辅助工具,包括通用建模语言(Universal Modeling Languages,UML)概念、Nassi-Schneid-erman图和Warnier-Orr图。最后的综合实例部分使用前面介绍过的概念给出了一个完整解题方法。在某些实例中,我们会使用一些高级技术改进前面介绍过的方法。本书中所列举的实例在商业应用中都极具代表性,给读者提供了极好的经验。这些例子所涉及的问题可能会在以后语言课程学习中遇到,那时读者就可以通过上机将这些知识付诸实践。
本书的编排
第1部分“解题和编程方法简介”给出了解题的基本概念。介绍了计算机如何解决问题,以及用计算机解决问题时所需的数学概念、分析问题和解决问题的步骤。第Ⅱ部分“逻辑结构”介绍了基本的编程概念,包括局部和全局变量、参数和4种基本的逻辑结构。这4种基本的逻辑结构是顺序结构、分支结构、循环结构和case逻辑结构。该部分还介绍了如何使用这些结构进行编程。第Ⅲ部分“数据结构”介绍了数组的概念、排序技巧、查找方法、堆栈、链表、二叉树和数据库。第Ⅳ部分“面向对象编程”介绍了用面向对象程序设计语言解决问题的基本概念。第V部分“文件处理”对学习COBOL的读者来说是相当重要的。虽然数据库工具正在取代传统的处理海量数据的技术,然而政府和业界仍然有许多COBOL程序需要维护。第Ⅵ部分“应用软件中解题方法的使用”介绍了如何使用这些程序来撰写报告和进行预算,还介绍了如何综合利用这些程序来建立文档或描述问题。该部分还介绍了字处理、设计、电子数据表和信息处理的概念。附录介绍了商业中常用到的模板、排序和合并方法、ASCII码和EBCDIC码、空白表格以及其他的解题工具和UML的概念。