算法及其教育价值_数学论文

算法及其教育价值,本文主要内容关键词为:算法论文,价值论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。

一、算法概念

现代社会,计算机已经成为人们日常生活和工作中不可缺少的工具.那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法.

机械地按照某种确定的步骤行事,通过一系列简单计算操作,完成复杂计算的过程,被人们称为“算法”过程.人很容易完成的基本计算就是最简单的一位数加、减、乘和进位、借位等,复杂计算过程实际上都是通过这些操作,按照一定的工作次序与步骤,组合完成的.例如,一个多位数的乘法就是通过多次使用一位数乘法、一位数加法和进位运算规则实现的,可以看作是一个算法过程.人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板,一个典型例子就是,计算利息何时能够等于本金.算法早期发展中值得一提的另一个成果应归功于古希腊的欧几里得,他提出的计算最大公约数的辗转相除法至今仍在使用,也是基础数学的一项基本内容.中国古代数学研究中也有许多有关算法的成果.在社会上得到广泛使用的珠算口诀就可以看作是典型的算法,它把复杂的计算(例如除法)描述为一系列简单的算珠拨动操作.文艺复兴以后,随着近代数学的开拓和蓬勃发展,算法研究也取得了许多成果.人们研究了许多数学问题的计算过程,提出了许多算法.但是,稍微复杂一点的算法,如果由人来做,就可能耗费成年累月的时间.这方面的进一步发展缺乏基础.如果没有自动化计算工具的出现,复杂的计算过程实际上是无法完成的.关于算法的基础理论研究在20世纪三四十年代取得一系列突破性进展,人们提出若干非常重要的,带有普遍意义的计算过程模型.其中最著名的是由英国数学家阿兰·图灵在20世纪40年代提出的一种自动计算机器的模型,这种模型后来被人们称为“图灵机”.图灵有关工作的重要意义在于他指出了一个原理:图灵机是一种非常强有力的计算“工具”,一切可能的机械式计算过程都可以由图灵机实现.图灵又进一步指出:存在一个“通用”图灵机,它可实现所有图灵机的功能.这个结论告诉人们,完全没有必要再去一个个地制造加法机器、乘法机器、最大公约数机器,等等,只要能制造出一种具有与“通用图灵机”功能等价的机器,所有计算问题的运行基础就能一下子迎刃而解了.图灵的工作对于计算机领域的发展是如此重要,以他的名字命名的“图灵奖”是计算机领域中最重要的奖项.

现代意义上的“算法”通常是指可用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,且能在有限步内完成.如,我们熟悉的带余除法、解线性方程组的消元法等,都是算法.中国古代数学以算法为主要特征,这可在中国古代数学家的著作中看出端倪.其中最具代表性的是《九章算术》,它是战国、秦、汉封建社会创立并巩固时期数学发展的总结,就其数学成就来说,堪称是世界数学名著.其内容按类分章,以数学问题的形式出现,包括分数四则运算、开平方与开立方、盈不足术、各种面积和体积公式、线性方程组解法、正负数运算的加减法则、勾股形解法(特别是勾股定理和求勾股数的方法)等.其中方程组解法和正负数加减法则在世界数学发展史上遥遥领先.就其特点来说,它形成了一个以筹算为中心、与古希腊数学完全不同的独立体系.在随后11~14世纪约三百年期间著名的数学家的数学著作,如贾宪的《黄帝九章算法细草》,刘益的《议古根源》,秦九韶的《数书九章》,李冶的《测圆海镜》和《益古演段》,杨辉的《详解九章算法》《日用算法》和《杨辉算法》中,算法的特点得到了进一步的强化和发展.

描述算法可以用不同的方式,可以用日常语言和数学公式描述,也可以使用程序框图直观地表示算法的整个结构,而要想在计算机上具体实施算法,则还需要将算法转化为程序语句.例如,用二分法求方程Inx-(2/x)=0的误差小于0.005的近似根的算法可描述为:(1)令f(x)=Inx-(2/x),误差小于0.005.确定x[,1]、x[,2]使f(x[,1])f(x[,2])<0,比如x[,1]=2,x[,2]=3;(2)令m=(x[,1]-x[,2]/2),判断f(m)是否为0,若是,则m为所求,否则继续判断f(x[,1])f(m)大于0还是小于0;(3)若f(x[,1])f(m)>0,则令x[,1]=m,否则令x[,2]=m;(4)判断|x[,1]-x[,2]|<0.005是否成立?若是,则x[,1]、x[,2],之间的任意取值均为满足条件的近似根,若否继续回到(2).

算法和计算机有着密切的联系,计算机解决任何问题都要依赖于算法.只有将解决问题的过程分解为若干明确的步骤,即算法,并用计算机能够接受的“语言”准确地描述出来,计算机才能够解决问题.因此,算法是计算机科学的重要基础,没有算法也就没有计算机.

