首页 理论教育如何正确执行算法-《计算机导论》摘要

如何正确执行算法-《计算机导论》摘要

【摘要】:图1-4 不同主体之间的智能传递要让人利用算法把智能传递给机器,需要做到的是:机器必须能正确地理解并正确地执行算法。在如图1-1所示的冯·诺依曼体系结构计算机中,程序是计算机能理解的求解某一特定问题的算法,人利用输入部件把程序输入到计算机,输入的程序存储到计算机的存储部件,运行程序需要的数据也存储到计算机的存储部件,处理部件根据程序一步一步地执行,程序运行的结果通过输出部件输出给人。

程序的核心是算法。算法是描述求解问题方法的操作步骤集合。早在计算机发明以前,算法就是数学家的工具。数学家用算法来描述特定问题的解决方法。例如,数学家给出的求解两个整数的最大公约数的算法如下:

(1)令M为两个整数中的较大者,N为两个整数中的较小者;

(2)用M除以N,令R为M除以N的余数;

(3)若R不等于0,则令M等于N,N等于R,返回步骤(2)继续;若R等于0,则N中的数值就是两个整数的最大公约数。

算法给出了对求解特定问题方法的指导,有了算法,即使一个不理解求解方法原理的人,也可以按照算法描述的求解步骤一步一步得到正确的结果。例如,一个学习并理解了上述求解两个整数的最大公约数算法的人,就可以按照算法的求解步骤,求出48和32的最大公约数。求解过程如下:

(1)令M=48,N=32;

(2)48除以32的余数为16,R=16;

(3)因R≠0,所以M=32,N=16;(www.chuimin.cn)

(4)32除以16的余数为0,R=0;

(5)因R=0,所以48和32的最大公约数为N=16。

从数学家发现求解问题的算法,到学习掌握了算法的人求解具体问题的过程,都说明算法可以在人类之间传递智能。科学技术和工程技术方面新方法、新技术的发明和推广使用过程,都可以概括成利用算法的智能传播的过程。既然算法可以在人类之间传递智能,那么,如果我们把人类求解问题的方法设计成算法,然后把这样的算法传递给机器,并让机器执行这样的算法,就可以把人类的智能传递给机器。人类之间利用算法传递智能的过程,以及人和机器之间利用算法传递智能的过程示意见图1-4。

图1-4 不同主体之间的智能传递

要让人利用算法把智能传递给机器,需要做到的是:机器必须能正确地理解并正确地执行算法。冯·诺依曼体系结构的计算机就是这样的机器。在如图1-1所示的冯·诺依曼体系结构计算机中,程序是计算机能理解的求解某一特定问题的算法,人利用输入部件把程序输入到计算机,输入的程序存储到计算机的存储部件,运行程序需要的数据(例如最大公约数的程序运行时,需要输入如48和32这样的具体数据)也存储到计算机的存储部件,处理部件根据程序一步一步地执行(就像人按照算法一步一步地求解过程),程序运行的结果通过输出部件输出给人。

因此,在计算机硬件的基础上,开发程序的第一步就是开发求解特定问题的算法。