版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高中信息技术选修1递归的概念与特征教学设计一、教学基本信息本课选自浙教版(2019)高中信息技术选修1《数据与数据结构》第五章第二节“迭代与递归”第1课时,授课对象为高中二年级选修学生,课时安排一课时,四十五分钟。本模块属于课程标准“数据与数据结构”部分的核心内容,承接必修课程中算法与程序实现的基础,向上支撑排序、查找等后续算法学习。二、教材分析教材将迭代与递归并置,意在引导学生理解问题求解的两种基本策略:由小到大逐步推进的累积式思维,以及由大到小逐层分解的分解式思维。本课时聚焦递归的概念与特征,教材通过阶乘、汉诺塔等经典案例,揭示递归的三要素:递归定义、递归出口和递归调用。递归是学生第一次接触“函数调用自身”这一反直觉的程序结构,是后续学习分治、树与图遍历的认知起点,教学中必须让学生经历从现象观察到本质抽象、从手工模拟到程序验证的完整过程。三、学情分析学生已在必修模块掌握Python基本语法、函数定义与调用、循环结构,能够编写阶乘的循环实现,具备学习递归的知识支架。但学生普遍存在三重认知障碍:一是认为“自己调用自己”会导致死循环,对递归终止条件缺乏敏感性;二是难以在头脑中追踪多层调用与逐层返回的执行轨迹,容易把递归理解成“另一种循环”;三是面对新问题时找不到递推关系,无法将大问题拆解为同构的子问题。学生的抽象逻辑思维处于由经验型向理论型过渡阶段,教学中宜采用可视化、可触摸的具象支架,逐步撤除,促成概念的内化。四、教学目标学科大概念统摄下,本课目标设定如下。信息意识:面对具有自相似结构的问题,能敏感地识别其中“大问题可化为同类小问题”的特征,产生运用递归求解的意向。计算思维:理解递归的定义,能归纳递归必须具备的三要素,能用“分解—调用—回溯”的框架分析递归程序的执行过程,能为具体问题设计递归算法并估算其调用规模。数字化学习与创新:能借助运行环境、调用栈演示工具和打印追踪等手段验证递归程序,在调试中修正递归出口与递推关系。信息社会责任:通过对比递归与迭代在可读性、时空开销上的差异,形成依据问题特征理性选择算法的技术态度,认识算法效率与资源约束的辩证关系。五、教学重难点教学重点:递归的概念与三要素;递归程序“逐层深入、逐层返回”的两阶段执行过程。教学难点:递归调用过程中函数栈帧的建立与释放机制;将具体问题抽象为递归定义的思维跃迁。六、教学策略与资源准备采用情境导入、问题链驱动、可视化演示、小组协作探究与程序实证相结合的策略。课前准备:可动画呈现调用栈的演示程序、汉诺塔实体教具一组(三根立柱与五片圆盘)、每人一份学习任务单、机房预装Python环境及调试工具。黑板一侧预留板书区,用于随讨论生长式绘制递归调用树。七、教学过程(一)情境导入:镜子里的无限上课伊始,教师展示两面相对放置的镜子的照片,镜中影像层层嵌套、无穷延伸。教师提问:“如果让你用语言精确描述这幅画面,你会怎么说?”学生自由发言后,教师引导出关键表述:“一面镜子里是另一面镜子中的景象,而那一层景象里又包含着镜子的景象。”教师随即给出另一则生活例子:词典中“递归”一词的趣味释义——“请参阅‘递归’”。学生会心一笑。教师追问:“这两个现象有什么共同结构?”师生共同归纳:一个事物在其定义或构成中引用了自身,并且这种引用不会无限进行下去,总会在某处停止。教师板书课题:递归的概念与特征。设计意图在于用具有视觉冲击和生活温度的实例,让学生在概念正式出场之前先获得直觉性的经验基底,消除对“自我调用”的陌生与戒备。(二)概念建构:从阶乘说起教师布置任务一:“请用你熟悉的循环方法,写出计算n的阶乘的程序。”学生在两分钟内完成,教师巡视并请一名学生板演。教师指着程序提问:“这个算法是如何得到答案的?”学生回答:从1开始,逐个乘上去。教师肯定并指出这是一种“由小到大、逐步累积”的思路,即迭代。教师转换视角:“换一个角度。现在我要求5的阶乘。假如有人已经替我算好了4的阶乘,我还需要做什么?”学生思考后回答:只需乘以5。教师继续追问:“那4的阶乘又怎么得到?”学生顺势说出:用3的阶乘乘4。教师沿黑板向左逐级写出式子:5!=5×4!4!=4×3!3!=3×2!2!=2×1!1!=1教师提问:“这个拆解过程为什么不能无限进行下去?是什么让它停下来的?”学生指出:到1的阶乘时可以直接给出答案1,不再需要拆解。教师给出递归的正式定义:一个函数在其定义中直接或间接调用自身的程序设计方法称为递归。并引导学生在刚才的推理链中发现递归的两个要素:其一,递归关系,即n!=n×(n−1)!,大问题由规模更小的同类问题构成;其二,递归出口,即当n等于1时直接返回1,调用链在此终止。教师请学生尝试将这一数学描述翻译成Python函数。学生独立完成后,教师展示规范实现:deffact(n):ifn==1:return1returnnfact(n1)师生逐行解读:条件分支守护出口,回归语句承载递推关系。学生运行程序,输入不同的n验证结果,并尝试输入n为0或负数观察现象,发现程序陷入异常,由此自然认识到出口设计必须覆盖边界与非法输入。教师顺势完善代码,增加对n不大于1时返回1的处理,并强调:递归出口不是可有可无的装饰,而是递归存在的合法性前提。(三)难点突破:揭开调用的黑箱教师提出问题三:“fact(4)这一行短短代码背后,计算机究竟做了什么?”由于函数栈帧抽象难见,教师采用三层递进手段。第一层,手工追踪。学生在任务单上画出fact(4)的调用链条:fact(4)调用fact(3),fact(3)调用fact(2),fact(2)调用fact(1),fact(1)返回1。教师强调此时并非结束,乘法的答案还要原路送回:fact(2)得到2,fact(3)得到6,fact(4)得到24。教师总结递归执行的两个阶段:递——层层深入,调用自身,条件逐层逼近出口;归——到达出口后,携带结果逐层返回。板书“有递必有归,罪归出口”的口诀,学生记录。第二层,打印实证。学生修改程序,在函数入口和返回前各插入输出语句,打印当前n值与返回值,运行后观察输出序列呈现“先下潜后上浮”的对称结构,亲手验证两阶段模型。第三层,栈的透视。教师运行调用栈演示工具,每进入一层调用,栈上压入一个新栈帧,记录该层的n与返回地址;每返回一次,栈帧弹出。配合先前学习过的栈“后进先出”特性,学生恍然大悟:递归的实现机制正是借助系统栈保存每一层的现场。教师点明:这正是递归层次不能无限加深的原因——栈空间有界,层次过深会导致栈溢出,操作系统为此设置了递归深度上限。学生在Python中查看默认深度限制,讨论何时会触碰这一上限,计算思维与工程意识同步生长。(四)特征归纳:递归的三要素与适用条件教师组织学生结合阶乘案例与镜中影像,小组讨论三分钟,归纳“一个问题适合用递归求解,需要满足哪些条件”。各组汇报后,师生共同提炼并在黑板上定型三条特征:第一,自相似性。原问题可以分解为一个或多个规模更小的同类问题,子问题与原问题解法一致,仅参数不同。第二,存在终止条件。问题经过有限次分解后,必然到达可以直接求解的最小规模,即递归出口。第三,收敛性。每一次递归调用都必须使问题规模严格向出口方向推进,否则调用将永无止境。教师给出辨析题组,请学生快速判断:求数列1到n的和能否递归?斐波那契数列第n项能否递归?求一个无序数组中的最大值能否递归?判断一个数是否为素数是否适合递归?学生在辨析中体会到:能否递归取决于问题结构而非题目外观,第四题虽可勉强写出,却不具备天然的分解收益,递归并非万能钥匙。教师板书决策原则:用得其所,递归使代码简洁优雅;用非其所,徒增开销与风险。(五)协作探究:汉诺塔中的递归之美教师出示汉诺塔教具,说明规则:将A柱上按大小叠放的n个圆盘借助B柱整体移至C柱,每次只能移动一盘,且任何时候大盘不能压在小盘之上。教师先请两名学生上台尝试三层的情形,台下学生记录步数。尝试成功后,教师提问:“要保证移动策略对任意n都成立,靠蛮力记忆步骤可行吗?”学生摇头。教师引导分解:“假设有一位隐形的助手,能够把上面的n−1个盘子从A柱经由C柱搬到B柱,那么你剩下要做什么?”学生豁然开朗:把最底下的大盘从A移到C,再请助手把B柱上的n−1个盘子经由A搬到C。教师指出:所谓助手,就是同一个函数在更小规模上的再次调用,这就是递归的精髓——信任自己的函数,先假设它能解决小问题。师生共同写出伪代码:hanoi(n,源,借助,目标):若n等于1,则直接把盘子从源移到目标;否则,hanoi(n−1,源,目标,借助);把第n个盘从源移到目标;hanoi(n−1,借助,源,目标)。学生两人一组,一人扮演“函数”,一人扮演“系统栈”,用卡片模拟n等于3时的完整调用与返回过程,记录每一次移动指令,再与程序运行结果比对。教师巡视中重点追问:“移完大盘之后,程序是怎么知道接下来该干什么的?”引导学生理解返回地址的作用。组长汇总各组观察到的共同规律:n个盘子共需移动2ⁿ−1次,并尝试用数学归纳思想口头说明。教师适时点出:递归不仅给出算法,还天然携带着对问题规模增长的度量方式,为后续学习算法效率埋下伏笔。(六)对比升华:迭代与递归的对话教师请学生调出课前完成的阶乘循环版与本课递归版,并排观察,从三个维度填写对比表:思维方向、代码形态、资源消耗。讨论达成以下共识:迭代由底向上累积,递归自顶向下分解;递归代码更贴近问题的数学定义,简洁易读;递归依赖系统栈,存在深度与时空开销的代价,而存在显式递推且无需回溯的问题用迭代往往更经济。教师补充一个反面案例:朴素递归求斐波那契数列第40项的耗时演示,屏幕上长时间无结果,而迭代版瞬间完成。学生直观感受到重复子问题的灾难性开销,教师预告下一课时将学习如何用记忆化等策略化解,为第2课时张本。此处的设计意图是防止学生形成“递归高级、迭代低级”的误判,建立依据问题特征与约束条件理性选型的工程判断力。(七)课堂小结:让概念在图谱中扎根教师邀请学生共同完成板书收束:中央写“递归”,向外延伸四条分支——概念(函数调用自身)、三要素(自相似、有出口、收敛推进)、执行机制(递与归,系统栈支撑)、适用判断(结构决定选择,警惕栈深与重复计算)。学生用一分钟在任务单上默写递归定义并画出fact(4)的调用树,同桌互批。教师用一句话收束全课:“递归是算法对自身的一次信任托付:把小事交给昨天的自己,把答案留给今天的归来。”(八)分层作业基础层:阅读教材相关章节,用递归实现求正整数各位数字之和,画出n等于307时的调用树,标出递与归两个方向。提高层:用递归实现二分查找的雏形——在有序列表中查找目标值的递归版本,写出递归出口的所有情形,并说明每一次调用规模如何减半。拓展层:调研一个生活中的递归结构实例(如分形图案、目录树、组织架构),用一百余字说明其自相似性与终止条件,下节课课前分享。八、板书设计主板书分三区。左区:课题与递归定义。中区:阶乘分解链与两个阶段的箭头示意,下挂三要素。右区:fact(4)调用树草图与“迭代—递归”对比关键词。三区内容随教学推进逐块生成,保持痕迹完整,供学生回顾时按图溯思。九、教学评价设计本课采用嵌入式表现性评价。任务单的调用树绘制用于诊断学生对两阶段执行模型的掌握;汉诺塔角色扮演中的操作正确
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年肃宁县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年隆德县医疗事业单位人员招聘笔试参考题库及答案解析
- 2026年阳朔县带编教师招聘笔试备考题库及答案解析
- 2026年大田县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年茂县社区工作者招聘笔试模拟试题及答案解析
- 2026年通渭县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年光泽县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年安化县社区工作者招聘考试备考题库及答案解析
- 2026年涞水县带编教师招聘笔试备考试题及答案解析
- 2026年龙里县带编教师招聘笔试备考题库及答案解析
- 2026黄石阳新工作人员公开招聘30人笔试备考题库及答案详解
- 2025年新疆检察院书记员《法律基础知识》题库附答案
- 2026年证券投资顾问胜任能力考试真题及答案解析
- 2026年苏教版小学四年级数学上册第四单元《数学建模》完整课时教案
- 无人机航拍技术课件 项目五任务二:照相机设置与参数调整
- 2026年天津专升本(计算机基础)考试真题附答案
- 海南省名校联盟2025-2026学年高二(下)期末化学试卷(含答案)
- 化学(基础模块)中职PPT完整全套教学课件
- 架空导地线-液压压接(郭学闻)
- 技师培训交直流调速
- 输变电工程项目安全管理台账
评论
0/150
提交评论