《2022年苏教版数学算法案例全套 .pdf》由会员分享,可在线阅读,更多相关《2022年苏教版数学算法案例全套 .pdf(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、苏教版数学必修 3 算法案例(全套)1.4 算法案例 (1)教学目标:(1)介绍中国古代算法的案例韩信点兵孙子问题;(2)用三种方法熟练的表示一个算法;(3)让学生感受算法的意义和价值教学重点、难点 : 不定方程解法的算法教学过程:一、问题情境 ( 韩信点兵 - 孙子问题 ) :韩信是秦末汉初的著名军事家。据说有一次汉高祖刘邦在卫士的簇拥下来到练兵场,刘邦问韩信有什么方法,不要逐个报数,就能知道场上的士兵的人数。韩信先令士兵排成3 列纵队,结果有2 个人多余;接着立即下令将队形改为5 列纵队,这一改,又多出3 人;随后他又下令改为 7 列纵队,这次又剩下2 人无法成整行。在场的人都哈哈大笑,以
2、为韩信不能清点出准确的人数,不料笑声刚落,韩信高声报告共有士兵2333 人。众人听了一愣,不知道韩信用什么方法这么快就能得出正确的结果的。同学们,你知道吗?背景说明 :1类似的问题最早出现在我国的算经十书之一的孙名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 13 页 - - - - - - - - - 子算经中原文是:今有物,不知其数,三三数之,剩二,五五数之,剩三,七七数之,剩二,问物几何?答曰:二十三2孙子算经的作者及确实着作年代均不可考,不过根据考证,着作年代不会
3、在晋朝之後,以这个考证来说上面这种问题的解法,中国人发现得比西方早,所以这个问题的推广及其解法,被称为中国剩余定理( 孙子定理 ) 。中国剩余定理在近代抽象代数学中占有一席非常重要的地位;3该问题的完整的表述,后来经过宋朝数学家秦九韶的推广,又发现了一种算法,叫做大衍求一术 。在中国还流传着这么一首歌诀:三人同行七十稀,五树梅花廿一枝,七子团圆月正半,除百零五便得知。它的意思是说:将某数(正整数)除以3 所得的余数乘以70,除以 5 所得的余数乘以21,除以 7 所得的余数乘以15,再将所得的三个积相加,并逐次减去105,减到差小于105 为止。所得结果就是某数的最小正整数值。用上面的歌诀来算
4、孙子算经中的问题,便得到算式:270+321+215=233 ,2331052=23,即所求物品最少是23 件。二. 算法设计思想 :名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 孙子问题 相当于求关于的不定方程组的的正整数解;设所求的数为,根据题意应该同时满足下列三个条件:被 3 除后余 2,即;被 5 除后余 3,即;被 7 除后余 2,即;用自然语言可以将算法写为:如果且且则执行 , 否则执行 ; 输出三 . 流程图和
5、伪代码 :伪代码: m ? 2While Mod (m,3) 2or Mod (m,5) 3or Mod (m,7) 2m ? m 1End WhilePrint m练习 : 有 3 个连续的自然数,其中最小的能被15 整除,中间的能被 17 整除,最大的能被19 整除,求满足要求的一组三个连续的自然数。伪代码: m ? 2While Mod (m,15)=0or Mod (m+1,17)=0or Mod (m+2,19)=0m ? m 1End WhilePrint m, m+1, m+2思考:以下伪代码是否可行?k?1a?15kWhile Mod(a 1,17) 0 or_Mod(a2,1
6、9) 0k?k 1a?15kEnd WhilePrint a,a1,a 2四、回顾小结:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 1中国数学在世界数学史上的巨大贡献, 韩信点兵孙子问题的求解算法;2利用循环结构实现整数的搜索;3利用逻辑运算符Or 和 And实现多条件的判断。五【随堂演练】:1. 下列各数中 , 被 3,5,9除都余 2 的正整数是 ( A )A.17B.47C.29D.112有一堆火柴棒,三根三根的数,
7、最后余下两根;五根无根的数,最后余下三根;七根七根的数,最后余下两根。那么这对火柴棒最少是_23_根.3.4. 有一把围棋子 ,5 个 5 个地数 , 最后余下 2 个;7 个 7 个地数 ,最后余下 3 个;9 个 9 个地数 , 最后余下 4 个. 请设计一种算法, 求出这把棋子至少有多少个.伪代码: m ? 2While Mod (m,3) 2or Mod (m,7) 3or Mod (m,9) 4m ? m 1End WhilePrint m1.4 算法案例 (2)教学目标:(1)理解辗转相除法与更相减损术中蕴含的数学原理,并名师资料总结 - - -精品资料欢迎下载 - - - - -
8、 - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 13 页 - - - - - - - - - 能根据这些原理进行算法分析;(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;教学重点:理解辗转相除法与更相减损术求最大公约数的方法教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言教学过程:一、问题情境在初中,我们已经学过求最大公约数的知识,你能求出18与 30 的公约数吗?我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公
9、约数?比如求8251 与 6105 的最大公约数?这就是我们这一堂课所要探讨的内容二、算法设计思想:1. 辗转相除法:例 1求两个正数8251 和 6105 的最大公约数(分析: 8251 与 6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)解: 8251610512146名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 显然 8251 和的 2146 最大公约数也必是2146
10、 的约数,同样6105 与 2146 的公约数也必是8251的约数,所以8251与6105 的最大公约数也是6105 与 2146 的最大公约数610521462181321461813133318133335148333148237148374 0则 37 为 8251 与 6105 的最大公约数以上我们求最大公约数的方法就是辗转相除法也叫欧几里德算法,它是由欧几里德在公元前300 年左右首先提出的利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数除以较小的数得到一个商和一个余数;第二步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;第三步:若,则为的最大公约数;若,
11、则用除数除以余数得到一个商和一个余数;.依次计算直至,此时所得到的即为所求的最大公约数练习:利用辗转相除法求两数4081 与 20723 的最大公约数(答案: 53)2. 更相减损术名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 我国早期也有解决求最大公约数问题的算法,就是更相减损术更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母之数,以少减多,更相减损,求其等也,以等数约之翻译出来为:第一步:任意给出两个正数
12、;判断它们是否都是偶数若是,用 2 约简;若不是,执行第二步第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数例 2 用更相减损术求98 与 63 的最大公约数 .解:由于 63 不是偶数,把98 和 63 以大数减小数,并辗转相减,即: 9863356335283528728721217141477所以, 98 与 63 的最大公约数是7练习:用更相减损术求两个正数84 与 72 的最大公约名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -
13、- - 名师精心整理 - - - - - - - 第 7 页,共 13 页 - - - - - - - - - 数(答案: 12)3. 比较辗转相除法与更相减损术的区别(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相等而得到三辗转相除法的流程图及伪代码(1)算理:所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的
14、除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。(2)算法步骤第一步:输入两个正整数m,n(mn).第二步:计算a 除以 b 所得的余数 r.第三步: a=b,b=r.第四步:若 r 0, 则 a,b 的最大公约数等于b;否则转到第二步 .第五步:输出最大公约数b.(3)辗转相除法的程序框图及程序程序框图:伪代码: 用较大的数除以较小的数,得到除式,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 13 页 - - - - - - - - - 直到 .例
15、 1 试画出求两个正整数a,b 最小公倍数的流程图,并写出其伪代码。三个正整数?伪代码:Read a,bc?abWhile Mod(a,b) 0r? Mod(a,b)a?bb?rEnd WhilePrint c/b2. 更相减损术(1)算理:所谓更相减损术,就是对于给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数。(2)算法步骤第一步:输入两个正整数a,b(ab);第二步:若 a 不等于 b , 则执行第三步;否则转到第五步;第三步:把 a-b 的差赋予 r;第四步:
16、如果br, 那么把 b 赋给 a, 把 r 赋给 b; 否则把 r 赋给 a,执行第二步;第五步:输出最大公约数b.程序框图:伪代码:Read a,bWhile a=br ? a-bIf br Thena ? bb ? rElsea ? rEnd IfEnd WhilePrint bEnd3. 比较辗转相除法与更相减损术的区别名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 13 页 - - - - - - - - - (1)都是求最大公约数的方法,计算上辗转相除法以除法为
17、主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相等而得到四、回顾小结:比较辗转相除法与更相减损术的区别(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为 0 则得到,而更相减损术则以减数与差相等而得到五【随堂演练】1. 整数 143 和 65 的最大公约数为 (
18、 A )A.13B.11C.5D.92. 如果是整数 , 且, 则与的最大公约数为 ( D )A.B.C.D. 与的最大公约数3. 用辗转相除法求85 和 51 的最大公约数时 , 需要做除法的次数为 _3_4 分别用辗转相除法和更相减损法求91 和 49 的最大公约数 .名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 13 页 - - - - - - - - - 5.91=491+4291-49=4249=421749-42=742=7642-7=35(91,49)=
19、735-7=28(91,49)=(42,49)=(7,49)=728-7=2121-7=1414-7=76. 根据更相减损法的思想,设计求两个整数的最小公倍数的算法过程,并画出流程图,写出伪代码。1.4 算法案例 (3)教学目标:(1)二分法主要是采用了循环结构处理问题要会分析类似的问题;(2)GoTo语句的认识及其他语句的进一步熟悉;(3)能由流程图分析出期所含有的结构并用为代码表示出相应的算法教学重点:二分法的算法思想和算法表示教学过程:一、问题情境:必修 1 中我们学习了二分法求方程的近似解,大家还能想起二分法的求解步骤吗?二、案例讲解:名师资料总结 - - -精品资料欢迎下载 - -
20、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 13 页 - - - - - - - - - 案例:写出用区间二分法求解方程在区间内的一个近似解(误差不超过0.001 )的一个算法()算法设计思想:如图,如果估计出方程在某区间内有一个根,就能用二分法搜索求得符合误差限制的近似解()算法步骤可以表示为:取的中点,间区间一分为二;若,则就是方程的根,否则判断根在的左侧还是后侧;若,则,以代替;若,则,以代替;若,计算终止,此时,否则转()流程图:(4)伪代码 1:Read a ,b,cWhile AndIf 0 ThenE
21、lseEnd IfEnd WhilePrint伪代码2:10 Read20304050 If Then GoTo 12060 If Then7080 Else90100 End If110 If Then GoTo 20120 Print二分搜索的过程是一个多次重复的过程,故可以用循环结构来处理(代码1),课本解法是采用语句实现的(代码2)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 13 页 - - - - - - - - - 三、回顾小结:1二分法的算法和用伪代码表示该算法;2语句的使用;3解决实际问题的过程:分析画流程图写伪代码。四、课外作业:课本复习题的第1 题, 课本复习题的第10 题补充一个三位数的十位和个位的数字互换,得到的一个新的三位数,新、旧两个三位数都能被4 整除;设计一个算法,求满足条件的三位数的个数,并写出伪代码。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 13 页 - - - - - - - - -
限制150内