二、算法的基本内容

中学数学中的算法内容和其它内容是密切联系在一起的,比如线性方程组的求解,数列的求和等.具体来说,需要通过模仿、操作、探索,学习程序框图设计来表达解决问题的过程,体会算法的基本思想和含义,理解算法的基本结构和基本算法语句,并了解中国古代数学中的算法[1].一般算法由顺序、条件和循环3种基本结构组成.顺序结构是由若干个依次执行的处理步骤组成,这是任何一个算法都离不开的基本主体结构.如,下面的算法就是典型的顺序结构.

例1 一个三角形的3边边长分别为2、3、4,设计一个算法,求出它的面积.

算法分析:(1)输入3个数2、3、4;(2)计算p=(2+3+4/2);(3)计算三角形的面积

(4)输出三角形的面积s的值.

条件结构以条件判断为起始点,根据条件是否成立决定执行哪一个处理步骤.如,下面的例题就要求我们做出判断.

例2 任意给定3个正实数,设计一个算法求分别以这3个数为3边边长的三角形的面积.

算法分析:(1)输入3个数a、b、c;(2)判断a、b、c是否能构成三角形?(3)如果能构成三角形,则计算P=(a+b+c/2)和三角形的面积

(4)输出三角形面积s的值或者“无法构成三角形”的信息.

循环结构是指在算法设计中,从某处开始有规律地反复执行某一处理步骤,该处理步骤称为循环体.循环体的执行次数由一个控制循环条件决定.满足条件反复做,不满足则停止.循环结构分为两种:“当型”(While型)和“直到型”(Until型).“当型循环”在执行循环体前对控制循环条件进行判断,当条件满足时反复做,不满足则停止;“直到型循环”在执行了一次循环体之后,对控制循环条件进行判断,当条件不满足时反复做,满足则停止.

“算法是计算机科学的基础”,计算机完成任何一项任务都需要算法.但是,用自然语言或程序框图描述的算法是计算机所无法“理解”的,我们还需要将算法用计算机能够理解的语言表达出来,这一过程通常被称为程序设计,所用的语言称为程序设计语言(Program-ming Language).中国古代数学中算法的内容是非常丰富的.如,中国古代数学著作《九章》中介绍的约分方法:“可半者半之,不可半者,副置分母之数,以少减多,更相减损,求其等也,以等数约之.”意思是:若分子、分母全是偶数,则把分子、分母分别放于不同的地方,然后由较大的数减去较小的数,并辗转相减直到两边所得数相等,就用这个数(等数)来约分.这个数就是分子和分母的最大公约数.“约分术”给出了求任意两个数的最大公约数的一种算法,被后人称为“更相减损术”.这种方法与欧氏算法异曲同工,本质上是相同的.中学生很易理解的内容还有割圆术、多项式求值的秦九韶算法等.

三、算法内容的教育价值

算法内容的教育价值主要体现在:(1)算法内容有利于培养学生的思维能力.算法具有具体化、程序化、机械化的特点,又有高度抽象性、概括性和精确性.对一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败.算法是思维的条理化、逻辑化!算法体现出的逻辑化特点被有些学者看成是继形式逻辑和数理逻辑之后逻辑学发展的第三个阶段.(2)算法内容有利于培养学生理性精神和实践能力.算法既重视“算则”,更重视“算理”.对于算法而言,一步一步的程序化步骤,即“算则”固然重要,但这些步骤的依据,即“算理”有着更基本的作用,“算理”是“算则”的基础,“算则”是“算理”的表现.算法思想可以贯穿于整个中学数学内容之中,有很丰富的层次递进的素材,而在算法的具体实现上又可以和信息技术相联系,因而,算法有利于培养学生理性精神和实践能力,是实施探究性学习的良好素材.(3)算法内容有利于学生理解构造性数学.算法是一般意义上解决问题策略的具体化,即有限递归构造和有限非递归构造,这两点构成了算法的核心(算法流程为:输入→有限递归构造/有限非递归构造→输出).构造性地解决数学问题不仅是重要的解决数学问题的方法,在数学哲学上也有着重要的意义.(4)算法内容反映了时代特点,同时也是中国数学课程内容的新特色.中国古代数学以算法为主要特征,取得了举世公认的伟大成就.现代信息技术的发展使算法重新焕发了前所未有的生机和活力,算法进入中学数学课程,既反映了时代的要求,也是中国古代数学思想在新层次上的复兴,成为中国数学课程的一个新特色.

标签:;  ;  ;  ;  

算法及其教育价值_数学论文
下载Doc文档

猜你喜欢