高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx

上传人:b****3 文档编号:16864640 上传时间:2022-11-26 格式:DOCX 页数:15 大小:55.30KB
下载 相关 举报
高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx_第1页
第1页 / 共15页
高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx_第2页
第2页 / 共15页
高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx_第3页
第3页 / 共15页
高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx_第4页
第4页 / 共15页
高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx

《高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx》由会员分享,可在线阅读,更多相关《高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

高中数学《13 算法案例》教案1 新人教A版必修3Word文件下载.docx

计算m除以n,将所得余数存放到变量r中.

第三步,更新被除数和余数:

m=n,n=r.

第四步,判断余数r是否为0.若余数为0,则输出结果;

否则转向第二步继续循环执行.

如此循环,直到得到结果为止.这种算法是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.

(4)更相减损术

我国早期也有解决求最大公约数问题的算法,就是更相减损术.《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”翻译为现代语言如下:

第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用2约简;

若不是,执行第二步.

第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.

应用示例

例1用辗转相除法求8251与6105的最大公约数,写出算法分析,画出程序框图,写出算法程序.

解:

用两数中较大的数除以较小的数,求得商和余数:

8251=6105×

1+2146.

由此可得,6105与2146的公约数也是8251与6105的公约数,反过来,8251与6105的公约数也是6105与2146的公约数,所以它们的最大公约数相等.

对6105与2146重复上述步骤:

6105=2146×

2+1813.

同理,2146与1813的最大公约数也是6105与2146的最大公约数.继续重复上述步骤:

2146=1813×

1+333,

1813=333×

5+148,

333=148×

2+37,

148=37×

4.

最后的除数37是148和37的最大公约数,也就是8251与6105的最大公约数.

这就是辗转相除法.由除法的性质可以知道,对于任意两个正整数,上述除法步骤总可以在有限步之后完成,从而总可以用辗转相除法求出两个正整数的最大公约数.

算法分析:

从上面的例子可以看出,辗转相除法中包含重复操作的步骤,因此可以用循环结构来构造算法.

算法步骤如下:

第一步,给定两个正整数m,n.

第二步,计算m除以n所得的余数为r.

第三步,m=n,n=r.

第四步,若r=0,则m,n的最大公约数等于m;

否则,返回第二步.

程序框图如下图:

程序:

INPUTm,n

DO

r=mMODn

m=n

n=r

LOOPUNTILr=0

PRINTm

END

点评:

从教学实践看,有些学生不能理解算法中的转化过程,例如:

求8251与6105的最大公约数,为什么可以转化为求6105与2146的公约数.因为8251=6105×

1+2146,

可以化为8251-6105×

1=2164,所以公约数能够整除等式两边的数,即6105与2146的公约数也是8251与6105的公约数.

变式训练

你能用当型循环结构构造算法,求两个正整数的最大公约数吗?

试画出程序框图和程序.

当型循环结构的程序框图如下图:

INPUTm,n

r=1

WHILEr>0

WEND

例2用更相减损术求98与63的最大公约数.

由于63不是偶数,把98和63以大数减小数,并辗转相减,如下图所示.

98-63=35

63-35=28

35-28=7

28-7=21

21-7=14

14-7=7

所以,98和63的最大公约数等于7.

更相减损术与辗转相除法的比较:

尽管两种算法分别于东、西方古代数学名著,但是二者的算理却是相似的,有异曲同工之妙.主要区别在于辗转相除法进行的是除法运算,即辗转相除;

而更相减损术进行的是减法运算,即辗转相减,但是实质都是一个不断的递归过程.

用辗转相除法或者更相减损术求三个数324,243,135的最大公约数.

324=243×

1+81,

243=81×

3+0,

则324与243的最大公约数为81.

又135=81×

1+54,81=54×

1+27,

54=27×

2+0,

则81与135的最大公约数为27.

所以,三个数324、243、135的最大公约数为27.

另法:

