汉诺塔_课程设计论文

汉诺塔_课程设计论文

ID:36517605

大小:248.50 KB

页数:37页

时间:2019-05-11

汉诺塔_课程设计论文_第1页
汉诺塔_课程设计论文_第2页
汉诺塔_课程设计论文_第3页
汉诺塔_课程设计论文_第4页
汉诺塔_课程设计论文_第5页
资源描述:

《汉诺塔_课程设计论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、淮阴工学院C++程序设计课程设计报告选题名称:汉诺塔系(院):计算机工程系专业:计算机科学与技术(网络工程方向)班级:网络1071姓名:孟永吉学号:1071304115指导教师:戴峻峰学年学期:2007~2008学年第2学期2008年06月14日36设计任务书课题名称汉诺塔设计目的1.调研并熟悉汉诺塔的基本功能、数据流程与工作规程;2.学习汉诺塔的非递归算法和基于VC++集成环境的编程技术;3.通过实际编程加深对基础知识的理解,提高实践能力;4.学习开发资料的收集与整理,学会撰写课程设计报告。实验环境1.微型电子计算机(PC);2

2、.安装Windows2000以上操作系统,VisualC++6.0开发工具。任务要求1.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;2.在第15周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;3.本课题主要实现用两种方法,递归和非递归方法实现盘子的移动;要求输入盘片数目,显示移动过程及结果。4.结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。工作进度计划序号起止日期工作内容12008.06.09~2

3、008.06.10在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。22008.06.10~2008.06.11设计总体方案,构建、绘制流程框图,编写代码,上机调试。32008.06.11~2008.06.13测试程序,优化代码,增强功能,撰写设计报告。42008.06.14~2008.06.14提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。指导教师(签章):年月日36摘要:有三个柱子A,B,C.A柱子上叠放有n个盘子,每个盘子都比它下面的盘子要小一点,可以从上到下用1,2,...,n编号。要

4、求借助柱子C,把柱子A上的所有的盘子移动到柱子B上。移动条件为:1、一次只能移一个盘子;2、移动过程中大盘子不能放在小盘子上,只能小盘子放在大盘子上;要求编写程序打印出移动盘子的步骤。编写代码,用递归解法和非递归解法解决盘子的移动问题对于“汉诺塔”问题的解法,主要有:递归法和非递归法,而递归法是人们用了最多的,因为它既简单又易懂。以下是我做的一些工作:(1)课题综述(课题来源,意义,预期目标,面对的问题,需要解决的关键技术)。(2)需求(系统)分析(知识基础,解题的基本思路,总体方案,功能模块框图)。(3)设计模块和算法(算法描述

5、,实现方法,详细流程图)。(4)编辑代码(主要模块的代码分析)。(5)收集参考资料(主要从图书馆和网上获取)。关键词:汉诺塔;递归思想;函数调用;非递归思想;基本控制结构;数组;指针36目录1课题综述41.1课题描述及任务要求41.2课题来源、意义51.3预期目标51.4面对的问题51.5需解决的关键技术62需求(系统)分析62.1涉及的知识基础62.2解决问题的基本思路102.3总体方案103模块及算法设计113.1算法描述113.2详细流程图154代码编写185程序调试23总结26致谢28参考文献30附录31361课题综述1.

6、1课题描述及任务要求有三个柱子A,B,C.A柱子上叠放有n个盘子,每个盘子都比它下面的盘子要小一点,可以从上到下用1,2,...,n编号。要求借助柱子C,把柱子A上的所有的盘子移动到柱子B上。移动条件为:1、一次只能移一个盘子;2、移动过程中大盘子不能放在小盘子上,只能小盘子放在大盘子上。要求编写程序打印出移动盘子的步骤。图1.1汉诺塔的初始模型设计要求:编写代码,用两种方法解决盘子的移动。运行程序后,显现下面的参考界面:汉诺塔===============================1.递归解法2.非递归解法请选择(1或2,

7、0:退出)图1.2汉诺塔初始界面361.2课题来源、意义汉诺塔问题(也被称为梵塔问题或河内塔问题)在几乎任何一种计算机高级程序设计语言的书籍中,都用作解题的典型例子,因此已广为人知。曾有笔者1980年在德国做访问学者时,在一个德国朋友家中曾见过这种梵塔智力玩具,可见他在国外已深入到家庭之中。汉诺塔问题起源于中东地区的一个古老的传说:在梵城地下有一个僧侣的秘密组织,他们有3个大型的塔柱,左边的塔柱上由大到小套这64个金盘。僧侣们的工作是要把这64个金盘从左边塔柱转移到右边塔柱上去。但转移过程有严格规定,即每次只能搬动一只盘子;盘子只

8、能在3个塔柱上安放,不允许放地上去;在每个塔柱上,只允许把小盘子叠在大盘子上,而不允许大盘子压在小盘子上。据传说,僧侣们完成这个任务时,世界的末日就来临了。19世纪的法国大数学家鲁卡曾经研究过这个问题,他正确地指出,要完成这个任务,僧侣们搬动金盘的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。