算法案例—(2)秦九韶算法
秦九韶算法介绍和实例分析

秦九韶算法介绍和实例分析具体而言,秦九韶算法通过构建一个累加器,用来存储每一次迭代计算的结果。
首先,将多项式的最高次项系数存入累加器中。
然后,通过迭代计算,将每一个次高次项的系数与上一次迭代的结果相乘,并加上该项的常数部分。
依次迭代计算,直到将所有的项都计算完毕。
最终,累加器中的值即为多项式的求值结果。
下面以一个实例来说明秦九韶算法的应用。
假设我们要求解如下多项式的值:P(x)=2x^4+3x^3-5x^2+6x-4首先,我们可以将多项式表示为累加的形式:P(x)=(((2x+3)x-5)x+6)x-4然后,我们可以使用秦九韶算法进行计算。
首先,将最高次项系数2存入累加器中。
累加器=2接下来,进行迭代计算。
首先,将累加器乘以x,并加上次高次项的常数部分3,得到结果5x+3累加器=(5x+3)然后,将累加器再次乘以x,并加上次高次项的常数部分-5,得到结果-5x^2+(5x+3)。
累加器=(-5x^2+5x+3)依次类推,进行下一次迭代计算。
最终,得到累加器的值为-4累加器=(-4)因此,多项式P(x)在x=1处的值为-4通过以上实例分析,我们可以看到,秦九韶算法通过使用累加的方式进行计算,大大减少了乘法和加法运算的次数,提高了算法的效率。
在实际应用中,秦九韶算法常用于求解多项式的值,例如在计算机图形学中,可用于求解曲线上的点的坐标。
同时,该算法还可以用于多项式的除法和求导等运算中。
总结起来,秦九韶算法是一种用于求解多项式的高效算法,通过使用累加的方式进行计算,减少了乘法和加法运算的次数。
该算法在实际应用中具有广泛的应用价值,可以提高计算效率,同时也为其他相关运算提供了基础。
1.3算法案例-秦九韶算法教学设计

1.3算法案例(二)__秦九韶算法一、内容及其解析本节的教学内容是算法案例中的秦九韶算法,它是求一元多项式的值的一种方法.在初中,学生已经学习了多项式的有关知识,那里是把多项式看作代数式.因此在本段内容的教学之前,应当先向学生说明,这里是函数的观点考察多项式,因此,求自变量取某个实数时的函数值问题,即求多项式的值就是一个常规问题.二、教学目标及其解析目标定位知识与技能:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质.过程与方法:模仿秦九韶计算方法,体会古人计算构思的巧妙.了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用.情感态度与价值观目标:通过对秦九韶算法的学习,了解中国古代数学对世界数学发展的贡献,充分认识到我国文化历史的悠久.目标解析1 秦九韶算法是我国南宋数学家秦九韶在他的代表作《数书九章》中提出的一种用于计算一元n 次多项式的值的方法.三、问题诊断分析在本节主要存在的问题是学生不能对秦九韶算法的先进性及其程序设计的理解,所以教师要强调当多项式的次数增大时,此种方法的先进性就体现出来了,所以教师要找到规律,让学生体会此种解法的先进性.四、教学支持条件分析的一般模式在本节课的教学中准备使用多媒体辅助教学.五、教学过程设计问题一 什么事了解秦九韶算法?小问题1 怎样求多项式1)(2345+++++=x x x x x x f 当x=5时的值呢?(设计意图:通过具体的例子引入秦九韶算法.)结论:第一种一共用了10次乘法运算,5次加法运算.而第二种一共用了5次乘法运算,5次加法运算.小问题2 用秦九韶算法求n 次多项式0111...)(a x a x a x a x f n n n n ++++=--当0x x =(0x 是任意实数)时的值,需要多少次乘法运算,多少次加法运算?小问题 3 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a x a x a --=++++的求值问题?要求多项式的值,我们可以把它改写成:11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++.首先计算最内层括号内一次多项式的值,即11n n v a x a -=+,然后由内向外逐层计算一次多项式的值,即212n v v x a -=+,323n v v x a -=+,,10n n v v x a -=+.例题1 (课本第38页例2)(设计意图:从实例到一般,先总结实例进而引申到一般) 变式巩固 用秦九韶算法求多项式1432)(2367+-+-=x x x x x f 当x=2时的函数值.小问题4 你是怎么理解秦九韶算法的?结论:秦九韶算法将求n 次多项式的值转化为求n 个一次多项式的值.课堂小结(提问方式)秦九韶算法计算多项式的值及程序设计上述的整个过程只需n 次乘法运算和n 次加法运算;观察上述n 个一次式,可发出k v 的计算要用到1k v -的值,若令0n v a =,可得到下列递推公式:01,(1,2,,)n k k n k v a v v x a k n --=⎧⎨=+=⎩. 这是一个反复执行的步骤,因此可用循环结构来实现.【程序框图】:六 目标检测1、利用秦九韶算法求多项式1153723+-+x x x 在23=x 的值时,在运算中下列哪个值用不到( )A 、164B 、3767C 、86652D 、851692、利用秦九韶算法求多项式1352.75.38123)(23456-++-++=x x x x x x x f 在2=x 的值,写出详细步骤.七 配餐作业A 组②秦九韶算法计算多项式f(x)=12+35x-8x 2+79x 3+6x 4+5x 5+3x 6,当x=-4时的值时,υ3的值为( )A .-845B .220C .-57D .34③用秦九韶算法,求当x=2时,f(x)=x 5-5x 4+x 3-1的函数值.B 组1.秦九韶算法与直接计算相比较,下列说法错误的是( )A 、秦九韶算法与直接计算相比较,大大减少了乘法的次数,使计算量减少,并且逻辑结构简单.B 、秦九韶算法减少了做乘法的次数,在计算机上也就加快了计算的速度.C 、秦九韶算法减少了做乘法的次数,在计算机上也就降低了计算的速度.D 、秦九韶算法避免对自变量x 单独做幂的计算,而是与系数一起逐次增长幂次,从而可提高计算的精度.2.用秦九韶算法和直接算法求当0x x =时()654323126016024019264f x x x x x x x =-+-+-+的值,做的乘法次数分别为( )A.6,20B.7,20C.7,21D.6,21C 组求15.033.016.041.083.0)(2345+++++=x x x x x x f 当x=5时的值.八、教学反思1、学生还是不会分析运算次数的问题,应该给学生详细讲解.2、学生在多项式 11101210()(()))n n n n n n n f x a x a x a x a a x a x a x a x a ----=++++=+++++按照秦九韶算法写成标准形式是容易出错,且速度很慢,应教会学生快速的写法及检验方法.3、应多给学生介绍一些有关秦九韶算法的背景知识,这样更能吸引学生的注意力和学习兴趣,另外介绍历史名人的大致成就,扩大学生的文化视野.。
1.3.2算法案例(秦九韶算法)

