高中信息技术-递归算法与递归程序教学设计学情分析教材分析课后反思_第1页
高中信息技术-递归算法与递归程序教学设计学情分析教材分析课后反思_第2页
高中信息技术-递归算法与递归程序教学设计学情分析教材分析课后反思_第3页
高中信息技术-递归算法与递归程序教学设计学情分析教材分析课后反思_第4页
高中信息技术-递归算法与递归程序教学设计学情分析教材分析课后反思_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《递归算法与递归程序》——教学设计一、教材分析《递归法及其应用》为广东教育出版社出版的高中信息技术课程必修模块的第四章第五节,是在继学生学习解析法、穷举法、查找法、排序法之后的继续,在第一节解析法中让学生学会了用公式解决问题的策略、在第二节穷举法中,让学生学会了在一定范围内找出满足条件的答案、在第三节查找法中,学生学会了用二分查找有序序列的解决方案,在第四节排序中,学生学会了用选择排序、冒泡排序解决问题、本节目的在于引导学生不仅要知道函数的用法,更要懂得函数如何调用自身解决问题,将一个大问题化解为小问题的策略,因此,本节的学习是前面内容的重要补充,同时又是一个全新的解决问题的方案。二、学生分析 本节课的教学对象为高二年级学生,通过算法与程序设计前阶段的学习,他们已经具备了一定的程序基础,特别是在本章节前面的学习,让他们真正对程序有了深入一点的了解。但对于函数或过程调用自身解决问题的方案,还没有经历过,因此本节总体来说还是一个全新的知识,需由浅入难、调动学生积极思考、一步一个脚印的往前走。三、教学目标(一)知识与技能1、学生用VB语言设计递归程序解决简单的问题。2、能够找出递归的三要素,函数参数、函数边界、函数通项公式。(二)过程与方法1、历经递归定义、游戏演示、程序实现、单一递归、多重递归。2、启发示教学、讲授法、演示法。(三)情感态度价值观1、对于给定的问题,能够分清可否将其化为多个相同的子问题。2、小组互相帮助共同完成任务、形成融洽的学习氛围、互相增进友谊。四、教学重难点1、教学重点:学会分析递归的三要素如果对于一个问题,我们可以用递归的方案解决,那就一定要找出相应的递归三要素,即函数的参数、函数的边界、函数的通项公式。2、教学难点:能找出递归函数调用时、是否有重复递归出现的问题,为下节打基础。五、教学方法1、多媒体教学法:借助多媒体视听结合的优势,引导学生进入真实的信息场,培养学生理论联系实际的能力。2、分组教学法:以情景剧的形式,呈现递归为有去有回的过程。练习设置由浅入深,层层相扣。六、教学时数一课时七、教学过程教学流程图:导入课题:镜子成像递归辨别:从前有座山情景再现:年龄游戏递归法定义及三要素程序实现:报数游戏问题牛刀小试:阶乘问题迎难而上:猴子吃桃重复递归:斐波那契数列课堂总结,为下课做准备。具体过程:(见下页)环节教师活动学生活动设计意图导入课题:1.镜子问题2.老和尚给小和尚讲故事.给学生提出问题,思考两块镜子如果相对而放,人站在中间,会看到什么样的效果?一个自己,两自己,还是多个自己?无数个,因为这体现了两块镜子互相反射的原理,说白了,就是像再次成像,就是一个有进有出的过程。老和尚给小和尚讲故事是有去无回,不是递归的。思考问题对递归有初步了解并能分辨出递归。激发学生思考为引出递归做准备。对递归、概念的理解,有去有回方为递归。引课问年龄?报数游戏通过游戏推演过程让学生理解什么是递归1、找四名同学报数1、2、3、42、每名同学一张卡片,答案如下四号同学:我比三号同学大2岁三号同学:我比二号同学大2岁二号同学:我比一号同学大2岁一号同学:我今年14岁3、想知道四号同学的年龄,从四号同学问起,顺序为四、三、二、一然后再反推从一到四,这样就是一个递归的过程。观看同学们的表演思考四号同学的年龄的推导过程,即从四到一然后再从一到四。借助年龄游戏让学生理解递归的推演过程,让学生从游戏中学会知识。递归概念及本节的学习要点什么是递归法:一个函数在定义时,直接或间接的调用自己,这种算法在程序设计中统称为递归法。重点:1用VB程序实现递归2学会分析递归三要素1)递归函数的参数2)递归函数的边界3)递归函数的通项公式报数游戏分析假设f(i)表示第i个人的年龄第4位同学回答,我比第3位同学大两岁:f(4)=f(3)+2第3位同学回答,我比第2位同学大两岁:f(3)=f(2)+2第2位同学回答,我比第1位同学大两岁:f(2)=f(1)+2第1位同学回答,我14岁:f(1)=14递归参数:设f(i)表示第i个人的年龄函数,则编号i即为递归参数。递归边界:当函数调用到参数1时,不需要再调继续用,所以1为递归边界通项公式:f(i)=f(i-1)+2即调用函数的参数减1,向边界1趋近.(i>1)报数游戏的程序实现PublicFunctionf(xAsInteger)AsIntegerIfx=1Thenf=14Elsef=f(x-1)+2EndIfEndFunctionPrivateSubCommand1_Click()Printf(4)EndSub通过对报数游戏的分析,同学们尝试在具体问题中查找递归的三要素。并尝试如何将其转化为具体的VB语言来实现。让学生尝试如何将递归思想进行程序的实现。这也是本节的最终目标,即递归法如何转化为具体的程序。牛刀小试分析:请编写递归函数,求解N!要求输出5!6!7!定义:f(x)=1*2*3*…xf(1)=1f(2)=1*2f(3)=1*2*3f(4)=1*2*3*4f(5)=1*2*3*4*5f(6)=1*2*3*4*5*6……f(x)=1*2*3*……*x推出递归定义如下:f(1)=1f(2)=2*f(1)f(3)=3*f(2)f(4)=4*f(3)f(5)=5*f(4)f(6)=6*f(5)……f(x)=x*f(x-1)1.递归参数:若求1*2*3*…x的和,函数参为x,即f(x)。2.递归边界:1,因为当函数参数为1时,不再调用函数,而得具体值1。3.通项公式:f(x)=x*f(x-1),即调用函数的参数减1,向边界1趋近.学生尝试编程并互相帮助解决问题,最后给出标准程序。PublicFunctionf(xAsInteger)AsIntegerIfx=1Thenf=1elsef=x*f(x-1)endIfEndFunctionPrivateSubCommand1_Click()DimxAsIntegerx=InputBox("x=")Printf(x)EndSub以求3!为例,用样图来解释流程1、分析学生自己尝试找出递归三要素2、尝试学生尝试将该题转化为递归程序3、互助以小组为单位、做完的同学帮助其它同学共同完成任务、共同提高。在老师的启发及点拔之下,让学生亲尝试编写递归程序,感受递归程序的执行过程。迎难而上突破重点练习二、分析“猴子吃桃”游戏如何转化为递归程序题目:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?请同学们分析递归三要素,并将其转化为VB语言递归程序。递归边界:i=10,f(10)=1通项公式:f(i)=2*(f(i+1)+1)(i<10)PublicFunctionf(xAsInteger)AsIntegerIfx=10Thenf=1Elsef=2*(f(x+1)+1)EndIfEndFunctionPrivateSubCommand1_Click()Printf(1)EndSub用样图来解释流程1、分析学生自己尝试找出递归三要素。2、尝试学生尝试将该题转化为递归程序。3、互助以小组为单位、做完的同学帮助其它同学共同完成任务、共同提高。学生独立编写递归程序,感受递归程序的执行过程。同时,让学生演示所编写的程序。同时让学生知道,递归的边界不一定是最小的,也可能是后面的大值。斐波那契问题著名的意大利数学家斐波那契(Fibonacci)在他的著作《算盘书》中提出了一个“兔子问题”:假定小兔子一个月就可以长成大兔子,而大兔子每个月都会生出一对小兔子。如果年初养了一对小兔子,问到年底时将有多少对兔子?

