在理解算理的基础上构建算法

时间:2022-01-02 15:44:11 教育 我要投稿

在理解算理的基础上构建算法

在理解算理的基础上构建算法

南京东方数学教育科学研究所侯正海

《全日制义务教育数学课程标准(实验稿)》在"知识与技能"的目标中明确要求学生"掌握数与代数的基础知识和基本技能"。计算技能作为一种数学心智技能,其掌握并不是自然的,需要通过有效的学习才能获得。但计算教学又不应仅仅着眼于技能的形成,而应探讨并努力实践如何将"基本技能"变成发展学生各种"过程能力"(如探究、推理、交流等)的基础。因此,我们必须重视学生在理解算理的基础上构建算法的过程。相关的研究表明,算法是自动化的,即使在不知道其背后原理的情况下,仍可以掌握和使用。这就十分清楚地揭示了曾经的计算教学中,我们并不十分重视学生对算理的理解,而学生仍然可以经过反复操练掌握和使用算法的原因。对这一问题的认识提供给我们的启示是:学生需要掌握算法,但更需要经历构建算法的过程,实现算理和算法的内在统一。

算理是计算的理论依据,其内涵包括数和运算的意义,运算的规律和性质,解决的是为什么这样算的问题。算法是计算的方法,其内涵是由已知推出未知的程序,解决的是怎样算的问题。算法是一种经过压缩的、一般化的计算程序。算理为计算提供了正确可靠的思维过程,而算法则为计算提供了方便快捷的操作方法,是计算经验的积累。因此,在计算过程中,算理和算法是内在地联系在一起的。

在小学阶段,学生对于算理和算法的学习,主要体现在整数、小数和分数的口算和笔算中。口算由运算的意义便可以直接得到原始的算法。如,3×4表示的意义是3个4或4个3相加,因此其结果就可以通过加法算出来。笔算的算理和口算基本一致,但算法往往需要经历由"原始"到简洁的规范过程,并且稍复杂的笔算的算理与算法都是在简单笔算基础上的延伸与发展。小数四则计算与整数联系紧密,其中加减法的算理和算法可以由整数类推得到,而乘除法则需要利用运算的规律转化成整数乘除法。分数加减法的算理与算法可以由整小数加减法类推;分数乘除法的算理即是分数乘除法的意义,但其算法的构建却不能直接由整小数的算法迁移而来,因此更具创造性,而且分数除法的算法是需要转化成分数乘法的。江苏教育版小学数学课程标准教材着眼于数学知识本身的结构和学生的认知规律,精心设计了引导学生理解算理、构建算法的活动线索,有意识地突出了"过程能力"的培养。

一、观察情境图,理解算理,构建基础性的算法

小学阶段学生的思维特点以具体形象思维为主,逐步向抽象逻辑思维过渡。因此,在计算教学中要十分重视引导学生观察情境图中具体的学习对象,发现有价值的信息,为理解算理、构建算法提供直观的帮助。

20以内的加减法和表内乘除法是学生学习计算算理和算法的开始。教材注意结合直观的情景图引导学生理解算理,构建基础性的算法。以"9加几"的教学为例,教材结合解决简单的实际问题呈现了如下情境:

情境中的主体部分是盒子里放着9个桃,盒子外面放着4个桃。学生在观察情境图的基础上可以收集有价值的信息,并列出算式9+4。之所以把9个桃和4个桃清晰地呈现出来,是为了启发学生想到要求9+4得多少,可以采用数一数的方法。既可以从盒子里的第一个桃开始数起,把13个桃全部数完,这一数法对应了加法的基数意义,也可以从9开始,依次数完盒子外面的4个桃,数到13,这一数法对应了加法的序数意义。数一数的方法实质上与加法的意义是密切联系在一起的,而加法的意义正揭示了9+4的算理。