学生交流、补充回答自学指导中的问题,教师进行补充及纠正总结,引导学生加强对知识的理解深度。
1.强调利用常规自然的运算方法,运算量大,若用前面的计算结果,直接计算后面的式子,可以减少运算量,提高运算效率。
2.强调作为常识性的知识,让学生了解到计算机进行乘法运算比加法运算花的时间要长的多,故而在程序编写中,需要进行运算,尽量使用加法。
3.让学生明确秦九韶算法的作用和意义。
4.通过交流关于秦九韶的简介,突破本节课的情感态度与价值观目标,教师鼓励学生要增强学习数学的信心。附:
秦九韶(公元1202-1261),字道古,安岳人。秦九韶与李冶、杨辉、朱世杰并称宋元数学四大家。其父秦季栖,进士出身,官至上部郎中、秘书少监。秦九韶聪敏勤学。宋绍定四年(1231),秦九韶考中进士,先后担任县尉、通判、参议官、州守、同农、寺丞等职。先后在湖北、安徽、江苏、浙江等地做官,1261年左右被贬至梅州(今广东梅县),不久死于任所。他在政务之余,对数学进行虔心钻研,并广泛搜集历学、数学、星象、音律、营造等资料,进行分析、研究。宋淳祜四至七年(1244至1247),他在为母亲守孝时,把长期积累的数学知识和研究所得加以编辑,写成了闻名的巨著《数学九章》,并创造了“大衍求一术”。这不仅在当时处于世界领先地位,在近代数学和现代电子计算设计中,也起到了重要作用,被称为“中国剩余定理”。他所论的“正负开方术”,被称为“秦九韶程序”。现在,世界各国从小学、中学到大学的数学课程,几乎都接触到他的定理、定律和解题原则。秦九韶在数学方面的研究成果,比英国数学家取得的成果要早800多年。秦九韶字道古.普州安岳(今四川安岳)人.南宋嘉泰二年(1202年)生;约景定二年(1261年)卒于梅州(今广东梅县).
示标
1.学会用秦九韶算法求多项式的值。
(完整版)高中数学例题:秦九韶算法

