高中数学 1.3算法案例课件 新人教A版必修3.ppt

上传人:壹****1 文档编号:568007385 上传时间:2024-07-23 格式:PPT 页数:44 大小:703.50KB
返回 下载 相关 举报
高中数学 1.3算法案例课件 新人教A版必修3.ppt_第1页
第1页 / 共44页
高中数学 1.3算法案例课件 新人教A版必修3.ppt_第2页
第2页 / 共44页
高中数学 1.3算法案例课件 新人教A版必修3.ppt_第3页
第3页 / 共44页
高中数学 1.3算法案例课件 新人教A版必修3.ppt_第4页
第4页 / 共44页
高中数学 1.3算法案例课件 新人教A版必修3.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《高中数学 1.3算法案例课件 新人教A版必修3.ppt》由会员分享,可在线阅读,更多相关《高中数学 1.3算法案例课件 新人教A版必修3.ppt(44页珍藏版)》请在金锄头文库上搜索。

1、1.31.3算法案例算法案例案例案例1 辗转相除法与更相减损术辗转相除法与更相减损术3 59 15 问题问题11:在小学,我们已经学过求最大公约数:在小学,我们已经学过求最大公约数的知识,你能求出的知识,你能求出1818与与3030的最大公约数吗?的最大公约数吗?创设情景,揭示课题创设情景,揭示课题18 30231818和和3030的最大公约的最大公约数是数是23=6.23=6.先用两个数公有的先用两个数公有的质因数质因数连续去除连续去除,一直除到所得一直除到所得的商是互质数为止的商是互质数为止,然后然后把所有的除数连乘起来把所有的除数连乘起来. 问题问题2:2:我们都是利用找公约数的方法来求

2、最大我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求的最大公约数?比如求82518251与与61056105的最大公约数的最大公约数? ? 研探新知研探新知1.1.辗转相除法辗转相除法: :例例1 1 求两个正数求两个正数82518251和和61056105的最大公约数。的最大公约数。分析:分析:82518251与与61056105两数都比较大,而且没两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根有明显的公约

3、数,如能把它们都变小一点,根据已有的知识即可求出最大公约数据已有的知识即可求出最大公约数. .解:解:82518251610516105121462146显然显然82518251与与61056105的最大公约数也必是的最大公约数也必是21462146的约数,同样的约数,同样61056105与与21462146的公约数也必是的公约数也必是82518251的约数,所以的约数,所以82518251与与61056105的最大公约数也是的最大公约数也是61056105与与21462146的最大公约数。的最大公约数。研探新知研探新知1.1.辗转相除法辗转相除法: :例例1 1 求两个正数求两个正数8251

4、8251和和61056105的最大公约数。的最大公约数。解:解:8251825161051610512146;2146;6105214621813;214618131333;18133335148;333148237;1483740.则则3737为为82518251与与61056105的最大公约数。的最大公约数。以上我们求最大公约数的方法就是辗转相以上我们求最大公约数的方法就是辗转相除法。也叫欧几里德算法,它是由欧几里德在除法。也叫欧几里德算法,它是由欧几里德在公元前公元前300300年左右首先提出的。年左右首先提出的。 练习练习1 1:利用辗转相除法求两数:利用辗转相除法求两数4081408

5、1与与2072320723的最大公约数的最大公约数. . 20723=40815+318;4081=31812+265;318=2651+53;265=535+0.2.2.更相减损术更相减损术: :我国早期也有解决求最大公约数问题的算我国早期也有解决求最大公约数问题的算法,就是更相减损术。法,就是更相减损术。更相减损术求最大公约数的步骤如下:可更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母半者半之,不可半者,副置分母子之数,以少子之数,以少减多,更相减损,求其等也,以等数约之。减多,更相减损,求其等也,以等数约之。翻译出来为:第一步:任意给出两个正数;翻译出来为:第一步:任意

6、给出两个正数;判断它们是否都是偶数。若是,用判断它们是否都是偶数。若是,用2 2约简;若不是,约简;若不是,执行第二步。执行第二步。第二步:以较大的数减去较小的数,接着把第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数。继续较小的数与所得的差比较,并以大数减小数。继续这个操作,直到所得的数相等为止,则这个数(等这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数。数)就是所求的最大公约数。例例2 2 用更相减损术求用更相减损术求9898与与6363的最大公约数的最大公约数. .解:由于解:由于6363不是偶数,把不是偶数,把9898和和6363以大数

