资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,算法的概念,算法的概念,要把大象装冰箱,分几步?,问:,要把大象装冰箱,分几步?问:,答:分三步:,第一步:打开冰箱门,第二步:把大象赶入冰箱,第三步:关上冰箱门,答:分三步:第一步:打开冰箱门第二步:把大象赶入冰箱第三步:,1,、现有九枚硬币,有一枚略重,你能用天平,(,不用砝码,),将其找出来吗?设计一种方法,解决这一问题,.,一、问题情境,第一步:把九枚硬币平均分成三份,取其中两份放天平上称,若平衡则重的在剩下的一份里,若不平衡则在重的一份里;,第二步:在重的一份里取两枚放天平的两边,若平衡则剩下的一枚就是所找的,若不平衡则重的那枚就是所要找的。,1、现有九枚硬币,有一枚略重,你能用天平(不用砝码)一、问题,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题提出,问题情境,【2,】“,鸡兔同笼”是我国隋朝时期的数学著作,孙子算经,中的一个有趣而具有深远影响的题目:,“,今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?,”,问题情境 【2】“鸡兔同笼”是我国隋朝时期的数学著作,解决问题,【2,】“,鸡兔同笼”是我国隋朝时期的数学著作,孙子算经,中的一个有趣而具有深远影响的题目:,“,今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?,”,解:,设,笼子里有鸡 只,兔子 只,.,列,得,解,得,答:,笼子中有鸡,23,只,兔,12,只,.,式,设,列,解,答:,解决问题【2】“鸡兔同笼”是我国隋朝时期的数学著作孙,解决问题,解方程,第一步,由(,1,)得,第二步,将(,3,)代入(,2,)得,第三步,解(,4,)得,第四步,将(,5,)代入(,3,)得,第五步,得到方程组的解得,解决问题解方程第一步,由(1)得第二步,将(3)代入(,解决问题,解方程,第一步,第二步,第三步,第四步,第五步,得到方程组的解得,解决问题解方程第一步,第二步,第三步,第四步,第五步,问,3:,参照上述思路,一般地,解方程,组 的基,本步骤是什么?,问3:参照上述思路,一般地,解方程,第一步,,,-,,得,.,第二步,,解,,得,.,第三步,,,-,,得,.,第四步,,解,,得,.,第五步,,得到方程组的解为,第一步,-,得第二步,解,得,根据上述分析,用加减消元法解二元一次方程组,可以分为五个步骤进行,这五个步骤就构成了解二元一次方程组的一个“,算法,”,.,我们再根据这一算法编制计算机程序,就可以让计算机来解二元一次方程组,.,根据上述分析,用加减消元法解二元一次方程组,可以分为五个,算法的概念,算法,(algorithm),这个词出现于,12,世纪,指的是用阿拉伯数字进行算术运算的过程,.,广义地说:为了解决某一问题而采取的方法和步骤,,就称之为算法。,算法的概念算法(algorithm)这个词出现于12世纪,在数学上,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。,现代意义上的,“,算法,”,通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成,.,在数学上,算法通常是指按照一定规则解决某一类问题的明确和有,例,1,、,给出求,1+2+3+4+5,的一个算法。,算法,1,:,S1,:计算,1+2,得到,3,;,S2,:将第一步中的运算结果,3,与,3,相加得到,6,;,S3,:将第二步中的运算结果,6,与,4,相加得到,10,;,S4,:将第三步中的运算结果,10,与,5,相加得到,15,;,算法,2:,S1,:取,n=5,;,S3,:输出运算结果。,S2,:计算,例1、给出求1+2+3+4+5的一个算法。算法1:S1:计算,1,有限性:一个算法应在执行有限个步骤后必须结束,.,2,确定性:算法中每一个步骤和次序应当是确定的,.,算法的主要特点,3,不唯一性:对于一个问题可以有不同的算法,1有限性:一个算法应在执行有限个步骤后必须结束.2确定性:算,问,5,:,有人对哥德巴赫猜想“任何大于,4,的偶数都能写成两个质数之和”设计了如下操作步骤:,第一步,检验,6=3+3,,,第二步,检验,8=3+5,,,第三步,检验,10=5+5,,,利用计算机无穷地进行下去!,请问:这是一个算法吗?,问5:有人对哥德巴赫猜想“任何大于4的偶数都能写成两个质数之,算法的描述,1,、自然语言,2,、框图(流程图),3,、程序设计语言,低级语言,高级语言,算法的描述1、自然语言低级语言高级语言,算法的步骤设计,:,例,1,:,如果让计算机判断,7,是否为质数,如何设计算法步骤?,第一步,,用,2,除,7,,得到余数,1,所以,2,不能整除,7.,第四步,,用,5,除,7,,得到余数,2,所以,5,不能整除,7.,第五步,,用,6,除,7,,得到余数,1,所以,6,不能整除,7.,第二步,,用,3,除,7,,得到余数,1,所以,3,不能整除,7.,第三步,,用,4,除,7,,得到余数,3,所以,4,不能整除,7.,因此,,7,是质数,.,算法的步骤设计:例1:如果让计算机判断7是否为质数,如何设计,例,2:,如果让计算机判断,35,是否为质数,如何设计算法步骤?,第一步,,用,2,除,35,,得到余数,1,所以,2,不能整除,35.,第二步,,用,3,除,35,,得到余数,2,所以,3,不能整除,35.,第三步,,用,4,除,35,,得到余数,3,所以,4,不能整除,35.,第四步,,用,5,除,35,,得到余数,0,所以,5,能整除,35.,因此,,35,不是质数,.,例2:如果让计算机判断35是否为质数,如何设计算法步骤?第,探究,:,任意给定一个大于,1,的整数,n,试设计一个算法判断,n,是否为质数,算法分析,:,第一步,,给定大于,2,的整数,n,第二步,,令,i=2,第三步,,用,i,除,n,,得到余数,r,第四步,,判断,“,r=0,”,是否成立,若是,则,n,不 是质数,结束算法;否则令,i=i+1,第五步,,判断,“,i(n-1),”,是否成立,若是,则,n,是质数,结束算法;否则返回第三步,探究:任意给定一个大于1的整数n,试设计一个算法判断n是否为,例,3:,写出用二分法求方程,x,2,-2=0(x0),的近似根的算法,.,算法分析,:,第一步,:,令,f(x)=x,2,-2.,给定精确度,第二步,:,确定,a,b.,使得,f(a)f(b)0,则,a=m;,否则,b=m.,第五步,:,判断,|a-b|0)的近似根的算法,练习一,:,任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积,.,算法分析,:,第一步,:,输入任意一个正实数,r;,第二步,:,计算以,r,为半径的圆的面积,S=r,2,;,第三步,:,输出圆的面积,.,练习一:任意给定一个正实数,设计一个算法求以这个数为半径的圆,练习二,:,:y,与,x,之间的函数关系为,:,(,当,x7,时,),(,当,x7,时,),求该函数值的算法分析,:,第一步,:,输入,x;,第二步,:,判断,x,是否不超过,7.,若是,则,y=1.2x;,若否,则,y=1.9x-4.9.,第三步,:,输出,y.,设计一个求该函数值的算法,.,练习二:y与x之间的函数关系为:(当x7时)求该函数值,练习三,:,任意给定一个大于,1,的正整数,n,设计一个算法求出,n,的所有因数,.,算法步骤,:,第一步,,给定一个大于,l,的,正整数,n,第,=,步,,令,i=1,第三步,,用,i,除,n,得到余数,r.,第四步,,判断“,r=0”,是否成立若是,则,i,是,n,的,因数,;否则,,i,不是,n,的因数,.,第五步,,使,i,的值增加,l,,仍用,i,表示,第六步,,判断“,i,n”,是否成立若是,则结束算法;否则,返回第三步,练习三:任意给定一个大于1的正整数n,设计一个算法求出n的所,1,有,A,、,B,、,C,三个相同规格的玻璃瓶,,A,装着酒精,,B,装着醋,,C,为空瓶,请设计一个算法,把,A,、,B,瓶中的酒精与醋互换,1 有A、B、C三个相同规格的玻璃瓶,A装着酒精,B装着醋,2,已知,写出求直线,AB,斜率的一个算法,解:,S1,:输入,x1,x2,y1,y2,的值,.S2,:计算,x=x2-x1,y=y2-y1.S3,:若,x=0,,则输出斜率不存在,;,否则,,k=,S4,:输出斜率,k.,2已知,写出求直线A,
展开阅读全文