资源描述
算法和算法的描述,一、算法的概念:算法就是用计算机求解某一问题的方法,是能被机械地执行的动作或指令的有穷集合。,例:欧几里得算法-辗转相除法 设给定的两个正整数为M和N,求它们的最大公约数的步骤为: (1)以M除以N,令所得余数为R。 (2)若R=0,则输出结果N,算法结束;否则,继续步骤(3) (3)令M=N。N=R,并返回步骤(1)继续执行。,二、算法的特征: 输入:一个算法有零个或多个输入,以刻画运算对象的初始情况。 确定性:所有有待执行的动作必须严格而不含混地进行规定,不能有歧义性。,(3) 有穷性:它所包含的计算步骤是有限的。 (4) 输出:算法有一个或多个的输出。 (5) 能行性:有待执行的运算或操作都是能够精确地进行的。,三、算法的描述: 算法是人求解问题思想的方法,是对解题过程的精确描述,同样也需要用语言来表示。表示算法的语言主要有自然语言、流程图、伪代码等。,1、用自然语言描述算法:,(1)分析问题:设所求的鸡数是x,兔数是y,已知笼子里的头数是a,脚数是b,依题意可得到如下的方程组: x+y=a 2x+4y=b 解方程组得:x=2a-b/2 y=b/2-a,(2)设计算法: 输入a,和b的值 求x=2a-b/2; 求y=b/2-a; 输出x,y的值; 结束。,(1)分析问题: 设能被3整除的数为N,令N=1,2,3,100,如果N是能被3整除的数,则输出N,否则,检查下一个,直到N=100为止。 (2)设计算法: 令N=1; 如果N能被3整除,则输出N; N=N+1; 如果N100,返回第步; 结束。,2、用流程图描述算法,3、用伪代码描述算法 伪代码是介于自然语言和计算机语言之间的文字和符号来描述算法的工具。 例:用辗转相除法求两个数的最大公约数的伪代码算法描述。,INPUT m,n r=m mod n DO WHILE r0 m=n n=r r=m mod n LOOP PRINT n,四、算法在解决问题中的地位和作用,算法是程序设计的核心,是程序设计的灵魂,算法的好坏。直接影响着程序的通用性和有效性,影响问题解决的效率。,
展开阅读全文