面对高考为什么在高中数学课程中加入算法的内容

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

42、为什么在高中数学课程中加入算法的内容?

(1)时代的需求

20世纪数学发生了很大的变化,有两个重要的标志,一个是数学的应用,这一点在前面我们已经作了介绍。另一个方面,就是数学与计算机科学的同步发展。数学对计算机科学发展的作用是毋庸置疑的,计算机之父有两个人,一个是冯.诺伊曼,一个是图灵,他们都是伟大的数学家。对于计算机来说,无论是软件还是硬件都离不开算法的设计,算法严格地说是数学的一个分支,它有自己的体系,它渗透到很多数学分支,尤其是应用数学分支。计算机的应用也是一样的,它离不开程序设计,程序设计就是算法设计。从另一个角度,计算机的飞速发展对数学的发展起了极大的推动作用,它开拓了数学研究的领域,丰富了数学研究方法,加强了数学与其他学科的联系,拓展了数学的应用范围。所有这一切,算法起了重要的作用。

了解算法的基础知识和基本应用,对一个人的发展是非常重要的。

(2)与传统的内容有密切的联系

算法并不是一个十分陌生的东西,虽然,在传统的数学内容中没有出现过这个名称,但是,它的思想反复体现在传统的数学内容中,可以说渗透到大部分内容之中。例如,求解一元一次方程,一元二次方程,二元一次方程组,求解不等式,求解线性规划问题,几何作图,几何证明,等等,都可以说是算法问题。了解了算法的基本知识,会对这些问题又一个新的认识。

(3)能引起学生的兴趣

算法的特点是可以操作、可以检验,在条件允许的学校可以让学生在计算机上实现,这些都是受学生欢迎的,它会使学生产生成就感。四个实验省的很多教师告诉我们,学生对算法很喜欢,容易教,学生爱学,学生还有很多的创造;有一些学生过去不太喜欢数学,通过学习算法,经过操作,验证,渐渐地喜欢了数学,数学成绩也有了一定的提高。

(4)对教师没有太大的难度

对教师来说,过去对算法不太熟悉,在大学的学习中没有专门学习过算法的知识,有一定的畏惧,这是很正常的。实际上,算法的内容对教师来说,难度不大,经过培训,不会有困难,有些地、市、县教研室采取了一些有效的措施,例如,分成小组,分工备课,集体研讨,教案共享,很好地解决了这个问题。

很多教师告使我们,教了一遍下来,心里就踏实了,积累了一些经验,我们正在及时地总结这些经验,将通过一定方式,告诉大家。

(5)会对未来的数学课程产生很大的影响

算法进入高中,这是一件大事,会产生一系列连锁的反映。我们估计下面的一些情况会引起数学教育工作者的关注和研究。我们已经了解到有一批硕士、博士研究生开始研究这些问题。这些研究成果一定会反映在下一轮数学课程改革中。

1)大学课程设计中,会对算法的内容给与更多的关注。有一些学校已经开设“算法”的选修课;有的学校把“算法”和相关的课程有机地结合起来,例如,计算方法课程融入的大量的算法内容;有一些学校在尝试把“算法”内容与计算机程序设计有机的结合起来。“算法”在大学数学教育中会成为关注的问题之一。在师范大学数学

课程中必然会给与更为特别的关注。

2)“算法”的内容会以某种方式渗透到初中和小学,这一点是需要认真研究的课题。

3)“算法”的内容进入高中,给出一个明确的导向,数学教育将更加关注“通性通法”,强化基本技能(skill),淡化技巧(trick)。

4)“算法”是培养逻辑推理能力的非常好的载体。它与平面几何有很多相同的东西。例如,不需要很多的准备知识;可以产生丰富的问题;这些问题会很有趣的,也会有一定的挑战性。另外,还有几点好处是平面几何所不具备的。例如,算法的思想方法会渗透到几乎每一个数学内容中,不仅是中学,在大学数学教育中依然会发挥重要的作用。但是,平面几何在后继学习中有用的方法和结果不是很多的。又例如,“算法”强调了一种构造性的证明,突出“实现”,这种思想在数学上受到越来越大的重视,尤其在计算机的作用越来越大的时代更加重视。

“算法”这种证明方式是通过框图的形式展示,一个问题的算法框图可以把解决这个问题的过程非常清晰的、非常直观的、非常简洁的、非常准确的表示出来。这对学习和掌握数学的思维过程是非常有用的。

