递归算法的实现

  • 格式:doc
  • 大小:112.50 KB
  • 文档页数:6

递归算法的实现
【课标要求】
(三)算法与问题解决例举
1. 内容标准
递归法与问题解决
(1)了解使用递归法设计算法的基本过程。

(2)能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。

【教材分析】
“算法的程序实现”是《算法与程序设计》选修模块第三单元的内容,本节课是“递归算法的程序实现”,前面学习了用解析法解决问题、穷举法解决问题、在数组中查找数据、对数进行排序以及本节的前一小节知识点“什么是自定义函数”的学习,在学习自定义函数的基础上,学习递归算法的程序实现是自定义函数的具体应用,培养学生“自顶向下”、“逐步求精”的意识起着重要的作用。

【学情分析】
教学对象是高中二年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中培养了用计算机编程解决现实中问题的能力,特别是在学习循环语句的过程中,应用了大量的“递推”算法。

前一节课学习了如何自定义函数,在此基础上学习深入学习和体会自定义函数的应用。

以递推算法的逆向思维进行求解问题,在学习过程中体会递归算法的思想过程。

多维度的思考问题和解决问题是提高学生的学习兴趣关键。

【教学目标】
知识与技能:
理解什么是递归算法,学生会用递归算法的思想分析问题
能够应用自定义函数方法实现递归算法的编程
过程与方法:
学生参与讨论,通过思考、动手操作,体验递归算法的方法
情感态度与价值:
结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题。

『教学目标设计的合理、准确。

这也是在意料之中的,一般情况下,成功的教学任务分析一定会带来成功的教学目标设计。


【重点难点】
重点:理解什么是递归算法,学生用递归算法的思想分析问题;
应用自定义函数方法实现递归算法的编程
难点:应用自定义函数方法实现递归算法的编程
『大部分教师在确立教学重、难点时不会给出确立的依据,可能这些依据早就在教师的脑中明确了,也有可能是一笔糊涂账,只不过是教参上是这样写的就照搬过来而已。

如果在写教学重、难点的同时能再给出确立重、难点的依据会令教案更具借鉴意义。

本案例的作者虽然没有写依据,但由于前面成功的教学任务分析,也就自然确立了教学重、难点。

这也是很好的。


【教学过程】
【教学反思】
从游戏的方式导入活动,充分的调动学生的思维,渐渐的走入了“递归的思维”模式,从而引出“猴子吃桃”,使用的前面活动(礼物是什么?)的思维,诱导学生进入了“递归”思想解题。

学生阅读教材范例“裴波那契”,培养学生的自学能力和知识迁移建构自我的知识体系。

内化递归算法的实现,再由递归思维的逆向思维讨论“递推”的算法,进行比较计算机资源的耗费高,可读性差。

为下一步导出结论做好了铺垫。

学好本节课的前提是:懂得自定义函数的使用方法,学生对自定义函数的理解程度,是本节课效果是否得以完成的关键。

【案例分析】
本案例语言流畅,结构清晰,对教材与学情的分析准确、到位,对教学目标和教学重、难点设计准确、合理。

本案例覆盖的是程序设计中“递归法与问题解决”这一知识点,适合用于这一知识点的第一节课。

本案例能够通过“活动”的形式,使学生了解使用递归法设计算法的基本过程,使学生能够根据具体问题的要求,使用递归法设计算法、编写递归函数、编写程序、求解问题。

本案例能够通过“活动”(或游戏)的方式来导入教学,展开教学。

而且能关注到培养学生自主学习探究能力的培养,并通过降低讨论问题的复杂程度和图示的方法来引导和帮助学生进行思考。

再通过同一问题用不同算法来实现后的比较,来带领学生总结递归算法的优缺点。

这些都是在比较难的算法教学内容的教学过程中,突破教学重难点的好的方法,很值得大家借鉴。

建议,在不同算法解决同一问题的比较设计中,能够更为详细的进行描述,并能给出整节课的时间安排,会增加本案例的可借鉴性。