第2章 算法 — 程序的灵魂
-
对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式 也就是数据结构(data structure)
-
对操作的描述。即要求计算机进行操作的步骤 也就是算法(algorithm)
算法 + 数据结构 = 程序
计算机算法可分为两大类别:
数值运算算法 ? 非数值运算算法
数值运算的目的是求数值解 非数值运算包括的面十分广泛,最常见的是用于事务管理领域
一个有效算法应该具有一下特点:
1、有穷性
2、确定性
3、有零个或多个输入
4、有一个或多个输出
5、有效性
表示算法的方法:
自然语言、传统流程图、结构化流程图、伪代码、……
流程图:
N-S流程图:
例:求5!算法用N-S图表示。
将50名学生中成绩高于80分者的学号和成绩输出。
结构化程序设计方法
结构化程序设计强调程序设计风格和程序结构的规范化,提倡清晰的结构。
结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。
采取以下方法保证得到结构化的程序: (1) 自顶向下; (2) 逐步细化; (3) 模块化设计; (4) 结构化编码。