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

合集下载

1.3算法案例—(2)秦九韶算法ppt课件

1.3算法案例—(2)秦九韶算法ppt课件

A. 4 B. 5 C. 10 D. 20 21672=8127×2+5418
8127=5418×1+2709
5418=2709×2+0
2
辗转相除法与更相减损术的比较:
(1)都是求最大公约数的方法,计算上辗转 相除法以除法为主,更相减损术以减法为主; 计算次数上辗转相除法计算次数相对较少, 特别当两个数字大小区别较大时计算次数的 区别较明显。 (2)从结果体现形式来看,辗转相除法体现 结果是以相除余数为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, 然后由内向外逐层计算一次多项式的值,即
13
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
这是一个在秦九韶算法中反复执行的步 骤,因此可用循环结构来实现.因此可用循环结 构来实现。
然后由内向外逐层计算一次多项式的值,即
v0=2 v1=v0x-5=2×5-5=5
v2=v1x-4=5×5-4=21
v3=v2x+3=21×5+3=108

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

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

高中数学1.3.2算法案例—秦九韶算法教案新人教A版必修

高中数学1.3.2算法案例—秦九韶算法教案新人教A版必修

学 目
技能目标
模仿秦九韶计算方法,体会古人计算构思的巧妙;探究计算 机算法与数学算法的区别。

情感态度价值观
通过对秦九韶算法的学习,了解中国古代数学家对数学的贡 献,充分认识到我国文化历史的悠久。
重点 理解秦九韶算法的思想。
难点 用循环结构表示算法的步骤。
问题与情境及教师活动
学生活动
一.复习引入
大家都喜欢吃苹果吧,我们吃苹果都是从外到里一口一口的
(((an x an1)x an2 )x a1) a0
1 河北武邑教师教案
问题与情境及教师活动
学生活动
思考 2:对于由内向外逐层计算一次多项式
f (x) an xn an1xn1 a1x a0 (( an x an1)x an2 )x a1)x a0
的值,其算法步骤如何?
程序框图如下图:
2 河北武邑教师教案 问题与情境及教师活动
学生活动
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ห้องสมุดไป่ตู้
程 思考 3:该程序框图对应的程序如何表述?
第一步,输入多项式次数 n、最高次的系数 an 和 x 的值. 第二步,将 v 的值初始化为 an,将 i 的值初始化为 n-1. 第三步,输入 i 次项的系数 ai. 第四步,v=vx+ai,i=i-1. 第五步,判断 i 是否大于或等于 0.若是,则返回第三步;

数学:1.3.2《算法案例-秦九韶算法》课件(2)(新人教A版必修3)

数学:1.3.2《算法案例-秦九韶算法》课件(2)(新人教A版必修3)

练习:把89化为五进制的数. 解:以5作为除数,相应的除法算式为: 余数 5 89 5 17 4 5 3 2 0 3 ∴ 89=324(5).
小结
• 进位制的概念及表示方法; anan-1…a1a0(k) =an×kn+an-1×kn-1+…+a1×k1+a0×k0 . • 各种进位制之间的相互转化.
例4:把89化为二进制的数. 我们可以用下面的除法算式表示除2取余法: 把算式中各步所得的余数 余数 2 89 从下到上排列,得到 2 44 1 89=1011001(2). 2 22 0 可以用2连续去除89或所得 2 11 0 商(一直到商为0为止),然后 2 5 1 取余数---除2取余法. 1 2 2 这种方法也可以推广为把 0 21 十进制数化为k进制数的 0 1 算法,称为除k取余法.
=(„((anx+an-1)x+an-2)x+„+a1)x+a0
f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0.
求多项式的值时,首先计算最内层括号内一 次多项式的值,即 v1=anx+an-1, 然后由内向外逐层计算一次多项式的值,即 v2=v1x+an-2, v3=v2x+an-3, ……, vn=vn-1x+a0. 这样,求n次多项式f(x)的值就转化为求n个 一次多项式的值.这种算法称为秦九韶算法.
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
v5=v4x+7=534×5+7=2677
所以,当x=5时,多项式的值是2677.

1.3.2算法案例2

1.3.2算法案例2

