高一数学必修3导学案 主备人: 备课时间: 备课组长:
1.3.2算法案例 秦九韶算法
授课日期: 姓名: 班级:
学习目标
知识与技能:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。
过程与方法:模仿秦九韶计算方法,体会古人计算构思的巧妙。了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用。
情态与价值:通过对秦九韶算法的学习,了解中国古代数学家对数学的贡献,充分认识到我国文化历史的悠久。
学习重难点
重点:秦九韶算法的特点步骤难点:秦九韶算法的先进性理解
使用说明及学法指导:
1、先阅读教材37—39页认真思考, 探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。2、、把学案中自己易忘、易出错的知识点和疑难问题以及解题方法规律,及时整理在解题本,多复习记忆。3、A:自主学习;B:合作探究;C:能力提升
4、小班、重点班完成全部,平行班至少完成A.B类题。平行班的A级学生完成80%以上B完成70%~80%C力争完成60%以上。
知识链接
1、求两个数的最大公约数的两种方法分别是( )和( )。
2、两个数21672,8127的最大公约数是 ( )
A、2709 B、2606 C、2703 D、2706
学习过程
A问题1.计算一下多项式当时的值,并统计所做的计算的种类及计算次数。
算法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×(52+5 +1) +1 ) +1 ) +1
可以得出仅需 次乘法和 次加法运算即可得出结果。显然少了6次乘法运算。这种算法就叫秦九韶算法。
B问题2.秦九韶计算多项式的方法
秦九韶算法的特点:
B例1 已知一个5次多项式为用秦九韶算法求这个多项式当时的值。
B问题3:(1)例1计算时需要多少次乘法计算?多少次加法计算?
(2)在利用秦九韶算法计算n次多项式当时需要多少次乘法计算和多少次加法计算?
C问题4:你能设计程序把“秦九韶算法”表示出来吗?
达标测试:
B1、已知多项式f(x)=x5+5x4+10x3+10x2+5x+1用秦九韶算法求这个多项式当x=-2时的值。
B2、已知多项式f(x)=2x4-6x3-5x2+4x-6用秦九韶算法求这个多项式当x=5时的值。
课堂小结及评价:
1、秦九韶算法的方法和步骤 2、秦九韶算法的程序框图
学后反思
08:算法案例 秦九韶算法
知识链接:1, 辗转相除法; 更相减损术.2,A,
21672=8127*2+5418 8127=5418*1+2709 5418=2709*2
问题1算法1:因为f(x) =x5+x4+x3+x2+x+1
所以f(5)=55+54+53+52+5+1
=3125+625+125+25+5+1
= 3906
根据我们的计算统计可以得出我们共需要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×(52+5 +1) +1 ) +1 ) +1
可以得出仅需4次乘法和5次加法运算即可得出结果。显然少了6次乘法运算。这种算法就叫秦九韶算法。
问题2:秦九韶算法的特点:
通过一次式的反复计算,逐步得出高次多项式的值,对于一个n次多项式,只需做n次乘法和n次加法即可。
例1: 解:将多项式变形:
按由里到外的顺序,依此计算一次多项式当x = 5时的值:
所以,当x = 5时,多项式的值等于17255.2
问题3: 5次乘法,5次加法;n次乘法和n次加法。
问题4: 算法分析:观察上述秦九韵算法中的n个一次式,可见vk的计算要用到vk-1的值。
若令v0=an,我们可以得到下面的公式:
这是一个在秦九韶算法中反复执行的步骤,因此可用循环结构来实现。
(1)、算法步骤:
第一步:输入多项式次数n、最高次项的系数an和x的值.
第二步:将v的值初始化为an,将i的值初始化为n-1.
第三步:输入i次项的系数ai.
第四步:v=vx+ai, i=i-1.
第五步:判断i是否大于或等于0,若是,则返回第三步;否则,输出多项式的值v。
程序:
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, -1; 2, 389