高中数学例题:秦九韶算法例4.利用秦九韶算法求2345()10.50.166630.041680.00835f x x x x x x =+++++在x=0.2时的值.写出详细计算过程.【思路点拨】秦九韶算法是我国南宋的数学家秦九韶首先提出来的.(1)特点:它通过一次式的反复计算,逐步计算高次多项式的求值问题,即将一个n 次多项式的求值问题,归结为重复计算n 个一次式1()i i a x a -+.即1210()((()))n n n f x a x a x a x a x a --=++++L L .(2)具体方法如下:已知一个一元n 次多项式1110()n n n n f x a x a x a x a --=++++L 0.当x=x 0,我们可按顺序一项一项地计算,然后相加,求得0()f x .【答案】1.2214024【解析】v 0=0.00835,v 1=v 0x+0.04168=0.00835×0.2+0.04168=0.043 35,v 2=v 1x+0.16663=0.04335×0.2+0.16663=0.1753,v 3=v 2x+0.5=0.1753×0.2+0.5=0.53506,v 4=v 3x+1=0.53506×0.2+1=1.107012,v 5=v 4x+1=1.107012×0.2+1=1.2214024.【总结升华】秦九韶算法的原理是01(1,2,3,,)n k k n k v a v v x a k n --=⎧⎨=+=⎩L .在运用秦九韶算法进行计算时,应注意每一步的运算结果,像这种一环扣一环的运算,如果错一步,则下一步,一直到最后一步就会全部算错.同学们在计算这种题时应格外小心.举一反三:【变式1】用秦九韶算法求多项式764=++++当x=2时f x x x x x()85321的值.【答案】1397【解析】765432=++⋅++⋅+⋅++=+++++++ ()85030021((((((85)0)3)0)0)2)1 f x x x x x x x x x x x x x x x .v0=8,v1=8×2+5=21,v2=21×2 4-0=42,v3=42×2 4-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.【变式2】用秦九韶算法计算多项式65432f x x x x x x x=++++++()654327在x=0.4时的值时,需做加法和乘法的次数和是()A.10 B.9 C.12 D.8【答案】C【解析】()(((((65)4)3)2)1)7=++++++.f x x x x x x x∴加法6次,乘法6次,∴6+6=12(次),故选C.。
1.3 算法案例2-秦九韶算法

2. 利用秦九韶算法求n次多项式f(x)的值的步骤:
先把n次多项式f(x)改写成如下形式: f(x)=(…((anx+an-1)x+an-2)x+…+a1)x+a0. 再按照从内到外的顺序 , 依次计算一次多项 式的值, 即 v1=anx+an-1 ;
注意: 用秦九韶算法
计 算 n 次 多 项 式 f(x) 的 值时,一共需要n次乘法 运算和n次加法运算.
解: f(x)=((((0.83x+0.41)x+0.16)x+0.33)x+0.5)x+1
当x=5时, v1=0.83×5+0.41=4.56; v2=4.56×5+0.16=22.96; v3=22.96×5+0.33=115.13; v4=115.13×5+0.5=576.15; v5=576.15×5+1=2881.75. 所以, f(5)=2881.75.
作业: P48 A组 T2
思考2:阅读下列程序,说明它是解决什么的 问题算法?
INPUT “x=”;a n=0 y=0 WHLE n<5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
求多项式f(x)=1+2x+3x2+4x3+5x5在x=a时的值.
当x=5时, 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.
2
算法案例二--秦九韶算法

作业:
1、课本 P48 A 组第 2 题。 2、用秦九韶算法计算 5 次多项式 f ( x) 2 x5 x4 10 x3 10x2 3x 1 , 当 x 2 时的值。 3、用秦九韶算法计算多项式 f ( x) x6 12x5 60x4 160x3 240x2 192x 64 , 当 x 2 时的值.
第二步: 计算 (an x an1 ) x an2 的值, 可以改写为 v1 x an 2 , 将 v1 x an 2 的值赋给一个变量 v 2 ;
依次类推,即每一步的计算之后都赋予一个新值 vk ,即从最内层的括号到 最外层的括号的值依次赋予变量 v1 , v2 ,, vn .第 n 步所求值 vn vn1 x a0 即为所求多项式的值。
对该多项式按下面的方式进行改写:
f ( x) an x n an1 x n1 a1 x a0 (an x n1 an1 x n2 a1 ) x a0 (( an x n2 an1 x n3 a2 ) x a1 ) x a0
n(n 1) 次乘法运算和 n 次加法运算,减少为 n 次 2
乘法运算和 n 次加法运算,大大提高了运算效率.
三、秦九韶算法应用:
例一、 已知一个 5 次多项式 f ( x) 5x 5 2x 4 3.5x 3 2.6x 2 1.7 x 0.8 , 用秦九韶算法求这个多项式当 x 5 时的值。
10
变形后 x 的“系数” 2 5
25
21
105
108
540
534
2670
2677
思考:如何描述上述计算过程?
结论: 将变形前 x 的第 1 个系数乘以 x 的值, 加上变形前第 2 个系数,得到一个新的系数;将此系数继续乘以 x 的值,再 加上变形前第 3 个系数,又得到一个新的系数;继续对新系 数做上面的变换,直到与变形前最后一个系数相加,得到一 个新系数为止,这个系数即为所求的多项式的值。
算法案例2-秦九韶算法

