算法(Alogorithm)来自数学计算的概念。在公元前200多年,欧几里德的《几何原本》(Euclid′sElements,第Ⅶ卷,命题i和ii)中最早提到过它。从此,算法一词经常地同欧几里德算法联系在一起。
当年,为了求两个数的公因数,欧几里德提出辗转相除法,也就是后人称的欧几里德算法。如果以符号语言表达他的算法,将是:
WHILEz>0(如果z>0,则重复下面的操作)
{
z←xmod y;(x被y整除,余数存于z)
IF z>0(如果z>0,则进行下面的操作)
(
x=y;
y=z;
)
ELSE(如果z=0,则公因数就是x)
公因数=x;(输出x)(www.xing528.com)
}
当然解决这个问题还可以有别的算法。如,先把这两个数分解成若干质数相乘。再,在其中挑选出两个数共有的质数。这共有质数相乘即为所求最大公因数。
那什么是算法?从上可知,算法是指,解题的步骤。那什么是好算法?那就是步骤要少,每一步的含义明确、运算简单。运用它能够从已知数求得未知的结果。上述两个算法都有这些特征,而欧几里德算法则更好些。
更一般地讲,一个有效的、好的数学算法,一般有5个特征,即要有输入(已知数)、输出(未知数),同时还要满足有穷性、确切性、可行性。
PLC主要用于控制,还可用于运算。当然,为了控制也要运算。所以,PLC的运算是很多的。特别是逻辑运算更多。PLC编程,就是编写好的控制与运算程序,让PLC一步步去执行,以实现所要求的控制与运算。
显然,这里的程序也有输入、输出,也要有穷性、确切性、可行性。具有算法的5大特征。
为了让PLC进行上述求两个正整数的最大公因数计算,如果用算法编程,那就要用程序去实现欧几里德算法。
在本书一开头,就讲到,“入出信息变换、可靠物理实现,可以说是PLC实现控制的两个基本要点”。所以,在本质上讲,PLC只是输入到输出变换的工具。而输入到输出的变换是靠运行PLC程序实现的。所以,从广义上讲,PLC程序也可说成,用PLC指令表达的PLC输入到输出变换的步骤。
简而言之,对照数学算法,PLC的算法,则是用文字、公式、图形表达的、实现输入输出变换的、有限的、明确的及可实现的步骤。
可知,PLC算法与PLC程序之间所差的只是表达方法的不同。算法可以说成是程序的原型、雏形、思路、提纲,而程序则是算法的成型、具体化及实现。
所以,一般讲,设计程序前,要先设计算法。这正与写文章一样,在写之前,一般要写提纲、打腹稿,或构想思路。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。