《算法案例---秦九韶算法》课件月艳波

上传人:自*** 文档编号:81233364 上传时间:2019-02-20 格式:PPT 页数:19 大小:453.50KB
返回 下载 相关 举报
《算法案例---秦九韶算法》课件月艳波_第1页
第1页 / 共19页
《算法案例---秦九韶算法》课件月艳波_第2页
第2页 / 共19页
《算法案例---秦九韶算法》课件月艳波_第3页
第3页 / 共19页
《算法案例---秦九韶算法》课件月艳波_第4页
第4页 / 共19页
《算法案例---秦九韶算法》课件月艳波_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《《算法案例---秦九韶算法》课件月艳波》由会员分享,可在线阅读,更多相关《《算法案例---秦九韶算法》课件月艳波(19页珍藏版)》请在金锄头文库上搜索。

1、1.3算法案例,秦九韶算法,2019/2/20,1、求两个数的最大公约数的两种方法分别是( )和( )。 2、两个数21672,8127的最大公约数是 ( ) A、2709 B、2606 C、2703 D、2706,复习引入:,2019/2/20,新课讲解:,思考,怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?,2019/2/20,计算多项式() = 当x = 5的值的算法:,算法1:,因为() =,所以(5)=55555,=3125625125255,= 3906,算法2:,(5)=55555,=5(5555 ) ,=5(5(555 ) ) ,=5(5(5(5+5 +

2、) + ) + ) +,=5(5(5(5 (5 +) + )+)+) +,分析:两种算法中各用了几次乘法运算?和几次加法运算?,2019/2/20,算法1:,算法2:,共做了1+2+3+4=10次乘法运算,5次加法运算。,共做了4次乘法运算,5次加法运算。,2019/2/20,问题1能否探索出更好的算法,来解决任意多项式的求值问题?,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,2019/2/20,数书九章

3、秦九韶算法,对该多项式按下面的方式进行改写:,思考:当知道了x的值后该如何求多项式的值?,这是怎样的一种改写方式?最后的结果是什么?,2019/2/20,要求多项式的值,应该先算最内层的一次多项式的值,即,然后,由内到外逐层计算一次多项式的值,即,最后的一项是什么?,这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。,思考:在求多项式的值上,这是怎样的一个转化?,2019/2/20,例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.,解法一:首先将原多项式改写成如下形式 : f(x)=(2x-5)x-4)x+3)x-

4、6)x+7,v0=2 v1=v0x-5=25-5=5 v2=v1x-4=55-4=21 v3=v2x+3=215+3=108 v4=v3x-6=1085-6=534 v5=v4x+7=5345+7=2677,所以,当x=5时,多项式的值是2677.,然后由内向外逐层计算一次多项式的值,即,2019/2/20,2 -5 -4 3 -6 7,x=5,10,5,25,21,105,108,540,534,2670,2677,所以,当x=5时,多项式的值是2677.,原多项式的系数,多项式的值.,例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.,解法二:列

5、表,2,2019/2/20,例: 已知一个五次多项式为,用秦九韶算法求这个多项式当x = 5的值。,解:,将多项式变形:,按由里到外的顺序,依此计算一次多项式当x = 5时的值:,所以,当x = 5时,多项式的值等于14130.2,你从中看到了怎样的规律?怎么用程序框图来描述呢?,2019/2/20,点评:秦九韶算法是求一元多项式的值的一种方法. 它的特点是:把求一个n次多项式的值转化为求n个一次多项式的值, 减少为n次乘法运算和n次加法运算,大大提高了运算效率.,2019/2/20,程序框图:,这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。,2019/2/20,(1)、算法步

6、骤:,第一步:输入多项式次数n、最高次项的系数an和x的值.,第二步:将v的值初始化为an,将i的值初始化为n-1.,第三步:输入i次项的系数an.,第四步:v=vx+ai, i=i-1.,第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v。,思考:你能设计程序把“秦九韶算法”表示出来吗?,2019/2/20,(2)程序框图:,2019/2/20,(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,2019/2/20,1、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1 用秦九韶算法求这个多项式当x=-2时的值。,练习:,2、已知多项式f(x)=2x4-6x3-5x2+4x-6 用秦九韶算法求这个多项式当x=5时的值。,2019/2/20,课堂小结: 1、秦九韶算法的方法和步骤 2、秦九韶算法的程序框图,2019/2/20,作业: 课本P45页练习第2题; P48页A组第2题。,2019/2/20,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号