人教B版高中数学必修三《第一章 算法初步 1.3 中国古代数学中的算法案例》_6
- 格式:doc
- 大小:131.00 KB
- 文档页数:7
1.3 案例2 秦九韶算法
一、基本信息
教材:人教版,必修3第一章“算法初步”的第3节“算法案例”中的秦九韶算法.
二、教材分析
为解决一个问题而采取的方法和步骤,称为算法.算法是数学的重要组成部分,是计算机理论和技术的基础.随着现代信息技术的飞速发展,算法思想已经成为现代人应具备的一种数学素养,新课标已将算法列为高中数学的必修内容.秦九韶算法既能体现新课程、新理念、新课标,又可以结合旧知识,调动学生的积极性,培养学生的自主探索能力及学习兴趣.
三、学情分析
从学生的认知基础看,学生在已经学习了程序框图、算法语句的相关知识,积累了研究算法的基本方法与初步经验.学生的基础较好,能够在一节课中掌握框图和算法语句.
从学生的思维发展看,高二学生思维能力正在由形象经验型向抽象理论型转变,能够用假设、推理来思考和解决问题.但是,学生看待问题还是静止的、片面的,抽象概括能力比较薄弱,这对建构秦九韶算法中的循环结构有一定的困难.
四、教学目标
【知识与技能】
1、 了解秦九韶算法的计算过程.
2、 理解利用秦九韶算法可以减少计算次数提高计算效率的实质.
【过程与方法】
1、 模仿秦九韶计算方法,体会古人计算构思的巧妙.
2、 了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用.
【情感、态度与价值观】
1、通过对秦九韶算法的学习,了解中国古代数学对世界数学发展的贡献,充分认识到我国文化历史的悠久.
2、通过对秦九韶算法的广泛应用、丰富其联想的空间,懂得“来龙去脉”.
3、充分认识信息技术对数学的促进.
五、教学重点和难点
重点:理解秦九韶算法的思想.
难点:用循环结构表示算法步骤.
六、教学方法
学生探究、教师引导.
七、教学流程
求具体多项式的值
改进计算方法,提高运算效率
八、教学过程
1、逐渐渗透算法意识,为算法学习铺路
【思考1】求当5x 时,求多项式1)(2345xxxxxxf的值.
学生自己提出一般的解决方案:将5x代入多项式进行计算即可.
教师点评:上述算法一共做了10次乘法运算,5次加法运算,优点是简单,易懂.缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.
设计意图:使学生在自己操作的过程中体会求多项式值的一般思路方法.
【思考2】如果让计算机来做这件事情,那么有没有更高效的算法?(这里有一个知识,就是对于计算机而言,做一次乘法所需的运算时间比做一次加法要长得多,因此,这里所说的高效,具体是指,能否减少乘法的次数?)
教师引导学生分析、推理:如果有同学这样想:可以先计算2x的值,然后依次计算xx2,xxx)(2,xxxx))((2的值,这样每次都可以利用上一次计算的结果.这时,我们一共做了4次乘法运算,5次加法运算.
那么,老师可以不做点评,可以紧接着让学生来做:
例2、求多项式54232)(2345xxxxxxf当2x时的值?
分析:如果还按照刚才的说法的话,有同学会很自然想到这样来处理:
先计算2x,然后再去计算24x;接着再去计算xx2,在此基础上去计算)(22xx,……,依此进行下去,这样一共进行了8次乘法,5次加法运算;
那么,对于例2,是否还有别的方法呢?
引导学生继续来观察,发现,在54232)(2345xxxxxxf中,代数式xxxxx23454232中,都有x,因此,还可以xxxxxxxxxx)14232(42322342345,也是,依此进行下去,
54232)(2345xxxxxxf可变形为5)1)4)2)32(((()(xxxxxxf,这样再看这种处理,一共进行了5次乘法,5次乘法运算.很显然,比上一种方法少了3次乘法运算.
这时,老师可以再次返回到开始,重新带领学生来认识问题“求当5x 时,求多项式 1)(2345xxxxxxf的值. ”,我们还可以这样来处理:
1)1)1)1)1((((1)(2345xxxxxxxxxxxf或者155555)(2345xf
15)15)15)15)15((((,这样来看,一共进行了4次乘法,5次加法. 问题:同学们来比较分析一下,两种处理方式,哪一种更好?为什么?
【分析】虽然也是进行的乘法与加法次数与前一种都一样. 但是,很显然,还是后面一种解法更好一些.因为它更具有通性通法. 这也是“算法”思想的体现,因为算法考虑的是这一类问题的处理方式.
教师点评:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,因此第二种做法更快地得到结果.
设计意图:帮助学生改进方法,感受算法思想,从而提高计算效率.
【思考3】能否探索更好的方法,来解决任意多项式的求值问题?
刚才提高计算效率的方法只对求多项式
1)(2345xxxxxxf当5x时的值而言的,那么再举一例:
求多项式54232)(2345xxxxxxf,当2x时的值?
教师引导学生解答:利用思考2总结出来的方法,每次计算利用上一次结果.想要解决这一问题,可以将原式变形如下:
54232)(2345xxxxxxf
5)14232(234xxxxx
5)1)4232((23xxxxx
5)1)4)232(((2xxxxx
5)1)4)232(((2xxxxx
5)1)4)2)32((((xxxxx
将2x代入上式,从内往外依次计算
73221v
162272v
3642163v
7312364v
设计意图:用具体实例练习,让学生在实例中体会上述运算方法,进一步探索具有一般意义的算法.
算法:就是按照一定规则,解决某一类问题的明确的有限的步骤.
【思考4】一个n次多项式0111)(axaxaxaxfnnnn的值?
教师引导学生解答:将原式变形得
0111)(axaxaxaxfnnnn
01211)(axaxaxannnn
……
011))(((axaxaxann
求多项式的值时,类推练习的方法.首先计算最内层括号内的一次多项式的值,即: nav0
11nnaxav
然后由内往外逐层计算一次多项式的值,即
212naxvv
323naxvv
……
01axvvnn
教师点评:上述方法为秦九韶算法.
这样,求n次多项式)(xf的值就转化为求n个一次多项式的值.这种算法称为秦九韶算法.
同时介绍秦九韶——秦九韶(约1202--1261),中国南宋数学家,字道古,四川安岳人.先后在湖北,安徽,江苏,浙江等地做官,1261年左右被贬至梅州,(今广东梅县),不久死于任所.他与李冶,杨辉,朱世杰并称宋元数学四大家.早年在杭州“访习于太史,又尝从隐君子受数学”,1247年写成著名的《数书九章》.《数书九章》全书凡18卷,81题,分为九大类.其最重要的数学成就----“大衍总数术”(一次同余组解法)与“正负开方术”(高次方程数值解法),使这部宋代算经在中世纪世界数学史上占有突出的地位.
直到今天,这种算法仍是多项式求值比较先进的算法.
设计意图:这里将问题由特殊上升到一般,得出用秦九韶算法求多项式的值的一般方法,说明秦九韶算法的通用性.同时,了解中国古代数学对世界数学发展的贡献.
2 、将“算法”提升到“程序框图”的层面
【思考1】观察上述秦九韶算法中的n个一次式.在秦九韶算法中反复执行的步骤是什么,应该用什么结构来实现?
教师引导学生分析:观察秦九韶算法的数学模型,计算kv时要用到1kv的值.若令nav0可以得到下面的递推公式:
),,3,2,1(10nkaxvvavknkkn
这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现.
(《必修三》P15:对于重复操作的步骤,我们按照“确定循环体”、“初始化变量”、“设定循环控制条件”的顺序来勾走循环结构)
由秦九韶的概念得出算法步骤如下:
第一步:输入多项式次数n,最高次项的系数na和x的值.
第二步:将v的值初始化为na,将i的值初始化为1n.
第三步:判断i是否大于或等于0,若是,输入i次项的系数ia,1,iiavxvi;
否则,输出多项式的值v.
(第一步,输入多项式次数n,最高次项的系数na和x的值.
第二步,将v的值初始化为na,将i的值初始化为1n. 第三步,判断i是否大于或等于0,若是,执行第四步;否则,输出多项式的值v.
第四步,输入i次项的系数ia,1,iiavxvi;返回第三步.)
(说明:在处理具体算法案例时,提倡先通过“算法分析写算法步骤,再根据算法步骤画程序框图,然后根据程序框图编制程序,最后可创造条件在计算机上验证算法.”)
即:通过算法分析,写算法步骤——画程序框图——编制程度——上机验证
【思考2】 怎样用程序框图表示秦九韶算法?
教师引导学生分析: 由算法步骤画出程序框(如下页图)
教师点评:用程序框图表示秦九韶算法中的循环过程中,最重要的部分是找出循环体.在画框图的过程中,计数变量的初始值也要注意,这是画框图时候的小技巧.
设计意图:由以上“算法”转化为“程序框图”.就是一种十分重要的数学思想.由此发现,“算法”与“程序框图”它们既是研究问题的不同方面,又是相互依存、相互联系的,在一定条件下可以由“算法”画出“程序框图”:由“程序框图”写出“算法”.
3 、“程序框图”写出“程序”并进行迁移、运用
【思考1】怎么将上述程序框图写出对应程序? 否 1ii
iavxv
输入ia 输入n,na,x的值
nav1ni
0i?
输出v
结束 是 开始