- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微课-汉诺塔问题教案
本微课适用范围如下所示:
课程所属学科:计算机
适用专业:计算机应用技术、计算机软件工程、电子信息
适用课程:C语言程序设计、C++程序设计、JAVA程序设计、数据结构
适用对象:有一定编程基础的同学
《汉诺塔问题》微课教案
学院(部): 软件学院 系(教研室): 网络教研
授课教师: 杨 珺 职 称: 副 教 授
课程名称 汉诺塔算法解析及其程序实现 课程类别 微课教学 授课对象 具有一定程序设计基础 考核方式 自我理解与自我实现 教
学
基
本
目
的
和
要
求 “微课”是指以视频为主要载体记录教师在课堂教育教学过程中围绕某个知识点或教学环节而开展的精彩教与学活动全过程。“微课”的核心组成内容是课堂教学视频(课例片段),同时还包含与该教学主题相关的教学设计、素材课件、教学反思、练习测试及学生反馈、教师点评等辅助性教学资源,它们以一定的组织关系和呈现方式共同“营造”了一个半结构化、主题式的资源单元应用“小环境”因此,“微课”既有别于传统单一资源类型的教学课例、教学课件、教学设计、教学反思等教学资源师生可流畅地在线观摩课例,查看教案、课件等辅助资源;也可灵活方便地将其下载保存到终端设备(如笔记本电脑、手机、MP4等)上实现移动学习、“泛在学习”,非常适合于教师的观摩、评课、反思和研究。课程的性质和任务是也是一实践的课程,既要掌握概念,又要动手编程,还要上机调试运行。对计算机专业和理工类专业来说是。课程的教学目标本课程的教学目标是:通过理论和实践教学,使学生较好地掌握知识,掌握基本的程序设计过程和技巧,具备初步的,并能熟练应用C集成环境进行的编写、编译与调试,解决一般编程问题的水平。重点:C二、????? 重点:。
三、顺序结构程序设计????? 重点:?。?教材:《C程序设计》 谭浩强 清华大学出版社《C语言程序设计案例教程》张基温等 清华大学出版社教
学
安
排
引言
汉诺塔源自古印度神话,曾经是一个趣味数学难题,在无计算机的年代基本无法求解,在计算机帮助下可以很好的解决这个问题,但也受到计算机运算速度的影响。
讲授
一、问题出现的历史背景
(1) 汉诺塔问题也是世界末日问题之一。
(2) 古印度趣味数学问题之一。
二、汉诺塔问题的特点
重复同一种运算,但是计算机量非常巨大。
三、 汉诺塔问题求解方法
三根杆子,64个盘子。
依据“大盘在下,小盘在上”的顺序放在同一根杆上。
利用剩余的两根空杆,将盘子移致另一根杆子上。但是不能违背“大盘在下,小盘在上”原则。
四、算法的结构(3个C程序引入C程序结构)
(1)设计递归函数
用递归的方法求fac(n)=n!
fac(n)=n*fac(n-1) (n 1)(递归公式)
fac(n)=1 (n=1)(递归边界条件)
(2)设计recursion formula (递归公式)
if ( n 1 )
hanoi ( n-1, A,C,B );
printf(%c ( %c\n, A, C);
hanoi ( n-1, B,A,C );
(3)设计Ending condition(边界条件)
if ( n == 1 )
printf( %c ( %c\n,A, C);
(4)设计递归函数void hanoi(int n,char A,char B,char C)
{ if ( n1 ) {
hanoi ( n-1, A, C, B );
printf(%d: %c - %c\n,++i,A, C);
hanoi ( n-1, B, A, C ); }
else
printf(%d: %c - %c\n,++i,A,C);
}
(5)Complexity analysis of algorithm(算法复杂度分析)
时间复杂度为:O(2n)
思考题、
课后作业 阅读: 相关的汉诺塔的资料
课后设计:编写一个汉诺塔的游戏程序 主要
参考资料 《数据结构》、《C语言程序设计》、《C++程序设计教材》教材 课后自我
总结分析 通过本课程的学习,可以帮助同学进一步理解递归问题和栈的应用。并且可以提高同学的动手编程能力 备注 程序实现部分
汉诺塔问题的递归实现:
#includestdio.h
void hanoi(int n,char A,char B,char C)
{
if(n==
您可能关注的文档
- 张店区房地产行业综合市调报告.ppt
- 张承宗-老年高血压相关心力衰竭药物治疗选择.ppt
- 张小盒艺术装置活动合作案例.ppt
- 张拉锚固施工中钢绞线损伤的原因分析.docx
- 张树仁新桥规范讲稿.ppt
- 张欣开题报告.doc
- 张掖湿地公园.ppt
- 张海迪英语介绍.ppt
- 张燕《分物游戏》的说课课件.ppt
- 张鹏 中国公务航空市场的现状与未来.ppt
- 中国国家标准 GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18233.4-2024信息技术 用户建筑群通用布缆 第4部分:住宅.pdf
- GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- 《GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计》.pdf
- 中国国家标准 GB/T 18978.210-2024人-系统交互工效学 第210部分:以人为中心的交互系统设计.pdf
- GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- 《GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置》.pdf
- 中国国家标准 GB/T 16649.2-2024识别卡 集成电路卡 第2部分:带触点的卡 触点的尺寸和位置.pdf
- GB/T 17889.4-2024梯子 第4部分:铰链梯.pdf
- 《GB/T 17889.4-2024梯子 第4部分:铰链梯》.pdf
文档评论(0)