递归调用教学设计.docx

递归调用教学设计.docx

ID:61772117

大小:659.86 KB

页数:5页

时间:2021-03-19

递归调用教学设计.docx_第1页
递归调用教学设计.docx_第2页
递归调用教学设计.docx_第3页
递归调用教学设计.docx_第4页
递归调用教学设计.docx_第5页
资源描述:

《递归调用教学设计.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《C语言——递归调用》教学设计教学目标及依据:根据教学大纲和本节学习重点,结合学生知识现状,使学生学会使用和设计递归函数去解决较复杂的问题。教学重点难点:递归函数的定义、递归问题的分类、递归函数设计的一般步骤理解递归函数的内涵、确定递归结束条件。搞清楚函数递归调用的运行轨迹和各层调用中参数和变量的值是真正掌握递归的关键。教学方法及依据:依照五星教学方法,结合游戏激发学习兴趣,巧解概念,然后进行例题分析,最后进行实验在解决实际问题中跟进一步的掌握知识。教学手段:多媒体课件及教学视频。教学课时:理论两课时+实验一课时教学过程:1、激发旧识:在上课之前先让学生回去复习函数的知识,

2、清楚的掌握函数的定义,函数的参数,函数的值,函数类型等知识为递归调用做好准备。2、示证新知:在学生熟知已学过的函数知识后就可引出要学习的递归调用进行学习,这一步骤也是一个承上启下的关键,在这一部分中学生因在老师的带领下学习递归调用,在学习过程中可以结合游戏的方式来让学生来扮演递归运行轨迹中各层次的调用函数通过学生之间的提问和回答来模仿函数之间传递的数据然后把游戏过程表示成递归公式。最后写出程序。通过这样的过程。学生很容易搞清楚函数递归调用的运行轨迹和各层调用中参数和变量的值从而能更好地理解和掌握递归。2.1递归函数的基本知识:在这一部分老师通过之前已经做好的课件给学生讲解递

3、归函数的基本知识。2.1.1递归函数概念:递归函数即自调用函数,在函数体内部直接或间接地自己调用自己,即函数的嵌套调用是函数本身。2.1.2递归函数的形式:直接递归调用:函数中出现调用函数本身间接递归调用:间接递归调用是指函数中调用了其他函数而该其他函数却又调用了本函数。2.1.3递归条件:须有完成函数任务的语句—个确定是否能避免递归调用的测试一个递归调用语句先测试,后递归调用。2.1.4设计递归函数分治法(分割求解)后置递归法回溯法分别讲授这三种方法的思想在接下来具体程序的讲解中再融会贯通2.2直接递归调用:在课堂授课时,教师在面对在座的一列学生时(假设这列学生有5名),

4、问最后一名学生,即第5名学生。他和他前面这一列学生的年龄总和是多少(假设学生之间不知道相互的年龄),这时第5名学生要知道他和他前面这一列学生的年龄总和,就需先向他前面的第4名学生提相同的问题第4名学生又需向第3名学生提相同的问题,依次类推,直到最前面的第1名学生。这时第1名学生前面已无其他学生,这时他只需将自己的年龄告诉后面的第2名学生。第2名学生将前面同学的答案加上自己的年龄然后把结果告诉后面的第3名学生,依次类推,第5学生将第4名学生的答案加上自己的年龄,再告诉教师,教师就可以知道这列学生年龄的总和。上述游戏中求第n个学生和他前面这一列学生年龄总和的功能可用递归函数to

5、talAge(n)来实现算法可表示为下面的递归公式。返回myAge+totalAge(n-1)n>1返回maAgen=1totalAge(n)=给出程序如下所示:#include#includeinttotalAge(intn1//用于求第n个学生和他前面这一列学生的年龄总和{inttotal,myAge;,,变量myAge表示第n个学生的年龄printf(”进入totalAge(%d)kn”,n);prinf(”请输入第%d排学生的年龄,n);scanf(”%dt.,&myAge);if(n>1)total=myAge+totalAg

6、e(n-1);elseif(n==l1//递归结束条件total=myAge;printf(”从totalAge(%d)q~I~1%dkn”,n,tota1);getehO;retumtotal;}voidmainO{intm:prinf(”请输入该列学生的人数:”);scarf(“%dt.,&m);if(m<-0)prinf(学生人数不能小于1个人!Xn”);else‘printf(”该列学生的平均年龄为:%d、Il",totalAge(m));}在给出程序后老师就回根据这个程序和刚刚学生参与的游戏给出一个整个过程的递归进程图加以具体解释来让学生更易理解递归的概念明白递归

7、是由回推和递推两个阶段组成以及递归为什么必需要有结束条件。给出如下递归分析图:2.2间接递归调用:教学时让l0名同学坐成2列5排其中5名男生一排,5名女生一排教师向最后一排的两位学生提与上题相同的问题.并规定每排男生只能向上一排女生提相同的问题.女生只能向上一排男生提相同的问题最后教师将最后一排两位学生的答案相加,即为这10名同学的年龄总和。上述游戏中从第n排女生处得到答案可用递归函数FtotalAge(n)~实现而从第n排男生处得到答案可用递归函数MtotalAge(n)来实现,算法可表示为下面的递归公式返回my

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。