第2章 程序的灵魂 - 算法
一个程序包括一下两个方面的额内容:
1、对数据的描述
2、对操作的描述,即操作步骤 也就是算法
数据结构 + 算法 = 程序
2.1 算法的概念
广义的讲,为解决一个问题而采取的方法和步骤就称为算法
2.2 算法举例
2.3 算法的特性
- 有穷性
- 确定性
- 有零个或者多个输入
- 有一个或者多个输出
- 有效性
2.4 怎样表示一个算法
2.4.1 用自然语言表示算法
自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言,用自然语言表示通俗易懂,但文字冗长,容易出现歧义性
2.4.2 用流程图表示算法
用图形表示算法,直观形象,便于理解
2.4.3 3中基本结构和改进的流程图
- 顺序结构
- 选择结构
- 循环结构
2.4.4 用N-S流程图表示算法
在流程图中完全去掉了带箭头的流程线,全部算法写在一个矩形框里,在该框内还可以包含其他的从属它的框,或者说由一些基本的框组成一个大的框。适用于结构化程序设计
2.4.5 用伪代码表示算法
2.4.6 用计算机语言表示算法
C、C++
2.5 结构化程序设计方法
一个结构化程序就是用高级语言表示的结构化算法,用3中基本结构组成的额程序必然是结构化的程序,这种程序便于编写、阅读、修改和维护,减少了出错的机会,提高了程序可靠性,保证了程序的质量
规范
- 自顶向下
- 逐步细化
- 模块化设计
- 结构化编码
习题
- 什么是算法
- 什么是结构化算法,为什么提倡结构化算法
- 3中基本结构的特点
- 用自顶向下、逐步细化的方法进行算法设计