基础性的算法一般可以看作"通法",但有些情况下却需要对这样的算法进行必要的改造和提升。就拿9加几来说,虽然每道题都可以用数一数的方法算出答案,但显然这一算法速度比较慢,因此,需要对这一算法进行优化。教师可以引导学生进一步观察情境图中的盒子一共有10格,放满的话正好有10个桃,从而想到可以从4个桃中拿1个放入盒子中,把9个桃凑成10个,再加上外面的3个桃,一共有13个桃。这里,情境图中的盒子又是一个非常有效的原型,启发学生想到更简捷、更具一般意义的"凑十法"。因为"凑十法"体现了"满十进一"的计数规则,所以它又成为后继相关计算中的重要策略。从这一计算内容的学习中,学生也能初步感受到算法是多样的、灵活的。

二、激活已有知识,理解算理,构建一般性的算法

数学学习总是循序渐进、螺旋上升的。先前的学习是后继学习的基础。教师在教学新的计算内容时,应注意激活学生已有的知识,并灵活运用这些知识帮助理解算理,实现对算法的构建。

在口算学习的基础上,学生逐步学习简单笔算的算理与算法。而简单笔算的算法往往需要经历由"原始"走向简洁的规范过程,在已有知识的基础上构建一般性的算法。教学两位数乘一位数的笔算,教材呈现了如下解决简单实际问题的情境:

要求2只猴一共采了多少个桃,算式是14×2。情境图中直观地呈现了每只猴采的桃10个放在一筐,4个放在另一筐。这样的呈现方式能够启发学生利用已有的知识理解算理。学生在观察情境图后容易想到,要求14×2得多少,可以用14+14,也可以先算2个10是20,2个4是8,再把20和8合起来。这两种算法本质上是相同的,而后面的思考过程更具体地揭示了14×2的算理。在此基础上,学生联系竖式的写法和已有的计算过程,容易得到并理解以下"原始"的算法(如左下图):

方框里的两个箭头显示了计算14×2的两个步骤,用2依次去乘14个位上的4和十位上的1;省略号及红色部分的算式则具体地解释每一步的结果是如何算得的。特别是2乘十位上的1所得的结果是20,以暗红色的0突出2写在十位的意义。在引导学生明确计算的步骤和每一步所得的结果后,可以允许学生用这一"原始"的方法进行适当的巩固练习,以帮助学生真正掌握两位数乘一位数的算理与算法。在此基础上,再简化成规范的竖式(如右上图)。事实上,在这一计算内容的教学中,算理的理解对算法的构建起到了支撑性的作用。

三、迁移运用经验,理解算理,构建发展性的算法

计算内容之间的联系十分紧密,一般因为数位增加、进位或退位等情况的出现而逐渐增加复杂程度。但基本的算理和算法却可以由数位较少的计算迁移到数位较多的计算中,由不进位、不退位等的计算迁移到需要进位、退位等的计算中。教师应注意把握教材计算内容的结构序列,找准新的计算内容的发展点,有效地促进已有计算经验的迁移,构建发展性的算法。

两位数乘两位数的笔算是在两位数乘一位数的基础上进行教学的。教材提供的问题情境是:订一份牛奶(每天一瓶),全月28元,订一份牛奶一年要花多少元?教材先鼓励学生进行估算,或将这一新的计算转化成已有的计算解决问题,然后给出竖式计算的第一步,让学生试一试如何用竖式计算。

因为两位数乘一位数的计算是学生已有的经验,因此,大多数学生是可以完成第一步计算的。这一新知的发展点在于接下来该算什么,算得的积是多少,写在哪里。而这也是教学的着力点。

