资源描述
1.1.1算法的概念,问3、指出在家中烧开水的过程分几步?,问1、要把大象装入冰箱分几步?,第三步输出方程的根或无解的信息,问2、如何求一元二次方程,解:第一步计算,第二步如果,则方程无解,一、引入,鸡兔同笼问题,我有2条腿一个脑袋,我有4条腿一个脑袋,例1.“一群小兔一群小鸡,两群合到一群中,腿一共有48条,脑袋共有17个,问一共有多少小鸡?多少小兔?,算术方法:方法二:(48-172)2=7(只)相应的小鸡则是17-7=10只,代数方法:设有X只小鸡,Y只小兔,则有:X+Y=172X+4Y=48所以解方程组得X=10;Y=7(高斯消去法),这两种算法都可以解决“鸡兔同笼”的问题,再归纳一般二元一次方程组的通用方法,即用高斯消去法解一般的二元一次方程组,令D,,若D=0,方程组无解或有无数多解。,若D0,则,由此可得解二元一次方程组的算法。,计算,如果D=0,则原方程组无解或有无穷多组解;否则(D0),输出计算结果或者无法求解信息。,解:第一步,-2得3y=-3;,第二步,解得y=-1;,第三步,将y=-1代入,解得x=4,机械的统一的方法,2:假设家中生火泡茶有以下几个步骤:a.生火b.将水倒入锅中c.找茶叶d.洗茶壶茶碗e.用开水冲茶请选出一个最优算法()A.abcdeB.bacdeC.cadbeD.dcabe,归纳总结:,算法的定义:算法可以理解为由基本运算及规定的运算顺序所构成的完整的解题步骤,或者看成按要求设计好的有限的确切的计算序列,并且这样的步骤或序列能够解决一类问题。,算法的要求(1)写出的算法必须能解决一类问题,并且能重复使用;(2)算法过程要能一步一步执行,每一步执行的操作,必须确切,不能含混不清,而且经过有限步后能得出结果。,算法的五个重要特征:,(1)有穷性:一个算法必须保证执行有限步后结束;,(2)确切性:算法的每一步必须有确切的定义;,(3)可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次即可完成;,(4)输入:一个算法有0个或多个输入,以刻划运算对象的初始条件。所谓0个输入是指算法本身定出了初始条件。,(5)输出:一个算法有1个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的。,(1)有穷性:一个算法必须保证执行有限步后结束;,(2)确切性:算法的每一步必须有确切的定义;,例2:,写出一个求有限整数序列中的最大值的算法。,解:算法如下:S1先假定序列中的第一个整数为“最大值”。,S2将序列中的下一个整数值与“最大值”比较,如果它大于此“最大值”,这时你就假定“最大值”是这个整数。,S3如果序列中还有其他整数,重复S2。,S4在序列中一直到没有可比的数为止,这时假定的“最大值”就是这个序列中的最大值。,例3:,写出对任意三个整数a,b,c求出最大值的算法。,解法:算法如下:S1max=a(max表示最大值,这个式子的意思是,假定最大值是第一个整数)S2如果bmax,则max=b;S3如果cmax,则max=c;S4max就是a,b,c中的最大值,课堂练习:,1.写出求的值的算法。,解法1:算法如下:S1先求,得到结果2;S2将第一步所得结果2再乘以3,得到结果6。S3将6再乘以4,得到24;S4将24再乘以5,得到120;S9将362880再乘以10,得到3628800,即是最后的结果。,2.任意给定一个大于1的整数n,试设计一个程序或步骤对n是否为质数作出判定。,解:算法如下:S1输入n。,S2判断n是否等于2。若n2,则n是质数;若n2,则执行S3。,S3依次从2-(n1)检验是不是n的因数,即整除n的数。若有这样的数,则n不是质数;若没有这样的数,则n是质数。,小结:,正确理解算法的概念及特点;在写算法时要简练,清晰地表达,注意体现思维的严密性和完整性。,
展开阅读全文