高中新课标中“算法初步”的探究与认识,本文主要内容关键词为:新课标论文,算法论文,高中论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
新的高中数学课程标准中,“算法初步”作为必修部分被列入了2005年以后实施的中学数学教学内容.“算法是数学及其应用的重要组成部分,是计算科学的重要基础.随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并且日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养”.通过参加安徽省高中数学新课程课题组的《算法初步》的研究与探讨,我们形成了对“算法初步”的意义、内容以及教育价值等方面的一些初步认识,编拟了算法初步教材试验稿,并在我校进行了教学实验,取得了初步经验.现将我们的浅显认识交流如下,不妥之处,敬请各位同仁指正.
一、算法的意义
从广义上说,人们把进行某一工作的方法和步骤称为算法.算法就是解决一个问题的步骤和方法.如电器使用说明书就是使用电器的算法;歌谱是一首歌曲的算法;课程表是上课的算法,……等等.从狭义上说,特别是中学阶段,我们在算法初步所涉及的算法,是针对计算机能实现的算法.
一个算法具有哪些特征呢?首先具有整体化的方案,其次具有程序化的结构,并且具有可操作、有限步骤以及通用性的特征.
例如,解一元一次方程a(x+b)+c=d(a≠0)的算法概括起来可以是:去括号、移项、合并同类项、方程两边同除以未知数的系数.这里的每一步骤又都是人们已经掌握的操作,解法过程就是执行操作的整体有序的步骤;而且这样的步骤不是无止境的运行下去,而是经有限次运算后即可结束;另外,这样的算法不同于解某一具体方程如3(x+1)=2的方法,它的应用具有普遍性,适合于解一般的方程.
实现算法解决问题的过程,体现着转化的思想,一个算法是人们运用现有的东西(材料、工具、操作、方法等等)实现目标的过程.
二、算法初步的内容
一个算法包含两大要素:一是操作,二是结构.操作是指可执行实现的行为或动作.比如,看电视的操作包括:打开开关,选台,调色彩,调明亮度,调声音等;由解析式作函数图象的算法是:列表,描点、连线.中学算法中的操作是要求计算机能执行的.计算机的算法操作主要包括:算术运算(加、减、乘、除),逻辑运算(且、或、非),关系运算(大于、等于、小于、不等于等),函数运算等.结构是指控制算法各操作的执行顺序.一个算法通常有三种基本结构组成:顺序结构、选择结构、循环结构.下面谈谈这三种基本结构.
1.顺序结构
顺序结构算法的操作顺序是按照书写顺序执行的.
例1 已知三角形面积公式S=其中a,b,c为三角形三边.p=(a+b+d/2).写出求三角形面积的算法.
求此三角形面积的算法可表示为:
第一步:输入a,b,c;
第二步:计算p=(a+b+c)/2;
第三步,计算面积
第四步:输出S的值.
其程序框图为:
2.选择结构
选择结构的算法是根据指定条件进行判断,由判断的结果决定选取执行两条分支路径中的一条.
例2 求解一元一次不等式ax>b(a≠0)的算法.
首先要在a>0与a<0两种路径中选择一种执行操作.其算法的程序框图为:
例3 写出解一元二次方程ax[2]+bx+c=0(a≠0)的算法程序框图.
3.循环结构
在实际计算中,常会遇到一些规律性的重复运算.因此,在许多程序设计中需要用到循环控制.例如,要输入学生成绩;求若干个数之和等.循环结构是算法的三种基本结构之一.它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元.因此熟练掌握循环结构的概念及使用是程序设计的最基本的要求.循环结构的算法是根据条件是否满足,以决定是否继续执行循环体中的操作.
例4 求100个数中的最大数的算法
记这100个不同的数分别为a[,1],a[,2],a[,3],…,a[,100],其算法步骤为:
1)比较a[,1]与a[,2],将较大的数记作b;
2)将b与a[,3]进行比较,将较大的数记作b;
3)将b与a[,4]进行比较,将较大的数记作b;
99)将b与a[,100]进行比较,将较大的数记作b;
100)输出b,b的值即为所求的最大数.
此算法的框图为:
三、基本算法语句
一个算法是由若干个语句表达出来的.基本算法语句包括输入语句、输出语句、赋值语句、条件语句、循环语句.每种语句,在算法中具有各自的功能.在计算机上编写程序时,各种基本语句的表述形式又因不同程序语言而不同.限于篇幅,这里就不再详细阐述.
四、算法的教育价值
计算机在现代人们生活中、在生产实践和社会发展中已发挥着巨大的作用,而算法既是计算机、理论和实践的核心,也是数学的最基本内容之一.中学生学习算法的意义体现在以下几个方面:
1.有利于培养学生整体、程序化的思想
一个完整的算法应具有开始与结束部分,还要有详尽的中间结构.缺少这其中的任何一部分,算法操作就无法执行下去.同时,算法是按照一定顺序设计的,算法操作具有严谨的程序结构.这种既具有整体、又有程序化机械操作的思想对学生的发展是很重要的.
2.有利于培养学生的逻辑思维能力
算法具有严密的逻辑结构.通过学习算法,可以培养学生有条理地思考问题的习惯,这对于培养学生的逻辑思维能力,有极大的帮助,同时,对学生也提出了更高的要求.
3.有利于培养学生的数学思想
算法设计中的条件结构、循环结构,以及用已知操作解决未知问题的思维过程都体现了分类、转化、递归等数学思想.在算法学习过程中,可以促进学生的多种数学思想的发展,提高学生的数学素质.
4.有利于培养学生运用计算机解决问题的能力
一个算法一般要能通过计算机操作执行的.中学生学习算法理论过程中培养了运用计算机解决问题的能力,直接为学生学习程序设计奠定了基础,为将来学习计算机打下了良好的基础.
5.进一步培养中学生应用数学的意识
算法是数学的重要基础内容之一.计算机的应用离不开算法.学习算法,更能培养学生应用数学知识解决实际问题的意识,进一步激发学生学习数学的兴趣.
五、对算法教学中的几点建议
1.教师要准确理解新课标
算法教学必须通过实例进行,使学生在解决具体问题的过程中学习一些基本逻辑结构和语句,体会算法的思想,提高逻辑思维能力.要求学生将解决问题的过程整理成程序框图,并将程序框图翻译成计算机语言,但不能将这些过程看成是学习程序语言和程序设计.教师要把握好教学的深度和广度.
2.处理好重点和难点
程序框图的教学应贯穿算法教学的始终.要通过具体案例循序渐进地讲解程序框图的设计,特别是循环结构的框图表示,要以掌握一定的循环语言为基础.在学习循环语句之前,准确、简明地画出循环结构的框图,既是教学重点、难点,又是算法学习的关键.
3.算法语句的教学要与学生已掌握的信息技术知识程度相适应
中学生学习的算法,一般要求是能转变成计算机能够理解的程序语言和能在计算机上实现的程序.而要根据学生已掌握的信息技术基础知识的程序,灵活处理教学内容.算法语句的教学,既不能等同于学习程序语言和程序设计,又要达到基本的教学要求.教学中能让学生上机操作体验算法思想也是十分必要的.