- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
教案
课程名称
Python程序设计
学时
2
序号
16
授课班级
日期
任课教师
课题
项目7:函数应用
任务3:汉诺塔游戏设计
学习目标
1.掌握递归函数的基本概念、实现方法及应用场景。
2.理解匿名函数(lambda函数)的语法、特点及使用场景。
3.能够编写简单的递归函数解决实际问题。
4.能够使用匿名函数进行排序、过滤和映射等操作。
学习内容
1.递归函数的概念及特点
2.递归函数的实现步骤
3.递归函数的应用案例(如计算阶乘、实现二分查找等)
4.lambda函数的语法及特点
5.lambda函数的应用场景(如排序、过滤、映射等)
学习重难点
重点:
1.递归函数的基本结构
2.递归函数的终止条件
3.lambda函数的语法结构
难点:
1.递归函数的逻辑理解及调试
2.lambda函数在复杂场景下的应用
项目/任务
任务:汉诺塔游戏
任务描述:汉诺塔游戏是一个经典递归问题。假设有n个圆盘,编号从1到n,初始时按照从大到小的顺序依次放置在A柱上,较大的圆盘在下,较小的圆盘在上。目标是将这些圆盘移动到C柱上,移动过程中可以借助B柱,但是在移动过程中大圆盘不能放到小圆盘上、每次只能移动一个圆盘。
教学资源
准备
1.开发环境:PyCharm开发工具;
2.程序清单:汉诺塔游戏;
3.多媒体资源:课件、源代码、视频短片;
4.数字资源:智慧职教MOOC学院精品在线课《Python程序设计》;
5.教材:清华大学出版社张小志主编的《Python程序设计项目教程》;
清华大学出版社张小志主编的《Python程序设计项目化教程(数字教材)》。
教案
教
学
过
程
步骤
教师活动
学生活动
时间
分钟
1
教师提出任务:完成汉诺塔游戏设计
2
教师分析介绍汉诺塔游戏:通过传说介绍汉诺塔游戏的规则和背景。引出本次课的教学内容。
认真听讲,理解汉诺塔游戏的规则和背景。
2
3
讲解递归算法:详细解释递归函数的基本概念、特点及其在汉诺塔游戏中的应用。
跟随教师的讲解,学习递归函数的基本概念、特点及其在汉诺塔游戏中的应用。
3
4
使用Python代码演示如何使用递归函数实现汉诺塔游戏的算法。
仔细观察教师使用Python代码演示的递归算法实现过程。
1
5
介绍匿名函数:简要回顾匿名函数(lambda函数)的语法及特点。
复习匿名函数:回顾匿名函数的语法及特点。
2
6
讲解匿名函数在汉诺塔游戏中的应用:解释如何使用匿名函数简化汉诺塔游戏的代码,如作为高阶函数的参数。
学习匿名函数的应用:跟随教师的讲解,学习如何使用匿名函数简化汉诺塔游戏的代码。
2
7
演示匿名函数的应用:使用Python代码演示如何将匿名函数应用于汉诺塔游戏编程中。
观察代码演示:仔细观察教师使用Python代码演示的匿名函数在汉诺塔游戏编程中的应用过程。
3
8
要求学生使用递归函数和匿名函数编写一个完整的汉诺塔游戏程序。
编写程序:根据教师的指导,使用递归函数和匿名函数编写一个完整的汉诺塔游戏程序。
30
9
在学生进行实践练习时,巡回指导,解答学生的疑问。
提出问题:在实践过程中遇到问题时,及时向教师提问。
5
10
代码演示与扩展:在之前递归算法的基础上,使用匿名函数对代码进行简化,并演示如何使用其他高阶函数(如map、filter)进行扩展。在代码演示过程中,逐步解释每一行代码的改动和简化逻辑。
观察与学习:认真观察教师的代码演示,学习如何使用匿名函数和其他高阶函数对汉诺塔游戏代码进行简化和扩展。
20
11
小组讨论:将学生分成小组,要求每组讨论如何使用匿名函数和其他高阶函数对汉诺塔游戏代码进行进一步的简化和扩展,并选出代表进行分享。
小组讨论与分享:积极参与小组讨论,与同伴共同思考如何使用匿名函数和其他高阶函数对汉诺塔游戏代码进行进一步的简化和扩展,并准备好在全班进行分享。
8
12
布置实践任务:要求学生使用递归函数和匿名函数编写一个完整的汉诺塔游戏程序,并尝试使用其他高阶函数进行扩展。
编写程序:根据教师的指导,使用递归函数和匿名函数编写一个完整的汉诺塔游戏程序,并尝试使用其他高阶函数进行扩展。
4
13
巡回指导:在学生进行实践练习时,巡回指导,解答学生的疑问,关注学生的编程进展和遇到的问题。
提出问题与求助:在实践过程中遇到问题时,及时向教师或同学提问求助,共同解决问题。
2
14
个别辅导:对于编程进展较慢或遇到较大困难的学生,进行个别辅导,帮助他们解决问题,确保每个学生都能完成实践任务。
交流与分享:与同学交流编程心得和经验,分享自己的编程成果和遇到的问题及解决方法。
3
15
教师总结本次课程的学习内容,强调递归函数和匿名函数在汉诺塔游戏编程中的重要性,
文档评论(0)