(当然得假设兔子没有死亡而且严格按照上述规律长大与繁殖)斐波那契数列如下:1、1、2、3、5、8、……即f1=1,f2=1,fn=fn-1+fn-2(n>=3)递归边界:1和2,因为当函数参数为1或2时,不再调用函数,而有具体数值。PublicFunctionf(xAsInteger)AsLongIfx<3Thenf=1Elsef=f(x-1)+f(x-2)EndIfEndFunctionPrivateSubCommand1_Click()DimxAsIntegerx=InputBox("x=")Printf(x)EndSub1、分析学生自己尝试找出递归三要素。2、尝试学生尝试将该题转化为递归程序。3、互助以小组为单位、做完的同学帮助其它同学共同完成任务、共同提高。学生独立编写递归程序,感受递归程序的执行过程。同时,让学生演示所编写的程序。同时让学生知道,递归的边界可能不唯一。同时了解递归重复调用的问题。课堂小结:反思行为1.了解递归的概念:通过镜子成像、老和尚给小和尚讲故事、报数游戏等。2.学习用VB语言实现递归算法及如何查找递归的三要素:递归函数的参数、递归函数的边界、递归函数的通项公式通过阶乘n!、猴子摘桃等。—递归的单一调用求解斐波那契数列—递归的多重调用。学生思索回顾本节课所学的相关知识学生思索回顾本节课所学的相关知识。加深对本节知识的理解。课后练习课本:134页汉诺塔问题(Hanoi)学生课后练习巩固加深对递归的理解。《递归算法与递归程序》——学情分析 本节课的教学对象为高二年级学生,通过算法与程序设计前阶段的学习,他们已经具备了一定的程序基础,特别是在本章节前面的学习,让他们真正对程序有了深入一点的了解。本节是在学生学习了解析法、穷举法、查找法、排序法之后的继续,在第一节解析法中让学生学会了用公式解决问题的策略、在第二节穷举法中,让学生学会了在一定范围内找出满足条件的答案、在第三节查找法中,学生学会了用二分查找有序序列的解决方案,在第四节排序中,学生学会了用选择排序、冒泡排序解决问题、本节目的在于引导学生不仅要知道函数的用法,更要懂得函数如何调用自身解决问题,将一个大问题化解为相应小问题的策略,因此,本节的学习是前面内容的重要补充。学生对于函数或过程调用自身解决问题的方案,还没有经历过,因此本节总体来说还是一个全新的知识,需由浅入难、调动学生积极思考、一步一个脚印的往前走。但由于学生有了前面的学习,所以本节的理解也不会太过于吃力。《递归算法与递归程序》——效果分析我依据新课程改革要求,贴近生活、贴近实际、贴近学生,要充分调动学生的积极性和主动性,让学生进行自主学习、探究学习、合作学习,达到三维目标(即:知识和能力、过程和方法、情感、态度和价值观)。为了实现这个目标,我列举了许多学生常见的典型事例,例如猴子吃桃、斐波那契数列,阶乘等,并在思考与讨论中总结出递归的程序实现。在问题中融入知识方法,在情景分析中归纳结论,并将这些方法与结论内化为自身的能力。学生课堂参与度高,积极性也很高,对所学方法与策略吸收好。但在教学方法上,还有不当的地方,在充分利用信息技术手段来优化课堂的深度上还是不够的。再比如课堂评价做得不到位。因此,在以后的教学中,更要充分发挥学生的主体作用,让学生更多的自主学习、探究学习、合作学习,根据教学的实际设计好探究的内容和时间,充分利用教材的资源,进行教学,使课堂教学更有效。《递归算法与递归程序》——教材分析《递归算法与递归程序》为广东教育出版社出版的高中信息技术课程必修模块的第四章第五节,是在继学生学习解析法、穷举法、查找法、排序法之后的继续,在第一节解析法中让学生学会了用公式解决问题的策略、在第二节穷举法中,让学生学会了在一定范围内找出满足条件的答案、在第三节查找法中,学生学会了用二分查找有序序列的解决方案,在第四节排序中,学生学会了用选择排序、冒泡排序解决问题、本节目的在于引导学生不仅要知道函数的用法,更要懂得函数如何调用自身解决问题,将一个大问题化解为小问题的策略,因此,本节的学习是前面内容的重要补充、通过求解阶乘n!、猴子吃桃、斐波那契数列等问题,让学生理解一种新的解决问题的策略。《递归算法与递归程序》—评测练习练习一(牛刀小试)己知阶乘公式为n!=1*2*3*……n请设计一个递归程序,求出5!6!7!的值.练习二(突破重点)题目:猴子第一天摘了若干个桃子,当即吃了一半,还不解馋,又多吃了一个;第二天,吃剩下的桃子的一半,还不过瘾,又多吃了一个;以后每天都吃前一天剩下的一半多一个,到第10天想再吃时,只剩下一个桃子了。问第一天共摘了多少个桃子?练习三分析斐波那契问题著名的意大利数学家斐波那契(Fibonacci)在他的著作《算盘书》中提出了一个“兔子问题”:假定小兔子一个月就可以长成大兔子,而大兔子每个月都会生出一对小兔子。如果年初养了一对小兔子,问到年底时将有多少对兔子?

(当然得假设兔子没有死亡而且严格按照上述规律长大与繁殖)斐波那契数列如下:1、1、2、3、5、8、……即f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论