第1页算法教学的基本原则与策略广东东莞市东莞中学523005庞进发算法是高中数学新增的内容,并且是学生在高中必修的知识.教师都是第一次教算法.如何有效地进行算法教学,是广大教师关注的热点问题.本文针对算法教学的原则与策略进行了理论与实践的探索,提出四个教学原则:基础性原则、过程性原则、主体性原则、实践性原则.四个教学策略:采取螺旋式、循序渐进的教学方法;通过充分的实例,帮助学生理解算法的概念;算法案例注重算理分析;注重算法思想渗透到高中数学课程的各个内容中.1算法教学的基本原则普通高中数学课程标准对高中数学课程提出了十个基本理念,为学生的学习和教师的教学以及教学的评价都起到一个重要的引领作用,为高中数学课程的教学指明了方向.笔者根据新课程的理念和建议,结合教学实践和学生的认知特点,提出算法教学的以下原则.1.1基础性原则为了适应信息时代发展的需要,高中数学课程新增加算法的内容,并且把基本的数据处理、统计知识、算法等作为新的数学基础知识和基本技能.而且熟练掌握基础知识、基本技能和数学思想方法,是解决问题的前提和保障.因此,数学教学一定要狠抓基础知识的学习、基本技能的训练和基本方法的熟练运用.在算法内容中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力.在算法教学中,注重理解三种基本逻辑结构——顺序结构、条件结构、循环结构,体会算法思想,同时把算法思想渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题.1.2过程性原则在算法教学中,注重体现算法的逐步形成过程以及优化过程,如首先分析这个问题,探讨解决这个问题的算理;然后进行算则分析,解决这个问题的具体步骤,应用自然语言进行描述;接着进一步理清算法的思路,把自然语言转化为直观、清晰的程序框图;接着为能在计算机上实现,验证算法的正确性,把程序框图翻译为计算机能执行的程序语言;最后通过计算机运行验证,反思,优化所提出的算法.通过过程教学,可使学生经历知识的发现、发生、发展过程,知识内在的发展规律与学生的思维活动自然地形成了高度统一,学生在主动积极地建构数学知识与方法的过程中,能深切地感受到成功与失败共存.这对学生自信心的培养、自我意识的形成、自主能力的提高等都大有益处.1.3主体性原则最有效的数学学习活动是在教师的指导下,学生自己观察、实验、分析、归纳、抽象、概括、猜想、推理与交流等自主探索的学习活动.学生通过自主探究学到的知识,理解最深刻、最具有价值.因此,教学中教师应是学生学习活动的组织者、引导者、指导者与合作者,而不是把课堂变成教师的一言堂,要启发、引导学生,给学生留足充分的时间,让学生进行自主探究、合作交流.只有这样,才能真正提高学习的效益.在算法教学中,教师提供更多的不同实例,让学生体会算法的概念、算法的思想,指导学生经历获得解决一个问题算法的过程,对一些算法语言作适当的解释后让学生自主去编程、上机验证.1.4实践性原则当今知识经济时代,数学正在从幕后走向台前,数学和计算机技术的结合使得数学能够在许多方面直接为社会创造价值,同时,也为数学发展开拓了广阔的前景.高中数学课程非常重视让学生体验数学在解决实际问题中的作用、数学与日常生活及其他学科的联系,促进学生逐步形成和发展数学应用意识,提高实践能力.而算法是数学与计算机的桥梁,利用算法,可以把信息技术和数学课程内容有机整合,并且算法作为解决问题的一种方法,应用在高中数学课程的其他内容中,应用性和实践性都非常强.由此,有条件的学校,应鼓励学生尽可能上机尝试,实现有关的算法.2算法教学的策略2.1采取螺旋式、循序渐进的教学策略在讲算法概念、运用自然语言描述算法时,就对程序框图和基本算法语句中出现的一些例题和练习进行算理分析,这样可以分散教学难点,重点突破程序框图或基本算法语句中的难点.例如,人民教育出版社A版高中数学必修3第9页例3:设计一个计算1+2+…+100的值的算法,并画出程序框图.首先在学习算法概念时,就引导学生分析这个问题的算理,运用自然语言描述其算法,重点分析算理;然后在学习第2页循环结构的时候,同样是研究这个问题,把自然语言转化为程序框图,重点分析循环结构的含义和表达;最后在算法语句时,也是研究同一个问题,把程序框图翻译成程序语言,重点分析循环结构的算法语句的含义和表达.这样可以分阶段突破难点,同时也突出重点,紧扣一个问题,让学生经历了算法分析的整个过程:分析问题、探讨算理——算则分析、自然语言描述——转化为程序框图——翻译为程序语言——上机尝试——优化算法.2.2通过实例体验算法的策略算法是一个既熟悉又陌生的名词,我们在解决数学问题或其他问题时经常会体现到算法思想,应用到算法的方法,而算法第一次在高中数学课程中作为必修模块出现.因此,依据学生的知识建构的规律,给学生设置充分的实例问题,引导学生经历感受、观察、抽象、概括的过程,从而提炼出算法的概念,体会算法思想.例1:写出你在家里烧开水过程的一个算法.解:第一步:把水注入电锅;第二步:打开电源把水烧开;第三步:把烧开的水注入热水瓶.(上述算法是解决某一问题的程序或步骤)例2:给出求1+2+3+4+5的一个算法.解:算法1按照逐一相加的程序进行第一步:计算1+2,得到3;第二步:将第一步中的运算结果3与3相加,得到6;第三步:将第二步中的运算结果6与4相加,得到10;第四步:将第三步中的运算结果10与5相加,得到15.算法2可以运用公式1+2+3+…+n=2)1(nn直接计算第一步:取n=5;第二步:计算2)1(nn;第三步:输出运算结果.(说明算法不唯一)例3:(人民教育出版社A版高中数学必修3第2页,解二元一次方程组的步骤)解二元一次方程组12yx①12yx②第一步:②-①×2,得35y③第二步:解③得53y第三步:将53y代入①,得51x这三步就构成了解这一个二元一次方程组的算法.进行推广,对于一般的二元一次方程组111cybxa①222cybxa②第一步:②×a1—①×a2,得:12211221cacaybaba③第二步:解③得12211221babacacay;第3页第三步:将12211221babacacay代入①,得12212112babacbcbx.(可推广到解一般的二元一次方程组,说明算法的普遍性)例4:(人民教育出版社A版高中数学必修2第129页)通过课本例4,可概括出用“待定系数法”求圆的方程的大致步骤是:第一步:根据题意,选择标准方程或一般方程;第二步:根据条件列出关于a,b,r或D,E,F的方程组;第三步:解出a,b,r或D,E,F,代入标准方程或一般方程.(上述算法是解决某一数学问题的程序或步骤)2.3注重算理分析的策略通过学习一些简单的算法,如求方程的近似解的二分法、判断一个数是否为质数等,对算法已经有了一个初步的了解.学生也具备了分析算法的基本能力.然后再通过几个算法案例,让学生经历完整的算法分析过程,进一步训练逻辑分析能力和表达能力,体会算法的思想.在算法案例分析教学中,应该让学生经历由具体到抽象,逐一归纳,逻辑推理的过程.同时,通过阅读中国古代数学中的算法案例,体会中国古代数学对世界数学发展的贡献.《九章算术》是中国古代的数学专著,其主要特征是算法思想,其中有求两个数的最大公约数的算法——“更相减损术”,即“可半者半之,不可半者,副置分母、子之数,以多减少,更相减损,求其等也,以等数约之.”这里的描述体现了丰富的算理——数论知识,还有清晰的算则——求最大公约数的步骤.翻译为现代语言如下:第一步:任意给定两个正整数;判断它们是否都是偶数.若是,用2约简;若不是,执行第二步.第二步:以较大的数减去较小的数,接着把所得的差与较小的数比较,并以大数减小数.继续这个操作,直到所得的数相等为止,则这个数(等数)就是所求的最大公约数.下面用一个例子来说明这个算法.例:用更相减损术求98和63的最大公约数.解:由于63不是偶数,把98和63以大数减小数,并辗转相减3563982835637283521728147217714所以,98和63的最大公约数等于7.开始输入m,np=0且q=0p=mMOD2,q=nMOD2p=mMOD2,q=nMOD2m=m\2,n=n\2mnt=m,m=n,n=tr=m-nrnrnt=n,n=r,r=tm=n,n=r,r=m-n输出n结束是否是否是否是否(图1)第4页由具体的例子抽象概括为一般形式,然后用程序框图描述(如图1),算理就更加清晰了.2.4把算法作为高中数学主线的策略能力的培养需要渐进的过程,算法知识与算法思想的学习,不仅局限在必修3算法初步的12课时中,应渗透在整个高中数学的学习中,渗透在高中数学课程的各个内容中.如应用算法的思想学习数学的概念、原理,解决问题,对自己的学习进行归纳总结;利用算法解方程,研究函数,进行数据统计,计算数列的有关问题,进行解析几何的有关计算等.参考文献:1高中数学新课程实验与探索.王林全等.北京:高等教育出版社,2004,102普通高中数学课程标准(实验)解读.南京:江苏教育出版社,2004,43普通高中课程标准实验教科书•数学必修3.北京:人民教育出版社,2004,7