算法特性:
(1)有穷性。
(2)确定性。
(3)有零个或多个输入。
(4)有一个或多个输出。
(5)有效性。
2、4怎样表示一个算法
算法:可以用不同道方法表示。我们常用的表示方法:自然语言、传统流程图、结构化流程图、伪代码等。
(1)自然语言
(2)用流程图表示
如算法(上一节)里面例题的流程图:
通过例子可以看出流程图的表示算法,一个流程图包含:
(1)表示相应操作的框。
(2)带箭头的流程线。
(3)框内外必要的文字说明。
提示:流程线不要忘记画箭头,因为它是反映流程的执行先后次序的,如不画出箭头就很难判断各框的执行次序。
用流程图表示算法直观形象,比较轻清楚地显示出各个框之间的逻辑关系。
2、3基本结构和改进的流程图
1、传统流程图的弊端
传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格的限制。因此,使用者可以毫不受限制地使流程随意地转来转去,使流程图变得毫无规律,让读者花很的大精力去追流程,使人难以理解算法的逻辑。
2、基本结构
(1)顺序结构。 (2)选择结构。 (3)循环结构 1.当(while)型循环结构 2.直到(until)型循环结构
提示:如果遇到循环问题即可以用当型循环来处理,也可以用直到型循环来处理。
以上三种结构,有以下共同特点:
1.只有一个入口。
2.只有一个出口。
3.结构内的每一部分都有机会被执行到。(也就是说,对每一框来说,都有一条从入口到出口的路径通道。)
4.结构内部不存在"死循环"(无终止的循环)。
2.4用N-S流程图表示算法
1973年美国学者I.Nassi和B.Shneiderman提出了一直新的流程图形式。这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还可以包含其他的从属与它的框,或者由一些基本的框组成一个大的框。这种流程图又称N-S结构化流程图。
N-S流程图用以下的流程图符号。
1.顺序结构 2.选择结构 3.循环结构 (3.1)直到型循环结构
2.5 用伪代码表示算法
伪代码:是用于介于自然语言和计算机语言之间的文字何和符号的描述算法。
例如上2.2例题,
1.开始 2.置t的初值为1 3.置i的初值为2 4.当i<=5;执行操作 使t=t*i 使i=i+1 (循环体到此结束) 5.输出t的值 6.结束
或1=t 2=i while i<=5 (t*i=t i+1=i) print t
2.6 用计算机语言表示算法
算法:1.设计算法 2.实现算法
设计算法的目的是为了实现算法。
2.7 结构化程序设计方法
一个结构化程序就是用高级语言表示的结构化算法。
用2种基本结构化组成的程序必然是结构化程序,这种程序便于编写、便于阅读、便于修改和维护。
结构化程序设计方法的基本思路:把一个复杂的问题是求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和出来的范围内。
采取以下方法来保证得到结构化的程序:
(1)自顶向下 (2)逐步细化 (3)模块化设计 (4)结构化编码
编码:就是将以设计号短发用计算机语言来表示,即根据已经细化的算法正确地写出计算机程序。
不足或不正确的地方还请指正,谢谢各位的关注。。。。。。