《算法的概念》教案三维目标:一、知识与技能1、初步了解算法的含义与概念,了解算法的确定性、可行性、有穷性、通用性和有输出性等特征;2、初步了解消去法的思想;3、体会算法的思想,能说明解决简单问题的算法步骤。二、过程与方法1、通过实例,发展对具体问题的过程与步骤的分析能力,发展从具体问题中提炼算法思想的能力;2、通过模仿与操作,能对所给问题设计相应的算法。三、情感态度与价值观1、通过分析消去法的过程,体会算法的思想,发展有条理的、清晰的思维能力,提高人的一般素质;2、通过应用数学软件解决问题,感受算法思想的重要性,感受现代信息技术的魅力。教学过程(一)课题引入设计1.看章头图,介绍图中算筹、算盘、计算机.2.提出问题:这三者之间有什么共同点?从而引出算法.3.介绍《九章算术》,介绍我国古代部分数学成就,对学生渗透爱国主义教育.4.从为了了解计算机的工作原理,让学生体会算法的研究价值.引出课题——算法的概念.(二)问题情境,引出算法概念问题情境:一个农夫带着一条狼、一头山羊和一篮蔬菜要过河,但只有一条小船.乘船时,农夫只能带一样东西.当农夫在场的时候,这三样东西相安无事.一旦农夫不在,狼会吃羊,羊会吃菜.请设计一个方案,使农夫能安全地将这三样东西带过河.设计意图:通过这个学生感兴趣的问题,让学生有一个对算法的初步认识.师生活动:教师可以引导学生整理出按步骤解决问题的方案,并告诉学生这就是一个解决该问题的算法.第一步,农夫带羊过河.第二步,农夫独自回来.第三步,农夫带狼过河.第四步,农夫带羊回来.第五步,农夫带蔬菜过河.第六步,农夫独自回来.第七步,农夫带羊过河.当然,也有可能学生提出第二套过河方案.第一步,农夫带羊过河.第二步,农夫独自回来.第三步,农夫带蔬菜过河.第四步,农夫带羊回来.第五步,农夫带狼过河.第六步,农夫独自回来.第七步,农夫带羊过河.在这里目的不是为了解决这个问题本身,而是为了从这里让学生初步了解算法,所以不需要两种方案都讲.只要在学生回答的基础上整理出一个解决问题的步骤即可.(三)解决问题,建立算法概念问题1:“鸡兔同笼”是我国隋朝时期的数学著作《孙子算经》中的一个有趣而具有深远影响的问题“今有雉兔同笼,上有三十五头,下有九十四足,问:雉兔各几何?”翻译成白话文:一个笼子里有一些鸡和兔,现在知道里面一共有35个头,94只脚,问鸡和兔各有多少只?设计意图:通过对学生所熟悉的问题的解决,帮助学生形成按步骤表达解决问题的想法.为建立算法的概念,以及下面学习复杂问题中用自然语言描述算法打好基础.师生活动:这个问题学生容易解决,可以由学生独立思考,之后汇报其解决方案.从解决问题的过程看,解决以上问题可以分若干步完成:第一步,设有x只鸡,y只兔,第二步,列方程:35(1)2494(2)xyxy第三步,解方程求得:2312xy第四步,答:笼子里有鸡23只,兔12只.教师在学生回答的基础上指出上述四个步骤构成解决“鸡兔同笼”问题的一个算法.同时指出:“第一步,设.第二步,列.第三步,解.第四步,答.”这四个步骤构成了一般的列方程解应用题的算法.问题2:你能写出求解二元一次方程组:35(1)2494(2)xyxy的步骤吗?设计意图:在上述“鸡兔同笼”问题中涉及解二元一次方程组的问题,通过复习所学过的解二元一次方程组的基本步骤,为建立算法概念做好准备.师生活动:教师先提出问题,让学生对求解过程一步步表达出来.解二元一次方程组的主要思想是消元的思想,有代入消元和加减消元两种消元的方法,无任学生用代入消元法还是加减消元法,在这里目的不是为了解方程的方法,而是为了从这里让学生初步了解算法,所以不需要两种方法都讲.教师只要和学生共同整理出一个解方程的步骤即可.教师在学生回答的基础上指出:1.以上求解的步骤就是解二元一次方程组的算法.2.本题的算法也适合一般的二元一次方程组的解法.问题2:写出求方程组1111221222(1)0(2)axbycababaxbyc的解的步骤.设计意图:在复习解特殊二元一次方程组基本步骤的基础上.进一步复习回顾解一般的二元一次方程组的步骤,从而提高学生对算法的普遍适用性的认识,使学生认识到算法往往适合解决的是一类问题,为建立算法的概念做好铺垫.通过教师事先编好的程序的演示,让学生感受算法研究的价值.师生活动:教师在提出问题后,可以让学生来说出其解题步骤.第一步,21(1)(2)bb,得12212112()(3)ababxbcbc.第二步,解(3),得21121221bcbcxabab.第三步,12(2)(1)aa得12211221()(4)ababyacac.第四步,解(4),得12211221acacyabab.第五步,得到方程组的解为:2112122112211221bcbcxababacacyabab.在完成求解一般的二元一次方程组步骤的基础上教师指出:1.本题的步骤就是求一般的二元一次方程组的解的算法.2.用事先编好的程序,让学生输入数据,计算机直接给出方程组的解.(四)分析归纳,得到算法概念问题3:到底什么是算法?如何表达算法的含义?设计意图:有了上面所举实例,学生对算法的概念开始有了一些认识,但对概念的比较全面的描述还有一定的困难.教师在此处设问后,再通过帮助学生回顾上面关于算法的实例,引导学生进行归纳总结.让学生切实参与到概念的形成过程中来.师生活动:教师在提出问题后,可以先让学生用自己的语言表达对算法思想的理解,在学生回答的基础上教师进行归纳帮助学生建立算法的概念.教师指出:算法通常是指按照一定规则解决某一类问题的明确和有限的步骤.现在,算法通常可以编成计算机程序,让计算机执行并解决问题.教师可以通过从算法的角度介绍学生熟悉的例子,并尝试着让学生自己举算法的例子,帮助学生进一步领会算法的思想.例1.写出交换两个大小相同的杯子中的液体(A水、B酒)的一个算法.例2.写出求一元二次方程20(0)axbxca根的一个算法.(五)算法的应用问题1设计一个算法,判断7是否为质数.设计意图:帮助学生学习算法的自然语言描述.然后通过一连串问题的追问,由浅入深,由特殊到一般.学习用递归语言表达有循环的算法问题.通过计算机演示,让学生感受算法研究的价值.师生活动:教师引导学生回忆质数的概念,提出如下一系列问题帮助学生形成解决问题的基本步骤,也就自然完成了一个算法的设计.1.什么是质数?2.如何判断一个数是不是质数?3.你在回答这个数是不是质数前,你在头脑中经历了怎样的思考、加工过程?在学生回答这个问题的基础上,教师接着提出问题:4.计算机如何判断整除呢?从而引导学生用规范的语言来表达算法.5.能否设计一个算法,判断35是不是质数?6.判断7是否是质数的算法和判断35是否是质数的算法有什么不同?7.任意给定一个大于2的整数n,能否设计一个算法对n是否为质数做出判断?这时候学生知道要判断一个大于2的整数n是否为质数,只要根据质数的定义,用比这个整数小的数去除n,如果它只能被1和本身整除,而不能被其它整数整除,则这个数便是质数.有了前面的基础,这里学生多数可能回答用2~(n-1)去除n,于是将判断的过程表达出来就形成了解决问题的这样一个算法:第一步,给定大于2的整数n.第二步,用2去除n,得到余数t.若t=0,则2能够整除n,n不是质数,算法结束;否则,进入第三步.第三步,用3去除n,得到余数t.若t=0,则3能够整除n,n不是质数,算法结束;否则,进入第四步.……第(n-1)步,用(n-1)去除n,得到余数t.若t=0,则(n-1)能够整除n,n不是质数,算法结束;否则,n是质数.教师首先应该肯定学生的做法,但在学生回答的基础上向学生提出这里从2~(n-1)都在重复同一件事,像这种情况在设计算法时经常遇到,然后教会学生用递归语言进行表达.在完成上述算法表达的基础上教师指出:1.用自然语言描述一个算法,最便捷的方式就是按解决问题的步骤进行描述,每一步做一件事情.这样描述的算法体现按部就班程序性的特点.对于在解决问题过程中反复进行的步骤,同学们要学习用递归语言进行描述.用递归语言进行描述时,通常分三个步骤:首先要给一个初始值,接着表达重复做的事情,最后要进行终止判断.2.教师用事先按照上述步骤编写的程序演示,判断学生说出的整数是否为质数.问题2.写出用“二分法”求方程220(0)xx的近似解的算法.设计意图:二分法是算法中的经典问题,具有明显的顺序和可操作的特点.安排这样一个例题既可以让学生进一步领会算法的思想,同时也可以达到巩固用自然语言描述的算法,提高用自然语言描述算法的表达水平.师生活动:教师先引导学生回顾二分法求方程近似解的方法,然后引导学生说出解决该问题的每一个步骤,形成本例算法.教师可以通过以下一连串问题的设问,引导学生完成二分法求方程近似解的算法设计.1.二分法求方程近似解是通过求对应函数的近似零点得到的,所以首先要建立函数,而且要有具体精确度要求,因此第一步应该怎么做?2.二分法分的是什么?3.如何确定新区间的端点?4.如何表达出反复二分区间的过程?(引导学生学习用递归语言表达)第一步,令22fxx.给定精确度d.第二步,给定区间,ab,满足()()0fafb.第三步,取中间点2abm.第四步,若()()0fafm则含零点的区间为,am;否则含零点的区间为,mb.将新得到的含零点的仍然记为,ab.第五步,判断,ab的长度是否小于d或者()fm是否等于0.若是,则m是方程的近似解;否则,返回第三步.在得到算法后,教师可以带领学生看书,阅读课本第4页上有关内容.并说明按以上步骤,我们将依次得到课本第4页的表1-1和图1.1-1.于是,开区间(1.4140625,1.41796875)中的实数都是满足假设条件的原方程是近似解.(注:上课时只讲到问题1,来不及讲问题2,因此问题2作为思考题让学生课后思考)(六)归纳小结问题1:算法的概念?问题2:与一般解决问题的过程相比,你认为算法最重要的特征是什么?你能举出更多算法的例子吗?学习不是一朝一夕的事情,需要平时积累,需要平时的勤学苦练。有个故事:古希腊大哲学家苏格拉底在开学第一天对他的学生们说:“今天你们只学一件最简单也是最容易的事儿。每人把胳膊尽量往前甩,然后再尽量往后甩。”说着,苏格拉底示范做了一遍,“从今天开始,每天做300下,大家能做到吗?”学生们都笑了,这么简单的事,有什么做不到的?过了一个月,苏格拉底问学生:每天甩手300下,哪个同学坚持了,有90%的学生骄傲的举起了手,又过了一个月,苏格拉底又问,这回,坚持下来的学生只剩下了80%。一年过后,苏格拉底再一次问大家:“请告诉我,最简单的甩手运动。还有哪几个同学坚持了?”这时,整个教室里,只有一个人举起了手,这个学生就是后来成为古希腊另一位大哲学家的柏拉图。同学们,柏拉图之所以能成为大哲学家,其中一个重要原因,就是,柏拉图有一种持之以恒的优秀品质。要想成就一番事业,必须有持之以恒的精神,大家都熟悉愚公移山的故事,愚公之所以能够感动天帝,移走太行、王屋二山。正是因为他具有锲而不舍的精神。戎马一生,他前十次革命均告失败,但他百折不挠,终于在第十一次革命的时候,推翻了清王朝的统治,建立了中华民国。这些故事,情节不同,但意义都是一样的,它告诉无们,做事要有恒心。旬子讲:“锲而不舍,朽木不折;锲而舍之,金石可镂。”这句话充分说明了一个人如果有恒心,一些困难的事情便可以做到,没有恒心,再简单的事也做不成。学习是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以我说:学习贵在坚持!当下市面上关于教授学习方法的书籍不少,其所载内容也的确很有道理,然而当读者实际应用时,很多看似实用的方法用来效果却并不明显,之后的结果无非是两种:要么认为自己没有掌握其精髓要领,要么抱怨那本书的华而不实,但最终