要求多项式的值,应该先算最内层的一次多项式 的值,即 v 1 a n x an 1 然后,由内到外逐层计算一次多项式的值,即
v 2 v1 x an 2 v 3 v 2 x an 3
最后的一 项是什么?

vn vn1 x a0
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法.
所以,当x = 5时,0、a1、a2、a3、a4、a5 输入x0 n=0 v=a5 v= v· 0+a5-n x
n=n+1
n < 5? 否 输出v 结束
秦九韶算法检验

练习、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1
f ( x) an x n an1 x n1 a1 x a0
对该多项式按下面的方式进行改写:
f ( x) an x n an1 x n1 a1 x a0
(an x n1 an1 x n2 a1 ) x a0
这是怎样的 一种改写方 式?最后的 结果是什么?
算法步骤:
第一步:输入多项式次数n、最高次项的系数an和x 的值. 第二步:将v的值初始化为an,将i的值初始化为n-1. 第三步:判断i是否大于或等于0,若是,则返回第
四步;否则,转第六步
第四步:输入i次项的系数ai 第五步:v=vx+ai, i=i-1 第六步:输出多项式的值v。
程序框图:
开始
v1 5 5 2 27 v2 27 5 3.5 138.5 v 3 138.5 5 2.6 689.9 v4 689.9 5 1.7 3451.2 v5 3451.2 5 0.8 17255.2

1.3.2 算法案例---秦九韶算法

1.3.2   算法案例---秦九韶算法

1.3.2 算法案例---秦九韶算法一、教学要求:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数、提高计算效率的实质;理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用.二、教学过程:[复习准备]1. 分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.2. 设计一个求多项式5432()254367f x x x x x x =--+-+当5x =时的值的算法. (学生自己提出一般的解决方案:将5x =代入多项式进行计算即可)提问:上述算法在计算时共用了多少次乘法运算?多少次加法运算?此方案有何优缺点?(上述算法一共做了5+4+3+2+1=15次乘法运算,5次加法运算. 优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)[讲授新课]1. 教学秦九韶算法:① 提问:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算) ② 结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.③ 更有效的一种算法是:将多项式变形为 5432()254367((((25)4)3)6)7f x x x x x x x x x x x =--+-+=--+-+,依次计算 2555⨯-=,55421⨯-=,2153108⨯+=,10856534⨯-=,534572677⨯+=故(5)2677f =.――这种算法就是“秦九韶算法”. (注意变形,强调格式)④ 练习:用秦九韶算法求多项式432()2351f x x x x x =+-++当4x =时的值.(学生板书→师生共评→教师提问:上述算法共需多少次乘法运算?多少次加法运算?)⑤ 如何用秦九韶算法完成一般多项式1110()n n n n f x a x a xa 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 -=+.⑥ 结论:秦九韶算法将求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 --=⎧⎨=+=⎩. 这是一个反复执行的步骤,因此可用循环结构来实现.试画出程序框图,并设计出程序;程序框图: 程序设计:⑦ 练习:用秦九韶算法求多项式5432()52 3.5 2.6 1.70.8f x x x x x x =++-+-当5x =时的值并画出程序框图.[小结] 秦九韶算法的特点及其程序设计三、巩固练习:1、练习:教材P45第2题 2、作业:教材P48第2题。

1.3.2秦九邵算法

1.3.2秦九邵算法

[答案]
B
练习 4. 已知 f(x)=3x +2x +4x+2,利用秦九韶算法求 f(-2)的值.
4
2
[错解] f(x)=((3x2+2)x+4)x+2, V0= 3 v1=3×(-2)2+2=14; v2=14×(-2)+4=-24; v3=-24×(-2)+2=50. 故f(-2)=50.
[错因分析] 所求 f(-2)的值是正确的,但是错解中没有 抓住秦九韶算法原理的关键,正确改写多项式,并使每一次 计算只含有一次项.
作业: P45练习:2. P48习题1.3A组:2.
变式:已知一个5次多项式为 5 3 f (x ) = 5x + 3.5x + 1.7x - 0.8 用秦九韶算法 求当x=5时,V1,V3的值及求f(5)的值做多 少次乘法运算.
v1=5×5+0=25; v2=25×5+3.5=128.5; v3=128.5×5+0=642.5; v4=642.5×5+1.7=3214.2; v5=3214.2×5-0.8=16070.8.
算法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
共做了4次乘法运算,5次加法运算。
第一步,输入a,k和n的值. 第二步,令b=0,i=1.
第三步, b = b + ai ? k
i- 1
பைடு நூலகம்
,i=i+1.

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

