《算法案例:秦九韶算法》教学教案

2024-04-09

《算法案例:秦九韶算法》教学教案(精选2篇)

篇1:《算法案例:秦九韶算法》教学教案

秦九韶算法

学习目标

1.了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数提高计算效率的实质。

2.掌握数据排序的原理能使用直接排序法与冒泡排序法给一组数据排序,进而能设计冒泡排序法的程序框图及程序,理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用。学习重难点

重点:1.秦九韶算法的特点

2.两种排序法的排序步骤及计算机程序设计 难点:1.秦九韶算法的先进性理解

2.排序法的计算机程序设计

学法与学习用具

学法:1.探究秦九韶算法对比一般计算方法中计算次数的改变,体会科学的计算。

2.模仿排序法中数字排序的步骤,理解计算机计算的一般步骤,领会数学计算在计算机上实施的要求。

学习用具:电脑,计算器,图形计算器 学习设想

(一)创设情景,揭示课题

我们已经学过了多项式的计算,下面我们计算一下多项式

f(x)x5x4x3x2x1当x5时的值,并统计所做的计算的种类及计算次数。

根据我们的计算统计可以得出我们共需要10次乘法运算,5次加法运算。我们把多项式变形为:f(x)x2(1x(1x(1x)))x1再统计一下计算当x5时的值时需要的计算次数,可以得出仅需4次乘法和5次加法运算即可得出结果。显然少了6次乘法运算。这种算法就叫秦九韶算法。

(二)研探新知

/ 4

1.秦九韶计算多项式的方法

f(x)anxnan1xn1an2xn2a1xa0(anxn1an1xn2an2xn3a1)xa0((anxn2an1xn3a2)xa1)xa0(((anxan1)xan2)xa1)a0例1 已知一个5次多项式为f(x)5x52x43.5x32.6x21.7x0.8 用秦九韶算法求这个多项式当x5时的值。解:略

思考:(1)例1计算时需要多少次乘法计算?多少次加法计算?

(2)在利用秦九韶算法计算n次多项式当xx0时需要多少次乘法计算和多少次加法计算?

练习:利用秦九韶算法计算f(x)0.83x50.41x40.16x30.33x20.5x1 当x5时的值,并统计需要多少次乘法计算和多少次加法计算? 例2 设计利用秦九韶算法计算5次多项式

f(x)a5x5a4x4a3x3a2x2a1xa0当xx0时的值的程序框图。解:程序框图如下:

/ 4

开始输入f(x)的系数:a1,a2,a3,a4,a5输入x0n=1v=a5 n=n+1v=v x0+a5-nn≤5是否输出v结束

练习:利用程序框图试编写BASIC程序并在计算机上测试自己的程序。

2.排序

在信息技术课中我们学习过电子表格,电子表格对分数的排序非常简单,那么电子计算机是怎么对数据进行排序的呢? 阅读课本P30—P31面的内容,回答下面的问题:(1)排序法中的直接插入排序法与冒泡排序法的步骤有什么区别?(2)冒泡法排序中对5个数字进行排序最多需要多少趟?(3)在冒泡法排序对5个数字进行排序的每一趟中需要比较大小几次? 游戏:5位同学每人拿一个数字牌在讲台上演示冒泡排序法对5个数据4,11,7,9,6排序的过程,让学生通过观察叙述冒泡排序法的主要步骤.并结合步骤解决例3的问题.例3 用冒泡排序法对数据7,5,3,9,1从小到大进行排序

/ 4

练习:写出用冒泡排序法对5个数据4,11,7,9,6排序的过程中每一趟排序的结果.例4 设计冒泡排序法对5个数据进行排序的程序框图.解: 程序框图如下:

开始输入a1,a2,a3,a4,a5r=1i=1ai>ai+1是否x=aiai=ai+1ai+1=xi=i+1r=r+1i=5否是r=5否是输出a1,a2,a3,a4,a5结束 思考:直接排序法的程序框图如何设计?可否把上述程序框图转化为程序? 练习:用直接排序法对例3中的数据从小到大排序 3.小结:(1)秦九韶算法计算多项式的值及程序设计

(2)数字排序法中的常见的两种排序法直接插入排序法与冒泡排序法(3)冒泡法排序的计算机程序框图设计

/ 4

篇2:《算法案例:秦九韶算法》教学教案

2013/04/16 Tuesday 09:41 算法案例---秦九韶算法

教学要求:了解秦九韶算法的计算过程,并理解利用秦九韶算法可以减少计算次数、提高计算效率的实质;理解数学算法与计算机算法的区别,理解计算机对数学的辅助作用.教学重点:秦九韶算法的特点及其程序设计.教学难点:秦九韶算法的先进性理解及其程序设计.教学过程:

一、复习准备:

1.分别用辗转相除法和更相减损术求出两个正数623和1513的最大公约数.2.设计一个求多项式

f(x)2x5x4x3x6x75432当x5时的值的算法.(学生自己提出一般的解决方案:将x5代入多项式进行计算即可)

提问:上述算法在计算时共用了多少次乘法运算?多少次加法运算?此方案有何优缺点?(上述算法一共做了5+4+3+2+1=15次乘法运算,5次加法运算.优点是简单、易懂;缺点是不通用,不能解决任意多项式的求值问题,而且计算效率不高.)

二、讲授新课: 1.教学秦九韶算法:

① 提问:在计算x的幂值时,可以利用前面的计算结果,以减少计算量,即先计算x,2然后依次计算xx,(xx)x,((xx)x)x的值,这样计算上述多项式的值,一共需

222要多少次乘法,多少次加法?(上述算法一共做了4次乘法运算,5次加法运算)

② 结论:第二种做法与第一种做法相比,乘法的运算次数减少了,因而能提高运算效率,而且对于计算机来说,做一次乘法所需的运算时间比做一次加法要长得多,因此第二种做法能更快地得到结果.③ 更有效的一种算法是: 将f(5多x)4项

2x式

3变

5x2形

4x为

3x:

6x7,依次计算2555,55421,2153108,10856534,534572677

故f(5)2677.――这种算法就是“秦九韶算法”.(注意变形,强调格式)

版权所有,盗版必究

第1页,共2页 清华同方教育技术研究院数学所

2013/04/16 Tuesday 09:41 ④ 练习:用秦九韶算法求多项式f(x)2xx3x5x1当x4时的值.(学生板书师生共评教师提问:上述算法共需多少次乘法运算?多少次加法运算?)

⑤ 如何用秦九韶算法完成一般多项式题?

改f(xanxan1xnn1432f(x)anxan1xnn1a1xa0的求值问

写axa)anxanxanxaxa1:

.首先计算最内层括号内一次多项式的值,即次多项式的值,即v2v1xan2v1anxan1,然后由内向外逐层计算一

.,v3v2xan3,,vnvn1xa0⑥ 结论:秦九韶算法将求n次多项式的值转化为求n个一次多项式的值,整个过程只需n次乘法运算和n次加法运算;观察上述n个一次式,可发出

vk的计算要用到

vk1的值,v0an,vvk1xank(k1,2,,n)v0an若令,可得到下列递推公式:k.这是一个反复执行的步骤,因此可用循环结构来实现.⑦ 练习:用秦九韶算法求多项式x5时的值并画出程序框图.f(x)5x2x3.5x2.6x1.7x0.85432当2.小结:秦九韶算法的特点及其程序设计

三、巩固练习:

1、练习:教材P35第2题

2、作业:教材P36第2题

版权所有,盗版必究

上一篇:后进生转化情况记录表下一篇:别来无恙诗歌