人教B版高中数学必修三《第一章 算法初步 1.3 中国古代数学中的算法案例》_6

  • 格式:doc
  • 大小:131.00 KB
  • 文档页数:7

1.3 案例2 秦九韶算法

一、基本信息

教材:人教版,必修3第一章“算法初步”的第3节“算法案例”中的秦九韶算法.

二、教材分析

为解决一个问题而采取的方法和步骤,称为算法.算法是数学的重要组成部分,是计算机理论和技术的基础.随着现代信息技术的飞速发展,算法思想已经成为现代人应具备的一种数学素养,新课标已将算法列为高中数学的必修内容.秦九韶算法既能体现新课程、新理念、新课标,又可以结合旧知识,调动学生的积极性,培养学生的自主探索能力及学习兴趣.

三、学情分析

从学生的认知基础看,学生在已经学习了程序框图、算法语句的相关知识,积累了研究算法的基本方法与初步经验.学生的基础较好,能够在一节课中掌握框图和算法语句.

从学生的思维发展看,高二学生思维能力正在由形象经验型向抽象理论型转变,能够用假设、推理来思考和解决问题.但是,学生看待问题还是静止的、片面的,抽象概括能力比较薄弱,这对建构秦九韶算法中的循环结构有一定的困难.

四、教学目标

【知识与技能】

1、 了解秦九韶算法的计算过程.

2、 理解利用秦九韶算法可以减少计算次数提高计算效率的实质.

【过程与方法】

1、 模仿秦九韶计算方法,体会古人计算构思的巧妙.

2、 了解数学计算转换为计算机计算的途径,从而探究计算机算法与数学算法的区别,体会计算机对数学学习的辅助作用.

【情感、态度与价值观】

1、通过对秦九韶算法的学习,了解中国古代数学对世界数学发展的贡献,充分认识到我国文化历史的悠久.

2、通过对秦九韶算法的广泛应用、丰富其联想的空间,懂得“来龙去脉”.

3、充分认识信息技术对数学的促进.

五、教学重点和难点

重点:理解秦九韶算法的思想.

难点:用循环结构表示算法步骤.

六、教学方法

学生探究、教师引导.

七、教学流程

求具体多项式的值

改进计算方法,提高运算效率

八、教学过程

1、逐渐渗透算法意识,为算法学习铺路

