来源:人民教育出版社 作者:山东省临沂二中 许永忠 更新时间:2006-10-13 23:53:39
1.5.3 循环的思想
人们最怕机械重复,因为重复枯燥乏味。而计算机则擅长重复。这种重复体现到程序中就是循环。不难想象,如果没有循环,计算机还能干什么!在教材中出现了几个典型的循环问题,如二分法、数列求和、判定质数、辗转相除法、秦九韶算法等。这种思想方法在其他内容中很少使用,即使用到也因为手工计算过于繁琐而不愿用或不能用。
1.5.4 递推的思想
怎么计算1!+2!+3!+…+20!?这要设置一个变量S记录和,还要设置一个变量n记录项数。阶乘怎么办?每一项都单独计算显然太麻烦。注意到每一项Tn与前一项Tn-1的关系是Tn=n×Tn-1,因此从第二项开始每一项都可以由前一项乘以n得到。这就是递推。由于学生还没有学习数列,这种思想方法还是初次涉及。
在这个程序中要实现递推,就要用到n=n+1,S=S+T,T=T*n等语句,这对学生来说也是很新颖的,刚刚接触时甚至会感到是不可思议的。
教材中还涉及了一些其他的思想方法及技巧,这里就不一一列举了。
《高中数学新课程标准》指出:“数学是人类文化的重要组成部分。数学课程应适当反映数学的历史、应用和发展趋势,……”由以上研究可知,算法是体现这些要求的非常好的载体。算法内容的设置,为高中数学贯注了新鲜的血液,同时也为广大数学教育工作者解放思想,摆脱陈旧观念的束缚,从而跟上时代步伐提出了新的要求。
2 教材编写探究
《高中数学新课程标准》是推动课程改革的纲领性文件,要在中学具体实施标准中的要求,还要通过教材。编写一套切实可行的教材,并不是一件简单的事情。下面以人教A版高中数学必修3(以下简称教材)的编排为例,结合在教学中的一些发现,谈点自己的看法,旨在抛砖引玉,与同行们切磋。不当之处,希望专家和同行们指正。
2.1 教材内容简介
教材通过一个学生熟知的实例,引入了算法的概念,然后分别介绍了用自然语言描述算法、用程序框图描述算法和用程序语言描述算法的方法,最后介绍了4个算法实例。教学实践表明,这种安排从整体上看是合理的和实用的,能较好地体现新课程标准的要求。
在程序框图一节,介绍了4种框(终端框、输入输出框、处理框和判断框),3种结构(顺序结构、条件结构和循环结构)。在算法语句一节,介绍了输入语句、输出语句、赋值语句、条件语句和循环语句,其中循环语句又分当型循环和直到型循环两种。在算法案例一节,介绍了4个具体案例。这些都是算法的核心内容,内容虽然不多,但是已能充分体现算法的实质及其思想方法。
2.2 对教材的建议
教材在编写过程中是费了一番苦心的。由于是第一次试用,有些细节显然还没有来得及细细推敲。在教学过程中,我们发现教材存在一些不足之处。
2.2.1 质数判定算法
在我市组织的数学新教材培训时,许多老师反映了这样一个问题:由于感到这部分内容较生疏,因而想事先准备准备,而每次都是看到教材第5页就打住了。打开教材不难发现,使许多老师每次都打住的第5页上,是一个判定质数的算法框图。通过研究发现,这个问题的设置有诸多问题。
(1)难度太大。笔者虽有多年的BASIC教学和编程经验,但在阅读此框图时花了几十分钟才基本弄懂。这对缺乏经验的教师来说,看不懂也就不足为怪了。这个算法本身难度就较大,加上教材介绍的方法中用到了一个flag变量,更使该算法晦涩难懂。
(2)出现的时机不对。这一内容出现在第2课时(或第3课时)的位置,这时学生对算法还处在一种朦胧状态,一下子出现这样一个难懂的框图,无疑是当头一记闷棍。如果能适当后移,做为最难的一个例题来处理,效果肯定要好得多。
(3)程序编写有误。上面算法框图的程序在教材第22页,是算法语句的最后一个问题,这样处理在时机上掌握的较好。遗憾的是课本上给出的程序有误,应该将程序中第12行的ELSE改为END IF,倒数第2行的END IF去掉。否则,在输入任何大于2的整数时,都没有结果输出。
进一步研究可以发现,程序中flag的主要作用是在n不是质数时提前退出循环,同时也为后面的输出提供依据。这种思路是好的,但却给师生造成了理解上的困难。其实,flag的设置并不是必需的。我们对这个算法进行了改进,程序和框图如下:
INPUT n
文章评论评论内容只代表网友观点,与本站立场无关!