用递归算法解决问题案例分析_第1页
用递归算法解决问题案例分析_第2页
用递归算法解决问题案例分析_第3页
用递归算法解决问题案例分析_第4页
全文预览已结束

下载本文档

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

文档简介

1、用递归法解决问题案例分析课题3.5用递归算法解决问题教材分析“用递归法解决问题”是算法与程序设计第三章第五节的内容。递归算法相对于前面学习的解析法、穷举法来说,相对较难,而教材中计算兔子个数的例子对学生来讲就更不易理解了。所以本课将采用学生熟知的求1+2+100的和这一学生熟悉的问题来降低难度,启发学生的思维。 学生分析教学对象是高中一年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中的培养了用计算机编程解决现实中的问题,特别的学习循环语句的过程中,应用了大量的“递推”算法。在此基础上学习深入学习和体会自定义函数的应用。教学目标知识与技能1.理解什么是递归算法,学会分析

2、任务,建立相应的递归式数学模型2.能够运用自定义函数的方法实现递归算法编程过程与方法通过描述求解1+2+100的和的例子和恰当的习题,使学生理解递归算法。情感态度与价值观结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题。重点与难点重点理解什么是递归算法及其思想、程序实现,用递归法解决实际问题。难点用递归法编程解决实际问题。教学方法自主探索、任务的驱动 教学资源多媒体计算机教室、自编程序,课件 教学过程教 师 活 动学 生 活 动设 计 意 图一、复习导入,提出问题通过简述微博中有关衡水中学的成功经验引出思考题:求1到100的和有几种解法激发学生的思维从而引出用递归

3、法求解的方法。学生思考,并回答问题。从建构主义学习理论出发,通过问题使学生产生已知与未知的冲突,从而使学生自主建构新知。二、思考问题,导入新课投影展示用递归思想求解1+2+100的和的思维过程。并说明边界条件和数学模型的建构及归纳出求解通式。观察老师的递推和回归过程,并在老师的启发下,理解递归算法的思想。从学生熟知的求1到100的和这一问题出发拉近课程与学生的距离,让学生很快体会到了用递归思想的解题的过程。三、新课讲解、获取新知投影课题:用递归法解决问题投影展示递归算法的定义:一个函数在定义时,直接或间接地调用了自己,这种算法统称为递归法。通过老和尚讲故事故事:从前有座山,山里有个庙,帮助学生

4、理解递归算法的思想说明:递归算法通常通过自定义函数来实现投影自定义函数的语句格式:格式:Private function<函数名称>(参数列表)as 类型 语句组End function说明:在通用过程中编写自定义函数投影展示自定义函数Private function s(n) As DoubleIf n=1 then s=1Else s= s(n-1) + nEnd ifEnd function和学生一起解读函数的作用。认真听讲,观看投影思考递归算法的特点脑海中勾画出故事的画面,体会什么是递归。理解自定义函数的格式和功能观看教师出示的自定义函数代码并尝试理解从求解1到100的和的

5、递归求解过程的实例理解递归算法的概念并让学生从故事和实践活动中体会递归法的内涵,加深对递归思想的理解。通过投影展示自定义函数的格式既实例能使学生更快的掌握自定义函数的程序实现四、自主实践,理解新知任务1:求1+2+3+100的和要求学生自主编写程序。 教师巡视指导、点拨巡视指导总结学生实践过程中出现的问题,提醒大家注意。要求学生运行调试要求学生注意体会和总结自定义函数的编程方法和规律。小结根据老师的提示思考、讨论学生上机编制程序学生运行调试自主修改程序。通过任务1,使学生真正掌握和理解递归法解决问题的过程和程序的编写,并通过任务1进一步体会递归算法的精髓五、知识迁移,巩固提高任务2:求10!和

6、学生一起回顾用循环语句求解10!。要求学生结合任务一,用递归法编写程序求解10的阶乘。提问学生解决该问题的边界条件和通式。投影展示小提示。思考并尝试解决思考与任务一的异同从而加深理解递归思想培养学生的知识迁移能力并通过任务二巩固所学知识六、拓展延伸知识升华思考:猴子摘桃趣解一只小猴子摘了一堆桃子,第一天,它吃了这堆桃子的一半又多吃了一个;第二天,它吃了剩下的一半又多吃了一个,依此类推,到第五天的时候只剩下一个桃子。问,小猴子一共摘了多少个桃子?请同学尝试写出解决该问题的算法并编制程序提问学生:解决该问题的关键是什么。边界值和通式是什么适当启发、引导观看投影,思考问题,构造解决问题的方法。尝试编

7、写程序,解决问题猴子摘桃的问题是一道常用的算法题,在奥数中也经常出现,通过本作业,可以使学生既复习、巩固已学习的循环语句,又能训练、拓展学生的逻辑思维能力加深学生用递归法解决问题的能力,使所学知识得到升华七、归纳总结通过提问以下三个问题总结用递归算法解决问题的思想,加深对本课教学目标的达成。1.递归算法的思想2.递归算法的特点3.递归算法的实现方法思考回顾反思以提问的方式来总结本课内容,可以让学生对本课内容有一个更深入的理解,巩固本课所学知识八、作业投影展示作业:用递归算法计算斐波那契数列第10项的值讲解该数列的特点。提醒学生和数学课上的知识结合。要求学生课后完成该程序。回顾数学课堂中讲述的波那契数列,初步构造程序的编写方法通过该作业,使学生在课后复习本课所学知识,同时回顾教材中

温馨提示

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

评论

0/150

提交评论