我们已经学过了多项式的计算,下面我们计 算一下多项式 f(x) x5 x4 x3 x2 x 1 当 x = 5 的值。 解析:下面分别用两种算法来求其值。 并计算每个算法所用乘法和加法的次数。
算法1: f(x)=x5+x4+x3+x2+x+1 因为f(x)=x5+x4+x3+x2+x+1 所以f(5)=55+54+53+52+5+1 =3125+625+125+25+5+1
= 3906 共做了1+2+3+4=10次乘法运算,5次加法运算。
算法2: f(x)=x5+x4+x3+x2+x+1
第二种做法与第一种做法相比,乘法的运算次数减少了, 因而能够提高运算效率。对于计算机来说,做一次乘法运算 所用的时间比做一次加法运算要长得多,所以采用第二种做 法,计算机能更快得到结果。
i=i-1 v=vx+ai
输入ai
i≥0? 否 是
输出v
结束
练习1、已知一个5次多项式为
f x 4x 2x 3.5x 2.6x 1.7 x 0.8
5 4 3 2
用秦九韶算法求f(5)的值.
解:f(x)=((((4x+2)x+3.5)x-2.6)x+1.7)x-0.8 v0=4 v1=4×5+2=22; v2=22×5+3.5=113.5; v3=113.5×5-2.6=564.9; v4=564.9×5+1.7=2826.2; v5=2826.2×5-0.8=14130.2. 所以f(5)= =14130.2.
输入ai
Y
《算法案例:秦九韶算法》教学教案

