资源描述:
《福建省永安市高中数学算法初步1.3.2秦九韶算法课件新人教A版必修.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、秦九韶算法算法案例第二课时案例2秦九韶算法这节课我们主要研究的是秦九韶算法中的一种情境引入问题是数学的心脏。——P.R.Halmos(波利亚)带着问题我们一起去看看古代中国人的智慧吧!了解一下中国古代数学对现代世界数学发展的贡献吧!新课探究:思考1:怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?x=5f=x^5+x^4+x^3+x^2+x+1PRINTfEND程序知识探究(一):秦九韶算法的基本思想计算多项式f(x)=x5+x4+x3+x2+x+1当x=5的值的算法:算法1:因为f(x)=x5+x4+x3
2、+x2+x+1所以f(5)=55+54+53+52+5+1=3125+625+125+25+5+1=3906问:这种算法中各用了几次乘法运算?和几次加法运算?共做了1+2+3+4=10次乘法运算,5次加法运算。算法2:在上述问题中,若先计算x2的值,然后依次计算x2·x,(x2·x)·x,((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果.问:这种算法中各用了几次乘法运算?和几次加法运算?共做了4次乘法运算,5次加法运算。第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率.而且对于计算机来说,做一
3、次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.算法3:我们把多项式f(x)=x5+x4+x3+x2+x+1变形为:从而得:问:这种算法中各用了几次乘法运算?和几次加法运算?共做了4次乘法运算,5次加法运算。一种更高效的算法因为思考2:怎样求多项式当X=5时的值呢?分析:将多项式变形为令这个算法共需多少次乘法运算?多少次加法运算?这个算法过程就是秦九韶算法过?思考3:如何用秦九韶算法完成一般多项式的求值问题?《数书九章》——秦九韶算法设是一个n次的多项式对该多项式按下面的方式进行改写:思考3:当知道了
4、x的值后该如何求多项式的值?这是怎样的一种改写方式?最后的结果是什么?要求多项式的值,应该先算最内层的一次多项式的值,即然后,由内到外逐层计算一次多项式的值,即最后的一项是什么?这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。思考4:在求多项式的值上,这是怎样的一个转化?把求一个n次多项式的值转化为求n个一次多项式的值,通过这种转化,把运算的次数由至多n(n+1)/2次乘法运算和n次加法运算,减少为n次乘法运算和n次加法运算,大大提高了运算效率.秦九韶算法的特点:思考5利用秦九韶算法算法n次多
5、项式求f(x0)的值,一共需要多少次乘法运算,多少次加法运算?(1)、算法步骤:第一步:输入多项式次数n、最高次项的系数an和x的值.第二步:将v的值初始化为an,将i的值初始化为n-1.第三步:输入i次项的系数an.第四步:v=vx+ai,i=i-1.第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v。思考1:用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法步骤如何设计?知识探究(二):秦九韶算法的程序设计(2)程序框图:输入ai开始输入n,an,xi>=0?输出v结束v=vx+aii=i
6、-1YNi=n-1V=an思考2:该算法的程序框图如何表示?程序:INPUT“n=”;nINPUT“an=“;aINPUT“x=“;xv=ai=n-1WHILEi>=0PRINT“i=“;iINPUT“ai=“;av=v*x+ai=i-1WENDPRINTvEND思考3:该程序框图对应的程序如何表述?输入ai开始输入n,an,xi>=0?输出v结束v=vx+aii=i-1YNi=n-1V=an例1:已知一个五次多项式为用秦九韶算法求这个多项式当x=5的值。解:将多项式变形:按由里到外的顺序,依此计算一次多项式当x=5时的值:所以
7、,当x=5时,多项式的值等于14130.2理论迁移另解:(秦九韶算法的另一种直观算法)423.5-2.61.7-0.8X522113.5564.92826.214130.2+多项式的系数多项式的值20110567.52824.51413104练习1:已知多项式f(x)=x5-3x4+3x3-5x2-5x+1当用秦九韶算法求这个多项式当x=5时的值。,并统计需要多少次乘法计算和多少次加法计算?例2:已知多项式f(x)=3x4+2x2+4x+2用秦九韶算法求这个多项式当x=-2时的值及V1,V3的值。解:这个解法正确吗?理论迁移解:
8、原多项式先化为:f(x)=3x4+0x3+2x2+4x+2注意:n次多项式有n+1项,因此缺少哪一项应将其系数补0.2-50-43-60x=24-1-2-2-4-8-16-13-26-32所以,当x=2时,多项式的值是-64.练习2:用秦九韶算法求多项式f(x)