324-243=81,243-81=162,162-81=81,则324与243的最大公约数为81.

135-81=54,81-54=27,54-27=27,则81与135的最大公约数为27.

所以,三个数324、243.135的最大公约数为27.

例3

(1)用辗转相除法求123和48的最大公约数.

(2)用更相减损术求80和36的最大公约数.

(1)辗转相除法求最大公约数的过程如下:

123=2×

48+27,

48=1×

27+21,

27=1×

21+6,

21=3×

6+3,

6=2×

3+0,

最后6能被3整除,得123和48的最大公约数为3.

(2)我们将80作为大数,36作为小数,因为80和36都是偶数,要除公因数2.

80÷

2=40,36÷

2=18.

40和18都是偶数,要除公因数2.

40÷

2=20,18÷

2=9.

下面来求20与9的最大公约数,

20-9=11,

11-9=2,

9-2=7,

7-2=5,

5-2=3,

3-2=1,

2-1=1,

可得80和36的最大公约数为22×

1=4.

对比两种方法控制好算法的结束,辗转相除法是到达余数为0,更相减损术是到达减数和差相等.

分别用辗转相除法和更相减损术求1734,816的最大公约数.

辗转相除法:

1734=816×

2+102,816=102×

8(余0),

∴1734与816的最大公约数是102.

更相减损术:

因为两数皆为偶数,首先除以2得到867,408,再求867与408的最大公约数.

867-408=459,

459-408=51,

408-51=357,

357-51=306,

306-51=255,

255-51=204,

204-51=153,

153-51=102,

102-51=51.

∴1734与816的最大公约数是51×

2=102.

利用更相减损术可另解:

1734-816=918,

918-816=102,

816-102=714,

714-102=612,

612-102=510,

510-102=408,

408-102=306,

306-102=204,

204-102=102.

知能训练

求319,377,116的最大公约数.

377=319×

1+58,

319=58×

5+29,

58=29×

2.

∴377与319的最大公约数为29,再求29与116的最大公约数.

116=29×

∴29与116的最大公约数为29.

∴377,319,116的最大公约数为29.

拓展提升

试写出利用更相减损术求两个正整数的最大公约数的程序.

更相减损术程序:

INPUT“m,n=”;

m,n

WHILEm<

>

n

IFm>

nTHEN

m=m-n

ELSE

m=n-m

ENDIF

课堂小结

(1)用辗转相除法求最大公约数.

(2)用更相减损术求最大公约数.

思想方法:

递归思想.

作业

分别用辗转相除法和更相减损术求261,319的最大公约数.

分析:

本题主要考查辗转相除法和更相减损术及其应用.使用辗转相除法可依据m=nq+r,反复执行,直到r=0为止;

用更相减损术就是根据m-n=r,反复执行,直到n=r为止.

319=261×

1+58,

261=58×

4+29,

∴319与261的最大公约数是29.

319-261=58,

261-58=203,

203-58=145,

145-58=87,

87-58=29,

58-29=29,

设计感想

数学不仅是一门科学,也是一种文化,本节的引入从东、西方文化的不同开始,逐步向学生渗透数学文化.从知识方面主要学习用两种方法求两个正整数的最大公约数,从思想方法方面,主要学习递归思想.本节设置精彩例题,不仅让学生学到知识,而且让学生进一步体会算法的思想,培养学生的爱国主义情操.

 

2019-2020年高中数学《1.3算法案例》教案2新人教A版必修3

大家都喜欢吃苹果吧,我们吃苹果都是从外到里一口一口的吃,而虫子却是先钻到苹果里面从里到外一口一口的吃,由此看来处理同一个问题的方法多种多样.怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?

方法也是多种多样的,今天我们开始学习秦九韶算法.

前面我们学习了辗转相除法与更相减损术,今天我们开始学习秦九韶算法.

(1)求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值有哪些方法?

比较它们的特点.