两位数除以一位数首位除后有余数是在首位除后没有余数的`基础上学习的。教材在学生把5筒带2个羽毛球平均分成2份的操作之后,引导学生完成竖式计算:

学生按照已有的计算经验尝试笔算,一般会遇到的困难是商2后余下1怎么办。教材用红色方框提示学生要把个位的2移下来,和十位余下的1合起来继续除。结合操作和提示,学生就容易跨越新的计算的发展点。

四、借助直观操作,理解算理,构建创造性的算法

直观操作是数学教学的有效手段。在计算教学中,直观操作不仅能有效地改变教师讲解、学生接受的教与学的方式,而且能将抽象的算理形象地显现出来,为算法的构建提供原型支撑,对学生理解算理、构建创造性的算法具有重要的意义。

分数乘除法的教学需要联系乘除运算的意义进行算法的"再创造",其算法探索的过程更具探索性和挑战性。以整数除以分数的教学为例,教材安排了2道例题引导学生经历理解算理、探索算法的过程。例2的问题情境是,幼儿园李老师把4个同样大的橙子分给小朋友。依次让学生解决三个问题:

学生对整数除以分数的算理的学习是从第(1)个问题开始的,在由问题(1)向问题(2)、(3)的过渡中,可以自然实现整数除法的意义向整数除以分数的迁移,而这正是整数除以分数的算理。问题(2)开始了对整数除以分数的算法探索。教材的设计注意以直观的操作结果启发学生发现4÷1/2和4×2之间的联系。在学生初步感悟分数除以整数与乘法之间的联系后,教材引导学生在图形中分一分,经历平均分的操作活动,利用直观的操作结果发现4÷1/3=4×3,4÷1/4=4×4。在此,教材又非常明确地提示学生思考"所乘的数与除数有什么关系",进一步明确整数除以分数的算法。由于这里涉及的分数都是单位分数,因此,教材又通过例3呈现除数是2/3的非分数单位的除法,启发学生联系上面的计算经验,发现仍然可以把除以2/3转化成乘3/2来计算。至此,教材引导学生观察上面几道算式的计算过程,水到渠成地归纳整数除以分数的一般计算方法。上述内容的安排,体现了算理的迁移过程,突出了如何顺应学生的认知规律,引导学生在理解算理的基础上发现算法的过程。

在引导学生理解算理、构建算法的过程中,教师还应该注意以下几个问题:

第一,夯实数的意义和运算意义的教学。数和运算的意义构成了算理的重要内容,其中数的位值概念对算理的教学尤其重要。比如,学生都知道400×2的结果等于800,但有的学生只是从形式上看到400后面有2个0,所以8后面也要写2个0,而数的位值概念清晰的学生则很清楚地知道400表示的是4个百,乘2后当然得到8个百。

第二,发挥表象操作在算法构建过程的作用。一般来说,学生的认知需要经历行为表征-表象表征-符号表征这三个阶段。在由直观操作过渡到一般算法的过程中,需要重视表象操作这一中间环节。所谓表象操作,就是在具体实物操作的基础上,教师引导学生联系实物操作的方法和过程,在头脑中进行类似的操作。这样可以帮助学生摆脱具体实物的束缚,更好地构建比较抽象的算法。如果跳过这一环节,学生的算法构建容易与直观操作相脱节。同时,在算法构建的过程中,一方面要以表象操作的经验推进算法的建构;另一方面,也要重视由抽象的算法向表象操作的"反攻",以帮助学生真正在理解算理的基础上构建算法。

第三,逐步实现算法的结构化。重视某一类型知识的结构能够使我们把握其中的关键原理,便于记忆和有效地迁移,而且能够缩短知识层次间的距离。在教学时,教师要重视引导学生通过交流,把握具体算理和算法的本质内容。教师应具备对学生语言表达"模糊性"的承受力,并允许学生一开始结合实例进行描述,在把握要点的基础上逐步实现表达的准确、简练。在某一类型的计算教学完成之后,教师还应注意引导学生对相关的计算进行整理,提取关键原理,沟通联系,以帮助学生完善相应的认知结构。

参考文献

[1]中华人民共和国教育部制订.全日制义务教育数学课程标准(实验稿)[S].北京:北京师范大学出版社,2001,7.

[2]范良火,黄毅英,蔡金法,李士锜.华人如何学习数学(中文版)[C].南京:江苏教育出版社,2005,7.

[3]鲍建生,周超.数学学习的心理基础与过程[M].上海:上海教育出版社,2009,10

【在理解算理的基础上构建算法】相关文章:

理解算理是学生掌握算法的基础10-16

算理和算法10-16

算理与算法的关系-我对算理与算法统一的感悟10-16

算理和算法的关系10-16

重视算理与算法的渗透10-16

算法直观与算理形象10-16

小学数学算理与算法10-16

什么是算理和算法10-16

算理和算法概述10-16