APP下载

从算法学习中学习什么

2018-03-06王森林

新高考·高一数学 2017年6期
关键词:公因数除数袜子

王森林

如果我们要穿鞋子和袜子,是先穿鞋子?还是先穿袜子?如果先穿鞋子,袜子就不好穿了,所以必须先穿袜子再穿鞋子.这样的问题在我们的日常生活中经常遇到,如果大家去辦二代居民身份证,到了政务办公点,你先要看看立在醒目处的办证流程图.流程图清楚地告诉我们第一步做什么,第二步做什么……这样不仅知道怎么做,更重要的是提高了我们办事的效率,它的本质就是让我们有条理、有步骤地去做事情,抽象到数学中,也有类似的问题,即算法.

1.什么是算法

王尚志教授指出:“数学课程中的算法既不是简单讲算法语言,也不是在讲信息技术,最重的就是讲算理”,Ruby之父松本行弘也曾表示,注重的是算法而不是T具.

《数学课程标准解读》认为“机械地按照某种确定的步骤行事,通过一系列的简单计算操作,完成复杂计算的过程,被人们称为‘算法的过程”.因此算法可以被理解为解决某类问题所采取的有限的方法或步骤.算法重视“算则”,更重视“算理”.比如说,解一元一次方程的算法概括起来即为:

①去分母;

②去括号;

③移项;

④合并同类项;

⑤用未知数的系数的倒数乘方程的两端.

2.算法在数学学科中的地位和作用

中国古代数学以算法为主要特征,取得了举世公认的伟大成就.算法进入中学数学课程,既反映了时代的要求,也是中国数学思想在一个新的层次上的复兴.

①算法学习有助于提升我们的运算能力.当你在运算中构造、设计、选择一个合理的运算步骤,你就会提高运算的正确率,更重要的是提高运算的效率,

②算法学习能够培养我们的逻辑思维能力.算法一方面有具体化、程序化、机械化的特点,同时又有抽象性、概括性和精确性.对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误将导致算法的失败,所以可以通过算法设计的学习来培养逻辑思维能力.

③算法的学习可以帮助我们规划生活,让我们的生活变得井井有条,从而提高我们的生活品质.

3.算法案例分析

学习算法的意义不仅仅是解决一个具体的数学问题,而且还能培养我们如何用算法的思想去思考问题.下面是一个算法学习案例的片段.

问题:试求下列几组数的最大公因数:

(1) 32和16;(2) 18和30;(3) 204和85;(4)8 251和6 105.

(1)(2)我们很容易解决,(3)(4)有些困难,我们应该怎么办呢?从前面两小题的解法中能否得到启发呢?

我们先来求204和85的最大公因数:

可以发现它们的最大公因数就在1-- 85中取,既然是最大的,会不会就是85呢?

第一步:Mod(204,85) =34(Mod表示取余运算,即204=85×2+34)

(启发:有余数,85不是最大公因数,由上面的等式能发现什么?——能整除204和85必须能整除85和34,从而将求204和85的最大公因数转化为求85和34的最大公因数,接下来呢?)

第二步、第三步……

Mod (85,34)一17,

Mod (34,17)一0,

故(204,85)一(85,34)=(34,17)一

求(204,85)通过辗转相除,最终转化为求(34,17),化繁为简,体现“转化”的思想.大家可以尝试求(8 251,6 105).

你能理解这种方法吗?你能归纳并总结这种方法和步骤吗?你能将它推广到一般情况吗?

如果换成任意两个正整数以,6(“>6),是否都可用这种方法求最大公因数?步骤是什么?

先用大数a除以小数6,求出余数r(0≤r<6),a=b×q+r;若余数r为0,则除数6就是最大公因数;若余数r≠0,则把除数6作为新的被除数,把余数,,作为新的除数循环运算,直到余数r为0,此时的除数就是最大公因数,

解决这个问题的方法是统一的,步骤是有限的,每个步骤是明确的,符合算法的特点——有限性和确定性.如果能编写出计算机程序,那么无论两个正整数如何变换,我们都能很快得到答案,如图1.

由几个具体的例子寻找解决问题的方法和步骤,并且抽象到一般情况,形成具体的程序化的解决问题的方法,在这个过程中,我们大家感受并体会到了条理化、程序化的算法思想.

4.高中数学课程中算法的意义

近年来在高考中都有算法题,这也说明对算法思想的重视,所以在学习算法时,应该把算法思想放在第一位,在其他章节或解题过程中要渗透算法思想,特别是把复杂问题转化为机械执行的算法的意识和能力,这种意识和能力对解题能力的培养,思维品质的优化尤其重要.endprint

猜你喜欢

公因数除数袜子
“除数是整十数的笔算除法”的教学实践与反思
除法中的数学问题
袜子叠成“豆腐干”
巧求最大公因数
《最大公因数》教案
袜子
《约分——最大公因数》教学设计
给人带来快乐的袜子,一年销售1亿美金
商和除数可以交换位置吗
“求两个数的最大公因数及最小公倍数”的一点做法