一、算法的特性
- 有穷性:不能成为死循环
- 确定性:每个步骤都是明确的,不能有歧义
- 有零个或多个输入
- 有一个或多个输出:算法必须要有输出,没有输出的算法是没有意义的
- 有效性
二、算法的表示方法
- 用自然语言表示
- 用流程图法表示
左图是一个求5!的算法流程图,右图是ANSI(美国国家标准化协会)规定的符号含义
3.用N-S流程图表示
表示5!
4.用伪代码表示
伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。它如同一篇文章一样自上而下地写下来。每一行或几行表示一个基本操作,它不用图形符号。它书写方便,格式紧凑,修改方便,容易看懂,也便于向计算机语言算法过渡。
5.用计算机语言表示
计算机语言必须严格遵循所用的语言的语法规则
比如C语言:
三、结构化程序设计方法
- 自顶向下,逐步细化。
- 自下而上,逐步积累。
- 模块化设计。
- 结构化编码。
PS:
三种基本结构
一,顺序结构。
按照顺序执行。
二,选择结构。
选择结构又称选取结构或分支结构。判断后执行。
三,循环结构。
循环结构又称重复结构,即使反复执行某一部分的操作。
1、当型(while型)循环结构。
当给定的条件成立时执行操作,执行完后再判断条件是否成立,如果仍然成立,再次执行,如此反复执行。直到某一次这个条件不成立为止,这时候不再执行这个操作,而从这一点直接脱离循环节。
2、直到型(until)循环结构。
先执行操作,然后判断给定的条件是否成立,如果条件不成立,那么就执行这个操作。然后再对条件做判断,如果条件仍然不成立,再次执行操作。如此反复执行操作,直到给定的条件成立为止,这时不再执行这一操作,从这点脱离循环。