高中数学必修三1.3算法案例
- 格式:doc
- 大小:174.50 KB
- 文档页数:7
1.3算法案例【预习达标】1.用两数中较大的数减去较小的数,再用 和 构成新的一对数,再用大数减小数,以同样的操作一直做下去,直到产生 ,这个数就是最大公约数。
2.古希腊求两个正整数的最大公约数的方法是 :用较大的数除以较小的数所得的 和 构成新的一对数,继续做上面的除法,直到大数被小数除尽,这个较小的数就是最大公约数。
3.把一个n 次多项式0111)(a x a x a x a x f n n n n ++++=-- 改写成如下形式:0111)(a x a x a x a x f n n n n ++++=--===…= 。
求多项式的值时,首先计算最内层括号内一次多项式的值,即1v = 。
然后由内向外逐层计算一次多项式的值,即2v = 。
3v = 。
…=n v 。
这样,求n 次多项式f(x)的值就转化为 。
上述方法称为秦九韶算法:观察上述秦九韶算法中的n 个一次式,可见k v 的计算要用到1-k v 的值,若令a v =0,我们可以得到下面的公式:这是一个在秦九韶算法中反复执行的步骤,因此可用 来实现。
【课前达标】1.我国数学家刘徽采用正多边形面积逐渐逼近圆面积的算法计算圆周率π,这种算法称为( )A.弧田法B.逼近法C.割圆法D.割图法2.在对16和12求最大公约数时,整个操作如下:(16,12)→(4,12)→(4,8)→(4,4),由此可以看出12和16的最大公约数是( )A.4B.12C.16D.83.用等值算法求294和84的最大公约数时,需要做减法的次数是( )A.2B.3C.4D.54.假设圆的半径为1,面积为S ,圆内接正n 边形面积为n S ,边长为n x ,边心距为n h ,根据勾股定理,n h = 。
5.三个数72,120,168的最大公约数是 。
【典例评析】例1 用更相减损之术求27090, 21672, 8127的最大公约数。
例2 用秦九韶算法求多项式12358)(467++++=x x x x x f 当x =2时的值。
进位制学习目标1.了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。
2.学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k去余法,并理解其中的数学规律。
学习重难点重点:各进位制表示数的方法及各进位制之间的转换难点:除k去余法的理解以及各进位制之间转换的程序框图的设计学法与学习用具学法:在学习各种进位制特点的同时探讨进位制表示数与十进制表示数的区别与联系,熟悉各种进位制表示数的方法,从而理解十进制转换为各种进位制的除k去余法。
学习用具:电脑,计算器,图形计算器学习设想(一)创设情景,揭示课题我们常见的数字都是十进制的,但是并不是生活中的每一种数字都是十进制的.比如时间和角度的单位用六十进位制,电子计算机用的是二进制.那么什么是进位制?不同的进位制之间又又什么联系呢?(二)研探新知进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。
可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制。
现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。
对于任何一个数,我们可以用不同的进位制来表示。
比如:十进数57,可以用二进制表示为111001,也可以用八进制表示为71、用十六进制表示为39,它们所代表的数值都是一样的。
表示各种进位制数一般在数字右下脚加注来表示,如111001(2)表示二进制数,34(5)表示5进制数.电子计算机一般都使用二进制,下面我们来进行二进制与十进制之间的转化例1 把二进制数110011(2)化为十进制数.解:110011=1*25+1*24+0*23+1*24+0*22+1*21+1*20=32+16+2+1=51例2 把89化为二进制数.解:根据二进制数满二进一的原则,可以用2连续去除89或所得商,然后去余数. 具体的计算方法如下:89=2*44+144=2*22+022=2*11+011=2*5+15=2*2+1所以:89=2*(2*(2*(2*(2*2+1)+1)+0)+0)+1=1*26+0*25+1*24+1*23+0*22+0*21+1*20=1011001(2)这种算法叫做除2取余法,还可以用下面的除法算式表示:把上式中的各步所得的余数从下到上排列即可得到89=1011001(2) 89 44 22 11 5 21222222 2 0 余数 1 0 0 1 1 01。
课题:算法案例——辗转相除法和更相减损术教材:人教版普通高中课程标准实验教科书必修3第一章第1.3节1、教材分析与传统教学内容相比,《算法初步》为新增内容,算法是计算机科学的重要基础,算法思想已经渗透到社会的方方面面,算法思想也逐渐成为每个现代人应具有的数学素养。
算法思想即体现了时代的特点,也是中国古代数学灿烂的历史和巨大的贡献在新层次上的复兴。
本节内容是探究古代算法案例――辗转相除法和更相减损术,经历设计算法解决问题的全过程,体会算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理的思考和数学表达能力,巩固算法三种描述性语言(自然语言、图形语言和程序语言),提高学生分析和解决问题的能力。
2、教学目标分析:(1)知识目标:①理解辗转相除法和更相减损术求两个正数的最大公约数的原理;②能用写算法步骤、画流程图和编程序表达辗转相除法;说明:在这里,理解案例中的新的知识是理解算法的必要的前提,但重要的是理解案例中的算法核心思想,而不是强调对案例中新知识的记忆和灵活运用。
(2)能力目标:①培养学生把具体问题抽象转化为算法语言的能力;②培养学生自主探索和合作学习的能力。
(3)情感目标:①使学生进一步了解从具体到一般思想方法。
②体会中国古代数学对世界数学的巨大贡献,培养爱国思想和学习数学的积极性。
3、教学重点与难点分析:(1)教学重点:能用写算法步骤、画流程图和编程序表达辗转相除法及更相减损术。
(体会算法解决问题的全过程)(2)教学难点:用不同逻辑结构的程序框图表达算法;4、教学方法与手段(1)、教法:阅读指导,以问题为载体,有引导的对话,让学生经历知识的形成过程和发展过程,有利于学生活动的充分展开。
(2)、学法:以观察、讨论、思考、分析、动手操作、自主探索、合作学习多种形式相结合,引导学生多角度、多层面认识事物,突破教学难点。
5、教学过程设计分析:辅助工具:ppt课件知识准备:带余除法6、评价分析:(1)、指导思想:①新知识与旧知识相结合的原则;②掌握知识与发展智力、能力相统一的原则;③教师的主导作用与学生的主体作用相结合的原则。
1.3 算法案例整体设计教学分析在学生学习了算法的初步知识,理解了表示算法的算法步骤、程序框图和程序三种不同方式以后,再结合典型算法案例,让学生经历设计算法解决问题的全过程,体验算法在解决问题中的重要作用,体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.三维目标1.理解算法案例的算法步骤和程序框图.2.引导学生得出自己设计的算法程序.3. 体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力.重点难点教学重点:引导学生得出自己设计的算法步骤、程序框图和算法程序.教学难点:体会算法的基本思想,提高逻辑思维能力,发展有条理地思考与数学表达能力. 课时安排3课时教学过程第1课时案例1 辗转相除法与更相减损术导入新课思路1(情境导入)大家喜欢打乒乓球吧,由于东、西方文化及身体条件的不同,西方人喜欢横握拍打球,东方人喜欢直握拍打球,对于同一个问题,东、西方人处理问题方式是有所不同的.在小学,我们学过求两个正整数的最大公约数的方法:先用两个数公有的质因数连续去除,一直除到所得的商是互质数为止,然后把所有的除数连乘起来. 当两个数公有的质因数较大时(如 8 251 与6 105),使用上述方法求最大公约数就比较困难.下面我们介绍两种不同的算法——辗转相除法与更相减损术,由此可以体会东、西方文化的差异.思路2(直接导入)前面我们学习了算法步骤、程序框图和算法语句.今天我们将通过辗转相除法与更相减损术来进一步体会算法的思想.推进新课新知探究提出问题(1)怎样用短除法求最大公约数?(2)怎样用穷举法(也叫枚举法)求最大公约数?(3)怎样用辗转相除法求最大公约数?(4)怎样用更相减损术求最大公约数?讨论结果:(1)短除法求两个正整数的最大公约数的步骤:先用两个数公有的质因数连续去除,一直除到所得的商是两个互质数为止,然后把所有的除数连乘起来.(2)穷举法(也叫枚举法)穷举法求两个正整数的最大公约数的解题步骤:从两个数中较小数开始由大到小列举,直到找到公约数立即中断列举,得到的公约数便是最大公约数.(3)辗转相除法辗转相除法求两个数的最大公约数,其算法步骤可以描述如下:第一步,给定两个正整数m,n.第二步,求余数r:计算m除以n,将所得余数存放到变量r中.第三步,更新被除数和余数:m=n,n=r.第四步,判断余数r是否为0.若余数为0,则输出结果;否则转向第二步继续循环执行.如此循环,直到得到结果为止. 这种算法是由欧几里得在公元前300年左右首先提出的,因而又叫欧几里得算法.(4)更相减损术我国早期也有解决求最大公约数问题的算法,就是更相减损术. 《九章算术》是中国古代的数学专著,其中的“更相减损术”也可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也.以等数约之.”翻译为现代语言如下:第一步,任意给定两个正整数,判断它们是否都是偶数,若是,用2约简;若不是,执行第二步.第二步,以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数,继续这个操作,直到所得的数相等为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数.应用示例例1 用辗转相除法求8 251与6 105的最大公约数,写出算法分析,画出程序框图,写出算法程序.解:用两数中较大的数除以较小的数,求得商和余数:8 251=6 105×1+2 146.由此可得,6 105与2 146的公约数也是8 251与6 105的公约数,反过来,8 251与6 105的公约数也是6 105与2 146的公约数,所以它们的最大公约数相等.对6 105与2 146重复上述步骤:6 105=2 146×2+1 813.同理,2 146与1 813的最大公约数也是6 105与2 146的最大公约数.继续重复上述步骤:2 146=1 813×1+333,1 813=333×5+148,333=148×2+37,148=37×4.最后的除数37是148和37的最大公约数,也就是8 251与6 105的最大公约数.这就是辗转相除法.由除法的性质可以知道,对于任意两个正整数,上述除法步骤总可以在有限步之后完成,从而总可以用辗转相除法求出两个正整数的最大公约数.算法分析:从上面的例子可以看出,辗转相除法中包含重复操作的步骤,因此可以用循环结构来构造算法.算法步骤如下:第一步,给定两个正整数m,n.第二步,计算m除以n所得的余数为r.第三步,m=n,n=r.第四步,若r=0,则m,n的最大公约数等于m;否则,返回第二步.程序框图如下图:程序:INPUT m,nDOr=m MOD nm=nn=rLOOP UNTIL r=0PRINT mEND点评:从教学实践看,有些学生不能理解算法中的转化过程,例如:求8 251与6 105的最大公约数,为什么可以转化为求6 105与2 146的公约数.因为8 251=6 105×1+2 146,可以化为8 251-6 105×1=2 164,所以公约数能够整除等式两边的数,即6 105与2 146的公约数也是8 251与6 105的公约数.变式训练你能用当型循环结构构造算法,求两个正整数的最大公约数吗?试画出程序框图和程序.解:当型循环结构的程序框图如下图:程序:INPUT m,nr=1WHILE r>0r=m MOD nm=nn=rWENDPRINT mEND例2 用更相减损术求98与63的最大公约数.解:由于63不是偶数,把98和63以大数减小数,并辗转相减,如下图所示.98-63=3563-35=2835-28=728-7=2121-7=1414-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,更相减损术是到达减数和差相等.变式训练分别用辗转相除法和更相减损术求1 734,816的最大公约数.解:辗转相除法:1 734=816×2+102,816=102×8(余0),∴1 734与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.∴1 734与816的最大公约数是51×2=102.利用更相减损术可另解:1 734-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.∴1 734与816的最大公约数是102.知能训练求319,377,116的最大公约数.解:377=319×1+58,319=58×5+29,58=29×2.∴377与319的最大公约数为29,再求29与116的最大公约数.116=29×4.∴29与116的最大公约数为29.∴377,319,116的最大公约数为29.拓展提升试写出利用更相减损术求两个正整数的最大公约数的程序.解:更相减损术程序:INPUT “m,n=”;m,nWHILE m<>nIF m>n THENm=m-nELSEm=n-mEND IFWENDPRINT mEND课堂小结(1)用辗转相除法求最大公约数.(2)用更相减损术求最大公约数.思想方法:递归思想.作业分别用辗转相除法和更相减损术求261,319的最大公约数.分析:本题主要考查辗转相除法和更相减损术及其应用.使用辗转相除法可依据m=nq+r,反复执行,直到r=0为止;用更相减损术就是根据m-n=r,反复执行,直到n=r为止.解:辗转相除法:319=261×1+58,261=58×4+29,58=29×2.∴319与261的最大公约数是29.更相减损术:319-261=58,261-58=203,203-58=145,145-58=87,87-58=29,58-29=29,∴319与261的最大公约数是29.设计感想数学不仅是一门科学,也是一种文化,本节的引入从东、西方文化的不同开始,逐步向学生渗透数学文化.从知识方面主要学习用两种方法求两个正整数的最大公约数,从思想方法方面,主要学习递归思想.本节设置精彩例题,不仅让学生学到知识,而且让学生进一步体会算法的思想,培养学生的爱国主义情操.。
1.3《算法案例1——辗转相除法与更相减损术》导学案
【学习目标】
1、会用辗转相除法和更相减损术求最大公约数;
2、能根据辗转相除法和更相减损术设计完整的程序框图并写出算法程序。
【课前导学与探究】
(一)辗转相除法
(1)辗转相除法,又叫欧几里得法,是一种求两个正整数的的古老而有效的算法。
(2)辗转相除法是指对于给定的两个数,用除以,若余数不为零,则将余数和构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时就是原来两个数的最大公约数。
试一试①:用辗转相除法求288和123的最大公约数.
(3)辗转相除法的算法步骤:第一步,给定;第二步,计算;第三步, ;第四步,若r=0,则m,n的最大公约数等于;否则返回。
(4)程序框图:程序:
(二)更相减损术
(1)更相减损术是我国古代数学专著《九章算术》中介绍的一种求的算法.
(2)其基本过程是: 第一步,任意给定两个正整数,判定它们是否都
是,若是,;若不是,执行.第二步,以的数减去的数,接着把所得的差与的数比较,并以大数减小数,继续这个操作,直到所得的数为止,则这个数(等数)或这个数与约简的数的乘积就是所求的最大公约数。
试一试②:用更相减损术求80和36的最大公约数.
(三)辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除法以为主,更相减损术以为主,计算次数上辗转相除法计算次数相对,特别当两个数字大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果是则得到,而更相减损术则以
相等而得到。
试一试③:分别用辗转相除法和更相减损术求两个正整数282和470的最大公约数.
【精讲点拨】
例1.用辗转相除法和更相减损术两种方法求1734和816的最大公约数.
变式:求1734和816的最小公倍数.
例2.求324,243和135的最大公约数.
【巩固练习】
1、用辗转相除法求295和85的最大公约数时,需要做出除法的次数是 ( )
A 1.
B 2.
C 3.
D 4
2、下列各组关于最大公约数的说法中不正确的是()
A.16和12的最大公约数是4
B.78和36的最大公约数是6
C.85和357的最大公约数是34
D.105和315的最大公约数是105
3、求下列各组数的最大公约数(先用辗转相除法求,再用更相减损术验证)
(1)225,135;(2)840,1785;(3)612,468;(4)36,54,90.
4、写出从键盘任意输入两个正整数a ,b ,输出这两个数的最小公倍数的算法,画出程序框图,写出算法语句.
1.3《算法案例2——秦九韶算法》导学案
【学习目标】
1、用转化的数学思想方法理解秦九韶算法。
2、掌握用秦九韶算法计算高次多项式的值。
【课前导学与探究】
1.已知一个四次多项式f(x)= 4322351x x x x +-++, 用秦九韶算法求当x=4的值。
(1)根据秦九韶算法能把多项式f(x)= 4322351x x x x +-++改写成 的形式。
当x=4时求f(x)的值为 ;
(2)按照从内到外的顺序,依次计算一次多项式当x=4时的值:
0v =2; 1v =2×4+1=( ); 2v =( )×4-3=( );
3v =( )×4+( )= ( );4v =( )×4+( )=( );
思考:在以上的算法中共需__ 次乘法运算,__次加法运算。
(3)用秦九韶算法求多项式763452)(2345+-+--=x x x x x x f 当5x =时的值。
2.仿照上述问题研讨如何用秦九韶算法完成多项式
f(x)=a n x n + a 1-n x
1-n +···+a 1x+a 0的求值问题? 思考:(1)0v = ; 1v = ;
2v = ; 3v = ;
… …
n v =
①在上边的算法中共需 次乘法运算, 次加法运算。
②观察上边秦九韶算法中的n 个一次式。
若0v = a n ,我们可以得到公式:
()0,n k n k v a v x a -=⎧⎪⎨=+⎪⎩ (k =1,2,…,n )
③在秦九韶算法中,上述公式可以用 结构来实现。
(2)请你设计出用秦九韶算法解决多项式 f(x)=a n x n + a 1-n x 1-n +···+a 1x+a 0求值问题的算法步骤,画出程序框图并写出程序。
(Ⅰ)算法步骤: (Ⅱ)程序框图: (Ⅲ)程序:
第一步,输入______ .
第二步,将v 的值初始化为__,
将i 的值初始化为__,
第三步,输入______ .
第四步,v =___ ,i =__.
第五步,判断i _____.
若是,则返回第_步;否则,
______ .
【精讲点拨】
例. 用秦九韶算法计算多项式f(x)= x 7+4x 5+3x 2
+1,当x=2时的值,并思考需 次乘法运算, 需 次加法运算。
【巩固练习】
1. 用秦九韶算法计算多项式f(x)=3x 6+4x 5+5x 4+6x 3+7x 2
+8x+1当x=4的值时,需要做乘法和加法的次数分别是( ) A 6,6 B 5,6 C 5,5 D 6,5
2.用秦九韶算法求多项式654322.5666.38.136.02)(x x x x x x x f +-+-++=在x=-1.3的值时,令50160a x v v a v +==;;……056a x v v +=时,3v = 。
3. 根据秦九韶算法能把多项式f(x)=3x 5+4x 4+5x 3+6x 2
+7x+1改写成 的形式。
当x=5时求f(x)的值 。
4. 用秦九韶算法求多项式f(x)= 54351x x x -+-,当x=2的值。
1.3《算法案例3——进位制》导学案
【学习目标】
1、了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。
2、学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律。
【课前导学与探究】
1.进位制的概念:进位制是人们为了计数和运算方便而约定的计数系统.“满k 进一”就是 , k 进制的基数是 .可使用数字符号的个数称为基数.基数都是大于1的整数.如,二进制可使用的数字有0和1,基数是2; 十进制可使用的数字有 , , ,…, , 等十个数字,基数是 ;十六进制可使用的数字或符号有0~9等10个数字以及A ~F 等6个字母(规定字母A ~F 对应10~15),十六进制的基数是16.
注意:为了区分不同的进位制,常在数字的右下脚标明基数. (十进制数一般不标注基数)
如, 111001(2)表示 进制数, 34(5)表示 进制数
2.将k 进制数化为十进制数:
十进制数3721中的3表示3个千,7表示 ,2表示 ,1表示 ,从而它可以写成
下面的形式: 33721310++
++=⨯ 想一想:二进制数: (2)1011=+++
五进制数: (5)3421=+++
十六进制数: (16)716C A =++++
一般地,若k 是一个大于1的整数,z 则以k 为基数的k 进制数可以表示为一串数字连写在一起的形式:
110()(0,0)n n i n k a a a a a k a -≤<≠ = 。
将k 进制数化为十进制数的方法是:先把k 进制数写成 的形式,再 .
试一试:将下列各进制数化为十进制数.(1))4(10303 ; (2))5(1234
.
3. 将十进制数化为k 进制数:
将十进制数化为k 进制数的方法是: ,即 ,直到商为零为止,然后 ,就是相应的k 进制数.
参考教材,用除k 取余法将119转化成六进制数得 119=
【精讲点拨】
例1. 将(5)2341, (3)121,(2)110101转化成十进制数.
例2. 将十进制数458分别转化为四进制数和六进制数.
变式:将五进制数3241(5)转化为七进制数.
【巩固练习】
1.已知k 进制的132与十进制的数30相等,那么k 等于( )
A .7或4
B .-7
C .4
D .以上都不对
2.四位二进制数能表示的最大十进制数是( )
A .4
B .15
C .64
D .127
3.以下各数中有可能是五进制数的是( )
A .55
B .106
C .732
D .2134
4.下列各数最小的数是( )
A .111111(2)
B .210(6)
C .1000(4)
D .81
5、完成下列进位制之间的转化.
()21011001=_______()10=____ _()5; ()8105=______()10=________()5; ()320212=_____()10
6、若六进数()613502m 化为十进数为12710,则_____m =,把12710化为八进数为____________.
7.用“除k 取余法”将十进制数2008转化为二进制和八进制数.。