伤城文章网 > 数学 > 1.3.2《算法案例-秦九韶算法》课件(2)(新人教A版必修3)

1.3.2《算法案例-秦九韶算法》课件(2)(新人教A版必修3)


案例2 秦九韶算法 〖教学设计〗 [问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值的算法,并写出程序. 程序 x=5 f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7 PRINT f END 点评:上述算法一共做了15次乘法运算,5次 加法运算.优点是简单,易懂;缺点是不通用,不能 解决任意多项式求值问题,而且计算效率不高. [问题2]有没有更高效的算法? 分析:计算x的幂时,可以利用前面的计算结 果,以减少计算量, 即先计算x2,然后依次计算 x ? x,( x ? x) ? x,(( x ? x) ? x) ? x 2 2 2 的值. 这样计算上述多项式的值,一共需要9次运 算,4次乘法运算,5次加法运算. 第二种做法与第一种做法相比,乘法的运 算次数减少了,因而能提高运算效率.而且对于 计算机来说,做一次乘法所需的运算时间比做一 次加法要长得多,因此第二种做法能更快地得到 结果. [问题3]能否探索更好的算法,来解决任意多 项式的求值问题? v =2 0 f(x)=2x5-5x4-4x3+3x2-6x+7 v1=v0x-5=2×5-5=5 4 3 2 =(2x -5x -4x +3x-6)x+7 v2=v1x-4=5×5-4=21 3 2 =((2x -5x -4x+3)x-6)x+7 v3=v2x+3=21×5+3=108 2 =(((2x -5x-4)x+3)x-6)x+7 v4=v3x-6=108×5-6=534 =((((2x-5)x-4)x+3)x-6)x+7 所以,当x=5时,多项式的值是2677. v5=v4x+7=534×5+7=2677 这种求多项式值的方法就叫秦九韶算法. 例3:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值. 解法一:首先将原多项式改写成如下形式 : f(x)=((((2x-5)x-4)x+3)x-6)x+7 然后由内向外逐层计算一次多项式的值,即 v0=2 v1=v0x-5=2×5-5=5 v2=v1x-4=5×5-4=21 v3=v2x+3=21×5+3=108 v4=v3x-6=108×5-6=534 所以,当x=5时,多 v5=v4x+7=534×5+7=2677 项式的值是2677. 例3:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值. 解法二:列表 2 x=5 -5 10 5 -4 25 21 3 105 108 原多项式 的系数 2 -6 7 540 2670 534 2677 多项式 的值. 所以,当x=5时,多项式的值是2677. 练一练:用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值. 解:原多项式先化为: f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0 3 -6 0 605 3040 15170 608 3034 15170 所以,当x=5时,多项式的值是15170. 注意:n次多项式有n+1项,因此缺少哪一项 应将其系数补0. 列表 2 x=5 2 -5 10 5 0 -4 25 125 25 121 一般地,对于一个n次多项式 f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0. 我们可以改写成如下形式: f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0. 求多项式的值时,首先计算最内层括

搜索更多“1.3.2《算法案例-秦九韶算法》课件(2)(新人教A版必修3)”

网站地图

All rights reserved Powered by 伤城文章网 5xts.com

copyright ©right 2010-2021。
伤城文章网内容来自网络,如有侵犯请联系客服。zhit325@126.com