算法案例(秦九韶算法)

合集下载

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

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

【优】算法案例秦九韶算法优选版

【优】算法案例秦九韶算法优选版

挑战 3:利用秦九韶算法求多项式 f(x)=anxn+an-1xn-1+…+a1x+a0 的值,这个多 项式应写成哪种形式?
思考4:对于f(x)=(…((anx+an-1)x+ an-2)x+…+a1)x+a0,由内向外逐层计算 一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2.
第三步,计算v3=v2x+an-3. …
第n步,计算vn=vn-1x+a0.
v1=anx+an-1,
v2=v1x+an-2,
v3=v2x+an-3, ……, vn=vn-1x+a0.
观察上述秦九韶算法中的n个一次式,可见
v 的计算要用到v 的值. 若令v =a ,得 了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
解: f x x 2 x 3 x 4 x 5 x 6 x 7
v0 1,v1 v0 x 2 0, v2 v1x 3 3,v3 v2 x 4 2, v4 v3 x 5 9,v5 v4 x 6 12, v6 v5 x 7 31
多项式的值。
• 挑战2:用秦九韶算法求多项式f(x)=8x7+5x6 +3x4+2x+1当x=2时的值.
〖教学设计〗
[问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值的算法,并写出程序.
程序 x=5
f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7
PRINT f
END
点评:上述算法一共做了15次乘法运算,5次 加法运算.优点是简单,易懂;缺点是在计算x的幂 值时重复计算,运算效率不高.

1.3 算法案例2-秦九韶算法

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 个系数,又得到一个新的系数;继续对新系 数做上面的变换,直到与变形前最后一个系数相加,得到一 个新系数为止,这个系数即为所求的多项式的值。

算法案例—辗转相除、更相减损、秦九韶

算法案例—辗转相除、更相减损、秦九韶

v1=1×(-2)+5=3 v2=3×(-2)+10=4 v3=4×(-2)+10=2 v4=2×(-2)+5=1 v5=1×(-2)+1=-1
比比谁算得快!
例2 已知一个5次多项式为 f (x )
= 5x + 3.5x + 1.7x - 0.8
5ห้องสมุดไป่ตู้
3
用秦九韶算法求当x=5时,V1,V3的值及求f(5)的值做多少次乘法运算.
v1 an x an1
v2 v1 x an2
最后的一 项是什么?

v3 v2 x an3 vn vn1 x a0
最第 i 个等 式是什么?
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法。
特征: 对于一个n次n+1项多项式,
观察括号的特点?做几次加法,几次乘法?

an1 x
n4

a3 ) x a2 ) x a1 ) x a0
f ( x) ((an x an1 ) x an2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多项式的值,即 然后,由内到外逐层计算一次多项式的值,即
〖创设情景,揭示课题〗
[问题2]:我们都是利用找公约数的方法来求
最大公约数,如果两个数比较大而且根据我
们的观察又不能得到一些公约数,我们又应
该怎样求它们的最大公约数?比如求8251与
6105的最大公约数?
1.辗转相除法:
例1 求两个正数8251和6105的最大公约数。
分析:8251与6105两数都比较大,而且没 有明显的公约数,如能把它们都变小一点,根据 已有的知识即可求出最大公约数.

秦九韶公式算法范文

秦九韶公式算法范文

秦九韶公式算法范文首先,我们假设需要求解的多项式为f(x)=a_n*x^n+a_{n-1}*x^{n-1}+...+a_1*x^1+a_0。

公式中的a_i代表多项式的系数,n代表多项式的次数,x代表自变量的值。

步骤一:初始化我们需要设置一个初始值,假设初始值为result = a_n。

这个初始值实际上是多项式的最高次项的系数。

步骤二:迭代计算从最高次项开始,依次迭代计算多项式的系数。

我们从n-1次项开始处理,每次处理一个系数ai。

-第一次迭代:result = result * x + a_{n-1}。

-第二次迭代:result = result * x + a_{n-2}。

-以此类推,直到处理完所有的系数a0为止。

步骤三:输出结果迭代计算结束后,result即为多项式f(x)在x点的值。

通过这种递推的方式,我们可以有效地计算多项式在给定自变量值下的值,而不需要对多项式进行一次次的乘法和加法操作。

这使得计算速度大大提高。

除了求多项式的值,秦九韶公式还可以应用于多项式相乘、除法和求导等问题。

下面举例说明其应用。

1.多项式相乘:假设有两个多项式f(x)和g(x),它们的次数分别为n和m。

我们可以利用秦九韶公式进行多项式的相乘运算。

首先,我们将f(x)和g(x)展开成多项式的系数形式,例如:f(x)=a_n*x^n+a_{n-1}*x^{n-1}+...+a_1*x^1+a_0g(x)=b_m*x^m+b_{m-1}*x^{m-1}+...+b_1*x^1+b_0。

然后,我们利用秦九韶公式分别求出f(x)和g(x)在给定x点的值。

最后,将得到的两个值相乘即可得到多项式相乘的结果。

2.多项式插值:假设我们已知n+1个点的坐标(xi, yi),我们需要求解通过这些点的多项式函数。

首先,我们利用这n+1个点,构建一个n次多项式P(x),通过求解多项式的系数a0, a1, ..., an。

然后,我们可以利用秦九韶公式求出n次多项式P(x)在给定x点的值。

《算法案例:秦九韶算法》教学教案

《算法案例:秦九韶算法》教学教案

《算法案例:秦九韶算法》教学教案第一篇:《算法案例:秦九韶算法》教学教案秦九韶算法学习目标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时的值的程序框图。

算法案例(秦九韶算法)

算法案例(秦九韶算法)

算法的步骤和流程
01
02
03
04
2. 将 $a_{i+1}$ 加到 $v$ 中。 3. 将 $v$ 存储在变量 $P$ 中。
步骤3:返回 $P$ 作为多项 式的值。
通过以上步骤,秦九韶算法可以 在 $O(n)$ 的时间内计算出一元 多项式的值,其中 $n$ 是多项式 的次数。与直接使用常规的求值 方法相比,秦九韶算法可以显著 减少乘法的次数,从而提高计算
缺点
对大系数多项式不适用
秦九韶算法适用于系数和次数都很大的多项式,但如果多项式的 系数非常大,可能会导致数值溢出或下溢,影响计算精度。
需要额外的存储空间
秦九韶算法需要存储中间结果,如果多项式的次数很大,需要额外 的存储空间。
对某些特殊多项式不适用
秦九韶算法不适用于某些特殊的多项式,如常数、一次多项式等。
秦九韶算法的应用场景
数值分析
秦九韶算法在数值分析中广泛应用于求解多项式方程的根,以及进行 数值积分和微分等计算。
科学计算
在科学计算领域,秦九韶算法被用于计算物理、化学、工程等领域中 的多项式函数值,以及进行数据拟合和插值等操作。
计算机图形学
在计算机图形学中,秦九韶算法被用于计算光线追踪和纹理映射等算 法中的多项式函数值,以提高渲染效率和精度。
05
秦九韶算法的优缺点
优点
高效性
秦九韶算法是一种快速算法,可以在多项式 时间内完成计算,比直接计算更高效。
易于编程实现
秦九韶算法的步骤明确,易于编程实现,可 以方便地应用于计算机程序中。
数值稳定性
秦九韶算法在计算过程中可以减少舍入误差, 提高数值稳定性。
适用范围广
秦九韶算法适用于多项式的系数和次数都很 大的情况,具有较广的适用范围。

秦九韶算法与进位制-课件

秦九韶算法与进位制-课件

• v2=21×2+0=42; v6=348×2+2=698;
• v3=42×2+3=87; v7=698×2+1=1397.
• ∴f(2)=1397.
• [例5] 将五进制数434化为二进制数. • [解析] 先将五进制数化为十进制数. • 434(5)=4×52+3×51+4×50=119, • 再将十进制数119化为二进制数.
• 2.利用把k进制数化为十进数的一般方法就可以 将8进制数314706(8)化为十进制数,然后根据该 算法,应用循环结构可以设计程序.
• 314706(8)=3×85+1×84+4×83+7×82+0×81 +6×80=104902.所以,化为十进制数是104902.
• 8 进 制 数 314706(8) 中 共 有 6 位 , 因 此 可 令 a = 314706,k=8,n=6,设计程序如下:

13、知人者智,自知者明。胜人者有 力,自 胜者强 。2021/3/52021/3/52021/3/52021/3/53/5/2021

14、意志坚强的人能把世界放在手中 像泥块 一样任 意揉捏 。2021年3月5日星期 五2021/3/52021/3/52021/3/5

15、最具挑战性的挑战莫过于提升自 我。。2021年3月2021/3/52021/3/52021/3/53/5/2021

10、阅读一切好书如同和过去最杰出 的人谈 话。2021/3/52021/3/52021/3/53/5/2021 8:16:44 AM

11、越是没有本领的就越加自命不凡 。2021/3/52021/3/52021/3/5M ar-215- Mar-21

12、越是无能的人,越喜欢挑剔别人 的错儿 。2021/3/52021/3/52021/3/5Fr iday, March 05, 2021

算法案例2秦九韶算法课件

算法案例2秦九韶算法课件
k
已知n 已知 次多项式 Pn ( x) = a0 xn + a1 xn−1 + ... + an−1 x + an
我国南宋时期的数学家秦九韶(约 我国南宋时期的数学家秦九韶 约1202-1261) 在 他的著作《数书九章》中提出了下面的算法. 他的著作《数书九章》中提出了下面的算法 把一个n次多项式 把一个 次多项式 f(x)=anxn+an-1xn-1+···+a1x+a0 改写成如下形式: 改写成如下形式: f(x) = anxn + an-1xn-1 + ··· + a1x + a0 = ( anxn-1 + an-1xn-2 + ··· + a1 ) x + a0 = ( ( anxn-2 + an-1xn-3 + ··· + a2 ) x + a1 ) x + a0 = ··· = (··· ( ( anx + an-1) x + an-2 ) x + ···+a1 ) x +a0
, 如果在一种算法中计算x0 (k = 2, 3, 4, ..., n) k 9 的值需要 − 1次乘6次乘法, 3次加法), 那么计算 n ( x0 )的值共 需要______ 次运算.
k
已知n 已知 次多项式 Pn ( x) = a0 xn + a1 xn−1 + ... + an−1 x + an
《考一本》第10课时 考一本》 课时
【例1】 】
5次多项式为 已知一个 次多项式为 f ( x) = 4x + 2x + 3.5x − 2.6x + 1.7 x − 0.8 ,

