课题:§1.3 秦九韶算法
一.教学任务分析:
(1)在理解了算法的三种不同表示方式的基础上,结合算法案例2----秦九韶算法,让学生经历设计算法解决问题的过程,体验算法在解决问题中的作用.
(2)通过对具体实例的算法分析,画程序框图,编制程序,上机验证的方法理解掌握秦九韶算法.
(3)通过秦九韶算法所蕴涵的算法思想,培养学生利用算法解决问题的意识. 提高逻辑思维能力.发展有条理的思考与数学表达的能力.
二.教学重点与难点:
教学重点:理解秦九韶算法求一元多项式的值的方法.
教学难点:把秦九韶算法的方法转换成程序框图与程序语言.
↓
↓
↓
↓
1.创设情景,揭示课题
我们在初中已经学过了多项式的有关知识,主要解决求多项式的值,那里是把多项式看作代数式,在这里我们用函数的观点考察多项式.因此,求自变量取某个实数时的函数值问题,即求多项式的值.那么:
5432怎样求多项式f(x)xxxxx1,当x5时的值?
教师引导学生交流讨论解决,归纳学生的解法,对解法的运算效率进行比较分析. 通过统计乘法和加法的运算次数来衡量算法的“好坏”
作法1:把x=5代入f(x),计算各项的值,然后把它们加起来.
一共作了1+2+3+4=10次乘法运算,5次加法运算.
作法2:先计算x,然后依次计算x2x,(x2x)x,((x2x)x)x的值,这样每次都可以利用上一次的计算结果, 即多项式变形为f(x)x2(1x(1x(1x)))x1
一共作了4次乘法运算,5次加法运算.
显然作法2比作法1少了6次乘法运算,提高了运算效率.这种算法就叫秦九韶算法.
2.秦九韶算法
(1)秦九韶 :(公元1202-1261年)南宋,数学家。他在1247年(淳佑七年)著成『数书九章』十八卷.全书共81道题,分为九大类:大衍类、天时类、田域类、测望类、赋役类、钱谷类、营建类、军旅类、市易类。这是一部划时代的巨著,它总结了前人在开方中所使用的列筹方法,将其整齐而有系统地应用到高次方程的有理或无理根的求解上去,其中对「大衍求一术」﹝一次同余组解法)和「正负开方术」﹝高次方程的数值解法)等有十分深入的研究.
(2) 秦九韶算法 2
f(x)anxnan1xn1an2xn2a1xa0
(anxn1an1xn2an2xn3a1)xa0
((anxn2an1xn3a2)xa1)xa0
(((anxan1)xan2)xa1)a0
求多项式在x=x0时的值时,按照从内到外的顺序,依次计算一次多项式当x=x0的值.
v0x0
v1anx0an1
v2v1x0an2
v3v2x0an3
vnvn1x0a0
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值。上述方法就是秦九韶算法.
3. 秦九韶算法举例
例1 :已知一个5次多项式为f(x)5x52x43.5x32.6x21.7x0.8
用秦九韶算法求这个多项式当x5时的值.
解:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8
按照从内到外的顺序,依次计算一次多项式当x=5的值.
v05
v155227
v22753.5138.5
v3138.552.6689.9
v4689.951.73451.2
v53451.250.817255.2
所以, 当x5时,多项式的值是17255.2.
思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?
(2)在利用秦九韶算法计算n次多项式当xx0时需要多少次乘法计算和多少次加法计算?(要考虑最高次数的系数和项是否缺少某次项,这里1×2=2,1+0=0,可否算作做了一次乘法和一次加法运算?)
4. 秦九韶算法分析
例2 设计利用秦九韶算法计算n多项式
f(x)anxnan1xn1a1xa0,xx0时的值的程序框图.
解:观察上述例题的算法,在计算vk时要用到vk1.若令v0an,
v0an vkvk1xank(k1,2,,n)
其算法步骤是:
第一步:输入多项式最高次数n,最高次数的系数an和x的值.
第二步:将v的值初始化为an,将i的值初始化为n-1.
第三步:输入i次项的系数ai.
第四步:v=vx+ai,i=i-1.
第五步:判断i是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v. 程序框图如下:
程序语言
5.课堂练习:
(1)用秦九韶算法求多项式:f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x.
当x=3时的值.
(2) 设计利用秦九韶算法计算5次多项式: f(x)a5x5a4x4a3x3a2x2a1xa0
当xx0时的值的程序框图.
解:程序框图如下:
6.课后作业:
P15-16.
课题:§1.3 秦九韶算法
一.教学任务分析:
(1)在理解了算法的三种不同表示方式的基础上,结合算法案例2----秦九韶算法,让学生经历设计算法解决问题的过程,体验算法在解决问题中的作用.
(2)通过对具体实例的算法分析,画程序框图,编制程序,上机验证的方法理解掌握秦九韶算法.
(3)通过秦九韶算法所蕴涵的算法思想,培养学生利用算法解决问题的意识. 提高逻辑思维能力.发展有条理的思考与数学表达的能力.
二.教学重点与难点:
教学重点:理解秦九韶算法求一元多项式的值的方法.
教学难点:把秦九韶算法的方法转换成程序框图与程序语言.
↓
↓
↓
↓
1.创设情景,揭示课题
我们在初中已经学过了多项式的有关知识,主要解决求多项式的值,那里是把多项式看作代数式,在这里我们用函数的观点考察多项式.因此,求自变量取某个实数时的函数值问题,即求多项式的值.那么:
5432怎样求多项式f(x)xxxxx1,当x5时的值?
教师引导学生交流讨论解决,归纳学生的解法,对解法的运算效率进行比较分析. 通过统计乘法和加法的运算次数来衡量算法的“好坏”
作法1:把x=5代入f(x),计算各项的值,然后把它们加起来.
一共作了1+2+3+4=10次乘法运算,5次加法运算.
作法2:先计算x,然后依次计算x2x,(x2x)x,((x2x)x)x的值,这样每次都可以利用上一次的计算结果, 即多项式变形为f(x)x2(1x(1x(1x)))x1
一共作了4次乘法运算,5次加法运算.
显然作法2比作法1少了6次乘法运算,提高了运算效率.这种算法就叫秦九韶算法.
2.秦九韶算法
(1)秦九韶 :(公元1202-1261年)南宋,数学家。他在1247年(淳佑七年)著成『数书九章』十八卷.全书共81道题,分为九大类:大衍类、天时类、田域类、测望类、赋役类、钱谷类、营建类、军旅类、市易类。这是一部划时代的巨著,它总结了前人在开方中所使用的列筹方法,将其整齐而有系统地应用到高次方程的有理或无理根的求解上去,其中对「大衍求一术」﹝一次同余组解法)和「正负开方术」﹝高次方程的数值解法)等有十分深入的研究.
(2) 秦九韶算法 2
f(x)anxnan1xn1an2xn2a1xa0
(anxn1an1xn2an2xn3a1)xa0
((anxn2an1xn3a2)xa1)xa0
(((anxan1)xan2)xa1)a0
求多项式在x=x0时的值时,按照从内到外的顺序,依次计算一次多项式当x=x0的值.
v0x0
v1anx0an1
v2v1x0an2
v3v2x0an3
vnvn1x0a0
这样,求n次多项式f(x)的值就转化为求n个一次多项式的值。上述方法就是秦九韶算法.
3. 秦九韶算法举例
例1 :已知一个5次多项式为f(x)5x52x43.5x32.6x21.7x0.8
用秦九韶算法求这个多项式当x5时的值.
解:f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8
按照从内到外的顺序,依次计算一次多项式当x=5的值.
v05
v155227
v22753.5138.5
v3138.552.6689.9
v4689.951.73451.2
v53451.250.817255.2
所以, 当x5时,多项式的值是17255.2.
思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?
(2)在利用秦九韶算法计算n次多项式当xx0时需要多少次乘法计算和多少次加法计算?(要考虑最高次数的系数和项是否缺少某次项,这里1×2=2,1+0=0,可否算作做了一次乘法和一次加法运算?)
4. 秦九韶算法分析
例2 设计利用秦九韶算法计算n多项式
f(x)anxnan1xn1a1xa0,xx0时的值的程序框图.
解:观察上述例题的算法,在计算vk时要用到vk1.若令v0an,
v0an vkvk1xank(k1,2,,n)
其算法步骤是:
第一步:输入多项式最高次数n,最高次数的系数an和x的值.
第二步:将v的值初始化为an,将i的值初始化为n-1.
第三步:输入i次项的系数ai.
第四步:v=vx+ai,i=i-1.
第五步:判断i是否大于或等于0.若是,则返回第三步;否则,输出多项式的值v. 程序框图如下:
程序语言
5.课堂练习:
(1)用秦九韶算法求多项式:f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x.
当x=3时的值.
(2) 设计利用秦九韶算法计算5次多项式: f(x)a5x5a4x4a3x3a2x2a1xa0
当xx0时的值的程序框图.
解:程序框图如下:
6.课后作业:
P15-16.