算法简介

来源:互联网 发布:解析json格式的字符串 编辑:程序博客网 时间:2024/05/21 17:25
 

所谓算法,是指为了解决一个问题而采取的方法和步骤。当利用计算机来解决一个具体问题时,也要首先确定算法。

例如,输入三个数,然后输出其中最大的数。将三个数依次输入到变量A、B、C中,设变量MAX存放最大数。其算法如下:

①输入A、B、C;

②A与B中较大的一个放入MAX中;

③把C与MAX中较大的一个放入MAX中。

再如,输入10个数,打印输出其中最大的数。算法设计如下:

①输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1;

②将A存入表示最大值的变量Max中,即Max=A;

③再输入一个值给A,如果A>Max, 则 Max=A, 否则Max不变;

④让记录数据个数的变量增加1,即N=N+1;

⑤判断N是否小于10,若成立则转到第(3)步执行,否则转到第(6)步;

⑥打印输出max。

利用计算机解决问题,实际上也包括了设计算法和实现算法两部分工作。首先设计出解决问题的算法,然后根据算法的步骤,利用程序设计语言编写出程序,在计算机上调试运行,得出结果,最终实现算法。可以这样说,算法是程序设计的灵魂,而程序设计语言是表达算法的形式。

算法的描述(表示方法)

1.自然语言

用中文或英文等自然语言描述算法。但容易产生歧义性,在程序设计中一般不用自然语言表示算法。

2.流程图

流程图由一些特定意义的图形、流程线及简要的文字说明构成,它能清晰明确地表示程序的运行过程,传统流程图由以下图形组成:

                                     

(1)起止框:说明程序起点和结束点。

(2)输入/输出图框:输入输出操作步骤写在这种框中。

(3)处理框图:算法大部分操作写在此框图中。

(4)菱形框代表条件判断以决定如何执行后面的操作。

例如网上购物的流程图:

                          

3.N-S图

在使用过程中,人们发现流程线不一定是必需的,为此人们设计了一种新的流程图——N-S图,它是较为理想的一种方式,它是1973年由美国学者I.Nassi和B.Shneiderman提出的。在这种流程图中,全部算法写在一个大矩形框内,该框中还可以包含一些从属于它的小矩形框。例如网上购物的N-S图见图7.6。N-S图可以实现传统流程图功能。

注意:在N-S图中,基本元素框在流程图中的上下顺序就是执行时的顺序,程序在执行时,也按照从上到下的顺序进行。

对初学者来说,先画出流程图很有必要,根据流程图编程序,会避免不必要的逻辑错误。

4.伪代码

伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法,即计算机程序设计语言中具有的关键字用英文表示,其他的可用汉字,也可用英文,只要便于书写和阅读就可。例如:

if x is positive

then

   print x

else

   print -x

它像一个英文句子一样好懂。用伪代码写算法并无固定的、严格的语法规则,只需把意思表达清楚,并且书写的格式要写成清晰易读的形式。它不用图形符号,因此书写方便、格式紧凑,容易修改,便于向计算机语言算法(即程序)过渡。

0 0
原创粉丝点击