【思考1】求当5x 时,求多项式1)(2345xxxxxxf的值.

学生自己提出一般的解决方案:将5x代入多项式进行计算即可.

教师点评:上述算法一共做了10次乘法运算,5次加法运算,优点是简单,易懂.缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.

设计意图:使学生在自己操作的过程中体会求多项式值的一般思路方法.

【思考2】如果让计算机来做这件事情,那么有没有更高效的算法?(这里有一个知识,就是对于计算机而言,做一次乘法所需的运算时间比做一次加法要长得多,因此,这里所说的高效,具体是指,能否减少乘法的次数?)

教师引导学生分析、推理:如果有同学这样想:可以先计算2x的值,然后依次计算xx2,xxx)(2,xxxx))((2的值,这样每次都可以利用上一次计算的结果.这时,我们一共做了4次乘法运算,5次加法运算.

那么,老师可以不做点评,可以紧接着让学生来做:

例2、求多项式54232)(2345xxxxxxf当2x时的值?

分析:如果还按照刚才的说法的话,有同学会很自然想到这样来处理:

先计算2x,然后再去计算24x;接着再去计算xx2,在此基础上去计算)(22xx,……,依此进行下去,这样一共进行了8次乘法,5次加法运算;

那么,对于例2,是否还有别的方法呢?

引导学生继续来观察,发现,在54232)(2345xxxxxxf中,代数式xxxxx23454232中,都有x,因此,还可以xxxxxxxxxx)14232(42322342345,也是,依此进行下去,

54232)(2345xxxxxxf可变形为5)1)4)2)32(((()(xxxxxxf,这样再看这种处理,一共进行了5次乘法,5次乘法运算.很显然,比上一种方法少了3次乘法运算.

这时,老师可以再次返回到开始,重新带领学生来认识问题“求当5x 时,求多项式 1)(2345xxxxxxf的值. ”,我们还可以这样来处理:

1)1)1)1)1((((1)(2345xxxxxxxxxxxf或者155555)(2345xf

15)15)15)15)15((((,这样来看,一共进行了4次乘法,5次加法. 问题:同学们来比较分析一下,两种处理方式,哪一种更好?为什么?

【分析】虽然也是进行的乘法与加法次数与前一种都一样. 但是,很显然,还是后面一种解法更好一些.因为它更具有通性通法. 这也是“算法”思想的体现,因为算法考虑的是这一类问题的处理方式.

教师点评:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,因此第二种做法更快地得到结果.

设计意图:帮助学生改进方法,感受算法思想,从而提高计算效率.

【思考3】能否探索更好的方法,来解决任意多项式的求值问题?

刚才提高计算效率的方法只对求多项式

1)(2345xxxxxxf当5x时的值而言的,那么再举一例:

求多项式54232)(2345xxxxxxf,当2x时的值?

教师引导学生解答:利用思考2总结出来的方法,每次计算利用上一次结果.想要解决这一问题,可以将原式变形如下:

54232)(2345xxxxxxf

5)14232(234xxxxx

5)1)4232((23xxxxx

5)1)4)232(((2xxxxx

5)1)4)232(((2xxxxx

5)1)4)2)32((((xxxxx

将2x代入上式,从内往外依次计算

73221v

162272v

3642163v

7312364v

设计意图:用具体实例练习,让学生在实例中体会上述运算方法,进一步探索具有一般意义的算法.

算法:就是按照一定规则,解决某一类问题的明确的有限的步骤.

【思考4】一个n次多项式0111)(axaxaxaxfnnnn的值?

教师引导学生解答:将原式变形得

0111)(axaxaxaxfnnnn

01211)(axaxaxannnn

……

011))(((axaxaxann

求多项式的值时,类推练习的方法.首先计算最内层括号内的一次多项式的值,即: nav0

11nnaxav

然后由内往外逐层计算一次多项式的值,即

212naxvv

323naxvv

……

01axvvnn

教师点评:上述方法为秦九韶算法.

这样,求n次多项式)(xf的值就转化为求n个一次多项式的值.这种算法称为秦九韶算法.

同时介绍秦九韶——秦九韶(约1202--1261),中国南宋数学家,字道古,四川安岳人.先后在湖北,安徽,江苏,浙江等地做官,1261年左右被贬至梅州,(今广东梅县),不久死于任所.他与李冶,杨辉,朱世杰并称宋元数学四大家.早年在杭州“访习于太史,又尝从隐君子受数学”,1247年写成著名的《数书九章》.《数书九章》全书凡18卷,81题,分为九大类.其最重要的数学成就----“大衍总数术”(一次同余组解法)与“正负开方术”(高次方程数值解法),使这部宋代算经在中世纪世界数学史上占有突出的地位.

直到今天,这种算法仍是多项式求值比较先进的算法.

设计意图:这里将问题由特殊上升到一般,得出用秦九韶算法求多项式的值的一般方法,说明秦九韶算法的通用性.同时,了解中国古代数学对世界数学发展的贡献.

2 、将“算法”提升到“程序框图”的层面

【思考1】观察上述秦九韶算法中的n个一次式.在秦九韶算法中反复执行的步骤是什么,应该用什么结构来实现?

教师引导学生分析:观察秦九韶算法的数学模型,计算kv时要用到1kv的值.若令nav0可以得到下面的递推公式:

),,3,2,1(10nkaxvvavknkkn

这是一个在秦九韶算法中反复执行的步骤,可以用循环结构来实现.

(《必修三》P15:对于重复操作的步骤,我们按照“确定循环体”、“初始化变量”、“设定循环控制条件”的顺序来勾走循环结构)

由秦九韶的概念得出算法步骤如下:

第一步:输入多项式次数n,最高次项的系数na和x的值.

第二步:将v的值初始化为na,将i的值初始化为1n.

第三步:判断i是否大于或等于0,若是,输入i次项的系数ia,1,iiavxvi;

否则,输出多项式的值v.

(第一步,输入多项式次数n,最高次项的系数na和x的值.

第二步,将v的值初始化为na,将i的值初始化为1n. 第三步,判断i是否大于或等于0,若是,执行第四步;否则,输出多项式的值v.

第四步,输入i次项的系数ia,1,iiavxvi;返回第三步.)

(说明:在处理具体算法案例时,提倡先通过“算法分析写算法步骤,再根据算法步骤画程序框图,然后根据程序框图编制程序,最后可创造条件在计算机上验证算法.”)

即:通过算法分析,写算法步骤——画程序框图——编制程度——上机验证

【思考2】 怎样用程序框图表示秦九韶算法?

教师引导学生分析: 由算法步骤画出程序框(如下页图)

教师点评:用程序框图表示秦九韶算法中的循环过程中,最重要的部分是找出循环体.在画框图的过程中,计数变量的初始值也要注意,这是画框图时候的小技巧.

设计意图:由以上“算法”转化为“程序框图”.就是一种十分重要的数学思想.由此发现,“算法”与“程序框图”它们既是研究问题的不同方面,又是相互依存、相互联系的,在一定条件下可以由“算法”画出“程序框图”:由“程序框图”写出“算法”.

3 、“程序框图”写出“程序”并进行迁移、运用

【思考1】怎么将上述程序框图写出对应程序? 否 1ii

iavxv

输入ia 输入n,na,x的值

nav1ni

0i?

输出v

结束 是 开始