内容正文:
第三节 递归法与问题解决
一、教材分析
“递归法与问题解决”是中图版信息技术(选修一)《算法与程序设计》第三单元第三节的内容,前面学习了“解析法与问题解决”、“穷举法与问题解决”,递归算法属于比较难理解与运用的一节。“递归算法”的基本思想:把规模大的、较难解决的问题变成规模较小的、易解决的同一问题。
二、学情分析
教学对象是高中二年级学生,是高中所学的最后一个算法,之前学过了程序设计的各种语句,方法、模块化程序设计思想,还学习过了“解析法”、“穷举法”等算法。
三、教学目标
1.知识与技能:
(1) 理解什么是“递归算法”,能用“递归算法”的思想分析问题;
(2) 能够应用自定义函数方法实现“递归算法”的编程。
2.过程与方法:
学生参与讨论,通过游戏过程,思考“递归算法”思想,体验“递归算法”的程序。
3.情感态度与价值观:
(1) 通过游戏中的“坚持”一词,让学生感悟“再坚持一下”的含义;
(2) 结合数学中的实例,激发学生的数学建模意识,培养学生多维度的思考问题和解决问题。
四、教学重点、难点
1.教学重点:
理解什么是“递归算法”,能用“递归算法”的思想分析问题。
2.教学难点:
应用自定义方法实现“递归算法”的编程。
五、教学方法
任务驱动、小组讨论、讲授法、演示法
六、教学过程
1.课堂导入
师:今天我们先做一个游戏,请几个同学出来站成一排,然后我们让最后一个同学说出他站在第几个位置,期间不能自己去数,只可以询问前面或者后面的同学,得到答案后说出自己是第几个位置。请同学们思考一下,怎么才解决这个问题。
学生活动:按照游戏规则思考怎样解决问题。
师:下面游戏开始。
学生活动:按照自己的思路进行游戏。
2.交流探索
师:刚才的游戏,最后一个同学想知道结果,就必须向前面的同学询问位置,前面的同学又得向前面的同学询问位置,直到第一个同学前面没有人,他就是第一个,然后向后面的同学报告自己的位置,以此类推,直到最后一个同学直到自己的位置后,向老师报告。这个过程就是我们今天要学习的递归算法的思想。
师:刚才的游戏,如果想游戏结束,必须有个什么条件?
学生回答:必须得有第一个同学。
师:也就是说,这个程序在递推的时候必须有一个结束条件,如果没有这个条件,程序就会无限制得递推下去,最后就会像死循环那样,造成死机。
师:递归算法都是借助自定义方法来实现,方法是为了实现某种功