1、 在数学的发展史上,从公元前在数学的发展史上,从公元前2、3世世纪公元纪公元14世纪,中国的数学虽有过高潮,世纪,中国的数学虽有过高潮,也有过低落,但一直走在世界的前列,是也有过低落,但一直走在世界的前列,是世界数学的中心。中国古代数学对世界数世界数学的中心。中国古代数学对世界数学发展有着不可磨灭的贡献。秦九韶算法学发展有着不可磨灭的贡献。秦九韶算法就是中国古代数学的一枝奇葩。就是中国古代数学的一枝奇葩。今天这节课我们领略秦九韶算法的魅力。今天这节课我们领略秦九韶算法的魅力。(1)设计求多项式)设计求多项式当当x=5时的值的算法,并写出程序。时的值的算法,并写出程序。(2)有没有更高效的算法?
2、能否探求更好的)有没有更高效的算法?能否探求更好的算法,来解决任意多项式的求解问题?算法,来解决任意多项式的求解问题?T引导学生把多项式变形为:引导学生把多项式变形为:思考:从内到外,如果把每一个括号都看思考:从内到外,如果把每一个括号都看成一个常数,那么变形后的式子中有哪些成一个常数,那么变形后的式子中有哪些“一次式一次式”?x的系数依次是什么?的系数依次是什么?(3)若将)若将x的值代入变形后的式子中,那的值代入变形后的式子中,那么求值的计算过程是怎样的?么求值的计算过程是怎样的?将变形前将变形前x的系数乘以的系数乘以x的值,加上变形前的值,加上变形前的第的第2个系数,得到一个新的系数;将
3、此系数个系数,得到一个新的系数;将此系数继续乘以继续乘以x的值,再加上变形前的第的值,再加上变形前的第3个系数,个系数,又得到一个新的系数;继续对新系数做上面的又得到一个新的系数;继续对新系数做上面的变换,直到与变形前的最后一个系数相加,得变换,直到与变形前的最后一个系数相加,得到一个新的系数为止。这个系数即为所求多项到一个新的系数为止。这个系数即为所求多项式的值。这种算法即是式的值。这种算法即是“秦九韶算法秦九韶算法”(4)用秦九韶算法求多项式的值,)用秦九韶算法求多项式的值,与多项式组成有直接关系吗?用秦九与多项式组成有直接关系吗?用秦九韶算法计算上述多项式的值,需要多韶算法计算上述多项式
4、的值,需要多少次乘法运算和多少次加法运算?少次乘法运算和多少次加法运算?计算只与多项式的系数有关,数书九章数书九章秦九韶算法秦九韶算法设设是一个是一个n 次的多项式次的多项式对该多项式按下面的方式进行改写:对该多项式按下面的方式进行改写:这是怎样的一种改写方式?最后的结果是什么?要求多项式的值,应该先算最内层的一次多项式的值,即要求多项式的值,应该先算最内层的一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即最后的一最后的一项是什么项是什么?这种将求一个这种将求一个n次多项式次多项式f(x)的值转化成求的值转化成求n个一个一次多项式的值的方法,称
5、为次多项式的值的方法,称为秦九韶算法秦九韶算法。通过一次式的反复计算,逐步得出高次多通过一次式的反复计算,逐步得出高次多项式的值,对于一个项式的值,对于一个n次多项式,只需做次多项式,只需做n次乘次乘法和法和n次加法即可。次加法即可。秦九韶算法的特点:秦九韶算法的特点:算法步骤:算法步骤:第一步:输入多项式次数第一步:输入多项式次数n、最高次项的系数、最高次项的系数an和和x的值的值.第二步:将第二步:将v的值初始化为的值初始化为an,将,将i的值初始化为的值初始化为1.第三步:输入第三步:输入i次项的系数次项的系数an-i.第四步:第四步:v=vx+an-i,i=i+1.第五步:判断第五步:
6、判断i是否小于或等于是否小于或等于n,若是,则返回第,若是,则返回第三步;否则,输出多项式的值三步;否则,输出多项式的值v。程序框图:程序框图:这是一个在这是一个在秦九韶算法中秦九韶算法中反复执行的步骤,因此可反复执行的步骤,因此可用循环结构来实现。用循环结构来实现。输入输入an-i开始开始输入输入n,an,xi=0 PRINT“i=“;i INPUT“ai=“;a v=v*x+a i=i-1WENDPRINT vEND小结小结:(1)算法具有通用的特点,可以解决一类问题;)算法具有通用的特点,可以解决一类问题;(2)解决同一类问题,可以有不同的算法,)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应选择高效的算法但计算的效率是不同的,应选择高效的算法(3)算法的种类虽多,但三种逻辑结构可以有效)算法的种类虽多,但三种逻辑结构可以有效 的表达各种算法等。的表达各种算法等。