递归算法与递归程序说课

更新时间:2023-12-19 20:17:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《递归算法与递归程序》说课

教材分析

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

教学对象是高中二年级学生,前面学习了程序设计的各种结构,在学习程序设计各种结构的应用过程中培养了用计算机编程解决现实中的问题,特别的学习循环语句的过程中,应用了大量的“递推”算法。前一节课学习了如何自定义函数,在此基础上深入学习和体会自定义函数的应用。以递推算法的逆向思维进行求解问题,在学习过程中体会递归算法的思想过程。多维度的思考问题和解决问题是提高学生的学习兴趣关键。 教学目标

知识与技能目标:

1、 理解什么是递归算法,学生用递归算法的思想分析问题 2、 能够应用自定义函数方法实现递归算法的编程

过程与方法目标:学生参与讨论,通过思考、动手操作,体验递归算法的方法

情感态度与价值目标:结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题。 教学重点与难点

重点:理解什么是递归算法,学生用递归算法的思想分析问题 应用自定义函数方法实现递归算法的编程 难点:应用自定义函数方法实现递归算法的编程 教学方法 情景法

引用生活中的有趣的小现象来引起学生的兴趣,利用照镜子这个例子让同学发现生活中的递归现象原来是这么有趣的,同时让他们对递归有一个初步的认识。激发他们继续学下去的兴趣。从同学们身边的例子说起,更能帮助同学理解。学生也比较容易接受。 师生互动

在学习的过程中,学生是否能积极参与到课堂中来,成为学习的主人,对于教学目标能否顺利达成起着至关重要的作用。所以,上课并非是教师在唱独角戏,学生应当参与进来。一开始我会和学生做一个游戏,把学生的胃口吊起来,接着让他们都参与到这个游戏中来,通过这个小游戏让同学进一步了解递归,为学生创设一个递归的学习氛围。理解什么是递归算法,学生用递归算法的思想分析问题 讨论法

在讲到后面的兔子问题时,我会让学生分组讨论,看看那一组的方法效率更高。采取组间竞争,组内合作的方式可以让学生既有竞争意识,又有合作意识。通过同学们之间的交流,可以使他们对递归有了深刻的印象,逐步开始能用自定义函数方法实现递归算法的编程。 教学过程 一 情境导入

在上本堂课之前,我会利用一个牛顿因为落地的苹果而发现了著名的万有

引力来说明生活中其实有许多有趣的小现象,并鼓励同学要多观察身边的事,做个生活中的有心人,然后再给同学们看照镜子的有趣现象,也许许多同学每天都要照镜子,但是他们并一定会发现原来站在两面镜子中间照会有这样的现象,引起学生的注意,他们会发现原来递归是这么有趣的现象,激发他们学习的兴趣。让学生觉得递归算法并不是那么枯燥的学问,如果好好研究它会发现其实其中有很多有趣的现象。 二 师生互动

? 师:我会对他们说老师今天给同学们带了一个礼物,让大家来猜猜是什么礼物,猜对了就把礼物送给大家,在上课之前,我已经把答案告诉了他们其中一位,但是他不能就这样把答案告诉大家,有一个规则可以让大家知道是什么礼物。规则是:1 从第一排的第一个同学开始。2 每位同学只问他相邻的同学,每位同学最多只能被问一次,而且一个同学不能再问第二人,当任何一个同学知道了答案,要求立即告诉曾经问过他的那个同学 (不能告诉其它同学)以此类推。3 一直到得出答案为结束。最后我会让第一个同学告诉我答案。

? 生:这时每个学生都会参与到这个游戏中来,按照我讲的规则,大家在传递答案,最后第一个学生知道答案后再告诉我,我就送出礼物。表示对他们的奖励。

? 教师:用算法实现一下刚才那个游戏。

? 设计意图:通过游戏,学生一听老师给他们带了礼物,顿时积极性就被调动起来,可以让学生边玩边学,学生在玩游戏的过程中体会到递归的奥秘,让他们在游戏的乐趣中学习。并且也在这个过程中让学生之间有了团队合作意识,最后赢得奖品。对递归有了更进一

步了解。让同学们能够进入到递归的思维模式。 讲授新知

师:给同学们看小猴吃桃的例子,看完后找十位同学上来排成一排,十位同学分别计算其中一天桃子的个数。第十天的同学的答案是一个,那么他把答案传给第九位同学,这位同学就可以算出第九天桃子的个数。公式是(前一同学的答案)+1)×2。接着他把计算出的答案传给第八个同学,以此类推??最后,第一个同学把他算出的第一天桃子的个数告诉我,来检验一下大家算得对不对。 学生:一个接一个的计算答案,最后算出结果。

师:接着让同学们仿照前面的例子,自己在下面写一写实现这一例子的程序

生:学生写程序

师:评价一下学生写的程序,指出学生编程中的不足之处,然后,给他们具体分析一下步骤,然后展示一下正确的编程方法。这个例子必须得详细讲解一下。

设计意图:通过这个例子的详细讲解,学生可以基本上入门了。可以尝试着自己解决一些递归问题了。 巩固新知

师:展示兔子问题,然后让学生四人一组,分组讨论一下解决方案,每组派代表说一下,然后看看那组的比较好 生:分组进行活动

师:先展示一种常规的编程方法,然后再展示一种更加简单的方法。 拓展练习

师:展示一个经典的例子,让学生独立完成问题的解决。

生:学生自己设计程序

师:最后,老师在分析一下,给出正确的算法。并调试一下 评价总结

最后,我再给同学总结一下算法的规律。并布置课后作业。 课后反思

从游戏的方式导入活动,充分的调动学生的思维,渐渐的走入了“递归的思维”模式,从而引出“猴子吃桃”,使用的前面活动(礼物是什么?)的思维,诱导学生进入了“递归”思想解题。学生阅读教材范例“裴波那契”,培养学生的自学能力、和知识迁移建构自我的知识体系。内化递归算法的实现,再由递归思维的逆向思维讨论“递推”的算法,进行比较计算机资源的耗费高,可读性差。为下一步导出结论做好了铺垫。

本文来源:https://www.bwwdw.com/article/3qo5.html

Top