1.3课时2算法案例秦九韶算法.ppt

上传人:sccc 文档编号:6005002 上传时间:2023-09-13 格式:PPT 页数:14 大小:169.52KB
返回 下载 相关 举报
1.3课时2算法案例秦九韶算法.ppt_第1页
第1页 / 共14页
1.3课时2算法案例秦九韶算法.ppt_第2页
第2页 / 共14页
1.3课时2算法案例秦九韶算法.ppt_第3页
第3页 / 共14页
1.3课时2算法案例秦九韶算法.ppt_第4页
第4页 / 共14页
1.3课时2算法案例秦九韶算法.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《1.3课时2算法案例秦九韶算法.ppt》由会员分享,可在线阅读,更多相关《1.3课时2算法案例秦九韶算法.ppt(14页珍藏版)》请在三一办公上搜索。

1、,作业:,Input“m,n=”;m,nWhile mnR=m-nM=max(n,r)N=min(n,r)WendPrint n End,课时2 秦九韶算法,教学设计,问题1设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值的算法,并写出程序.,点评:上述算法一共做了15次乘法运算,5次加法运算.优点是简单,易懂;缺点是不通用,不能解决任意多项多求值问题,而且计算效率不高.,这析计算上述多项式的值,一共需要9次乘法运算,5次加法运算.,问题2有没有更高效的算法?,分析:计算x的幂时,可以利用前面的计算结果,以减少计算量,即先计算x2,然后依次计算,的值.,第二种做法与

2、第一种做法相比,乘法的运算次数减少了,因而能提高运算效率.而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.,问题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=2v1=v0 x-5=25-5=5v2=v1x-4=55-4=21v3=v2x+3=215+3=108v4=v3x-6=1085-6=534v5=v4x

3、+7=5345+7=2677,所以,当x=5时,多项式的值是2677.,这种求多项式值的方法就叫秦九韶算法.,例1:用秦九韶算法求多项式 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=v0 x-5=25-5=5v2=v1x-4=55-4=21v3=v2x+3=215+3=108v4=v3x-6=1085-6=534v5=v4x+7=5345+7=2677,所以,当x=5时,多项式的值是2677.,然后由内向外逐层计算一次多项式的值,即,f(x)=anxn+an-1x

4、n-1+an-2xn-2+a1x+a0.,我们可以改写成如下形式:,f(x)=(anx+an-1)x+an-2)x+a1)x+a0.,求多项式的值时,首先计算最内层括号内一次多项式的值,即,v1=anx+an-1,然后由内向外逐层计算一次多项式的值,即,一般地,对于一个n次多项式,v2=v1x+an-2,v3=v2x+an-3,vn=vn-1x+a0.,这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.这种算法称为秦九韶算法.,点评:秦九韶算法是求一元多项式的值的一种方法.它的特点是:把求一个n次多项式的值转化为求n个一次多项式的值,通过这种转化,把运算的次数由至多n(n+1)/2次

5、乘法运算和n次加法运算,减少为n次乘法运算和n次加法运算,大大提高了运算效率.,f(x)=anxn+an-1xn-1+an-2xn-2+a1x+a0.,练一练:用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当x=5时的值.,解:原多项式先化为:f(x)=2x6-5x5+0 x4-4x3+3x2-6x+0,v1=anx+an-1,v2=v1x+an-2,v3=v2x+an-3,vn=vn-1x+a0.,观察上述秦九韶算法中的n个一次式,可见vk的计算要用到vk-1的值.,若令v0=an,得,这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.,第一步,输入多项式次

6、数n,最高项系数an和x的值,第二步,将v的值初始化为an,将i的值初始化为n-1,第三步,输入i次项的系数ai,第四步,v=vx+ai,i=i-1,第五步判断i是否大于等于,若是,则返回第二步,否则输出多项式的值v,否,开始,输入n,x,an,输入v=an,i=0?,i=n-1,i=i-1,输出v,结束,是,v=vx+ai,输入ai,算法:,程序框图,程序:,Input“n=”;nInput“an=”;aInput“x=”;xV=ai=n-1While i=0Print“i=”;IInput“ai=”;aV=v*x+ai=i-1WendPrint vend,问题画出程序框图,表示用秦九韶算法求5次多项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0(x0是任意实数)时的值的过程,然后写出程序.,否,程序框图,开始,输入a0,a1,a2,a3,a4,a5,输入x0,n5?,n=1,v=a5,v=vx0+a5-n,n=n+1,输出v,结束,是,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号