登录 / 注册
首页>人教版高中数学必修3>1.3.2秦九韶算法

高中数学必修3《1.3.2秦九韶算法》ppt课件免费下载

以下为幻灯片页面截图,请点击左边“我要下载”按钮免费下载无水印完整文件
高中数学必修3《1.3.2秦九韶算法》ppt课件免费下载
1.3算法案例
第二课时
秦九韶算法
〖教学设计〗
[问题1] 求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值。
点评:上述算法一共做了15次乘法运算,5次加法运算.优点是简单,易懂;缺点是不通用,不能解决任意多项多求值问题,而且计算效率不高.
分析:这种算法中用了几次乘法运算和几次加法运算?
(2677)
这析计算上述多项式的值,一共需要9次乘法运算,5次加法运算.
[问题2]有没有更高效的算法?
分析:计算x的幂时,可以利用前面的计算结果,以减少计算量,
即先计算x2,然后依次计算
的值.
第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率.而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.
分析:这种算法中用了几次乘法运算和几次加法运算?
[问题3]能否探索更好的算法,来解决任意多项式的求值问题?
f(x)=2x5-5x4-4x3+3x2-6x+7
=(2x4-5x3-4x2+3x-6)x+7
=((2x3-5x2-4x+3)x-6)x+7
=(((2x2-5x-4)x+3)x-6)x+7
=((((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
v5=v4x+7=534×5+7=2677
所以,当x=5时,多项式的值是2677.
分析:这种算法中用了几次乘法运算和几次加法运算?
5次乘法运算,5次加法运算
[问题4] 利用后一种算法求多项式f(x)=anxn+an-1xn-1+…+a1x+a0的值,这个多项式应写成哪种形式?
f(x)=anxn+an-1xn-1+…+a1x+a0 =(anxn-1+an-1xn-2+…+a2x+a1)x+a0
=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0 =…
=(…((anx+an-1)x+an-2)x+…+a1)x+a0.
[问题5]对于多项式
f(x)=(…((anx+an-1)x+ an-2)x+…+a1)x+a0
由内向外逐层计算一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2.
第三步,计算v3=v2x+an-3.

第n步,计算vn=vn-1x+a0.
思考:在多项式的求值上,这是怎样的一种转化?
[问题6]对于多项式
f(x)=anxn+an-1xn-1+…+a1x+a0
这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。利用该算法求f(x0)的值,一共需要多少次乘法运算,多少次加法运算?
[问题7]在秦九韶算法中,记v0=an,那么第k步的算式是什么?
vk=vk-1x+an-k (k=1,2,…,n)
n次乘法运算, n次加法运算
秦九韶算法是求一元多项式的值的一种方法.
它的特点是:把求一个n次多项式的值转化为求n个一次多项式的值,通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可,大大提高了运算效率.
秦九韶算法的特点:
理论迁移
例:用秦九韶算法求多项式 f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8当x=5时的值.
f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8.
v1=5×5+2=27;
v2=27×5+3.5=138.5;
v3=138.5×5-2.6=689.9;
v4=689.9×5+1.7=3451.2;
v5=3451.2×5-0.8=17255.2.
所以f(5)= =17255.2.
解:首先将原多项式改写成如下形式 :
v0=5
你从中看到了怎样的规律?怎么用程序框图来描述呢?
然后由内向外逐层计算一次多项式的值,即
1.已知多项式f(x)=x5+5x4+10x3+10x2+5x+1
用秦九韶算法求这个多项式当x=-2时的值。
练习:
2.已知多项式f(x)=2x6-6x4-5x2+4x-6
用秦九韶算法求这个多项式当x=5时的值。
3.已知多项式 f(x)=2x6-5x5-4x3+3x2-6x当
x=5用秦九韶算法求这个多项式当x=5时的值
注意:n次多项式有n+1项,因此缺少哪一项应将其系数补0.
你从中看到了怎样的规律?怎么用程序框图来描述呢?
评价一个算法好坏的一个重要标志是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论算法.在多项式求值的各种算法中,秦九韶算法是一个优秀算法.
课堂小结:

秦九韶算法的方法和步骤
(1)、算法步骤:
第一步:输入多项式次数n、最高次项的系数an和x的值.
第二步:将v的值初始化为an,将i的值初始化为n-1.
第三步:输入i次项的系数an.
第四步:v=vx+ai, i=i-1.
第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v。
课后思考:用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法步骤如何设计?程序框图?程序呢?
(2)程序框图:
(3)程序:
INPUT “n=”; n INPUT “an=”; a INPUT “x=”; x v=a i=n-1 WHILE i>=0 PRINT “i=”; i INPUT “ai=”; a v=v*x+a i=i-1 WEND PRINT v END
作业:
课本P48页练习T2