7、以大数减小数,并辗转相减,减小数,并辗转相减, 即:即:986335; 633528; 35287; 28721; 21714; 1477.所以,所以,9898与与6363的最大公约数是的最大公约数是7 7。练习练习2 2:用更相减损术求两个正数:用更相减损术求两个正数8484与与7272的最大的最大公约数。公约数。 3.3.辗转相除法与更相减损术的比较辗转相除法与更相减损术的比较: : (1 1)都是求最大公约数的方法,计算上辗)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主转相除法以除法为主,更相减损术以减法为主; ;计算次数上辗转相除法计算次数相对较少,特计算次

8、数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别别当两个数字大小区别较大时计算次数的区别较明显。较明显。(2 2)从结果体现形式来看,辗转相除法体)从结果体现形式来看,辗转相除法体现结果是以相除余数为现结果是以相除余数为0 0则得到,而更相减损术则得到,而更相减损术则以减数与差相等而得到则以减数与差相等而得到. .案例案例2 秦九韶算法秦九韶算法教学设计教学设计问题问题1设计求多项式设计求多项式f(x)=2x5-5x4-4x3+3x2-6x+7当当x=5时的值的算法时的值的算法,并写出程序并写出程序.x=5f=2x5-5x4-4x3+3x2-6x+7PRINT fEN

9、D程序程序点评点评:上述算法一共做了上述算法一共做了15次乘法运算次乘法运算,5次次加法运算加法运算.优点是简单优点是简单,易懂易懂;缺点是不通用缺点是不通用,不能不能解决任意多项多求值问题解决任意多项多求值问题,而且计算效率不高而且计算效率不高. 这析计算上述多项式的值这析计算上述多项式的值,一共需要一共需要9次乘次乘法运算法运算,5次加法运算次加法运算.问题问题2有没有更高效的算法有没有更高效的算法?分析分析:计算计算x的幂时的幂时,可以利用前面的计算结可以利用前面的计算结果果,以减少计算量以减少计算量,即先计算即先计算x2,然后依次计算然后依次计算的值的值.第二种做法与第一种做法相比第二

10、种做法与第一种做法相比,乘法的运乘法的运算次数减少了算次数减少了,因而能提高运算效率因而能提高运算效率.而且对于而且对于计算机来说计算机来说,做一次乘法所需的运算时间比做一做一次乘法所需的运算时间比做一次加法要长得多次加法要长得多,因此第二种做法能更快地得到因此第二种做法能更快地得到结果结果.问题问题3能否探索更好的算法能否探索更好的算法,来解决任意多来解决任意多项式的求值问题项式的求值问题?f(x)=2x5-5x4-4x3+3x2-6x+7=(2x4-5x3-4x2+3x-6)x+7=(2x3-5x2-4x+3)x-6)x+7=(2x2-5x-4)x+3)x-6)x+7=(2x-5)x-4)

11、x+3)x-6)x+7v0=2v1=v0x-5=25-5=5v2=v1x-4=55-4=21v3=v2x+3=215+3=108v4=v3x-6=1085-6=534v5=v4x+7=5345+7=2677所以所以,当当x=5时时,多项式的值是多项式的值是2677.这种求多项式值的方法就叫这种求多项式值的方法就叫秦九韶算法秦九韶算法.例例1:用秦九韶算法求多项式用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6x+7当当x=5时的值时的值.解法一解法一:首先将原多项式改写成如下形式首先将原多项式改写成如下形式 : f(x)=(2x-5)x-4)x+3)x-6)x+7v0=2 v

12、1=v0x-5=25-5=5v2=v1x-4=55-4=21v3=v2x+3=215+3=108v4=v3x-6=1085-6=534v5=v4x+7=5345+7=2677所以所以,当当x=5时时,多多项式的值是项式的值是2677.然后由内向外逐层计算一次多项式的值然后由内向外逐层计算一次多项式的值,即即2 -5 -4 3 -6 7x=5105252110510854053426702677所以所以,当当x=5时时,多项式的值是多项式的值是2677.原多项式原多项式的系数的系数多项式多项式的值的值.例例1:用秦九韶算法求多项式用秦九韶算法求多项式 f(x)=2x5-5x4-4x3+3x2-6

13、x+7当当x=5时的值时的值.解法二解法二:列表列表22 -5 0 -4 3 -6 0x=5105252512512160560830403034所以所以,当当x=5时时,多项式的值是多项式的值是15170.练一练练一练:用秦九韶算法求多项式用秦九韶算法求多项式 f(x)=2x6-5x5-4x3+3x2-6x当当x=5时的值时的值.解解:原多项式先化为原多项式先化为: f(x)=2x6-5x5 +0x4-4x3+3x2-6x+0列表列表21517015170 注意注意:n次多项式有次多项式有n+1项项,因此缺少哪一项因此缺少哪一项应将其系数补应将其系数补0.f(x)=anxn+an-1xn-1

