资源简介 递归算法 【教材分析】 本节课学生学习的递归算法是选考算法部分的最后一个算法。递归算法是在学习自定义函数的基础上,用程序实现自定义函数的一种具体的应用。 【学情分析】 学生已经学习了算法的各种结构,能够用各种结构来解决问题。特别在学习循环语句的过程中,应用了大量的“递推”思想。在自定义函数的基础上,体会自定义函数的应用。 【教学目标】 1.知识与技能目标 理解什么是递归算法,学会用递归算法的思想分析问题 能够应用自定义函数方法实现递归 2.过程与方法目标 通过讨论、思考、练习,体验递归算法的方法 3.情感态度价值观目标 通过教学中的实例,激发学生的数学建模意识,培养学生多维度思考问题和解决问题的能力 【教学重难点】 重点: 理解什么是递归算法;用递归算法的思想分析问题; 应用自定义函数方法实现递归算 难点: 应用自定义函数方法实现递归算法的编程 【教学过程】 一、提出递归现象,引入课题 四个简短的例子 例子1:讲故事:从前有座山,山上有座庙…… 例子2:德斯特罗效应 例子3:修身齐家治国平天下的古训 例子4:查词典 四个例子之间的对比找不同 递归现象引导向递归算法 二、新课讲授,实例体验 1.递归的介绍 PPT展示,递归的两种调用:直接调用和间接调用 递归算法的核心思想:递归关系,递归终止条件。 具体如何实现调用由计算机解决 2.递归实例讲解 1).求正整数阶乘问题。 5!=5*4*3*2*1=5*4! 4!=4*3*2*1=4*3! 3!=3*2*1=3*2! 2!=2*1=2*1! 1!=1 推出:1:对于任意一个整数n (n>1): n!=n*(n-1)! 2:终止条件 n=1 1!=1 编写算法: Function jc(n as integer) as integer If n =1 then jc=1 else jc=n*jc(n-1) End if End function 递归的核心思想:“大事化小、小事化了” 2).求年龄问题。 终止条件:第一个人10岁 递归关系:每一个人的年龄都比其前1个人的年龄大 Function age (n as Integer)as Integer If n=1 then age =10 Else age=age(n-1)+2 End if End Function 3.习题巩固 习题1:斐波那契数列问题 习题2:小猴吃桃问题 习题3:求最大公约数 三,课堂小结,完善作品,提交评价 课堂小结: 递归算法实现的要点 递归调用必须是有限制的,有限才有意义。构成递归的必须满足以下条件: (1)有明确的结束递归的边界条件(又称终止条件)以及结束时的边界值;通过条件语句(If语句)来实现 (2)函数的描述中包含其本身,即能用递归形式表示 展开更多...... 收起↑ 资源预览