1、算法,第一章 算法初步,1.1.1算法的概念,回顾二元一次方程组 x-2y=-1 (1 ) 2x+y=1 (2 )的求解过程,,我们可以归纳出以下步骤: 第一步: (2 )(1 )2,得 5y=3; 第二步: 解 ( 3 ) 得y=3/5; 第三步: 将y=3/5代入 ( 1) ,得x=1/5.,算法这个词出现于12世纪,指的是用阿拉伯数字进行算术运算的过程。在数学中,现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成。,按照这样的理解,我们可以设计出很多数学问题的算法。下面看几个例子。,例 1 任意给定一个大于1
2、的整数n,试设计一个程序或步骤对n是否为质数做出判定。,算法分析:根据质数的定义,很容易设计出下面的步骤:,第一步:判断n是否等于2,若n=2,则n是质数;若n2,则执行第二步。第二步:依次从2(n-1)检验是不是n的因数,即整除n的数。若有这样的数,则n不是质数;若没有这样的数,则n是质数。,点评:这是判断一个大于1的整数n是否为质数的最基本的方法,例1的程序框图,例2 用二分法设计一个求方程x2-2=0的近似根的算法。,算法分析:回顾二分法解方程的过程,并假设所求近似根与精确解的差的绝对值不超过0.005,则不难设计出以下步骤:,第一步:令 f(x)= x2-2.因为f(1)0,所以设x1=1,x2=2.第二步:令 ,判断f(m)是否为0,若是,则m为所求;若否,则继续判断f(x1) f(m)大于0还是小于0。第三步:若f(x1) f(m)0,则令x1= m;否则,令x2= m。第四步:判断 c,a+cb,b+ca是否同时成立,是,存在这样的三角形,不存在这样的三角形,否,返回,例5 设计一个计算1+2+3+100的值的算法,并画出程序框图,程序框图,开始,i=1,i=100?,否,输出sum,结束,sum=0,i=i+1,sum=sum+i,是,返回,