对“算法”在数学教育中的地位和作用应该成为数学教育研究的重要方面。43、如何理解算法在高中课程中的定位?

在高中数学课程中,算法内容的设计分为两部分。

一部分主要介绍算法的基础知识,可以称作算法的“三基”:算法基本思想,算法基本结构,算法基本语句。通过一些具体的案例介绍算法的基本思想,使学生了解:为了解决一个问题,设计出解决问题的系列步骤,任何人实施这些步骤就可以解决问题,这就是解决问题的一个算法。这是对算法的一种广义的理解。对算法的理解,更多地是与计算机联系在一起,计算机可以完成这些步骤。

算法的基本结构一般有三种:顺序结构,分叉结构,循环结构。前两种结构很容易理解,循环结构稍微有点难,这里用到函数思想,难在理解反映循环过程的循环变量。在教学过程中,一定要通过具体的案例,结合具体的情境引入概念,会使问题变得很简单。

介绍算法语句的时候,要区分算法语言和基本的算法语句。我们知道,现在使用的算法语言是很多的,例如,basic 语言,q-basic 语言,c-语言,等等。在高中的数学课程中,不要求介绍算法语言,仅仅需要了解基本语句,例如,输入语句,输出语句,赋值语句,条件语句,循环语句,等等。在不同的语言中,这些语句的表示可能不一样,数学课程要求采用公认的统一表示,称为伪代码。很容易把伪代码翻译成任何一种算法语言。

描述算法有三种语言:自然语言、框图语言、基本算法语句。

算法的另一部分设计,是把算法的思想融入相关数学内容中。实际上,算法思想是贯穿在高中数学课程始终的基本思想。例如,二分法求方程的解;点到直线的距离、点到平面的距离、直线到直线距离;立体几何性质定理的证明过程;一元二次不等式;线性规划;等等内容中,都运用了算法思想。

用算法思想学习和认识数学对于提高数学素养是很有用的,希望老师予以重视。

44、如何理解赋值?

赋值是算法中的难点之一,理解赋值对于理解算法是非常重要的。

赋值就是把数值赋予给定的变量。例如,a:=5,就表示变量a被赋予的值是5,即a=5,这个被赋值的变量可以与其他的值进行运算。对于被赋值的变量a,还可以赋予其它的值取代原来的值。我们可以用磁带录音来比喻赋值,在我们录音时,是把磁带上旧的录音材料冲掉之后,才能把新的录音材料加载上去。同样的道理,我们这里的赋值也是先把原来的值清零之后,再把新的值赋上去。下面我们通过一个例子来说明如何设置变量和给变量赋值。

例:设计一个算法,从5个不同的数中找出最大数。

解:记这5个不同的数分别为a1,a2,a3,a4,a5,算法步骤如下:

1、比较a1与a2将较大的数记作b.

(在这一步中,b表示的是前2个数中的最大数)

2、再将b与a3进行比较,将较大的数记作b.

(执行完这一步后,b的值就是前3个数中的最大数)

3、再将b与a4进行比较,将较大的数记作b.

(执行完这一步后,b的值就是前4个数中的最大数)

4、再将b与a5进行比较,将较大的数记作b.

(执行完这一步后,b的值就是前5个数中的最大数)

5、输出b,b的值即为所求得最大数。

分析:上述算法的4个步骤中,每步都要与上一步中得到的最大数b进行比较,得出新的最大数。b可以取不同的值,b就称之为变量。在第1步到第4步的算法过程中,我们都把比较后的较大数记作b,即把值赋予了b,这个过程就是赋值的过程,这个过程有两个功能,第一,我们可以不断地对b的值进行改变,即把数值放入b中;第二,b的值每变化一次都是为下一步的比较服务。

45、如何理解函数在循环结构中的作用?

(1)循环结构是算法的一种基本结构。

例如,设计算法,输出1000以内能被3和5整除的所有正整数。解决这个问题,我们首先要引入变量a表示待输出的数,则a=15n (n=1,2,3,…,66).n从n从1变到66,反复输出a,就能输出1000以内的所有能被3和5整除的正整数。像这样的算法结构称为循环结构,其中反复执行的部分称为循环体。变量n控制着循环的开始和结束,称为循环变量。

上述例子的算法中,需要反复进行相同的操作,如果按照顺序结构来描述,算法显得十分繁琐,不利于阅读,如果采取循环结构来描述,算法就显得简洁、清楚。所以,循环结构是一种简化算法叙述的结构。

相关文档
最新文档