算法案例(秦九韶算法)PPT

上传人:枫** 文档编号:591876264 上传时间:2024-09-18 格式:PPT 页数:21 大小:1.03MB
返回 下载 相关 举报
算法案例(秦九韶算法)PPT_第1页
第1页 / 共21页
算法案例(秦九韶算法)PPT_第2页
第2页 / 共21页
算法案例(秦九韶算法)PPT_第3页
第3页 / 共21页
算法案例(秦九韶算法)PPT_第4页
第4页 / 共21页
算法案例(秦九韶算法)PPT_第5页
第5页 / 共21页
点击查看更多>>
资源描述

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

1、案例案例2 秦九韶算法秦九韶算法一、三维目标一、三维目标(a a)知识与技能)知识与技能了解秦九韶算法的计算过程,并理解利用秦九韶了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。算法可以减少计算次数提高计算效率的实质。(b b)过程与方法)过程与方法模仿秦九韶计算方法,体会古人计算构思的巧妙模仿秦九韶计算方法,体会古人计算构思的巧妙. .(c c)情感态度与价值观)情感态度与价值观通过对秦九韶算法的学习,了解中国古代数学家通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。对数学的贡献,充分认识到我国文化历史的悠久。二、教学重

2、难点二、教学重难点重点:重点:1.1.秦九韶算法的特点秦九韶算法的特点; ;难点难点: 2.: 2.秦九韶算法的先进性理解秦九韶算法的先进性理解 . .教学设计教学设计问题问题1设计求多项式设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当当x=5时的值的算法时的值的算法,并写出程序并写出程序.x=5f=2x5-5x4-4x3+3x2-6x+7PRINT fEND程序程序点评点评:上述算法一共做了上述算法一共做了15次乘法运算次乘法运算,5次次加法运算加法运算.优点是简单优点是简单,易懂易懂;缺点是在计算缺点是在计算x的幂的幂值时重复计算,运算效率不高值时重复计算,运算效率不高.

3、的值,这样计算上述多项式的值的值,这样计算上述多项式的值,一共需要一共需要9次次乘法运算乘法运算,5次加法运算次加法运算.问题问题2有没有更高效的算法有没有更高效的算法?分析分析:计算计算x的幂时的幂时,可以利用前面的计算结可以利用前面的计算结果果,以减少计算量以减少计算量,即先计算即先计算x2,然后依次计算然后依次计算第二种做法与第一种做法相比第二种做法与第一种做法相比,乘法的运乘法的运算次数减少了算次数减少了,因而能提高运算效率因而能提高运算效率.而且对于而且对于计算机来说计算机来说,做一次乘法所需的运算时间比做一做一次乘法所需的运算时间比做一次加法要长得多次加法要长得多,因此第二种做法能

4、更快地得到因此第二种做法能更快地得到结果结果.问题问题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+7v0=2v1=v0x-5=25-5=5v2=v1x-4=55-4=21v3=v2x+3=215+3=108v4=v3x-6=1085-6=534v5=v4x+7=5345+7=2677所以所

5、以,当当x=5时时,多项式的值是多项式的值是2677.这种求多项式值的方法就叫这种求多项式值的方法就叫秦九韶算法秦九韶算法.秦九韶(秦九韶(秦九韶(秦九韶(1208120812081208年年年年1261126112611261年)南年)南年)南年)南 宋官员、数学家,与李冶、杨宋官员、数学家,与李冶、杨宋官员、数学家,与李冶、杨宋官员、数学家,与李冶、杨辉、辉、辉、辉、 朱世杰并朱世杰并朱世杰并朱世杰并称宋元数学四大称宋元数学四大称宋元数学四大称宋元数学四大家家家家。主要成就。主要成就。主要成就。主要成就:1247:1247:1247:1247年完成了数年完成了数年完成了数年完成了数学名著学

6、名著学名著学名著数学九章数学九章数学九章数学九章,其中的其中的其中的其中的大衍求一术大衍求一术大衍求一术大衍求一术、三斜求积术三斜求积术三斜求积术三斜求积术和和和和秦秦秦秦九韶算法九韶算法九韶算法九韶算法是具有世界意义的重是具有世界意义的重是具有世界意义的重是具有世界意义的重要贡献。秦九韶算法就是中国要贡献。秦九韶算法就是中国要贡献。秦九韶算法就是中国要贡献。秦九韶算法就是中国古代数学的一枝奇葩。直到今古代数学的一枝奇葩。直到今古代数学的一枝奇葩。直到今古代数学的一枝奇葩。直到今天,这种算法仍是多项式求值天,这种算法仍是多项式求值天,这种算法仍是多项式求值天,这种算法仍是多项式求值比较先进的算

7、法比较先进的算法比较先进的算法比较先进的算法 。美国美国美国美国著名科学史家萨顿说过,著名科学史家萨顿说过,著名科学史家萨顿说过,著名科学史家萨顿说过,秦九韶是秦九韶是秦九韶是秦九韶是“ “他那个民族,他那他那个民族,他那他那个民族,他那他那个民族,他那个时代,并且确实也是所有时个时代,并且确实也是所有时个时代,并且确实也是所有时个时代,并且确实也是所有时代最伟大的数学家之一代最伟大的数学家之一代最伟大的数学家之一代最伟大的数学家之一” ”。 6例例1:用秦九韶算法求多项式用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当当x=5时的值时的值.解:首先将原多项式改写成如

