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