案例2秦九韶算法

案例2秦九韶算法

并行化优化效果
通过实验验证,并行化实现的秦 九韶算法在处理大规模数值计算 问题时,能够显著提高计算速度, 减少计算时间。
算法的误差分析
误差来源
秦九韶算法中的误差主要来源于舍入误差和截断误差。舍 入误差是由于计算机浮点数的表示精度限制而引起的,截 断误差是由于近似计算而引起的。
误差传播
误差在秦九韶算法的计算过程中会累积和传播,对计算结 果的精度产生影响。误差传播的分析有助于了解算法的精 度损失情况。
扩展应用前景
随着科学计算和工程领域中大规模数值计算问题的不断涌现,秦九韶 算法的扩展应用前景广阔,具有重要的实际意义和价值。
05 秦九韶算法的未来发展与 展望
算法的进一步研究与完善
深入研究秦九韶算法 的数学原理,探索其 更广泛的应用场景。
结合现代计算机技术, 开发更高效的秦九韶 算法实现方式。
针对算法的缺陷和不 足,进行改进和优化, 提高算法的效率和准 确性。
算法在其他领域的应用探索
01
在数值分析、计算物理、工程优化等领域探索秦九 韶算法的应用可能性。
02
结合人工智能、机器学习等技术,将秦九韶算法应 用于数据分析和模式识别等领域。
03
探索秦九韶算法在金融、经济、社会科学等领域的 应用,为决策提供支持。
秦九韶算法对数学发展的影响
1
秦九韶算法的提出和发展,丰富了数学理论体系, 为后续数学研究提供了新的思路和方法。
秦九韶算法案例分析
contents
目录
• 秦九韶算法简介 • 秦九韶算法的原理 • 秦九韶算法案例展示 • 秦九韶算法的改进与优化 • 秦九韶算法的未来发展与展望
01 秦九韶算法简介
秦九韶算法的定义
秦九韶算法是一种用于计算多项式的 算法,它将多项式计算转化为一系列 的乘法和加法操作,从而提高了计算 的效率。