14、+an-2xn-2+a1x+a0.我们可以改写成如下形式我们可以改写成如下形式:f(x)=(anx+an-1)x+an-2)x+a1)x+a0.求多项式的值时求多项式的值时,首先计算最内层括号内一首先计算最内层括号内一次多项式的值次多项式的值,即即 v1=anx+an-1,然后由内向外逐层计算一次多项式的值然后由内向外逐层计算一次多项式的值,即即一般地一般地,对于一个对于一个n次多项式次多项式v2=v1x+an-2, v3=v2x+an-3, ,vn=vn-1x+a0.这样这样,求求n次多项式次多项式f(x)的值就转化为求的值就转化为求n个个一次多项式的值一次多项式的值.这种算法称为这种算法称

15、为秦九韶算法秦九韶算法.点评点评:秦九韶算法是求一元多项式的秦九韶算法是求一元多项式的值的一种方法值的一种方法.它的特点是它的特点是:把求一个把求一个n次多项式的值次多项式的值转化为求转化为求n个一次多项式的值个一次多项式的值,通过这种转通过这种转化化,把运算的次数由至多把运算的次数由至多n(n+1)/2次乘法运次乘法运算和算和n次加法运算次加法运算,减少为减少为n次乘法运算和次乘法运算和n次加法运算次加法运算,大大提高了运算效率大大提高了运算效率.课本课本P45页练习页练习T2;P48页页A组组T2.案例案例3 进位制进位制一、三维目标一、三维目标(a a)知识与技能)知识与技能了解各种进位

16、制与十进制之间转换的规律,会利了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间用各种进位制与十进制之间的联系进行各种进位制之间的转换。的转换。(b b)过程与方法)过程与方法学习各种进位制转换成十进制的计算方法,研究学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除十进制转换为各种进位制的除k k去余法,并理解其中的去余法,并理解其中的数学规律。数学规律。(c c)情感态度与价值观)情感态度与价值观领悟十进制,二进制的特点,了解计算机的电路领悟十进制,二进制的特点,了解计算机的电路与二进制的联系,进一步认识到计算机与数学的联系与二进制

17、的联系,进一步认识到计算机与数学的联系. . 问题问题11我们常见的数字都是十进制的我们常见的数字都是十进制的, ,但但是并不是生活中的每一种数字都是十进制的是并不是生活中的每一种数字都是十进制的. .比如时间和角度的单位用六十进位制比如时间和角度的单位用六十进位制, ,电子计电子计算机用的是二进制算机用的是二进制. .那么什么是进位制那么什么是进位制? ?不同的不同的进位制之间又有什么联系呢进位制之间又有什么联系呢? ?进位制是人们为了计数和运算的方便而进位制是人们为了计数和运算的方便而约定的一种记数系统,约定满二进一约定的一种记数系统,约定满二进一, ,就是二就是二进制进制; ;满十进一满

18、十进一, ,就是十进制就是十进制; ;满十六进一满十六进一, ,就就是十六进制是十六进制; ;等等等等. . “满几进一满几进一”,就是几进制就是几进制,几进制的几进制的基数基数就是几就是几.可使用数字符号的个数称为基数可使用数字符号的个数称为基数. .基数基数都是大于都是大于1 1的整数的整数. . 如二进制可使用的数字有如二进制可使用的数字有0和和1,基数是基数是2; 十进制可使用的数字有十进制可使用的数字有0,1,2,8,9等十个等十个数字数字,基数是基数是10; 十六进制可使用的数字或符号有十六进制可使用的数字或符号有09等等10个数字以及个数字以及AF等等6个字母个字母(规定字母规定

19、字母AF对应对应1015),十六进制的基数是十六进制的基数是16.注意注意: :为了区分不同的进位制为了区分不同的进位制, ,常在数字常在数字的右下脚标明基数的右下脚标明基数,. ,. 如如111001111001(2)(2)表示二进制数表示二进制数,34,34(5)(5)表示表示5 5进制数进制数. .十进制数一般不标注基数十进制数一般不标注基数.问题问题2十进制数十进制数3721中的中的3表示表示3个千个千,7表示表示7个百个百,2表示表示2个十个十,1表示表示1个一个一,从而它可以写成从而它可以写成下面的形式下面的形式:3721=3103+7102+2101+1100.想一想二进制数想一

