递归法与问题解决-“黄冈赛”一等奖.docxVIP

递归法与问题解决-“黄冈赛”一等奖.docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

递归法与问题解决教学设计

一、学情分析

高一学生对程序设计有一定的了解,学习了程序设计的三种基本结构,初步学习了解析法”和“穷举法”,已经积累了用计算机编程解决现实中的问题的初步经验。递归算法知识具有一定的抽象性,理论性比较强,如果以理论和编程教学为主,只是难度比较大,很难吸引学生的兴趣,学生无法做到有意义学习。因此教学过程中设置了比较真实的问题情境,在解决问题的过程中,重点是引导学生分析、归纳递归法的含义和适用条件,编程要求学生能够在教师提供的半成品程序上加以完善,目的是为了学生在有限的课堂中能更清楚的了解算法与程序设计思想。

二、教学目标

(一)双基层:

了解“递归法”的基本概念和适用范围,能利用“递归法”设计算法、编写程序。

(二)问题解决层:

通过真实情境,总结归纳用递归法解决问题的过程,体会将复杂问题逐步分解为简单问题的分而治之思想,增强解决问题的能力。

(三)学科思维层:

理解计算机解决复杂问题过程中的分而治之的思想方法,在神奇的编程体验中进一步培养和提升学生的分析、归纳、总结、解决问题的能力,体会如何用递归的思想解决生活中的问题。

三、教学重难点

(一)重点:

掌握递归法的适用条件,能够设计递归算法,写出递归函数关系式。

(二)难点:

应用自定义函数方法实现递归算法的编程。

四、教学活动

设疑激趣,启发引入

内容

教师活动

学生活动

设计意图

引出汉诺塔问题,设置悬念。

1.课程开始之前我们先来看三幅图像,你能找到他们的相同之处吗?请两位同学回答。

同学回答的很好,同学们认为三幅图片中都使用了由小到大的自身n次,构成了新的图片。咱们可不可以理解为图片调用了自身?

既然图片是这样的,那么生活中有没有这样的实例呢?比如说一件事情的完成需要不断重复使用一样的方法?现在老师想请一位同学玩一个游戏。大家看老师手里有一套游戏设备,大家知道叫什么名字吗?

2.介绍汉诺塔的游戏规则:有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,现在把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都只能出现小盘子在大盘子上方

首先请一位同学完成3个盘子任务,再请两位同学比赛完成4个盘子任务,再请获胜的同学挑战五个盘子任务。

挑战成功:询问同学在移动盘子的过程中使用了什么样的方法。

挑战不成功:老师可以教给你们一个神奇的方法,可以先请能够移动4个盘子的同学将上面四个盘子从A移到B柱,你再将第五个盘子移到C柱,再请这位同学将四个盘子从B移到C柱。以将大象装入冰箱分三步类比讲解,使学生容易理解。

那么如何将6个盘子从A柱移到C柱呢?

3.有哪位同学知道汉诺塔的来历吗?

其实汉诺塔跟一个恐怖的末日预言有关:相传在在印度婆罗门神庙内的有一块黄铜板上插着三根钻石棒,印度的主神梵天在创造世界的时候,在其中一根钻石棒上按从打到小的顺序放了64枚纯金的圆盘。一个叫婆罗门的僧人,不分日夜地将64枚金盘移到另一根钻石棒上,移动的过程中一次只能移动一个金盘,且大盘不能放在小盘上。神说等到婆罗门完成这项工作,世界将在一声霹雳中毁灭……

大家觉得这个传说是不是真的?大家害怕传说成真吗?如果传说是真的,我们假设每秒移动一个金盘,要完成这个任务需要多长时间呢?我们今天就来实验如何用计算机帮助人类解密这个世界末日的传说。

1.学生认真寻找相同之处,得出答案:相同之处是它们都利用了自身,画中画,图像放大等。

2.学生们听到老师教给的方法觉得很神奇。

3.学生回答:先请能够移动5个盘子的同学将上面五个盘子从A移到B柱,你再将第六个盘子移到C柱,再请这位同学将五个盘子从B移到C柱。

通过汉诺塔游戏,吸引学生注意。同时设置悬念,激发学生的学习兴趣和探究欲望。

自主学习,描述算法

内容

教师活动

学生活动

设计意图

汉诺塔问题的算法描述

1.请同学们观看一个动画(汉诺塔问题的解决过程描述),教师巡视,及时解答学生疑问。

2.学生通过观看微视频和分析,了解了汉诺塔问题的解决原理,完成用流程图来表示汉诺塔问题的解决算法的任务。

3.请一位同学将算法纸条粘贴到黑板上,其余同学在PPT中完成。

其移动过程的算法可描述如下:

Move(n,a,b,c)

ifn==1:

输出“移动一个金盘从a柱→c柱”

else:

调用move(n-1,a,c,b)

调用move(1,a,b,c)

调用move(n-1,b,a,c)

1.学生认真观看动画,体会汉诺塔问题解决的过程。小组合作分析算法,完成PPT学案中的流程图绘制任务。

2.学生认真体会流程图对于算法描述的主要作用。

重点在让学生通过动画掌握汉诺塔移动过程,以便更好的理解汉诺塔问题解决算法,为编写程序做铺垫。

(三)编写程序,调试运行

内容

教师活动

学生活动

设计意图

编写程序调试运

您可能关注的文档

文档评论(0)

haolaoshi520 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档