
共1学时 1教学目标 知识与技能:(1)理解什么是递归算法 (2)学会分析任务,建立相应的递归式数学模型。 (3)能够运用自定义函数的方法实现递归算法编程。 过程与方法:(1)通过描述生活中的例子,使学生理解递归算法。 (2)通过练习,总结递归算法命题的规律。 情感态度与价值观:结合数学中的实例,激发学生的数学建模的意识,培养学生多维度的思考问题和解决问题。 2学情分析 今天所上的这个班,学生的基础都比较好。所以上课环节比较流畅,学生活动比较积极。 3重点难点 教学重点:如何建立递归算法的数学模型。 教学难点:运用自定义函数的方法实现递归算法编程。 4教学过程 4.1 第一学时 4.1.1教学活动 活动1【讲授】递归算法 1.直接引入新课 1)提出新概念--递归 在定义过程或函数时又出现了调用本过程或者函数的成分,即调用了它自己本身,这称为递归。 2)通过两个事例理解什么是递归 ①《老和尚讲故事》故事 从前有座山,山里有个庙,庙里有个老和尚会讲故事,讲什么呢?从前有座山,山里有个庙,庙里有个老和尚会讲故事…………… ②两面镜子互映(教师准备好两面镜子) 在每面镜子中都有对面镜子的像,同时在像中也应该有和像同样的场景…………,每个镜子中的像是什么样子呢? 3)通过典型数学习题体会递归算法 有5个人坐在一起,问第5个人多少岁,他说比第4个人大2岁;问第4个人多少岁,他说比第3个人大2岁;问第3个人多少岁,他说比第2个人大2岁;问第2个人多少岁,他说比第1个人大2岁;最后问第一个人多少岁,他说是10岁,请问第5个人多少岁? 2.新课讲解(用递归算法解题的一般过程)--以上题为例 10(n=1) 步骤一、建立数学模型 F(n-1)+2(n>1) F(n)= 步骤二、用vb语言实现(采用自定义函数的方法) Functiongs(byvalnasinteger)AsInteger Ifn=1 (这部分知识以学生填空的形式给出) thens=10 else s=s(n-1)+2 endif endfunction 认真听讲 脑海中勾画出故事的画面,体会什么是递归。 回答计算的结果,并简单阐述解题过程。 分析实现过程建立数学模型 学生自己尝试写代码。 没有思路的同学根据老师的提示,完成填空题。 体会算法的实现过程 从递归算法的概念出发,让学生从故事和实践活动中体会递归法的内涵,加深对递归思想的理解。 通过一道简单的数学题,让学生很快体会到了用递归思想的解题的过程。 使学生由对概念的理解转成实际应用,有利于学生的很快掌握 与同学熟悉的函数相联系,利用知识的迁移使学生很快的掌握了这部分知识。 作业: 同学们自己将本节课的知识,尝试写出源程序,下节课上机实践。 上机操作: 练习(基础题) 1.有一天小猴子摘若干个桃子,当即吃了一半还觉得不过瘾,又多吃了一个。第二天接着吃剩下桃子中的一半,仍觉得不过瘾又多吃了一个,以后小猴子都是吃尚存桃子一半多一个。到第10天早上小猴子再去吃桃子的时候,看到只剩下一个桃子。问小猴子第一天共摘下了多少个桃子 1(day=10) (Tao(day+1)+1) 2(day<10) Tao(day)= Functiongtao(Byvaldayasinteger)AsInteger (这部分知识学生做答) Ifday=10 thentao=1 else tao=(Tao(day+1)+1) 2 end if end function 2)求N!(做的快的同学选做) 1 2 3 4………… 20的积,用递归的形式编程。(答案学生向教师索取) 学生认真做题。 提高练习题 如果每对兔子每月繁殖一对子兔,而子兔在出生后第二个月就有生殖能力,试问第一月有一对小兔子第十二月时有多少对兔子? 提示:1、1、2、3、5………………由数列的规律建立数学模型 思考题 猴子运玉米棒:一只小猴将A处的一堆玉米棒运往B处,它每次可能运一只或两只。写一函数求n只玉米棒运完共有多少种运送方式? 思考、分析、讨论 培养学生分析问题、解决问题能力,煅练学生“数学建模” ... ...
~~ 您好,已阅读到文档的结尾了 ~~