算法案例(2)教学目标:(1)理解辗转相除法与更相减损术中蕴含的数学原理,并能根据这些原理进行算法分析;(2)基本能根据算法语句与程序框图的知识设计完整的程序框图并写出算法程序;教学重点:理解辗转相除法与更相减损术求最大公约数的方法教学难点:把辗转相除法与更相减损术的方法转换成程序框图与程序语言.教学过程一、问题情境在初中,我们已经学过求最大公约数的知识,你能求出18与30的公约数吗?我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到一些公约数,我们又应该怎样求它们的最大公约数?比如求8251与6105的最大公约数?这就是我们这一堂课所要探讨的内容.二、算法设计思想:1.辗转相除法:例1.求两个正数8251和6105的最大公约数.(分析:8251与6105两数都比较大,而且没有明显的公约数,如能把它们都变小一点,根据已有的知识即可求出最大公约数)欧几里德算法:它是由欧几里德在公元前300年左右首先提出的.利用辗转相除法求最大公约数的步骤如下:第一步:用较大的数除以较小的数得到一个商和一个余数;第二步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;第三步:若,则为的最大公约数;若,则用除数除以余数得到一个商和一个余数;……依次计算直至,此时所得到的即为所求的最大公约数.练习:利用辗转相除法求两数4081与20723的最大公约数(答案:53)用心爱心专心1二.辗转相除法的流程图及伪代码伪代码:用较大的数除以较小的数,得到除式,直到.四、回顾小结:1.辗转相除法与更相减损术中蕴含的数学原理及算法语言的表示;2.函数的含义.五、课外作业:课本第31页第2;课本第35页第13.用心爱心专心2输出bbrab(,)rModabMod(,)0ab开始输入a,b结束YN