8、下形式解:首先将原多项式改写成如下形式 : f(x)=(2x-5)x-4)x+3)x-6)x+7v0=2 v1=v0x-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.然后由内向外逐层计算一次多项式的值然后由内向外逐层计算一次多项式的值,即即所以,当x=2时,多项式的值为31.求多项式的值转化为了求六个一次多项式的值。解:当x=2时的值时多项式的值。挑战1:计算挑战挑战2:用秦九韶算法求多项式用秦九韶算法求多项式f(x)8

9、x75x63x42x1当当x2时的值时的值.【解析】【解析】f(x)8x75x63x42x1(8x5)x0)x3)x0)x0)x2)x1.当当x2时时,有有v08,v182521,v2212042,v3422387,v48720174,v517420348,v634822698,v7698211397,当当x2时时,多项式的值为多项式的值为1397. 注意注意:n次多项式有次多项式有n+1项项,因此缺少哪一项因此缺少哪一项应将其系数补应将其系数补0.湖南省长沙市一中卫星远程学校湖南省长沙市一中卫星远程学校湖南省长沙市一中卫星远程学校湖南省长沙市一中卫星远程学校v1=anx+an-1,v2=v1

10、x+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这是一个在秦九韶算法中反复执行的步这是一个在秦九韶算法中反复执行的步骤骤,因此可用循环结构来实现因此可用循环结构来实现.湖南省长沙市一中卫星远程学校湖南省长沙市一中卫星远程学校点评点评:秦九韶算法是求一元多项式的秦九韶算法是求一元多项式的值的一种方法值的一种方法.它的特点是它的特点是:把求一个把求一个n次多项式的值次多项式的值转化为求

11、转化为求n个一次多项式的值个一次多项式的值,通过这种转通过这种转化化,把运算的次数由把运算的次数由1+2+3+4+5+.+n次乘次乘法运算和法运算和n次加法运算次加法运算,减少为减少为n次乘法运次乘法运算和算和n次加法运算次加法运算,大大提高了运算效率大大提高了运算效率.知识探究知识探究( (二二):):秦九韶算法的程序设计秦九韶算法的程序设计 思考思考1:1:用秦九韶算法求多项式的值,可用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法以用什么逻辑结构来构造算法?其算法步骤如何设计?步骤如何设计?第一步,输入多项式的次数第一步,输入多项式的次数n n,最高次,最高次 项的系数项的

12、系数a an n和和x x的值的值. . 第二步,令第二步,令v=av=an n,i=n-1.i=n-1. 第三步,输入第三步,输入i i次项的系数次项的系数a ai i. . 第四步,第四步,v=vx+av=vx+ai i,i=i-1.i=i-1.第五步,判断第五步,判断i0i0是否成立是否成立. .若是,则返回第若是,则返回第 二步;否则,输出多项式的值二步;否则,输出多项式的值v. v. 思考思考2:2:该算法的程序框图如何表示?该算法的程序框图如何表示?开始开始输入输入n,an,x的值的值v=anv=vx+ai输入输入aii0?i=n- -1i=i- -1结束结束是是输出输出v否否思考

13、思考3:3:该程序框图对应的程序如何表述该程序框图对应的程序如何表述?开始开始输入输入n,an,x的值的值v=anv=vx+ai输入输入aii0?i=n- -1i=i- -1结束结束是是输出输出v否否INPUT “n=”INPUT “n=”;n nINPUT “aINPUT “an n=”=”;a aINPUT “x=”INPUT “x=”;x x v=a v=an ni=n-1i=n-1WHILE iWHILE i=0=0INPUT “aINPUT “ai i=”=”;b b v=v*x+b v=v*x+bi=i-1i=i-1 WENDWENDPRINT yPRINT yENDEND当堂检测

14、 :利用秦九韶算法计算 当 x3 时,求多项式 f(x)x5x3x2x1 的值.解:根据秦九韶算法,把多项式改写成如下形式:f(x)x50x4x3x2x1(x0)x1)x1)x1)x1.按照从内到外的顺序,依次计算一次多项式当 x3 时的值:v01,v11303,v233110,v3103131,v4313194,v59431283.所以当 x3 时,多项式的值为 283.小结作业小结作业 评价一个算法好坏的一个重要标志评价一个算法好坏的一个重要标志是运算的次数,如果一个算法从理论上是运算的次数,如果一个算法从理论上需要超出计算机允许范围内的运算次数,需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论算法那么这样的算法就只能是一个理论算法. .在多项式求值的各种算法中,秦九韶算在多项式求值的各种算法中,秦九韶算法是一个优秀算法法是一个优秀算法. . 刚才的发言,如刚才的发言,如有不当之处请多指有不当之处请多指正。谢谢大家!正。谢谢大家!21

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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