《算法案例:秦九韶算法》教学教案第一篇:《算法案例:秦九韶算法》教学教案秦九韶算法学习目标1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。
学习重难点重点:1.秦九韶算法的特点2.两种排序法的排序步骤及计算机程序设计难点:1.秦九韶算法的先进性理解2.排序法的计算机程序设计学法与学习用具学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。
2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。
学习用具:电脑,计算器,图形计算器学习设想(一)创设情景,揭示课题我们已经学过了多项式的计算,下面我们计算一下多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值,并统计所做的计算的种类及计算次数。
根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。
我们把多项式变形为:f(x)=x2(1+x(1+x(1+x)))+x+1再统计一下计算当x=5时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。
显然少了6次乘法运算。
这种算法就叫秦九韶算法。
(二)研探新知/ 41.秦九韶计算多项式的方法f(x)=anxn+an-1xn-1+an-2xn-2+Λ+a1x+a0=(anxn-1+an-1xn-2+an-2xn-3+Λ+a1)x+a0=((anxn-2+an-1xn-3+Λ+a2)x+a1)x+a0=ΛΛ=(Λ((anx+an-1)x+an-2)x+Λ+a1)+a0例1 已知一个5次多项式为f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8 用秦九韶算法求这个多项式当x=5时的值。
解:略思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?(2)在利用秦九韶算法计算n次多项式当x=x0时需要多少次乘法计算和多少次加法计算?练习:利用秦九韶算法计算f(x)=0.83x5+0.41x4+0.16x3+0.33x2+0.5x+1 当x=5时的值,并统计需要多少次乘法计算和多少次加法计算?例2 设计利用秦九韶算法计算5次多项式f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0当x=x0时的值的程序框图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
=(((2x2-5x-4)x+3)x-6)x+7 v3=v2x+3=21×5+3=108
=((((2x-5)x-4)x+3)x-6)x+7 v4=v3x-6=108×5-6=534
v5=v4x+7=534×5+7=2677
当x=5时,多项式 的值是多少?
所以,当x=5时,多
这种求多项式值的方法就项叫式秦的九值韶是算26法77..
要求多项式的值,应该先算最内层的一次多项式的
值,即 v0 a n
v1anxan1
然后,由内到外逐层计算一次多项式的值,即
v2v一 项是什么?
:在求多项式的值上,这是怎样的一个转化?
这种将求一个n次多项式f(x)的值转化成求n个
一次多项式的值的方法,称为秦九韶算法。
种算法中用了几次乘法运算?和几次加法运算?
共做了4次乘法运算,5次加法运算。
问题2:能否探索一个算法,来解决任意多项式的 f(求x)值=2问x5题-5?x4-4x3+3x2-6x+7v0=2
=(2x4-5x3-4x2+3x-6)x+7 v1=v0x-5=2×5-5=5
=((2x3-5x2-4x+3)x-6)x+7 v2=v1x-4=5×5-4=21
v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x+a0.
这样,求n次多项式f(x)的值就转化为求n个 一次多项式的值.这种算法称为秦九韶算法.
特点:通过一次式的反复计算,逐步得出
高次多项式 f(x ) a n x n a n 1 x n 1 a 1 x a 0
解法二:列表
原多项式 的系数
2 -5 -4 3 -6 7
x=5
10 25 105 540 2670
2 5 21 108 534 2677
v0 v1 v2 v3 v4 v5 多项式 所以,当x=5时,多项式的值是2677. 的值.
练一练:用秦九韶算法求多项式 f(x)=2x6-5x5 -4x3+3x2-6x当x=5时的值.
解:原多项式先化为:
f(x)=2x6-5x5 +0×x4-4x3+3x2-6x+0,列表如下
的值.
注:对于一个n次多项式: 秦九韶算法把运算的次数由最多 1+2+3+…+n=n(n+1)/2次乘法和 n次加法的运算,减少为最多只需做 n次乘法和n次加法运算,大大提高 了运算效率.
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
解法一:首先将原多项式改写成如下形式 : f(x)=((((2x-5)x-4)x+3)x-6)x+7
A. 4 B. 5 C. 10 D. 20 21672=8127×2+5418
8127=5418×1+2709
5418=2709×2+0
辗转相除法与更相减损术的比较:
(1)都是求最大公约数的方法,计算上辗转 相除法以除法为主,更相减损术以减法为主; 计算次数上辗转相除法计算次数相对较少, 特别当两个数字大小区别较大时计算次数的 区别较明显。 (2)从结果体现形式来看,辗转相除法体现 结果是以相除余数为0则得到,而更相减损术 则以减数与差相等而得到.
( a n x ( n 2 a n 1 x n 3 a 2 ) x a 1 ) x a 0
( ( a n x a n 1 ) x a n 2 ) x a 1 ) x a 0
思考:当知道了x的值后该如何求多项式的值?
f ( x ) ( ( a n x a n 1 ) x a n 2 ) x a 1 ) x a 0
一般地,对于一个n次多项式 f(x)=anxn+an-1xn-1+an-2xn-2+……+a1x+a0. 我们可以改写成如下形式:
f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0. 求多项式的值时,首先计算最内层括号内一 次多项式的值,即 v1=anx+an-1,
然后由内向外逐层计算一次多项式的值,即
问题1:怎样求多项式f(x)=x5+x4+x3+x2+x+1
当x=5时的值?并写出程序.
算法1:因为f(x)=x5+x4+x3+x2+x+1
所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
= 3906 一共做了多少次乘法运算和多少次加法运算?
上述算法一共做了1+2+3+4=10次乘法运算, 5次加法运算.优点是简单易懂,但计算效 率不高.
然后由内向外逐层计算一次多项式的值,即
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 所以,当x=5时,多 V5=v4x+7=534×5+7=2677 项式的值是2677.
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当x=5时的值.
计算多项式f(x)=x5+x4+x3+x2+x+1当x = 5的值
算法2:
f(5)=55+54+53+52+5+1
=5×(54+53+52+5+1 ) +1 =5×(5×(53+52+5 +1 )+1 ) +1
=5×(5×(5×(52+5 +1) +1 ) +1 ) +1 =5×(5×(5×(5 ×(5 +1) +1 )+1)+1) +1
《数书九章》——秦九韶算法 设f (x) 是一个n 次的多项式
f(x ) a n x n a n 1 x n 1 a 1 x a 0
对该多项式按下面的方式进行改写:
f( x ) a n x n a n 1 x n 1 a 1 x a 0
( a n x n 1 a n 1 x n 2 a 1 ) x a 0
1.3算法案例
案例2 秦九韶算法
复习 1、求两个数的最大公约数的两种方法分别是 ___辗__转_相__除_法___和__更__相_减__损__术__
2.两个数21672,8127的最大公约数是 ( A )
A. 2709 B. 2606 C. 2703 D. 2706
3.用更相减损术求140和80的最大公约数是(D )