欢迎来到天天文库
浏览记录
ID:45948410
大小:64.00 KB
页数:5页
时间:2019-11-19
《浅谈递归算法的任务驱动式教学策略》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、浅谈递归算法的任务驱动式教学策暁【摘要】本文旨在研究运用任务驱动式教学方法实施普通高屮信息技术《算法与程序设计》中递归算法知识点教学的策略和思路,并在实践中进行了教学尝试,取得较好效果。【关键词】递归算法;任务;驱动;教学策略;研究递归算法是普通高屮信息技术课程《算法与程序设计》教学内容中的难点,学生在学习实践过程中,対于递归算法的思想、编程方法、运行过程的掌握较吃力,甚至无法理解,遇到实际问题时不知该如何运用此算法。笔者在多年的教学实践中,针对该知识点尝试运用任务驱动式教学策略,让学生在一个个学习任务完成的过程中,慢慢理解和学握递归算法的精髓,最终完全吃透该知识点。任务驱动式教学
2、策略是一种建立在建构主义学习理论基础上的教学法,它将以往以传授知识为主的传统教学理念,转变为以解决问题、完成任务为主的多维互动式的教学理念;将再现式教学转变为探究式学习,使学生处于积极的学习状态,每一位学生都能根据自己対当前问题的理解,运用共冇的知识和自己特有的经验提出方案、解决问题。笔者在教学实践中尝试运用该方法开展递归算法的教学,让学生在解决实际问题的过程中完全掌握和理解递归算法的奥妙z处,达到了预期的教学效果。一、递归法概念通过阅读教材中的:从前有座山……”的故事和对“两个镜子相互映射”现象的讲解,学生能基木理解递归思想,从而归纳递归法的概念,即:在程序设计中,函数A自己调用
3、自己,或者函数A调用函数B,函数B反过来调用函数A,都是递归算法。二、自定义函数的运用在程序设计过程中,自定义函数和子过程在编程中的重要性不言而喻,对于自定义函数的讲解和学习是进行递归算法教授和学习的重要基石。因此,在教学过程中,要让学生彻底理解什么是自定义函数,为什么定义和如何定义使用函数。笔者在教学实践屮,首先通过实例列出VB屮标准函数的不足,同时展现自定义函数的作用;然后演示如何定义、使用函数。学生按部就班,参照实例、自主探究、尝试编写自定义函数,并完成自定义函数的调用,调试运行程序,得到问题的最终答案。三、递归法的实现在掌握上述两点内容的前提下,向学生抛出递归类的问题,要求
4、用递归算法找到问题的解决方法。故在教学过程中,首先分析递归问题的规律,演示递归问题中的递推与回归两个过程,并找出递归结朿的必需条件。然后编制自定义函数完成递归算法的实现,在主程序中调用函数,最终实现递归法的运用。四、教学案例提出解决任务:用递归法求“斐波那契数列”问题。首先向学生展示“斐波那契数列”:1、1、2、3、5、8……,然后要求学生利用解析法找出“斐波那契数列”问题的规律,绝大部分学生都能归纳出相应的解析表达式。如下所示。Fib(n)=1,n+2或2Fib(n-2)+Fib(n-1),n>=3根据上述表达式,引导学生找出递归结束的必需条件:n=l或2,同时演示递推和回归两个
5、过程,以求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)0(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。在学生理解了上述问题的编程思路后,抛出第二个问题:用哪种
6、基本结构实现上述分段式函数。学生会异口同声回答:“选择结构”。简单回顾TF-Else语句的格式后,要求学生动手设计程序界面,编写自定义函数,在按钮的单击事件中调用自定义函数,调试运行,输岀答案。程序代码如下:Functionfib(ByVainAsInteger)AsInteger'自定义函数Ifn=lorn=2Thenfib二1Elsefib二fib(n-2)+fib(n-1)EndIfEndFunctionPrivateSubCommand1_Click()'主程序Dimnasintegern二val(text1.text)Print“斐波那契数列笫”&n&“项值为”&fib(
7、n);EndSub在教学实践中发现,部分学生在对递归程序的理解上依然存在一定的困难,教师可从绘制流程图或编写伪代码入手,引导学牛分析编程思路。对于递归法的特点,也可将递归法和解析法的编程思路进行比较,和学生一起讨论。还可以要求学生设计界面和主程序,也可以将界面和主程序都设计好,只要求学生填写自定义函数。实践证明,通过任务驱动式的教学策略,学生在学习过程中,能自发的去探索,去思考,既激发了学生学习程序设计的兴趣,又树立了用程序设计解决实际问题的信心,极大地调动了学生的主
此文档下载收益归作者所有