人教版新课标A必修31.3 算法与案例教学设计
展开算法案例(2) 教学目标: (1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析; (2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序; 教学重点:理解辗转相除法与更相减损术求最大公约数的方法 教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言. 教学过程: 一、问题情境 在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗? 我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容. 二、算法设计思想: 1.辗转相除法: 例1.求两个正数8251和6105的最大公约数. (分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数) 解:8251=6105×1+2146 显然8251和的2146最大公约数也必是2146的约数,同样6105与2146的公约数也必是8251的约数,所以8251与6105的最大公约数也是6105与2146的最大公约数. 6105=2146×2+1813 2146=1813×1+333 1813=333×5+148 333=148×2+37 148=37×4+0 则37为8251与6105的最大公约数. 以上我们求最大公约数的方法就是辗转相除法.也叫欧几里德算法,它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下: 第一步:用较大的数除以较小的数得到一个商和一个余数; 第二步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数; 第三步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数; …… 依次计算直至,此时所得到的即为所求的最大公约数. 练习:利用辗转相除法求两数4081与20723的最大公约数(答案:53) 2.更相减损术 我国早期也有解决求最大公约数问题的算法,就是更相减损术. 更相减损术求最大公约数的步骤如下:可半者半之,不可半者,副置分母之数,以少减多,更相减损,求其等也,以等数约之. 翻译出来为: 第一步:任意给出两个正数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步. 第二步:以较大的数减去较小的数,接着把较小的数与所得的差比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数. 例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. 练习:用更相减损术求两个正数84与72的最大公约数.(答案:12) 3.比较辗转相除法与更相减损术的区别 (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显. (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到. 三.辗转相除法的流程图及伪代码 (1)算理:所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。 (2)算法步骤 第一步:输入两个正整数m,n(m>n). 第二步:计算a除以b所得的余数r. 第三步:a=b,b=r. 第四步:若r=0,则a,b的最大公约数等于b;否则转到第二步. 第五步:输出最大公约数b. (3)辗转相除法的程序框图及程序 程序框图: 输出b 开始 输入a,b 结束 伪代码: 用较大的数除以较小的数,得到除式,直到. 例1 试画出求两个正整数a,b最小公倍数的流程图,并写出其伪代码。 三个正整数? 伪代码: Read a,b cab While Mod(a,b)≠0 r Mod(a,b) ab br End While Print c/b 2.更相减损术 (1)算理:所谓更相减损术,就是对于给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数。 (2)算法步骤 第一步:输入两个正整数a,b(a>b); 第二步:若a不等于b ,则执行第三步;否则转到第五步; 第三步:把a-b的差赋予r; 第四步:如果b>r, 那么把b赋给a,把r赋给b;否则把r赋给a,执行第二步; 第五步:输出最大公约数b. 程序框图: 伪代码: Read a,b While a=b r a-b If b>r Then a b b r Else a r End If End While Print b End 3.比较辗转相除法与更相减损术的区别 (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显. (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到. 四、回顾小结: 比较辗转相除法与更相减损术的区别 (1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。 (2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到 五【随堂演练】 1.整数143和65的最大公约数为 ( A ) A.13 B.11 C.5 D.9 2.如果是整数,且,则与的最大公约数为 ( D ) A. B. C. D.与的最大公约数 3.用辗转相除法求85和51的最大公约数时,需要做除法的次数为__3________ 4分别用辗转相除法和更相减损法求91和49的最大公约数. 5.91=49×1+42 91-49=42 49=42×1+7 49-42=7 42=7×6 42-7=35 ∴(91,49)=7 35-7=28 (91,49)=(42,49)=(7,49)=7 28-7=21 21-7=14 14-7=7 6.根据更相减损法的思想,设计求两个整数的最小公倍数的算法过程,并画出流程图,写出伪代码。
高中数学人教版新课标A必修31.3 算法与案例教案: 这是一份高中数学人教版新课标A必修31.3 算法与案例教案
高中数学人教版新课标A必修3第一章 算法初步1.3 算法与案例教学设计: 这是一份高中数学人教版新课标A必修3第一章 算法初步1.3 算法与案例教学设计
高中数学人教版新课标A必修3第一章 算法初步1.3 算法与案例教案: 这是一份高中数学人教版新课标A必修3第一章 算法初步1.3 算法与案例教案