教学目标:
1.理解欧几里得辗转相除法的数学原理,并能根据这些原理进行算法分
析.
2.理解用欧几里得辗转相除法求两个数的最大公约数的方法与步骤.
3.能根据算法语句与流程图的知识设计完整的流程图并写出其伪代码.
教学重点:
1.理解欧几里得辗转相除法求两个数的最大公约数的方法与步骤.
2.能写出欧几里得辗转相除法的流程图和伪代码.
教学难点:
1.利用计算机编程来实现求两个数的最大公约数.
2.欧几里得辗转相除法的流程图和伪代码程序.
教 学方法:
1.通过复习小学学过的求两个数的最大公约数的方法引入新知识,可以使学
生容易接受,易于理解.
2.教学中利用类比教学法,可以加深学生对欧几里得辗转相除法的理解,有
利于培养学生的理性思维和实践能力.
3.通过数学与计算机编程的结合,有利于学生理解构造性数学,并从程序的
学习中体会数学的严谨,领会数学算法计算机处理的结合方式,初步掌握把数学
算法转化成计算机语言的一般步骤,培养学生综合应用知识解决有关问题的能
力.
教学过程:
一、问题情境
在初中,我们已经学过求最大公约数的知识,你能求出 18 与 30 的公约数吗?
我们都是利用找公约数的方法来求最大公约数,如果公约数比较大而且根据我们的观察又不能得到 一些公约数,我们又应该怎样求它们的最大公约数?比如求
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 年左右首先提出的.利用辗转相除法求最大公约数的步骤如
下:
第一步:用较大的数 除以较小的数 得到一个商 和一个余数 ;
第二步:若 ,则 为 的最大公约数;若 ,则用除数 除以余数
得到一个商 和一个余数 ;
第三步:若 ,则 为 的最大公约数;若 ,则用除数 除以余数
得到一个商 和一个余数 ;
……
依次计算直至 ,此时所得到的 即为所求的最大公约数.
m n 0q 0r
0 0r = n ,m n 0 0r ≠ n
0r 1q 1r
1 0r = 1r ,m n 1 0r ≠ 0r 1r
2q 2r
0nr = 1nr −输 出
b
b r←
a b←
( , )r Mod a b←
Mod( , ) 0a b =
开始
输 入
a,b
结束
Y
N
四、数学运用
利用辗转相除法与更相减损术的计算算法,我们可以设计出程序
框图以及 BSAIC 程序来在计算机上实现辗转相除法与更相减损术求
最大公约数,下面由同学们设计相应框图并相互之间检查框图与程序的正
确性,并在计算机上验证自己的结果.
(1)辗转相除法的程序框图及程序
程序框图:
伪代码:
用较大的数除以较小的数,得到除式 ,直到 .
五、要点归纳与方法小结
本节课学习了以下内容:
1.辗转相除法中蕴含的数学原理及算法语言的表示;
2.函数 的含义.
rnqm += )0( nr