20、想二进制数1011(2)可以类似的写成什可以类似的写成什么形式么形式?1011(2)=123+022+121+120.同理同理:3421(5)=353+452+251+150.C7A16(16)=12164+7163+10162 +1161+6160.一般地一般地,若若k是一个大于是一个大于1的整数的整数,那么以那么以k为为基数的基数的k进制数可以表示为一串数字连写在一起进制数可以表示为一串数字连写在一起的形式的形式anan-1a1a0(k) (0ank,0an-1,a1,a0k)意思是意思是:(1):(1)第一个数字第一个数字a an n不能等于不能等于0;0;(2)(2)每一个数字每一个数

21、字a an n,a,an-1n-1, ,a,a1 1,a,a0 0都须小于都须小于k.k.k进制的数也可以表示成不同位上数字与进制的数也可以表示成不同位上数字与基数基数k的幂的乘积之和的形式的幂的乘积之和的形式,即即anan-1a1a0(k)=ankn+an-1kn-1 +a1k1+a0k0 .注意这是一注意这是一个个n+1位数位数.问题问题3二进制只用二进制只用0和和1两个数字两个数字,这这正好与电路的通和断两种状态相对应正好与电路的通和断两种状态相对应,因因此此计算机内部都使用二进制计算机内部都使用二进制.计算机在进计算机在进行数的运算时行数的运算时,先把接受到的数转化成二先把接受到的数转

22、化成二进制数进行运算进制数进行运算,再把运算结果转化为十再把运算结果转化为十进制数输出进制数输出.那么二进制数与十进制数之间是如那么二进制数与十进制数之间是如何转化的呢何转化的呢?例例1:把二进制数把二进制数110011(2)化为十进制数化为十进制数.分析分析:先把二进制数写成不同位上数字与先把二进制数写成不同位上数字与2的幂的乘积之和的形式的幂的乘积之和的形式,再按照十进制数的运算再按照十进制数的运算规则计算出结果规则计算出结果.解解:110011(2) =125+124+023+022+121+120 =132+116+12+1=51. 问题问题4你会把三进制数你会把三进制数10221(3

23、)化为十进制数吗化为十进制数吗?解解:10221(3)=134+033+232+231+130 =81+18+6+1=106. k进制数转化为十进制数的方法进制数转化为十进制数的方法先把先把k进制的数表示成不同位上数字进制的数表示成不同位上数字与基数与基数k的幂的乘积之和的形式的幂的乘积之和的形式,即即anan-1a1a0(k)=ankn+an-1kn-1+a1k1+a0k0 .再按照十进制数的运算规则计算出结果再按照十进制数的运算规则计算出结果.例例2:把把89化为二进制的数化为二进制的数.分析分析:把把89化为二进制的数化为二进制的数,需想办法将需想办法将89先写成如下形式先写成如下形式8

24、9=an2n+an-12n-1+a121+a020 .89=64+16+8+1=126+025+124 +123+022+021+120 =1011001(2).但如果数太大但如果数太大,我们是无法这样凑出来的我们是无法这样凑出来的,怎么办怎么办?89=442+1, 44=222+0, 22=112+0, 11=52+1, 5=22+1, 2=12+0, 1=02+1, 44 1例例2:把把89化为二进制的数化为二进制的数.我们可以用下面的除法算式表示除我们可以用下面的除法算式表示除2取余法取余法:289 余数余数222 0211 025 122 121 020 1把算式中各步所得的余数把算式

25、中各步所得的余数从下到上排列从下到上排列,得到得到89=1011001(2).这种方法也可以推广为把这种方法也可以推广为把十进制数化为十进制数化为k进制数的进制数的算法算法,称为称为除除k取余法取余法.例例3:把把89化为五进制的数化为五进制的数.解解:以以5作为除数作为除数,相应的除法算式为相应的除法算式为:17 4589 余数余数53 250 3 89=324(5).问题问题5你会把三进制数你会把三进制数10221(3)化为二进制数吗化为二进制数吗?解解:第一步第一步:先把三进制数化为十进制数先把三进制数化为十进制数:10221(3)=134+033+232+231+130 =81+18+6+1=106. 第二步第二步:再把十进制数化为二进制数再把十进制数化为二进制数: 106=1101010(2). 10221(3)=106= 1101010(2).小结小结进位制的概念及表示方法进位制的概念及表示方法; ;各种进位制之间的相互转化各种进位制之间的相互转化. .anan-1a1a0(k)=ankn+an-1kn-1+a1k1+a0k0 .作业作业:1.课本课本P45页页A组组T3.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号