算法被称为计算机的基础,它是一个起源于数学的概念。算法是描述在有限的步
骤内求解从某一个问题所使用的的一组规则。也就是一个算法应该具有以下5个重要的
特征:
1. 输入:必须有零个或多个输入量。
2. 输出:应有一个或多个输出量,输出量是算法计算出的结果。
3. 确定性:也就是算法的描述必须无歧义,(就是说没有否认和错误的)
以保证算法的执行结果是确定的。
4. 有限性:算法必须在有限步骤内实现。
5. 有效性:又称可行性。能够实现。从算法中描述的操作都可以通过执行
有限次已经 实现的基本运算来实现。
算法是计算机处理信息的本质,因为计算机程序本质上是一个算法,在计算机中
是如何应用执行一个指定任务的,我们来用计算10的阶乘或打印学生的成绩单。 比
如举个例子 :在JavaScript中如何来演示10的阶乘算法:
var element = 10; //定义输入
var out = 1; //定义输出
for (var i=1; i<=element; i++) { //1~11 有限步骤
out *= i;}
alert (out); //显示输出
算法是有针对性的。一个算法只能解决它所针对的一类特定问题,就像阶乘算法
无法解决成绩单的打印问题,但是其他数字的阶乘却可以使用相同的算法。在用这种
算法之前我们必须先制定一个有效的计划,就是要设计“流程图”,如图所示:
1. 图1. 就是我们所制定的流程图范例的演示计划比例图,很好的利用了第一多
边形空格设为“接收输入element=0”,然后往下列入第二空格图形设为“如果输入
值为0结果为1”, 显然我们的计划步骤从‘没有’发展到‘有’,并且在最后一个方
形空格能够发展成为一个集体的值,也就是得到一个显示输出结果。这里只是一个完
成简单的流程图,展示了一个用流程图描述的0的阶乘算法。流程图的的做法早已不
能满足需求,也是落后的步骤程序。