用递归法解决问题精选.docVIP

  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文档。上传文档
查看更多
用递归法解决问题精选

3.5用递归法解决问题 【教材分析】 “用递归法解决问题”是《算法与程序设计》第三章第5节的内容,学业水平测试对本节内容也达到了B级要求,本节内容是在学习了VB基础知识中的三种基本结构,并且学习了数组、用解析法和穷举法解决问题等算法。本节先后介绍了“什么是递归法”、“自定义函数”、以及应用自定义函数结合递归算法来解决问题实例。通过本节内容的学习可以培养学生分析和分解问题的能力。从教材的结构上看“自定义函数”和“递归算法”是独立的,可以分别讲解,但在使用时两者是相辅相成的。 【学情分析】 这节课的教学对象是高中二年级学生,已经学习了算法与程序设计VB中的一些基础知识,初步了解了算法的概念。特点是在学习循环结构的过程中,学生已经积累了一些“递归”和“穷举”的算法。但是学生对函数尤其是“自定义函数”非常陌生,而“自定义函数”和“递归法”是本册的学习重点,也是以后编程的重点。学习本节内容学生可以充分体会递归算法的思想过程,扩大原来的知识面,进一步认识程序设计的功能,进一步激发学生学习算法与程序设计的兴趣。 【教学目标】 1.知识与技能: 理解什么是递归法,会用递归法的思想分析和解决问题 理解什么是自定义函数,能应用自定义函数实现递归算法的编程 2.过程与方法 学生通过思考、探究,体验递归算法和发现问题与解决问题的步骤 3.情感态度与价值观 在建立数学模型中培养学生的抽象思维能力,培养学生多维度思考问题和解决能力。 树立多学科整合的思想意识,能够用联系的观点解决问题。 【教学重点】 理解什么是递归算法,学会用递归法的思想分析问题。 理解自定义函数的概念。 【教学难点】 用自定义函数和递归算法编写程序解决问题 【教学方法及策略】 采用程序展示法、讨论总结法、讲解法、启示引导法。 本节以一简单的例子对比VB中提供的标准函数,引出本节的第一项内容,自定义函数并加以讲解使学生掌握自定义函数的方法,由于理解和学习递归法比较困难,要求学生具有很强的抽象思维能力,如直接讲解则学生很难达到预期效果,在讲递归法之前是我让5位具有表演天赋同学表演一场戏(5人的年龄问题),创造递归情境,同时留下问题“第一位同学应该怎么说?”通过问题情境引出和深化学生对递归算法的理解。当然本节内容这个步骤也可以交换顺序。同时鼓励和引导学生探讨递归法解决问题的条件和特点并加以归纳和总结。 教学中所用到的素材: 1、、极域电子教室广播系统 【教学过程】 环节 教师活动 学生活动 设计意图 复习标准函数提出问题 复习函数: y=abs(9) y=int(9) y=sqr(9) 以上函数可以对9求绝对值,取整,开平方。提出问题:有没有可以求以9为半径的圆的面积。 思考、讨论、找答案 结果:没有这样的函数 提出问题激发学生兴趣和求知欲 启 发 主 体 进一步提出问题: 我们怎样实现求圆的面积的程序呢?请同学们编写程序在文本框中输入半径求圆的面积 学生探究: 得出结果 PrivateSubCommand1_Click() Dim r, s As Single Const pi = 3.14 r = Val(Text1.Text) s = pi * r * r Print CStr(s) End Sub 教 师 展 示 教师给予表扬:同学们做的很好,以前学的知识很扎实,我们已经可以利用这些知识来解决问题。 我也写了一个程序给同学们的不一样,也可以实现上述功能: 代码如下: Private Function mj(r As Single) As Single Const pi = 3.14 mj = pi * r * r End Function Private Sub Command1_Click() Dim s As Single Dim a As Single a = Val(Text1.Text) s = mj(a) Print CStr(s) End Sub 演示上述程序的功能。 同学们可以看以下,我在程序代码中使用了一个mj()函数求出了输入半径的圆面积。那么mj()函数就是我们要找的求已知半径圆的面积的函数。 观察、思考 提出以下代码的疑问: Private Function mj(r As Single) As Single Const pi = 3.14 mj = pi * r * r End Function 这些代码是干什么呢? 进一步调动学生求知欲 启发主体,引出如何自定义函数 教师: 像y=abs(9) y=int(9) y=sqr(9) 这些语句中的函数在VB中已经存在了,称作是VB的标准函数,我们可以直接调用就可以了,而刚才我们使用的 mj() 函数,不是VB的标准函数,需要我们DIY。请同学们看课本66页。我们如何自定义函数。 学生看教材,

文档评论(0)

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

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

1亿VIP精品文档

相关文档