算法案例(秦九韶算法)课件_第1页
算法案例(秦九韶算法)课件_第2页
算法案例(秦九韶算法)课件_第3页
算法案例(秦九韶算法)课件_第4页
算法案例(秦九韶算法)课件_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.3算法案例(二)算法案例(秦九韶算法)案例2秦九韶算法一、三维目标(a)知识与技能 了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。(b)过程与方法 模仿秦九韶计算方法,体会古人计算构思的巧妙.(c)情感态度与价值观 通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。二、教学重难点重点:1.秦九韶算法的特点;难点:2.秦九韶算法的先进性理解.算法案例(秦九韶算法)〖教学设计〗[问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值的算法,并写出程序.x=5f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7PRINTfEND程序

点评:上述算法一共做了15次乘法运算,5次加法运算.优点是简单,易懂;缺点是在计算x的幂值时重复计算,运算效率不高.算法案例(秦九韶算法)的值,这样计算上述多项式的值,一共需要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+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,当x=5时,多项式的值是2677.这种求多项式值的方法就叫秦九韶算法.算法案例(秦九韶算法)秦九韶(1208年-1261年)南宋官员、数学家,与李冶、杨辉、朱世杰并称宋元数学四大家。主要成就:1247年完成了数学名著《数学九章》,其中的大衍求一术、三斜求积术和秦九韶算法是具有世界意义的重要贡献。秦九韶算法就是中国古代数学的一枝奇葩。直到今天,这种算法仍是多项式求值比较先进的算法。美国著名科学史家萨顿说过,秦九韶是“他那个民族,他那个时代,并且确实也是所有时代最伟大的数学家之一”。

算法案例(秦九韶算法)例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.解:首先将原多项式改写成如下形式: f(x)=((((2x-5)x-4)x+3)x-6)x+7v0=2v1=v0x-5=2×5-5=5v2=v1x-4=5×5-4=21v3=v2x+3=21×5+3=108v4=v3x-6=108×5-6=534v5=v4x+7=534×5+7=2677所以,当x=5时,多项式的值是2677.然后由内向外逐层计算一次多项式的值,即算法案例(秦九韶算法)所以,当x=2时,多项式的值是31.在上述运算中,总共用了6次乘法,6次加法所以,当x=2时,多项式的值为31.求多项式的值转化为了求六个一次多项式的值。解:当x=2时的值时多项式的值。挑战1:计算算法案例(秦九韶算法)挑战2:用秦九韶算法求多项式f(x)=8x7+5x6+3x4+2x+1当x=2时的值.【解析】f(x)=8x7+5x6+3x4+2x+1=((((((8x+5)x+0)x+3)x+0)x+0)x+2)x+1.当x=2时,有v0=8,v1=8×2+5=21,v2=21×2+0=42,v3=42×2+3=87,v4=87×2+0=174,v5=174×2+0=348,v6=348×2+2=698,v7=698×2+1=1397,∴当x=2时,多项式的值为1397.

注意:n次多项式有n+1项,因此缺少哪一项应将其系数补0.算法案例(秦九韶算法)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

这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.算法案例(秦九韶算法)

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

它的特点是:把求一个n次多项式的值转化为求n个一次多项式的值,通过这种转化,把运算的次数由1+2+3+4+5+...+n次乘法运算和n次加法运算,减少为n次乘法运算和n次加法运算,大大提高了运算效率.算法案例(秦九韶算法)知识探究(二):秦九韶算法的程序设计

思考1:用秦九韶算法求多项式的值,可以用什么逻辑结构来构造算法?其算法步骤如何设计?第一步,输入多项式的次数n,最高次 项的系数an和x的值.

第二步,令v=an,i=n-1.

第三步,输入i次项的系数ai.第四步,v=vx+ai,i=i-1.第五步,判断i≥0是否成立.若是,则返回第 二步;否则,输出多项式的值v.算法案例(秦九韶算法)思考2:该算法的程序框图如何表示?开始输入n,an,x的值v=anv=vx+ai输入aii≥0?i=n-1i=i-1结束是输出v否算法案例(秦九韶算法)思考3:该程序框图对应的程序如何表述?开始输入n,an,x的值v=anv=vx+ai输入aii≥0?i=n-1i=i-1结束是输出v否INPUT“n=”;nINPUT“an=”;aINPUT“x=”;xv=ani=n-1WHILEi>=0INPUT“ai=”;bv=v*x+bi=i-1

WENDPRINTyEND算法案例(秦九韶算法)当堂检测

:利用秦九韶算法计算

当x=3时,求多项式f(x)=x5+x3+x2+x+1的值.解:根据秦九韶算法,把多项式改写成如下形式:

f(x)=x5+0·x4+x3+x2+x+1=(((x+0)x+1)x+1)x+1)x+1.按照从内到外的顺序,依次计算一次多项式当x=3时的值:v0=1,算法案例(秦九韶算法)v1=1×3+0=3,v2=3×3+1=10,v3=10×3+1=31,v4=31×3+1=94,v5=94×3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论