2018-2019学年人教B版 必修三 1.3 中国古代数学中的算法案例 教案
2018-2019学年人教B版   必修三  1.3  中国古代数学中的算法案例  教案第2页

引导学生回顾

  人们在长期的生活,生产和劳动过程中,创造了整数,分数,小数,正负数及其计算,以及无限逼近任一实数的方法,在代数学,几何学方面,我国在宋,元之前也都处于世界的前列。我们在小学,中学学到的算术,代数,从记数到多元一次联立方程的求根方法,都是我国古代数学家最先创造的。更为重要的是我国古代数学的发展有着自己鲜明的特色,也就是"寓理于算",即把解决的问题"算法化"。本章的内容是算法,特别是在中国古代也有着很多算法案例,我们来看一下并且进一步体会"算法"的概念。 1. 求两个正整数最大公约数的算法

学生通常会用辗转相除法求两个正整数的最大公约数:

例1:求78和36的最大公约数

(1) 利用辗转相除法

步骤:

计算出7836的余数6,再将前面的除数36作为新的被除数,366=6,余数为0,则此时的除数即为78和36的最大公约数。

理论依据: ,得与有相同的公约数

(2) 更相减损之术

指导阅读课本P----P,总结步骤

步骤:

以两数中较大的数减去较小的数,即78-36=42;以差数42和较小的数36构成新的一对数,对这一对数再用大数减去小数,即42-36=6,再以差数6和较小的数36构成新的一对数,对这一对数再用大数减去小数,即36-6=30,继续这一过程,直到产生一对相等的数,这个数就是最大公约数

即,

理论依据:

由,得与有相同的公约数

算法:

输入两个正数;

如果,则执行,否则转到;

将的值赋予;

若,则把赋予,把赋予,否则把赋予,重新执行;

输出最大公约数

程序:

a=input("a=")

b=input("b=")

while a<>b

if a>=b

  a=a-b;

 else

  b=b-a

 end

end

print(%io(2),a,b)