罗忠菊
【摘要】算法内容是新课程高中数学的亮点之一,将现实生活中的问题转化成数学问题的过程,离不开数学的算法思想,因此新课程对算法的引入,充分地展示出现行高中教材培养学生数学化的意识和能力的指导思想。笔者在教学过程中遇到不少的问题,同时也进行了不少的思考,如何让算法在学生原有的认知结构中生长,如何让学生在计算机上实践,算法思想如何在高中数学教学中渗透,如何有效突破算法教学的难点,思考之后,有了收获,有些地方依然还有困惑,困惑是思考的动力。
【关键词】算法初步;算法思想;算法步骤;结构;程序框图;变量
算法内容是新课程的新增内容,由于其内容在传统教材中从未涉及,许多高中教师也是现学现教,因此在教学过程中大家对这一新增内容有不少的困惑,经常就其中某些问题进行交流、讨论,有时甚至是争论,与此同时也有不少的思考。对于大多数学生,因为这项内容的新颖而充满兴趣,然而却在一次一次的解题过程中,逐步形成了对算法的恐惧,觉得算法难学。以下是笔者结合教学实际进行的几点思考:
一、让算法在学生原有的认知结构中生长
《普通高中数学课程标准(实验)》(以下简称《标准》)写到“算法是数学及其应用的重要组成部分,是计算机科学的重要基础。随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。在必修课程中将学习算法的基本思想和初步知识,算法思想将贯穿高中数学课程的相关部分。”由此可见,不能孤立地教学算法,要使学生将算法的核心思想融入到已有的认知结构中去。
在算法概念之后,教科书紧接着安排了关于质数判定的例1与用二分法求方程近似解的例2,质数的判定是学生在小学时就接触过的,用二分法求方程近似解也在《数学必修1》中出现过,因此这两个问题是学生熟悉的。选择这样的问题,一方面是期望打破学生对算法的陌生感,另一方面也是希望将重点放在算法概念的理解上,而不是算法所涉及的问题本身。教学时先让学生回顾这两个问题的解题过程,再让他们自己整理出步骤,并有条理地用自然语言表达出来,通过这样的教学,使算法融入学生已有的认知结构中去。
算法是独立的一章,看似与其它章节的内容的联系很少,因此教师在教学中容易将它孤立起来。其实不然,算法在教材中随处可见,并不是孤立的,也像函数、方程、数列那样在后续的学习中反复出现的,例如《数学必修4》 把角度转化为弧度的算法用程序框图(图1)表示;《数学必修5》 例2根据图2.4-2中的框图,写出数列的前5项,并建立数列的递推公式;此外, 用一个程序框图把求解一般一元二次不等式的过程表示出来,这有利于培养学生的抽象概括能力,体现的是算法思想。《数学选修1—2》第四章框图,流程图这部分的教学能让学生进一步理解算法,通过这种螺旋式上升的学习,算法对学生就不再陌生,就会在原有的认知结构中“生根,发芽”。
二、计算机的实践能帮助数学的算法思想的理解
《标准》指出:“在本模块中,学生将在义务教育阶段初步感受算法思想的基础上,结合对具体实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达的能力,提高逻辑思维能力。”
虽然数学的算法和信息技术的算法是不同的。信息技术的算法即编程,是一项浩大的工程,通常要涉及大量细碎的技术问题。数学上的算法不会让学生过多地纠缠于程序的调试和实现,而是让学生感受算法的思想,理解算法的“算理”。但是,数学的算法教学不可能完全脱离计算机。算法语句,是提供给计算机的语言,在这个过程中一定要注重实践活动,应该重视计算机在教学中的使用。课本所使用的Q-BASIC语言程序设计,在UCDOS的环境下可以很顺利的运行。因此,教学中,尽量找机会让学生自己操作,能让学生很直接体会算法书写的重要性以及条件改变对计算结果的影响,这些都将大大加深学生对算法的理解。尤其在“当型循环语句”和“直到型循环语句”的讲解过程中,条件语句的等号取舍对结果的影响,可以很清晰地在计算机屏幕上显示出来。关于算法语句在计算机上的实践,这是学生研究性学习比较理想的课题,现在有一部分中学生的计算机应用能力较强,可以有机会发挥其特长。
三、算法思想如何在高中数学教学中渗透
《标准》要求“算法的思想方法应渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题。”“在数学中,算法通常是指按照一定规则解决某一类问题的明确和有限的步骤。”所以,教学中,只要使学生明确算法实际就是解决某一个或一类问题的一种程序化方法,它通常以一系列明确有限的步骤的形式出现即可,它可以不出现结果。算法对学生来说,并不陌生,从小学的四则运算所遵循的先乘除、后加减的规则,括号的处理规则,到初中的方程组的解法,高中的二分法求方程的近似解,数列求和都是算法的典型体现。高中数学的教学需要让学生站在较高的角度解决问题,算法思想的渗透是必要的,这是每位高中数学教师都明白的。
但是摆在教师们面前的困惑是,这种渗透如何做到“随风潜入夜,润物细无声”,而不显得突兀,让学生很自然地认识到算法思想的重要性,使之成为学生的一种意识。
四、注重结构,有效突破算法教学的难点
用自然语言表示的算法步骤有明确的顺序性,但是对于在一定条件下才会被执行的步骤,以及在一定条件下会被重复执行的步骤,自然语言的表示就显得困难,而且不直观、不准确。程序框图用图形的方式表达算法,使算法的结构更清楚、步骤更直观也更精确。用程序框图表示算法,可以清楚地看出算法的三种基本逻辑结构,即顺序结构、条件结构和循环结构,这三种结构是一个算法的基本构成要素,任何一个算法都可以由这三种基本逻辑结构构成。其中循环结构是教学中的一个难点。这是新教材的第一届,许多老师对这部分内容在高考中如何考查,就不像其它内容那样清楚,只有参考其它省份的高考卷,算法基本都是选择题或者填空题,考查循环结构的居多。
由于算法的循环结构在循环的过程中相应的数据发生累计变化,因此学生难以理解,容易发生错误。上述三例,变量是顺序按整数取值的题目,在循环结构的教学中采用列表,容易看出几个变量各自的变化及它们发生变化时的联系,分散了教学难点。这种用初始值跟踪程序执行的方法来解题,类似于数学解题中所应用的数学归纳法,不属于逻辑分析,但能较好地处理简单循环结构的算法,对初学者经常能达到“出奇兵而制胜”的效果。
以上是笔者在新课标的要求下,结合自己教学的实际所进行的一些思考,虽然这些思考有的还不太成熟,有待改进。算法是培养逻辑推理能力的非常好的载体,算法进入高中,这是一件大事,它必将产生一系列连锁的反应,这些问题已经引起了数学教育工作者的关注。笔者坚信,只要不断完善自身的知识结构,不断结合教学进行思考,每天都会有新的收获。
【参考文献】
[1] 中华人民共和国教育部制订. 普通高中数学课程标准(实验)[S]. 北京: 人民教育出版社, 2003
[2] 人民教育出版社课程教材研究所中学数学课程教材研究开发中心, 编著. 普通高中课程标准实验教科书数学必修3[M]. 北京: 人民教育出版社, 2007.
[3] 高月琴. 新课标下“算法初步”教学的“惑”与“获”[J]. 中学数学教学参考, 2010,9.