=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
算法1:
因为f(x) =x5+x4+x3+x2+x+1 所以f(5)=55+54+53+52+5+1
2、已知多项式f(x)=2x4-x3-2x2+3x-6 用秦九韶算法求这个多项式当x=2时的值。
此课件下载可自行编辑修改,仅供参考! 感谢您的支持,我们努力做得更好!谢谢
N
输出v
结束
i=i-1 v=vx+ai 输入ai
Y
程序
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
练习: 1、已知多项式f(x)=x5+2x4+x3-3x2+5x+1 用秦九韶算法求这个多项式当x=2时的值。
吗f?(x )a nxna n 1xn 1a 1xa 0
( (a nxa n 1)xa n 2)xa 1)xa 0
v v
0 k
an vk1 x
ank
算法步骤
(k 1, 2, , n)
第一步:输入多项式次数n、最高次项的系数an和x的值
第二步:将v的值初始化为an,将i的值初始化为n-1
第三步:输入i次项的系数ai
第四步:v=vx+ai,i=i-1. 第五步:判断i是否大于或等于 0,若是,则返回第三步;否则,输出 多项式的值v.
开始 输入n,an,x的值
v=an
i=n-1
i≥0?
N
输出v
结束
i=i-1 v=vx+ai 输入ai
Y
开始 输入n,an,x的值
v=an
i=n-1
i≥0?
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法。
秦九韶算法的特点:
通过一次式的反复计算,逐步得出高次多项式的 值,对于一个n次多项式,只需做n次乘法和n次 加法即可。
例: 已知一个五次多项式为
f( x ) 5 x 5 2 x 4 3 .5 x 3 2 .6 x 2 1 .7 x 0 .8
f ( x ) ( ( a n x a n 1 ) x a n 2 ) x a 1 ) x a 0
要求多项式的值,应该先算最内层的一次多项式的值,即
v1anxan1
然后,由内到外逐层计算一次多项式的值,即
v2v1xan2 v3v2xan3
最后的一 项是什么?vnv来自1xa0第三步:输入i次项的系数ai
v1anxan1
第四步:v=vx+ai,i=i-1. 第五步:判断i是否大于或等于0,若是,
则返回第三步;否则,输出多项式的值v.
v2v1xan2
v 3 v2xan3
vnvn1xa0
程序框图
第一步:输入多项式次数n、最 高次项的系数an和x的值
第二步:将v的值初始化为an, 将i的值初始化为n-1
(a n x n 1 a n 1 x n 2 a 1 )x a 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
共做了4次乘法运算,5次加法运算。
《数书九章》——秦九韶算法
设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
这是怎样的 一种改写方 式?最后的 结果是什么?
所以,当x = 5时,多项式的值等于17255.2
另解:(秦九韶算法的另一种直观算法) 多项式的系数
+
X5
5 2 3.5 -2.6 1.7 -0.8 0 25 135 692.5 3449.5 17256 5 27 138.5 689.9 3451.2 17255.2
多项式的值
思考:你能设计程序把“秦九韶算法”表示出来
1.3.2算法案例(秦九韶算法)
计算多项式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
算法2:
= 3906
f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1 = 3906
共做了1+2+3+4=10次乘法运算,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
用秦九韶算法求这个多项式当x = 5的值。 解:将多项式变形:
f ( x ) (5 x ( 2 ) ( x 3 ( . 5 ) x 2 . 6 ) x 1 . 7 ) x 0 . 8
按由里到外的顺序,依此计算一次多项式当x = 5时的值:
v0 5 v155227 v22 753.513 .58 v313 .5 8 52.668 .99 v468 .9 9 51.734.251 v534.25 51 0.817.2 255
相关文档
最新文档