内容正文:
3.2 算法及其描述
3.2.1算法
1.算法
算法是指在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地说,算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。
探究活动
观察
若要求方程6x+5y+4=50的正整数解的个数t,则解决问题的算法步骤如下:
① t=0;
② x=1;
③ y=1;
④ z=1;
⑤ 如果满足式子6x+5y+42=50,则解的个数加t (即t=t+1,表示右边式子的值赋值給左边式子),并输出这个解(即输出t,x,y,z的值) ;
⑥ z=z+1;
⑦ 如果z≤12则转步骤⑤,否则继续步骤⑧;
⑧ Y=y+1;
⑨ 如果y≤10则转步骤④,否则继续步骤⑩;
⑩ x=x+1;
⑪ 如果x≤8则转步骤③,否则继续步骤 ;
⑫ 结束。
2.算法的特征
算法作为能确实解决某个问题的策略,具有五个方面的重要特征:
(1)有穷性。
一个算法在执行有穷步之后必须结束,即一 个算法所包含的计算步骤是有限的。例如,在上面的算法中,x的值从1开始穷举,重复执行语句,直到>8时终止执行。
(2)确定性。
算法执行的每一个步骤必须有确切的定义,不能出现模棱两可的情况。例如,上面算法步骤⑤就明确规定:当满足式于6+5y+4-50时, 则解的个数加1 (即1=1+1),并输出这个解。
(3)数据输人。
一个算法必须有零个或多个数据输人,以刻画运算对象的初始情况。例如,在上面的算法中,就没有数据输人。
(4)数据输出。
一个算法有一个或多个数据输出,以反映对输人数据加工后的结果,没有输出的算法是毫无意义的。例如,在上面的算法中,有两个输出,即步骤⑤的个数和具体解(x,y, z的值)。
(5)可行性。
算法中执行的任何计算步骤都可以被分解为基本的可执行的操作步骤,即每个计算步骤都可以在有限时间内完成。例如,上面的算法中每一步都是可以在有限时间内完成的。
3.2.2算法的描述
算法是对解题过程的精确描述,且需要使用某种方法将其表示出来。
1.描述算法的常用方法
描述算法的常用方法有自然语言描述算法、流程图描述算法和伪代码描述算法。
(1)用自然语言描述算法。
用自然语言描述算法,就是用人们日常所用的语言,如汉语、英语等来描述算法。例如,从A市到B市耗时最少的旅行路线问题的算法描述,即使用了自然语言。
使用自然语言描述算法比较容易掌握,但也