资源描述:
《马的hamilton周游问题算法设计课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、河南科技大学课程设计任务书课程名称软件专题训练题目__马的Hamilton周游路线问题__院系__电子信息工程学院___班级___计算机091班______学生姓名___张昉华___________指导教师__孙士保、张明川、冀治航__日期_2011年5月28日~2011年6月3日课程设计题目马的Hamilton周游路线问题姓名张昉华学号09104060129班级计算机091系别计算机科学与技术专业计算机科学与技术组别组长张昉华组员指导教师姓名孙士保、张明川、冀治航课程设计目的进一步巩固C程序设计和算法设计与分析的基础知识,提升结构化程序、模块化程序设计的方法和能力,深入理解数据结
2、构的基本理论,掌握数据存储结构的设计方法,掌握基于数据结构的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在实践中培养独立分析问题和解决问题的作风和能力。设计环境1.PC兼容机2.Windows2000/XP操作系统3.TC集成开发环境或其他C语言开发环境课程设计要求和任务要求:1.熟练掌握递归与分治策略,能够利用递归与分治解决实际问题;2.使用文件进行存储和管理。程序启动时可从文件中读取信息,或从键盘输入信息;运行过程中也可对文件进行存取;退出前可选择将部分信息保存到文件中;3.不同的功能使用不同的函数实现(模块化),对每个函
3、数的功能和调用接口要注释清楚。对程序其它部分也进行必要的注释。4.对系统进行功能模块分析、画出总流程图和各模块流程图;5.用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可以反复使用,最好使用菜单;6.通过命令行相应选项能直接进入某个相应菜单选项的功能模块;7.所有程序需调试通过。任务:完成马的Hamilton周游路线问题.设计内容包括:1.确定能对给定的偶数m,n≥6,且
4、m-n
5、≤2,编程计算m╳n的国际象棋棋盘上马的一条Hamilton周游路线;2.程序能够演示一条Hamilton周游路线的周游过程等。课程设计工作进度计划序号起止日期工作内容1下发任务书,分组,选
6、定课题,查阅相关资料2总体设计,划分模块3编制源程序4上机调试,修改、完善系统5程序检查6撰写说明书河南科技大学课程设计报告课程名称:软件专题训练设计题目:马的Hamilton周游路线问题院系:电子信息工程学院专业:计算机科学与技术班级:计算机091班学生姓名:张昉华学号:09104060129起止日期:2011年5月28日~2011年6月3日指导教师:孙士保、张明川、冀治航目录一设计分析11.1课程设计题目11.2课程设计任务及要求11.3软硬件运行环境及开发工具1二程序结构22.1流程图22.2各模块的功能及程序说明2三源程序33.1源代码33.2操作方法4四试验结果7五设计体
7、会8一设计分析1.1课程设计题目马的Hamilton周游路线问题1.2课程设计任务及要求1.确定能对给定的偶数m,n≥6,且
8、m-n
9、≤2,编程计算m╳n的国际象棋棋盘上马的一条Hamilton周游路线;2.程序能够演示一条Hamilton周游路线的周游过程等1.3软硬件运行环境及开发工具1.PC兼容机2.Windows2000/XP操作系统3.TC集成开发环境或其他C语言开发环境二程序结构2.1流程图开始Input()输入棋盘大小m和nOutput()m,n≥6,且
10、m-n
11、≤2m,n<6,或m,n为奇数m,n>12m,n<12Return;Comp()输出循环至m,n<122.
12、2各模块的功能及程序说明voidstep(intm,intn,gridb[])作用:将读入的基础棋盘的Hamilton回路转化为网格数据voidinput()作用:读入初始数据intpos(intx,inty,intcol)作用:计算棋盘方格的编号。voidbuild(intm,intn,intoffx,intoffy,intcol,gridb[])作用:构造结构化Hamilton回路。voidBase(intmm,intnn,intoffx,intoffy)作用:根据基础解构造子棋盘的结构化Hamilton回路。boolcomp(intmm,intnn,intoffx,intof
13、fy)作用:分治法主体。voidoutput()作用:输出路线。三源程序3.1源代码#include#include#include#defineM2048intm,n;FILE*fin;typedefstruct{intx,y;}grid;gridb66[36],b68[48],b86[48],b88[64],b810[80],b108[80],b1010[100],b1012[120],b1210[120]