1.1.1 程序的概念
- 程序:算法 + 数据结构 + 程序设计方法 + 语言工具和环境
- 数据结构:数据的类型和数据的组织方式
- 算法:对数据操作的方法和步骤
1.1.2 程序设计语言的种类
- 第一代语言(机器语言):执行效率高、可读性和可移植性低
- 第二代语言(汇编语言):可读性增强、可移植性差,执行效率仅此机器语言
- 第三代语言(高级语言):相对低级语言执行效率低,可读性和可移植性高
- 面向过程语言==》C语言
- 面向对象语言
- 第四代语言(非过程化语言):如sql
1.1.3 语言处理系统
- 编译型
- 解释型
- 混合型
1.2.1 算法的概念
- 算法:为解决一个问题而采取的方法和步骤,就称为算法
- 计算机算法分类:
- 数值计算算法:科学计算,少量的输入和输出,复杂的运算
- 非数值计算算法:数据管理,大量的输入和输出,简单的算术和逻辑运算
1.2.2 算法的特性
- 有穷性
- 确定性
- 有效性
- 有零个或多个输入
- 有一个或多个输出
1.2.3 算法的描述方法
- 自然语言:通俗易懂,文字冗长,容易出现“歧义性”
- 传统的流程图
- N-S图
- 伪代码:用介于自然语言和计算机语言之间的文字和符号来描述算法
if x positive then
print x
else
print -x
- 计算机语言
1.3 程序设计的过程
- 分析问题
- 确定数学模型
- 算法设计
- 程序开发
- 运行和测试
主要以结构化程序为例
结构化程序的结果简单清晰,可读性好,模块化强,描述符合人们解决复杂问题的普遍规律,在应用软件开发中发挥了重要作用
在软件设计和实现过程中,提倡采用自顶向下、逐步细化的模块程序设计方法
强调采用单入口、单出口的三种基本控制结构,避免使用GOTO语句