当前位置:首页 >> 其它课程 >> 数学: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次乘 法运算,5次加法运算.
第二种做法与第一种做法相比,乘法的运 算次数减少了,因而能提高运算效率.而且对于 计算机来说,做一次乘法所需的运算时间比做一 次加法要长得多,因此第二种做法能更快地得到 结果.

[问题3]能否探索更好的算法,来解决任意多 项式的求值问题? v0=2 f(x)=2x5-5x4-4x3+3x2-6x+7 v1=v0x-5=2×5-5=5 4-5x3-4x2+3x-6)x+7 =(2x v2=v1x-4=5×5-4=21 3-5x2-4x+3)x-6)x+7 =((2x v3=v2x+3=21×5+3=108 2-5x-4)x+3)x-6)x+7 =(((2x 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. 求多项式的值时,首先计算最内层括号内一 次多项式的值,即 v1=anx+an-1, 然后由内向外逐层计算一次多项式的值,即 v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x+a0. 这样,求n次多项式f(x)的值就转化为求n个 一次多项式的值.这种算法称为秦九韶算法.

点评:秦九韶算法是求一元多项式的 值的一种方法.

它的特点是:把求一个n次多项式的值 转化为求n个一次多项式的值,通过这种转 化,把运算的次数由至多n(n+1)/2次乘法 运算和n次加法运算,减少为n次乘法运算 和n次加法运算,大大提高了运算效率.

v1=anx+an-1,

v2=v1x+an-2,

v3=v2x+an-3, ……, vn=vn-1x+a0. 观察上述秦九韶算法中的n个一次式,可见 vk的计算要用到vk-1的值. 若令v0=an,得 v0=an, vK=vK-1x+an-k(k=1,2,……,n 这是一个在秦九韶算法中反复执行的步 骤,因此可用循环结构来实现. [问题]画出程序框图,表示用秦九韶算法求5次多 项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0 (x0是任意实数)时的值的过程,然后写出程序.

程序框图 开始
输入a0,a1,a2,a3,a4,a5 输入x0 n=1

程序
INPUT a0, a1, a2, a3, a4, a5

v=a5
n=n+1 n≤5? v=vx0+a5-n


输出v



INPUT x0 n=1 v=a WHILE n<=5 v=vx0+a5-n n=n+1 WEND PRINT v END

结束

作业:
课本P48页练习T2


更多相关文档:

【数学】1.3《算法案例---秦九韶算法》教案(新人教A版...

数学1.3《算法案例---秦九韶算法》教案(新人教A版必修3)_初三数学_数学...4, ((2 x ? 5) x ? 4) x + 3, 2 (((2 x ? 5) x ? 4) x...

数学:1.3 《算法案例》教案(新人教A版必修3)

数学:1.3 《算法案例》教案(新人教A版必修3)_数学_高中教育_教育专区。1.3...(2)教学重难点 重点:1.秦九韶算法的特点 2.两种排序法的排序步骤及计算机...

数学:1.3《算法案例》测试(新人教A版必修3)(新人教必修...

数学:1.3《算法案例》测试(新人教A版必修3)(新人教...(1)将 101111011(2)转化为十进制的数; (2)将 ...3. 用秦九韶算法写出求 f(x)=1+x+0.5x2+0...

数学:1.3《算法案例》测试(新人教A版必修3)(新人教必修...

数学:1.3《算法案例》测试(新人教A版必修3)(新人教...(1)将 101111011(2)转化为十进制的数; (2)将 ...3. 用秦九韶算法写出求 f(x)=1+x+0.5x2+0...

山东省高中数学《1.3 算法案例》导学案2 新人教A版必修3

山东省高中数学《1.3 算法案例》导学案2 新人教A版必修3_高三数学_数学_高中...根据秦九韶算法能把多项式 f(x)=3x +4x +5x +6x +7x+1 改写成___的形...

...中学高中数学 1.3.3-1.3.4算法案例-秦九韶算法与排...

吉林省东北师范大学附属中学高中数学 1.3.3-1.3.4算法案例-秦九韶算法与排序学案 文 新人教A版必修3_数学_高中教育_教育专区。"吉林省东北师范大学附属中学高...

高中数学 1.3《算法案例---秦九韶算法》测试 新人教A版...

1/2 相关文档推荐 高中数学(新人教A版)必修3......高中数学 1.3《算法案例---秦九韶算法》测试 新...(2) 若采取秦九韶算法:P0 ( x) = a0 , Pk ...

...高中数学1.3.3-1.3.4算法案例-秦九韶算法与排序学案...

新人教A版必修3 高中数学1.3.3-1.3.4算法案例-秦九韶算法与排序学案_数学_高中教育_教育专区。高中数学 1.3.3-1.3.4 算法案例-秦九韶算法与排序学案 ...

高中数学 1.3.3-1.3.4算法案例-秦九韶算法与排序学案 ...

高中数学 1.3.3-1.3.4算法案例-秦九韶算法与排序学案 文 新人教A版必修3_数学_高中教育_教育专区。吉林省东北师范大学附属中学高中数学 1.3.3-1.3.4 算...

...数学 1.3 算法案例2导学案 新人教A版必修3

课件专区分享让你的课堂更精彩1/2 相关文档推荐 ...高中数学 1.3 算法案例2导学案 新人教A版必修3...根据秦九韶算法能把多项式 f(x)=3x +4x +5x +...
更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com