浅谈对《算法初步》的思考

时间:2022-05-13 10:41:11

浅谈对《算法初步》的思考

摘要:算法是数学及其应用的重要组成部分,是计算科学的重要基础。算法初步的教学内容有:算法的含义、程序框图,基本算法语句,算法案例。在算法初步的学习中安排了许多案例,这些案例的算法在计算机应用中所体现的一些数学思想、思维方法都是比较经典、有深度的,同时也是较难以理解的。算法初步一章,我认为只要增加第一节算法和框图,以及第三节中国古代数学中的算法案例即可,基本的算法语句一节应删去。

关键词:数学;算法;建议

中国分类号:G633.6

新课程改革将算法首次加入了高中教材,这让很多老师有些不知所措。不是算法内容本身难,而是老师们不确定在这一章约12个课时里,应该让学生们掌握的重点到底是什么……以下是我对《算法初步》的有关思考:

一、编写的意图:

算法是数学及其应用的重要组成部分,是计算科学的重要基础。随着现代信息技术飞速发展,算法在科学技术、社会发展中发挥着越来越大的作用,并日益融入社会生活的许多方面,算法思想已经成为现代人应具备的一种数学素养。需用要特别指出的是,中国古代数学中蕴涵了丰富的算法思想。在本模块中,学生将初步感受算法思想的基础上,结合对具体数学实例的分析,体验程序框图在解决问题中的作用;通过模仿、操作、探索,学习设计程序框图表达解决问题的过程;体会算法的基本思想以及算法的重要性和有效性,发展有条理的思考与表达能力,提高逻辑思维能力,其具体可以表述为以下5点:

1、结合熟悉的算法,把握算法的基本思想,学会用自然语言来描述算法。

2、通过模仿、操作和探索,经历设计程序流程图表达解决问题的过程。在具体问题的解决过程中理解程序流程图的三种基本逻辑结构:顺序结构、条件结构、循环结构。

3、通过实际问题的学习,了解构造算法的基本程序。

4、经历将具体问题的程序流程图转化为程序语句的过程,理解几种基本算法语句――输入语句、输出语句、赋值语句、条件语句、循环语句,体会算法的基本思想。

5、算法思想应渗透在整个高中数学课程中。

算法除作为本模块的内容之外,其思想方法应渗透在高中数学课程其他有关内容中,鼓励学生尽可能地运用算法解决相关问题。在教学中,要体现数学与算法的有机结合,在学习相应的内容(如制作随机数表、三角函数、数列、不等式、解析几何等)的过程中,有意识地引导学生体会算法思想,使他们看到数学在算法设计中的作用,以及掌握算法思想对于提高数学能力的重要性。总之,力求通过这样的联系使学生认识到算法思想的重要性,并逐步能够应用算法思想解决一些实际问题,更多关注算法思想的提炼,应是编者的用意所在。

二、《算法初步》的教学注意的几个问题:

1、要正确地定位算法教学

算法初步的教学内容有:算法的含义、程序框图,基本算法语句,算法案例。它们的教学目标具体定位在哪里?我认为,我们对算法教学目标的定位是从认识一般意义上的算法基础上,着重学习在计算机上可以实现的算法。算法初步中所研究的算法除了具有算法的基本特点,又具有确定、有效、有限的特征外;教学中围绕着计算机是如何解决问题的,选择数学中具有重要价值的算法范例为内容,如一次方程组的消元法、二分法求方程近似根、迭代求和、比较许多数的大小等等问题,来进行教学。因此,我们算法教学中要从培养学生运用计算机进行思维的素养、体会数学中所孕含的算法思维。在教学中,要实现学生从一般意义上的算法问题转移到运用计算机解决数学问题的算法的学习。

2、要正确地处理好案例学习与解决问题的关系

在算法初步的学习中安排了许多案例,这些案例的算法在计算机应用中所体现的一些数学思想、思维方法都是比较经典、有深度的,同时也是较难以理解的。通过学习使学生能理解它们的算法原理、算法程序设计的技巧,领悟其中的思想与智慧。这里更多的是了解与感受,但并不是要求学生也来解决一些较难的问题。因此,教学中要把握好教学的要求,以理解案例的算法为重点,利用它们解决一些简单的问题。鼓励有兴趣有能力的同学去解决某些具有挑战性问题。

3、算法教学必须通过实例进行,还应尽量使用信息技术

前面已指出,算法的操作性很强,因此算法教学应当强调学生的动手实践。算法内容是将数学中的算法与计算机技术建立联系,形式化地表示算法。为了有条理地、清晰地表达算法,需要将解决问题的过程整理成程序框图;为了能在计算机上实现算法,又要将自然语言或程序框图翻译成计算机语言。

三、《算法初步》内容增减的改进建议:

算法初步一章,我认为只要增加第一节算法和框图,以及第三节中国古代数学中的算法案例即可,基本的算法语句一节应删去。其中框图中循环框的用法应进一步完善和补充。编者增加基本的算法语句的意图是好的,其中一方面想增加学生的动手能力上机操作,提高学生的学习兴趣。可事实上,农村中学还不具备这个条件或这方面的条件还较差,不可能都上机操作,很多家庭也还没有电脑。很多学生编了程序也不知道对不对,根本无法上机操作验证。不能以大城市的水平和标准来衡量农村的中学和农村家庭。

再者,程序语言可以说是一个很广阔的领域,将来想从事这方面工作的学生和爱好这方面的学生,考上大学后可以进行专业学习或自修。实际上,只要框图会画了,程序的写出就较为简单了。况且Scilab语言中,程序编写要求也有详细说明,加“,”“;”或不加“,”“;”的地方,应不应该有空格的地方都没有给出相应的说明。有的学生把编好的程序拿到计算机上操作,不能运行却又不知毛病出在哪里,反倒打击了他们学习计算机的积极性。另外常用的程序符号和命令(如乘号、乘方、开方、取绝对值、四舍五入等等)课本上都没有,或给出符号了却没有给出用法;再如Scilab语言中执行语句应该小写而不能大写,等等。就是说该注意的地方,课本上并没有给出说明或注释,如果保留这块内容的话,我认为应该把这一块进一步完善一下。

算法是建立在解法基础之上的,是在某一个具体问题解法过程的分析之后,归纳出的解决一类相关问题的程序或步骤;如果一个具体问题具有代表性,其解法又具有程序性,那么这样的解法也能体现算法思想。解法是“授之以鱼”即是对某一个特定问题的解决过程,或者说解法是解决某一个问题的步骤,解法一般要有答案。算法是“授之以渔”即是解决某一类问题的步骤,而且是实现人机联系的方法,有明确性,有限性和有序性等特征,算法不一定要有答案,可以交给计算机解决。

算法作为高中数学必修内容的一部分,反映了人们在现代社会对数学的新的审视,算法教学应紧扣教材,研究的问题以数学问题为主,避免将算法概念泛化,了解算法概念需要一个循序渐进的过程。总之,算法进入高中数学课程,是时代的要求,算法的教学对未来的数学发展会产生深远的影响。

上一篇:行为导向教学法在高职专业英语教学中的应用分... 下一篇:关于微课制作与应用于教学中的思考(1)