1.3算法案例2(秦九韶算法)

1.3算法案例2(秦九韶算法)

第二课时案例2 秦九韶算法(一)导入新课大家都喜欢吃苹果吧,我们吃苹果都是从外到里一口一口的吃,而虫子却是先钻到苹果里面从里到外一口一口的吃,由此看来处理同一个问题的方法多种多样.怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?方法也是多种多样的,今天我们开始学习秦九韶算法.(二)推进新课、新知探究、提出问题(1)求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值有哪些方法?比较它们的特点.(2)什么是秦九韶算法?(3)怎样评价一个算法的好坏?讨论结果:(1)怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?一个自然的做法就是把5代入多项式f(x),计算各项的值,然后把它们加起来,这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.另一种做法是先计算x2的值,然后依次计算x2·x,(x2·x)·x,((x2·x)·x)·x的值,这样每次都可以利用上一次计算的结果,这时,我们一共做了4次乘法运算,5次加法运算.第二种做法与第一种做法相比,乘法的运算次数减少了,因而能够提高运算效率,对于计算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以采用第二种做法,计算机能更快地得到结果.(2)上面问题有没有更有效的算法呢?我国南宋时期的数学家秦九韶(约1202~1261)在他的著作《数书九章》中提出了下面的算法:把一个n次多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0改写成如下形式:f(x)=a n x n+a n-1x n-1+…+a1x+a0=(a n x n-1+a n-1x n-2+…+a1)x+ a0=((a n x n-2+a n-1x n-3+…+a2)x+a1)x+a0=…=(…((a n x+a n-1)x+a n-2)x+…+a1)x+a0.求多项式的值时,首先计算最内层括号内一次多项式的值,即v1=a n x+a n-1,然后由内向外逐层计算一次多项式的值,即v2=v1x+a n-2,v3=v2x+a n-3,…v n=v n-1x+a0,这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.上述方法称为秦九韶算法.直到今天,这种算法仍是多项式求值比较先进的算法.(3)计算机的一个很重要的特点就是运算速度快,但即便如此,算法好坏的一个重要标志仍然是运算的次数.如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论的算法.(三)应用示例例1 已知一个5次多项式为f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8,用秦九韶算法求这个多项式当x=5时的值.解:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7) x-0.8,按照从内到外的顺序,依次计算一次多项式当x=5时的值:v 0=5;v 1=5×5+2=27;v 2=27×5+3.5=138.5;v 3=138.5×5-2.6=689.9;v 4=689.9×5+1.7=3 451.2;v 5=3 415.2×5-0.8=17 255.2;所以,当x=5时,多项式的值等于17 255.2.算法分析:观察上述秦九韶算法中的n 个一次式,可见v k 的计算要用到v k-1的值,若令v 0=a n ,我们可以得到下面的公式:⎩⎨⎧=+==--).,,2,1(,10n k a x v v a v k n k kn 这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现.算法步骤如下:第一步,输入多项式次数n 、最高次的系数a n 和x 的值.第二步,将v 的值初始化为a n ,将i 的值初始化为n-1.第三步,输入i 次项的系数a i .第四步,v=vx+a i ,i=i-1.第五步,判断i 是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v. 程序框图如下图:程序: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首先,让我们以5次多项式一步步地进行改写:f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0=((a5x3+a4x2+ a3x+a2)x+a1)x+a0=(((a5x2+a4x+ a3)x+a2)x+a1)x+a0=((((a5x+a4)x+ a3)x+a2)x+a1)x+a0.上面的分层计算,只用了小括号,计算时,首先计算最内层的括号,然后由里向外逐层计算,直到最外层的括号,然后加上常数项即可.程序框图如下图:例2 已知n次多项式P n(x)=a0x n+a1x n-1+…+a n-1x+a n,如果在一种算法中,计算k x0(k=2,3,4,…,n)的值需要k-1次乘法,计算P3(x0)的值共需要9次运算(6次乘法,3次加法),那么计算P10(x0)的值共需要__________次运算.下面给出一种减少运算次数的算法:P0(x)=a0,P k+1(x)=xP k(x)+a k+1(k=0,1,2,…,n-1).利用该算法,计算P3(x0)的值共需要6次运算,计算P10(x0)的值共需要___________次运算.答案:65 20点评:秦九韶算法适用一般的多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的求值问题.直接法乘法运算的次数最多可到达2)1(nn,加法最多n次.秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次.例3 已知多项式函数f(x)=2x5-5x4-4x3+3x2-6x+7,求当x=5时的函数的值.解析:把多项式变形为:f(x)=2x5-5x4-4x3+3x2-6x+7=((((2x-5)x-4)x+3)x-6)x+7.计算的过程可以列表表示为:最后的系数2 677即为所求的值.算法过程:v0=2;v1=2×5-5=5;v2=5×5-4=21;v3=21×5+3=108;v4=108×5-6=534;v5=534×5+7=2 677.点评:如果多项式函数中有缺项的话,要以系数为0的项补齐后再计算.(四)知能训练当x=2时,用秦九韶算法求多项式f(x)=3x5+8x4-3x3+5x2+12x-6的值.解法一:根据秦九韶算法,把多项式改写成如下形式:f(x)=((((3x+8)x-3)x+5)x+12)x-6.按照从内到外的顺序,依次计算一次多项式当x=2时的值.v0=3;v1=v0×2+8=3×2+8=14;v2=v1×2-3=14×2-3=25;v3=v2×2+5=25×2+5=55;v4=v3×2+12=55×2+12=122;v5=v4×2-6=122×2-6=238.∴当x=2时,多项式的值为238.解法二:f(x)=((((3x+8)x-3)x+5)x+12)x-6,则f(2)=((((3×2+8)×2-3)×2+5)×2+12)×2-6=238.(五)拓展提升用秦九韶算法求多项式f (x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.解:f(x)=((((((7x+6)+5)x+4)x+3)x+2)x+1)xv0=7;v1=7×3+6=27;v2=27×3+5=86;v3=86×3+4=262;v4=262×3+3=789;v5=789×3+2=2 369;v6=2 369×3+1=7 108;v7=7 108×3+0=21 324.∴f(3)=21 324.(六)课堂小结1.秦九韶算法的方法和步骤.2.秦九韶算法的计算机程序框图.(七)作业已知函数f(x)=x3-2x2-5x+8,求f(9)的值.解:f(x)=x3-2x2-5x+8=(x2-2x-5)x+8=((x-2)x-5)x+8 ∴f(9)=((9-2)×9-5)×9+8=530.。

算法案例 秦九韶算法

算法案例 秦九韶算法

高一 第一章 算法初步第三节 第2课时 秦九韶算法撰稿人: 朱光明 审稿人: 授课时间: 课标要求校本化1.用转化的数学思想方法理解秦九韶算法;2.掌握用秦九韶算法计算高次多项式的值;3.提高学生的逻辑思维能力.一.课前预习学案认真自学课本37-39,完成下列问题:如何求多项式f(x)=x 5+x 4+x 3+x 2+x+1当x=5时的值?一个自然的做法:把5代入多项式f(x),计算各项的值,然后把它们加起来,这时你一共做了__次乘法运算,__次加法运算;另一种做法:先计算x 2的值,然后一次计算x 2﹒x ,( x 2﹒x)﹒x ,( (x 2﹒x)﹒x)﹒x 的值,这样每次都可以用上一次的结果,这时你用了__次乘法运算,__次加法运算. 计算机适合乘法运算少的. 二.课中学习学案【合作探究】秦九韶算法1.功能:它是一种用于计算 的值的方法;2.改写后的形式:1110()......n n n n f x a x a x a x a --=++++=3.计算方法:从括号最内层开始,由内向外逐层计算.11n n v a x a -=+;212n v v x a -=+;3v = ;......n v = .这样,求n 次多项式()f x 的值就转化为求 的值,整个计算过程中进行了 次乘法,进行了 次加法.4.用秦九韶算法时要正确将多项式的形式进行改写,当多项式函数中间出现空项时,要以系数为零的齐次项补充.【典例分析】例1.根据秦九韶算法能把多项式f(x)=3x5+4x4+5x3+6x2+7x+1改写成________________的形式;当x=5时求f(x)的值_____.在这个计算过程中需要__次乘法运算,__次加法运算.例2.将上题以解答题的形式规范作答.【达标反馈】1.多项式f(x)=15x5+32x4+21x3+8x2+6x+8,则f(2)=___.2.用秦九韶算法求多项式f(x)=5x5+7x4+6x3+3x2+x+1,当x=3的值.【知识梳理】1.用转化的数学思想方法理解秦九韶算法;2.掌握用秦九韶算法计算高次多项式的值;3.试总结秦九韶算法的特点.(把求一个n次多项式的值转化为求n个一次多项式的值)三.课后巩固学案【提升巩固】1.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1,当x=4时,需要做乘法和加法的次数分别是()A 6,6B 5,6C 5,5D 6,52.f(x)=3x3+2x2+x+4,则f(10)等于()A 3214B 3210C 2214D 903.多项式f(x)=10x9+21x8+5x7+4x6+3x4+2x3+3x2+x+1,则f(5)等于()A 28079706B 28089706C 28179706D 281897064.多项式f(x)=4x6+7x4+64x3+8x2+6x+1,则f(3)= ___5.用秦九韶算法计算多项式f(x)= x7+4x5+3x2+1,当x=1.3时的值需要将多项式改写为6.用秦九韶算法求多项式f(x)=9x6+21x5+7x4+64x3+8x2+6x+1,当x=2的值.7.写出求一般多项式f(x)=an x n+ a1-nx1-n+···+a1x+a,当x=x的算法程序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求值问题?请欣赏下面的解法:
f(x)=2x5-5x4-4x3+3x2-6x+7 v0=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
=(((2x2-5x-4)x+3)x-6)x+7 v3=v2x+3=21×5+3=108
湖南省长沙市一中卫星远程学校
点评:秦九韶算法是求一元多项式的 值的一种方法.
它的特点是:把求一个n次多项式的值 转化为求n个一次多项式的值,通过这种转 化,把运算的次数由1+2+3+4+5+...+n次乘 法运算和n次加法运算,减少为n次乘法运 算和n次加法运算,大大提高了运算效率.
END
点评:上述算法一共做了15次乘法运算,5次 加法运算.优点是简单,易懂;缺点是在计算x的幂 值时重复计算,运算效率不高.
实用精品课件PPT
3
[问题2]有没有更高效的算法?
分析:计算x的幂时,可以利用前面的计算结 果,以减少计算量,
即先计算x2,然后依次计算
x2 • x, (x2 • x) • x, ((x2 • x) • x) • x
=((((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时,多项式的值是2677.
这种求多项式值的方法就叫秦九韶算法.
实用精品课件PPT
5
秦九韶(1208年-1261年)南 宋官员、数学家,与李冶、杨 辉、 朱世杰并称宋元数学四大 家。主要成就:1247年完成了数 学名著《数学九章》,其中的 大衍求一术、三斜求积术和秦 九韶算法是具有世界意义的重 要贡献。秦九韶算法就是中国 古代数学的一枝奇葩。直到今 天,这种算法仍是多项式求值 比较先进的算法 。 美国著名科学史家萨顿说过, 秦九韶是“他那个民族,他那 个时代,并且确实也是所有时
实用精品课件PPT
1
案例2 秦九韶算法
一、三维目标
(a)知识与技能
了解秦九韶算法的计算过程,并理解利用秦九韶
算法可以减少计算次数提高计算效率的实质。
(b)过程与方法
模仿秦九韶计算方法,体会古人计算构思的巧妙.
(c)情感态度与价值观 通过对秦九韶算法的学习,了解中国古代数学家
对数学的贡献,充分认识到我国文化历史的悠久。
解: f x x 2x 3x 4x 5x 6x 7
v0 1,v1 v0 x 2 0, v2 v1 x 3 3,v3 v2 x 4 2, v4 v3 x 5 9,v5 v4 x 6 12, v6 v5 x 7 31
所以,当x=2时,多项式的值为31.求多项式的值转化为了求六个一次 多项式的值。
v0=an,
vK=vK-1x+an-k(k=1,2,……,n
这是一个在秦九韶算法中反复执行的步 骤,因此可用循环结构来实现.
实用精品课件PPT
12
思考5:上述求多项式 f(x)=anxn+an-1xn-1+…+a1x+a0的值的方法 称为秦九韶算法,利用该算法求f(x0)的 值,一共需要多少次乘法运算,多少次 加法运算?
的值,这样计算上述多项式的值,一共需要9次 乘法运算,5次加法运算.
第二种做法与第一种做法相比,乘法的运
算次数减少了,因而能提高运算效率.而且对于
计算机来说,做一次乘法所需的运算时间比做一
次加法要长得多,因此第二种做法能更快地得到
结果.
实用精品课件PPT
4
[问题3]能否探索更好的算法,来解决任意多项式的
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.
实用精品课件PPT
7
x x x x x f 挑战1:计算 x 6 2 5 3 4 4 3 5 2 6x 7 当x=2时的值时多项式的值。
代实最用精伟品课大件P的PT 数学家之一”。 6
例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=v0x-5=2×5-5=5
• ∴当注x意=:2n时次,多项式的有值n+为1项13,9因7.此缺少哪一项
应将其系数补0.
实用精品课件PPT
9
挑战 3:利用秦九韶算法求多项式 f(x)=anxn+an-1xn-1+…+a1x+a0 的值,这个多 项式应写成哪种形式?
湖南省长沙市一中卫nx+an-1)x+ an-2)x+…+a1)x+a0,由内向外逐层计算 一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2.
第三步,计算v3=v2x+an-3. … 第n步,计算vn=vn-1x+a0.
湖南省长沙市一中卫星远程学校
v1=anx+an-1,
v2=v1x+an-2,
v3=v2x+an-3, ……, vn=vn-1x+a0.
观察上述秦九韶算法中的n个一次式,可见 vk的计算要用到vk-1的值. 若令v0=an,得
实用精品课件PPT
8
• 挑战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,
二、教学重难点
重点:1.秦九韶算法的特点;
难点: 2.秦九韶算法的先进性理解 .
实用精品课件PPT
2
〖教学设计〗
[问题1]设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7 当x=5时的值的算法,并写出程序.
程序 x=5
f=2*x^5-5*x^4-4*x^3+3*x^2-6*x+7
PRINT f
相关文档
最新文档