资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,算法的教学法处理,华南师范大学数学系吴跃忠,2/18/2026,1,前言:算法解读,一、解题步骤与算法,1,两种不同的解题方法,2,算法的基本性质,二、算法的要素与结构,1,三个不同的例子,2,算法的要素,三、伪代码,1.,赋值语句,2.,输入、输出语句,3.,条件语句,4.,循环语句,四、算法小结,2/18/2026,2,前言,:,算法的教育价值,1,有利于培养学生的思维能力,算法一方面具有具体化、程序化、机械化的特点,同时又有高度抽象性、概括性和精确性对于一个具体算法而言,从算法分析到算法语言的实现,任何一个疏漏或错误都将导致算法的失败算法是思维的条理化、逻辑化!算法所体现出来的逻辑化特点被有些学者看成是逻辑学继形式逻辑和数理逻辑之后逻辑学发展的第三个阶段,因此,,培养逻辑思维能力,,不仅可以通过平面几何的论证,,代数运算的严密演绎等手段进行培养,,还可以通过算法设计的学习来达到,2/18/2026,3,2,有利于培养学生理性精神和实践能力,算法既重视“算则”,更重视“算理”对于算法而言,一步一步的程序化步骤,即“算则”固然重要,但这些步骤的依据,即“算理”有着更基本的作用,“算理”是“算则”的基础,“算则”是“算理”的表现,算法思想可以有很丰富的层次递进的素材,应该贯穿于整个中学数学内容之中,由于算法的具体实现可以和信息技术相联系,因而,算法有利于培养学生理性精神和实践能力,也是实施探究性学习的良好素材,2/18/2026,4,3,有利于学生理解构造性数学,算法是一般意义上解决问题策略的具体化,即有限递归构造和有限非递归构造,这两点也恰恰构成了算法的核心(如下图所示),构造性地解决数学问题不仅是重要的解决数学问题的方法,在数学哲学上也有着重要的意义,构造性数学是一个重要的数学哲学学派,,他们只承认能够构造出来的数学这种观念有其特定的真理性,当然排斥了许多无限推理的数学,,也具有局限性,有限递归构造,有限非递归构造,输入,输出,2/18/2026,5,4,算法内容反映了时代的特点,同时也是中国数学课程内容的新特色,中国古代数学以算法为主要特征,取得了举世公认的伟大成就现代信息技术的发展使算法重新换发了前所未有的生机和活力,算法进入中学数学课程,既反映了时代的要求,也是中国古代数学思想在一个新的层次上复兴,毫无疑问,也就成为中国数学课程的一个新的特色,我国吴文俊在继承中国传统数学的算法特征的基础上,,创造性地发展了机器证明,,于,2000,年获得国家科学最高奖,这是将我国传统特色与信息技术创造性结合的典范,2/18/2026,6,二、设置算法的依据,1,计算机与算法,在现代社会里,计算机已经成为人们日常生活和工作不可缺少的工具听音乐、看电影、玩游戏、画卡通画、处理数据,计算机几乎可以是一个全能的助手,你可以用它来做你想做的任何事情那么,计算机是怎样工作呢?要想弄清楚这个问题,就需要学习算法,2/18/2026,7,2,算法小史,(,1,)人类最早关于算法的记录是在两河流域发现的公元前两三千年的黏土板,其中的一个典型例子就是计算利息何时能够等于本金,(,2,)算法早期发展中一个成果应归功于古希腊的欧几里德,他提出的计算最大公约数的辗转相除法(又称欧几里德算法),(,3,)用我国传统的开方术求高次方程的近似根,,是算法上的一大成就,(,4,),在社会上得到广泛使用的珠算口诀就可以看作是典型的算法,它把复杂的计算(例如除法)描述为一系列按口诀执行的简单的算珠拨动操作,,口诀就是算法,2/18/2026,8,(,5,)文艺复兴以后,随着近代数学的开拓和蓬勃发展,算法研究也取得了许多成果人们研究了许多数学问题的计算过程,提出了许多算法但是,稍微复杂一点的算法,如果由人(即使借助于某些计算工具)来做,就可能耗费成年累月的时间如果没有自动化计算工具的出现,复杂的计算过程实际上是无法完成的,2/18/2026,9,(,6,)现代意义上的“算法”通常是指可以用计算机来解决的某一类问题的程序或步骤,这些程序或步骤必须是明确和有效的,而且能够在有限步之内完成比如,我们非常熟悉的带余除法、解线性方程组的消元法等,都是算法,2/18/2026,10,3,中国数学的特点,其中最具代表性的就是,九章算术,九章算术,是战国、秦、汉封建社会创立并巩固时期数学发展的总结,就其数学成就来说,堪称是世界数学名著其内容按类分章,以数学问题的形式出现,包括分数四则运算、开平方与开立方,(,包括二次方程数值解法,),、盈不足术、各种面积和体积公式、线性方程组解法、正负数运算的加减法则、勾股形解法,(,特别是勾股定理和求勾股数的方法,),等其中方程组解法和正负数加减法则在世界数学发展史上是遥遥领先的就其特点来说,它形成了一个以筹算为中心、与古希腊数学完全不同的独立体系,2/18/2026,11,在随后,11,14,世纪约,300,年期间著名的数学家的数学著作,如贾宪的,黄帝九章算法细草,,刘益的,议古根源,,秦九韶的,数书九章,,李冶的,测圆海镜,和,益古演段,,杨辉的,详解九章算法,日用算法,和,杨辉算法,中,,,其中包括发展了一套求高次方程近似根的方法,,算法的特点得到了进一步的强化和发展,2/18/2026,12,一、解题步骤与算法,1,两种不同的解题方法,例,1,求和,1,2,3,4,解法一:逐步求和,第一步:计算,1,2,,得到,3,;,第二步:计算,3,3,,得到,6,;,第三步:计算,6,4,,得到,10,2/18/2026,13,解法二:根据计算公式,第一步:取 ;,第二步:计算 ;,第三步:得出结果,10.,2/18/2026,14,例,2,求 ,解:设数列 ,,解法一:选代法,第一步:设 ,计算,得 ;,2/18/2026,15,第二步:代入 ,计算 ,,得 ;,第三步:代入 ,计算 ,,得 ,约等于:;,2/18/2026,16,第四步:代入 ,计算 ,,得 ,约等于:,(注:约等于:,),等等,以至无穷步,可以逐步逼近 ,得到任意的精确值,,这个求值的过程是无限的,2/18/2026,17,解法二:求极限,第一步:令 ,,(则 );,第二步:对于两边取极限,,即:,2/18/2026,18,第三步:解方程:第四步:给出方程的解:,注:这种解法并没有给出的值,2/18/2026,19,2,算法的基本性质,例,1,的两个解答过程,就是算法可观察到如下的性质:,有穷的步骤(例,1,和例,2,的差异主要是在于例,1,的步骤是有穷的,例,2,的步骤是无穷的),存在初始步;,每一步都跟着一个后继步;,最后一步,有解答或无解答,2/18/2026,20,一般书上归纳算法的基本性质有四条:,A.,有穷性;,B.,唯一的初始动作;,C.,每个动作都有唯一的后继动作;,D.,动作序列终止时,表示问题得到解答或没有解答,2/18/2026,21,二、,算法的要素与结构,1,1,三个不同的例子,例,3,用框图表述例,1,的算法,2/18/2026,22,2/18/2026,23,例,4,给出一元二次方程,的一个算法,并用流程图形表示,2/18/2026,24,2/18/2026,25,例,5,写出计算下式的流程图:,2/18/2026,26,2/18/2026,27,2,算法的要素,(,1,),操作(,2,),控制结构,3,基本结构,(,1,)顺序结构(,2,)选择结构(,3,)循环结构,2/18/2026,28,三、,伪代码,1.,赋值语句,例,6,写出,求多项式,的算法,2/18/2026,29,解:算法一,2/18/2026,30,算法二,2/18/2026,31,2,输入、输出语句,例,7,写出方程组,一个算法,2/18/2026,32,2/18/2026,33,伪代码写法:,Input,Print,2/18/2026,34,3.,条件语句,例,8,写出函数,的算法,2/18/2026,35,解:,(,1,)用条件语表示:,Input,If then,Else if then,Else,2/18/2026,36,(,2,)用流程图表示:,2/18/2026,37,4,循环语句,For I from“,初值”,to“,终值”,step“,步长”,End for.,例,9,设计计算,的一个算法,2/18/2026,38,解:,(1),算法步骤,S1,;,S2,;,S3,;,S4,;,S5,如果 ,那么转,S3,;,S6,输出,2/18/2026,39,2/18/2026,40,(,3,),用循环语句,For I from 3 to 99 step 2,End for,Print,End for,Print,End for,Print,End for,Print,End for,Print,2/18/2026,41,例,10,设计计算,的一个算法,2/18/2026,42,(1),算法步骤,S1,;,S2,;,S3,;,S4,输出,2/18/2026,43,(,2,),循环语句,2/18/2026,44,2/18/2026,45,五、算法的教学建议,(,1,)在教学中,要注意不要把算法上成算法语言课或程序设计课,(,2,)在算法的教学中,应通过实例来说明由数学的算法到计算机使用的算法的过渡过程,从而说明学习算法的必要性,理解算法各个基本内容(结构、框图、语言等)的作用,(,3,)如果条件允许,尽可能的让学生上机实现,或模拟上机实现,这是检验学生学习算法的一种方式,也是学生比较感兴趣的部分,(,4,)在实例教学的层次(区别于一般理论和方法的层次)上,让学生理解和初步掌握算法的基本思想和操作过程,2/18/2026,46,(,5,)在教学中,要体现数学与算法的有机结合,从而使学生理解数学在利用算法解决问题中的作用,理解算法对学习数学提出的要求,(,6,)计算机使用的算法的精细和严格有助于培养学生的逻辑思维能力在教学中,教师要有意识地让学生体会算法的思想,提高他们的逻辑思维能力,2/18/2026,47,
展开阅读全文