APP下载

《C语言程序设计》课程递归算法的教学设计

2018-01-02陈祥

科学与财富 2018年33期

摘 要:递归算法是函数嵌套调用的一种特例,递归思想在程序设计中非常重要,递归思想的实质就是把问题转化为规模小的同类问题的子问题,这样对原问题的研究就可转移到子问题的研究,特别是当解决问题的条件不具备时,用递归算法去实现是非常有效的。通过对递归调用的学习,培养学生"自顶向下"、"逐步求精"的编程思想。

关键词:递归算法;嵌套调用 ;编程思想

基于递归算法的编程思想是理论知识强且比较抽象的教学内容,本次课主要运用任务驱动式教学模式和情境教学法,精心挖掘了一些生动、恰当的例子,让学生更容易理解,利用游戏和视频等图文声像并茂的传播方式,增强了感染力,激发了学生的学习兴趣。

一、新课引入(通过角色扮演,情景再现,提升学生的学习兴趣)

引例:有4个人坐在一起,问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2个人大2岁。问第2个人,说比第1个人大2岁。最后问第1人,他说是10岁。请问第5人到底多大?(举一个通俗的例子来说明递归的思想)

二、递归的定义及条件

1.递归的定义:在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为递归算法。

2.递归的两个条件:

(1)需要解决的问题可以化为一个或多个子问题来求解,而这些子问题的求解方法与原来的问题完全相同,只是在数量上、规模上不同。(递归方程)

(2)必须有递归结束条件来终止递归。(递归的結束标志)

三、根据递归的条件判断以下的例子是否属于递归(用小组讨论的方式)

登录APP查看全文