最新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.3.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 = 3906 算法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
作业:
课本P45页练习T2; P48页A组T2.
《数书九章》——秦九韶算法 设 f (x) 是一个n次的多项式
f ( x) an x an 1 x
n n 1
a1 x a0
对该多项式按下面的方式进行改写:
f ( x) an x an 1 x
n n 1
a1 x a0 a1 ) x a0 a2 ) x a1 ) x a0
要求多项式的值,应该先算最内层的一次多项式的值,即
v1 an x an 1
然后,由内到外逐层计算一次多项式的值,即
v2 v1 x an 2 v3 v2 x an 3
最后的一项 是什么?

vn vn 1 x a0
这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的 方法,称为秦九韶算法。
例1:用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7的系数
x=5
2
-5 10 5

福建省永安第十二中学高中数学人教B版必修三:1.3.2秦九韶算法 (教案)

福建省永安第十二中学高中数学人教B版必修三:1.3.2秦九韶算法 (教案)

《秦九韶算法》教案永安十二中 罗上尧 .11.25(星期五)课题秦九韶算法 课型新授课授课班级 高二( )班教学目标知识与技能目标:1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质.2.能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序.过程与方法目标:模仿秦九韶计算方法,体会古人计算构思的巧妙.情感、态度、价值观目标:通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久.重点:秦九韶算法的特点,对秦九韶算法的先进性理解. 教学资源: PPT难点:秦九韶算法思想的理解及用循环结构表示算法步骤.教学互动内容设计意图 一、创设情景,揭示课题 1.秦九韶人物简介2.问题是数学的心脏,带着问题思考数学的智慧 二、新课探究知识探究(一):秦九韶算法的基本思想思考1:怎样求多项式1)(2345+++++=x x x x x x f 当5=x 时的值呢? 算法1:将5=x 代入1)(2345+++++=x x x x x x f计算得(5)3906f =,并统计所做的计算的种类及计算次数。

(共需要10次乘法运算,5次加法运算)算法2:在计算x 的幂值时,可以利用前面的计算结果,以减少计算量,即先计算2x ,然后依次计算2x x ⋅,2()x x x ⋅⋅,2(())x x x x ⋅⋅⋅的值,这样计算上述多项式的值,一共需要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长了解数学史及中国古代数学对世界数学的贡献,激发学生的爱国主义情怀.通过学生的操作认识算法1的算法种类和计算次数.帮助学生建立改进算法,提高计算效率的意识.得多,因此第二种做法能更快地得到结果.算法3:我们把多项式变形为:()((((1)1)1)1)1f x x x x x x =+++++再统计一下计算当5=x 时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。

1.3算法案例2

1.3算法案例2

第三步,计算v3=v2x+an-3. vk=vk-1x+an-k N次乘法,若各项均不为 … 零,则需n次加法,缺一 ,2,„,n) 项就减少一次加法运算。 第n步,计算vn=vn-1x+a0. (k=1 上述方法称为秦九韶算法.
秦九韶算法
例1.已知一个5次多项式为
f x 4x 2x 3.5x 2.6x 1.7 x 0.8
秦九韶算法
练习:阅读下列程序,说明它解决的实际问题是什么?
INPUT “x=”;a n=0 y=0 WHLE n<5 y=y+(n+1)*a∧n n=n+1 WEND PRINT y END
4 3 2 f x 5 x 4 x 3 x 2 x 1 在x=a时的值. 求8 习题1.3 A组:2.
v=an i=n-1 i=i-1 v=vx+ai 输入ai i≥0? 否 是 输出v 结束
秦九韶算法
课堂小结 1.秦九韶算法计算多项式的值及程序设计. 2.计算机的一个很重要的特点就是运算速度快, 但评价算法好坏的一个重要标志是运算的次数,如 果一个算法从理论上需要超出计算机允许范围内的 运算次数,那么这样的算法就只能是一个理论算法. 在多项式求值的各种算法中,秦九韶算法是一个优 秀算法.
秦九韶算法
思考4:对于f(x)=(„((anx+an-1)x+ an-2)x+„+a1)x+a0, 由内向外逐层计算一次多项式的值,其算法步骤如何?
第一步,计算v1=anx+an-1.
第二步,计算v2=v1x+an-2.
思考 6: 5:在秦九韶算法 中 , 对v n0次 多 项式, 中,记 =an ,那么第 共进行 ____ 次乘法运 k步的算式是什么? 算, ____ 次加法运算。

《1.3.2辗转相除法与更相减损术、秦九韶算法》导学案

《1.3.2辗转相除法与更相减损术、秦九韶算法》导学案

《1.3.1辗转相除法与更相减损术、秦九韶算法》导学案【学习目标】1.理解辗转相除法与更相减损术的含义,了解其执行过程,并会求最大公约数.2.掌握秦九韶算法的计算过程,了解它提高计算效率的实质,并会求多项式的值.3.进一步体会算法的基本思想.【学习重点】算法步骤及程序框图和算法程序课前预习案【知识链接】1.36与60的最大公约数是多少?你是如何得到的?2.观察下列等式8251=6105×1+2146,那么8251与6105这两个数的公约数和6105与2146的公约数有什么关系?【知识梳理】1.辗转相除法(1)辗转相除法.①算法步骤:②程序框图如图所示.③程序:2、更相减损术问题:设两个正整数m>n(m>n),若m-n=k,则m与n的最大公约数和n与k的最大公约数相等,反复利用这个原理,可求得98与63的最大公约数是多少?算法分析:3.秦九韶算法(1)概念:求多项式f(x)=a n x n+a n-1x n-1+…+a1x+a0的值时,常用秦九韶算法,这种算法的运算次数较少,是多项式求值比较先进的算法,其实质是转化为求n个____多项式的值,共进行__次乘法运算和__次加法运算.其过程是:(2)算法步骤:(3)程序框图如图所示.(4)程序:自主小测1、用更相减损术求294和84的最大公约数时,第一步是__________.2、设计程序框图,用秦九韶算法求多项式的值,所选用的结构是( )A.顺序结构B.条件结构C.循环结构D.以上都有3.用更相减损术可求得78与36的最大公约数是( )A.24B.18C.12D.6课上导学案教师点拨:更相减损术与辗转相除法的区别与联系如表所示.【例题1】 (1)用辗转相除法求8251与6105的最大公约数;(2)用更相减损术求98与63的最大公约数.分析:本题是关于辗转相除法和更相减损术的直接应用.辗转相除法的操作是较大的数除以较小的数;更相减损术的操作是以大数减小数.反思:(1)利用辗转相除法求最大公约数时经常会取错最后一个余数.因为辗转相除法有有限个除法式子,而最后一个余数在倒数第二个式子的最后.(2)利用更相减损术求解最大公约数时,最大公约数是直到差等于减数时的那个差,或是该差与约简的数的乘积.【例题2】用秦九韶算法求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值.【当堂检测】1.用秦九韶算法计算f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值,需要进行乘法运算和加法运算的次数分别为( )A.6,6B.5,6C.6,5D.6,122.利用辗转相除法求3869与6497的最大公约数时,第二步是________.3.用秦九韶算法求多项式f(x)=x5+5x4+10x3+10x2+5x+1在x=-2时的值为________.4.用辗转相除法求242与154的最大公约数.【问题与收获】【知识链接】1、【提示】先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来即为最大公约数.由于,故36与60的最大公约数为2×2×3=12.2、【提示】8251的最大约数是2146的约数,同样6105与2146的公约数也是8251的约数,故8251与6105的最大公约数也是6105与2146的最大公约数.自主小测答案:1、用2约简由于294和84都是偶数,先用2约简.2、D3.D先用2约简得39,18;然后辗转相减得39-18=21,21-18=3,18-3=15,15-3=12,12-3=9,9-3=6,6-3=3.所以所求的最大公约数为3×2=6.当堂检测答案:1.A改写多项式f(x)=(((((3x+4)x+5)x+6)x+7)x+8)x+1,则需进行6次乘法和6次加法运算.2.3869=2628×1+1241第一步:6497=3869×1+2628,第二步:3869=2628×1+1241.3.-1改写多项式为f(x)=((((x+5)x+10)x+10)x+5)x+1,当x=-2时,v0=1;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;故f(-2)=-1.4.解:242=154×1+88,154=88×1+66,88=66×1+22,66=22×3.所以242与154的最大公约数是22.。

§1.3.2秦九韶算法导案

§1.3.2秦九韶算法导案
武威十六中教学导学案教案
学科 主备课人 使用教师 课 题 学习 目标 重 点 难 点 教学 方法 一、情境引入 秦九韶(1208 年-1261 年) ,南宋官员、数学家,与李冶、杨辉、朱世杰 并称宋元数学四大家。字道古,汉族,生于普州安岳(今四川省安岳县) 。精研 星象、音律、算术、诗词、弓剑、营造之学,历任琼州知府、司农丞,后遭贬, 卒于梅州任所,1247 年完成著作《数书九章》 ,其中的大衍求一术(一次同余方 程组问题的解法,也就是现在所称的中国剩余定理) 、三斜求积术和秦九韶算法 (高次方程正根的数值求法)是有世界意义的重要贡献,表述的一种求解一元高 次多项式方程的数值解的算法-正负开方术,即开高次方和解高次方程,领先英 国霍纳(1819 年)五百余年。 本节课我们将学习秦九韶算法。直到今天,这种算法仍是多项式求值比较先 进的算法 二、师生互动、探究新知 1.秦九韶算法的基本思想
f ( x) a n x n a n 1 x n 1 a n 2 x n 2 a1 x a 0 (a n x n 1 a n 1 x n 2 a n 2 x n 3 a1 ) x a 0 (( a n x n 2 a n 1 x n 3 a 2 ) x a1 ) x a 0 ( (( a n x a n 1 ) x a n 2 ) x a1 ) a 0
f(x)=3x 3 +2x 2 +x+4,则 f(10)等于( ) 3214 B 3210 C 2214 D 90
3. 多项式 f(x)=10x 9 +21x 8 +5x 7 +4x 6 +3x 4 +2x 3 +3x 2 +x+1,则 f(5)等于( ) A 28079706 B 28089706 C 28179706 D 28189706

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

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

思考5:上述求多项式 思考5:上述求多项式 5: f(x)=anxn+an-1xn-1+…+a1x+a0的值的方法 称为秦九韶算法 利用该算法求f(x 秦九韶算法, 称为秦九韶算法,利用该算法求f(x0)的 一共需要多少次乘法运算, 值,一共需要多少次乘法运算,多少次 加法运算? 加法运算? n次乘法运算, n次加法运算 次乘法运算, 次加法运算 次乘法运算 思考6:在秦九韶算法中, 6:在秦九韶算法中 思考6:在秦九韶算法中,记v0=an,那么 步的算式是什么? 第k步的算式是什么? (k=1, vk=vk-1x+an-k (k=1,2,…,n)
思考4:对于f(x)=(…((a 思考4:对于f(x)=(…((anx+an-1)x+ 4:对于 an-2)x+…+a1)x+a0,由内向外逐层计算 一次多项式的值,其算法步骤如何? 一次多项式的值,其算法步骤如何? 第一步,计算v 第一步,计算v1=anx+an-1. 第二步,计算v 第二步,计算v2=v1x+an-2. 第三步,计算v 第三步,计算v3=v2x+an-3. … 第n步,计算vn=vn-1x+a0. 计算v
第二种做法与第一种做法相比,乘法的运算次数 第二种做法与第一种做法相比 乘法的运算次数 减少了,因而能提高运算效率 而且对于计算机来说,做 因而能提高运算效率.而且对于计算机来说 减少了 因而能提高运算效率 而且对于计算机来说 做 一次乘法所需的运算时间比做一次加法要长得多,因此 一次乘法所需的运算时间比做一次加法要长得多 因此 第二种做法能更快地得到结果. 第二种做法能更快地得到结果
知识探究( 知识探究(一):秦九韶算法的基本思想

高中数学人教版必修三《1.3.2秦九韶算法》课件

高中数学人教版必修三《1.3.2秦九韶算法》课件

= 3906 10次的乘法运算,5次的加法运算 4次的乘法运算,5次的加法运算
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(5)=55+54+53+52+5+1
• 五级
=5x5x5x5x5+5x5x5x5+5x5x5+5x5+5+1
=3125+625+125+25+5+1
= 3906
2023/9/16
4
单击此处编辑母版标题样式
算法二:先运算x2的值,然后顺次运算
• 单击此处编辑x2母·x、版(文本x2样·x)式·x、( ( x2·x)·x)·x 的值
2023/9/16
2
单击此处编辑母版标题样式
案例2、秦九韶算法
• 单击此秦处九编韶辑算母法版是文求本一样元式多项式的值的一种方法。
• 二级
•怎三样•级四求级多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢? 算法一• 五:级把5代入,运算各项的值,然后把它们加起来。
算法二:先运算x2的值,然后顺次运算x2·x、
• 单击此处课编堂辑母小版结文本:样式
• 二•级三级1、秦九韶算法的方法和步骤 • 2四、级• 五秦级九韶算法的流程图及程序
2023/9/16
14
单击此处编辑母版标题样式
• 单击此处编辑母版文本样式
• 二1级.3.2 • 三级 谢谢大家 • 四级 • 五级
人教版 高中数学

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.。

  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
相关文档
最新文档