浅谈递归算法的任务驱动式教学策略.docVIP

浅谈递归算法的任务驱动式教学策略.doc

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

浅谈递归算法的任务驱动式教学策略   【摘 要】本文旨在研究运用任务驱动式教学方法实施普通高中信息技术《算法与程序设计》中递归算法知识点教学的策略和思路,并在实践中进行了教学尝试,取得较好效果。   【关键词】递归算法;任务;驱动;教学策略;研究   递归算法是普通高中信息技术课程《算法与程序设计》教学内容中的难点,学生在学习实践过程中,对于递归算法的思想、编程方法、运行过程的掌握较吃力,甚至无法理解,遇到实际问题时不知该如何运用此算法。笔者在多年的教学实践中,针对该知识点尝试运用任务驱动式教学策略,让学生在一个个学习任务完成的过程中,慢慢理解和掌握递归算法的精髓,最终完全吃透该知识点。   任务驱动式教学策略是一种建立在建构主义学习理论基础上的教学法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态,每一位学生都能根据自己对当前问题的理解,运用共有的知识和自己特有的经验提出方案、解决问题。笔者在教学实践中尝试运用该方法开展递归算法的教学,让学生在解决实际问题的过程中完全掌握和理解递归算法的奥妙之处,达到了预期的教学效果。   一、递归法概念   通过阅读教材中的“从前有座山……”的故事和对“两个镜子相互映射”现象的讲解,学生能基本理解递归思想,从而归纳递归法的概念,即:在程序设计中,函数A自己调用自己,或者函数A调用函数B,函数B反过来调用函数A,都是递归算法。   二、自定义函数的运用   在程序设计过程中,自定义函数和子过程在编程中的重要性不言而喻,对于自定义函数的讲解和学习是进行递归算法教授和学习的重要基石。因此,在教学过程中,要让学生彻底理解什么是自定义函数,为什么定义和如何定义使用函数。笔者在教学实践中,首先通过实例列出VB中标准函数的不足,同时展现自定义函数的作用;然后演示如何定义、使用函数。学生按部就班,参照实例、自主探究、尝试编写自定义函数,并完成自定义函数的调用,调试运行程序,得到问题的最终答案。   三、递归法的实现   在掌握上述两点内容的前提下,向学生抛出递归类的问题,要求用递归算法找到问题的解决方法。故在教学过程中,首先分析递归问题的规律,演示递归问题中的递推与回归两个过程,并找出递归结束的必需条件。然后编制自定义函数完成递归算法的实现,在主程序中调用函数,最终实现递归法的运用。   四、教学案例   提出解决任务:用递归法求“斐波那契数列”问题。首先向学生展示“斐波那契数列”:1、1、2、3、5、8……,然后要求学生利用解析法找出“斐波那契数列”问题的规律,绝大部分学生都能归纳出相应的解析表达式。如下所示。   Fib(n)=1,n+2或2   Fib(n-2)+Fib(n-1),n=3   根据上述表达式,引导学生找出递归结束的必需条件:n=1或2,同时演示递推和回归两个过程,以求fib(5)为例:   (1)n=1或2,fib(n)=1;   (2)n=3,fib(n)=fib(n-2)+fib(n-1);   (3)递推过程:n=5时,fib(5)=fib(3)+fib(4);n=3时,fib(3)=fib(1)+fib(2);n=4时,fib(4)=fib(2)+fib(3)。   (4)回归过程:将fib(1)=1、fib(2)=1、fib(3)=2代入上述三个表达式,即可求出fib(5)=fib(3)+fib(4)=fib(1)+fib(2)+fib(2)+fib(3),求出“斐波那契数列”第5项值为8。   在学生理解了上述问题的编程思路后,抛出第二个问题:用哪种基本结构实现上述分段式函数。学生会异口同声回答:“选择结构”。简单回顾IF-Else语句的格式后,要求学生动手设计程序界面,编写自定义函数,在按钮的单击事件中调用自定义函数,调试运行,输出答案。   程序代码如下:   Function fib(ByVal n As Integer) As Integer 自定义函数   If n=1 or n=2 Then   fib=1   Else   fib=fib(n-2)+fib(n-1)   End If   End Function   Private Sub Command1_Click()主程序   Dim n as integer   n=val(text1.text)   Print“斐波那契数列第” n “项值为” fib(n);   End Sub   在教学实践中发现,部分学生在对递归程序的理解上依然存在一定的困难,教师可从绘制流程图或编写伪代码入手,引导学生分析编程思路。对于递归法的特点,

文档评论(0)

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

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

1亿VIP精品文档

相关文档