(2)什么是秦九韶算法?

(3)怎样评价一个算法的好坏?

(1)怎样求多项式f(x)=x5+x4+x3+x2+x+1当x=5时的值呢?

一个自然的做法就是把5代入多项式f(x),计算各项的值,然后把它们加起来,这时,我们一共做了1+2+3+4=10次乘法运算,5次加法运算.

另一种做法是先计算x2的值,然后依次计算x2·

x,(x2·

x)·

x,((x2·

x的值,这样每次都可以利用上一次计算的结果,这时,我们一共做了4次乘法运算,5次加法运算.

第二种做法与第一种做法相比,乘法的运算次数减少了,因而能够提高运算效率,对于计算机来说,做一次乘法运算所用的时间比做一次加法运算要长得多,所以采用第二种做法,计算机能更快地得到结果.

(2)上面问题有没有更有效的算法呢?

我国南宋时期的数学家秦九韶(约1202~1261)在他的著作《数书九章》中提出了下面的算法:

把一个n次多项式f(x)=anxn+an-1xn-1+…+a1x+a0改写成如下形式:

f(x)=anxn+an-1xn-1+…+a1x+a0

=(anxn-1+an-1xn-2+…+a1)x+a0

=((anxn-2+an-1xn-3+…+a2)x+a1)x+a0

=…

=(…((anx+an-1)x+an-2)x+…+a1)x+a0.

求多项式的值时,首先计算最内层括号内一次多项式的值,即

v1=anx+an-1,

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

v2=v1x+an-2,

v3=v2x+an-3,

vn=vn-1x+a0,

这样,求n次多项式f(x)的值就转化为求n个一次多项式的值.

上述方法称为秦九韶算法.直到今天,这种算法仍是多项式求值比较先进的算法.

(3)计算机的一个很重要的特点就是运算速度快,但即便如此,算法好坏的一个重要标志仍然是运算的次数.如果一个算法从理论上需要超出计算机允许范围内的运算次数,那么这样的算法就只能是一个理论的算法.

例1已知一个5次多项式为f(x)=5x5+2x4+3.5x3-2.6x2+1.7x-0.8,

用秦九韶算法求这个多项式当x=5时的值.

根据秦九韶算法,把多项式改写成如下形式:

f(x)=((((5x+2)x+3.5)x-2.6)x+1.7)x-0.8,

按照从内到外的顺序,依次计算一次多项式当x=5时的值:

v0=5;

v1=5×

5+2=27;

v2=27×

5+3.5=138.5;

v3=138.5×

5-2.6=689.9;

v4=689.9×

5+1.7=3451.2;

v5=3415.2×

5-0.8=17255.2;

所以,当x=5时,多项式的值等于17255.2.

观察上述秦九韶算法中的n个一次式,可见vk的计算要用到vk-1的值,若令v0=an,我们可以得到下面的公式:

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

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

第二步,将v的值初始化为an,将i的值初始化为n-1.

第三步,输入i次项的系数ai.

第四步,v=vx+ai,i=i-1.

第五步,判断i是否大于或等于0.若是,则返回第三步;

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

INPUT“n=”;

INPUT“an=”;

a

INPUT“x=”;

x

v=a

i=n-1

WHILEi>=0

PRINT“i=”;

i

INPUT“ai=”;

v=v*x+a

i=i-1

PRINTv

本题是古老算法与现代计算机语言的完美结合,详尽介绍了思想方法、算法步骤、程序框图和算法语句,是一个典型的算法案例.

请以5次多项式函数为例说明秦九韶算法,并画出程序框图.

设f(x)=a5x5+a4x4+a3x3+a2x2+a1x+a0

首先,让我们以5次多项式一步步地进行改写:

f(x)=(a5x4+a4x3+a3x2+a2x+a1)x+a0

=((a5x3+a4x2+a3x+a2)x+a1)x+a0

=(((a5x2+a4x+a3)x+a2)x+a1)x+a0

=((((a5x+a4)x+a3)x+a2)x+a1)x+a0.

上面的分层计算,只用了小括号,计算时,首先计算最内层的括号,然后由里向外逐层计算,直到最外层的括号,然后加上常数项即可.

例2已知n次多项式Pn(x)=a0xn+a1xn-1+…+an-1x+an,如果在一种算法中,计算(k=2,3,4,…,n)的值需要k-1次乘法,计算P3(x0)的值共需要9次运算(6次乘法,3次加法),那么计算P10(x0)的值共需要__________次运算.下面给出一种减少运算次数的算法:

P0(x)=a0,Pk+1(x)=xPk(x)+ak+1(k=0,1,2,…,n-1).利用该算法,计算P3(x0)的值共需要6次运算,计算P10(x0)的值共需要___________次运算.

答案:

6520

秦九韶算法适用一般的多项式f(x)=anxn+an-1xn-1+…+a1x+a0的求值问题.直接法乘法运算的次数最多可到达,加法最多n次.秦九韶算法通过转化把乘法运算的次数减少到最多n次,加法最多n次.

例3已知多项式函数f(x)=2x5-5x4-4x3+3x2-6x+7,求当x=5时的函数的值.

解析:

把多项式变形为:

f(x)=2x5-5x4-4x3+3x2-6x+7

=((((2x-5)x-4)x+3)x-6)x+7.

计算的过程可以列表表示为:

最后的系数2677即为所求的值.

算法过程:

v0=2;

v1=2×

5-5=5;

v2=5×

5-4=21;

v3=21×

5+3=108;

v4=108×

5-6=534;

v5=534×

5+7=2677.

如果多项式函数中有缺项的话,要以系数为0的项补齐后再计算.

当x=2时,用秦九韶算法求多项式f(x)=3x5+8x4-3x3+5x2+12x-6的值.

解法一:

f(x)=((((3x+8)x-3)x+5)x+12)x-6.

按照从内到外的顺序,依次计算一次多项式当x=2时的值.

v0=3;

v1=v0×

2+8=3×

2+8=14;

v2=v1×

2-3=14×

2-3=25;

v3=v2×

2+5=25×

2+5=55;

v4=v3×

2+12=55×

2+12=122;

v5=v4×

2-6=122×

2-6=238.

∴当x=2时,多项式的值为238.

解法二:

f(x)=((((3x+8)x-3)x+5)x+12)x-6,

则f

(2)=((((3×

2+8)×

2-3)×

2+5)×

2+12)×

2-6=238.

用秦九韶算法求多项式f(x)=7x7+6x6+5x5+4x4+3x3+2x2+x当x=3时的值.

f(x)=((((((7x+6)+5)x+4)x+3)x+2)x+1)x

v0=7;

v1=7×

3+6=27;

3+5=86;

v3=86×

3+4=262;

v4=262×

3+3=789;

v5=789×

3+2=2369;

v6=2369×

3+1=7108;

v7=7108×

3+0=21324.

∴f(3)=21324.

1.秦九韶算法的方法和步骤.

2.秦九韶算法的计算机程序框图.

已知函数f(x)=x3-2x2-5x+8,求f(9)的值.

f(x)=x3-2x2-5x+8=(x2-2x-5)x+8=((x-2)x-5)x+8

∴f(9)=((9-2)×

9-5)×

9+8=530.

古老的算法散发浓郁的现代气息,这是一节充满智慧的课.本节主要介绍了秦九韶算法.

通过对秦九韶算法的学习,对算法本身有哪些进一步的认识?

教师引导学生思考、讨论、概括,小结时要关注如下几点:

(1)算法具有通用的特点,可以解决一类问题;

(2)解决同一类问题,可以有不同的算法,但计算的效率是不同的,应该选择高效的算法;

(3)算法的种类虽多,但三种逻辑结构可以有效地表达各种算法等等.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1