1.3中国古代数学中的算法案例
秦九韶算法
教学目标:
知识与技能:了解秦九韶算法的计算方法和步骤,了解秦九韶算法的程序框图。
过程与方法:改变解决问题的思路,要将抽象的数学思维转变为具体的步骤化的思维方法,提高逻辑思维能力。
情感态度与价值观:体会中国古代数学对世界数学发展的贡献,增强爱国主义情怀。
教学重点:秦九韶算法的计算方法和步骤。
教学难点:体会秦九韶算法案例中蕴含的算法思想,利用它解决具体问题。
授课类型:新授课
课时安排:1课时
教 具:多媒体、电子白板
教学基本流程 :改进算法,提高运算效率
介绍秦九韶算法,求一般多项式的值
用循环结构表示秦九韶算法的关键步骤
对秦九韶算法和算法本身的特点进行小结
教学方法:“再创造”活动学习、小组合作学习
教学过程 (秦九韶计算多项式的方法)
一、教学引入:人物介绍——秦九韶
秦九韶(1208年-1261年)南宋官员、数学家,与李冶、杨辉、朱世杰并称宋元数学四大家。字道古,汉族,自称鲁郡(今山东)人,生于普州安岳(今属四川)。精研星象、音律、算术、诗词、弓剑、营造之学,历任琼州知府、司农丞,后遭贬,不久死于梅州任所,著作《数书九章》,其中的大衍求一术、三斜求积术和秦九韶算法是具有世界意义的重要贡献。
二、新课探究:
思考1:怎样求多项式f(x)=2x3- 4x2+3x+1 ,当x=2时的值呢?
(设计意图:通过具体的例子引入秦九韶算法.)
算法1: f(2)=2*23- 4*22+3*2+1
f(2)=2*2*2*2-4*2*2+3*2+1
问:算法中共用了多少次乘法?多少次加法?
结论:3+2+1=6次乘法运算,3次加法运算
算法2:f(x)=2x3- 4x2+3x+1
步骤:1、提公因式x,改写为:f(x)=( (2x-4)x+3)x+1
2、从内向外逐层计算,先计算2x-4=2*2-4=0,再计算0*x+3=3,再计算3*x+1=7
问:算法中共用了多少次乘法?多少次加法?
结论:共做了3次乘法运算,3次加法运算。
通过具体实例引出--如何用秦九韶算法完成一般多项式的求值问题?
1、《数书九章》——秦九韶算法
设f(x)是一元n 次的多项式,f(x)=anxn+an-1xn-1+...+a1x+a0
首先多项式改写为:f(x)=anxn+an-1xn-1+...+a1x+a0
f(x)=(…(anx+an-1)x+an-2)x+…+a1)x+a0
先算最内层的一次多项式的值,即v1=anx+an-1
然后,由内到外逐层计算一次多项式的值,即
V2=v1x+an-2
…
Vn=vn-1x+a0
提问:共计算多少次乘法,多少次加法?
结论:共计算n次乘法,n次加法
定义:这种将求一个n次多项式f(x)的值转化成求n个一次多项式的值的方法,称为秦九韶算法。
比较:一元n次多项式 f(x)=anxn+an-1xn-1+...+a1x+a0 直接计算需要多少次乘法,多少次加法?
n+(n-1)+(n-2)+...+2+1=(n+1)n/2 次乘法
n次加法
秦九韶算法的优点:
大大减少了乘法的计算次数,提高计算效率.
递推公式:v0=an
vk=vk-1x+an-k(k=1,2,…,n)
这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。
思考2:该算法的程序框图如何表示?
2、程序框图:
三、理论迁移:
例1:已知多项式f(x)=3x4+2x2+4x+2,用秦九韶算法求f(-2)的值及V1,V3的值。
解:
补全 f(x)=3x4+0x3+2x2+4x+2
改写成 f(x)=((( 3x+0 ) x+2) x+4) x+2
V1=3*(-2)+0=-6
V2=-6*(-2)+2=14
V3=14*(-2)+4=-24
V4=-24*(-2)+2=50
所以v1=-6,v3=-24,f(-2)=50
提问:共用了多少次乘法,多少次加法?
结论:4次乘法,3次加法
注意:n次多项式有n+1项,因此缺少哪一项应将其系数补0.
四、巩固练习:
练习1:已知多项式f(x)=3x4+2x3-5x2-5x+1当用秦九韶算法求这个多项式当x=-1时的值,并统计需要多少次乘法计算和多少次加法计算?
2.用秦九韶算法计算多项式f(x)=3x6+4x5+5x4+6x3+7x2+8x+1当x=0.4时的值时,需要做乘法和加法的次数分别是( )
A.6,6 B.5,6 C.5,5 D.6,5
3.(2010·山东模拟)利用秦九韶算法计算函数f(x)=x+2x2+3x3+4x4+5x5的值时,需要做加法 乘法的次数分别为________ ________.
五、课堂小结:(提问方式)
1、秦九韶算法的方法和步骤
2、秦九韶算法的程序框图
六、课后作业:
1、P45 2
2、P48 2
3、课后练习