1、 课课 程程 设设 计计 任任 务务 书书 课程名称课程名称 软件专题训练 题题 目目 马的马的 Hamilton周游路线问题周游路线问题 课程设计题目 马的 Hamilton周游路线问题 姓名 学号 班级 计算机 091 系别 计算机科学与技术 专业 计算机科学与技术 组别 组长 组员 指导教师姓名 课程 设计 目的 进一步巩固 C 程序设计和算法设计与分析的基础知识,提升结构化程序、 模块化程序设计的方法和能力,深入理解数据结构的基本理论,掌握数据存储结 构的设计方法,掌握基于数据结构的各种操作的实现方法,训练对基础知识和基 本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在
2、实践中 培养独立分析问题和解决问题的作风和能力。 设计 环境 1. PC 兼容机 2Windows 2000/XP 操作系统 3TC 集成开发环境或其他 C 语言开发环境 课程 设计 要求 和任 务 要求:1熟练掌握递归与分治策略,能够利用递归与分治解决实际问题; 2使用文件进行存储和管理。程序启动时可从文件中读取信息,或从键盘 输入信息;运行过程中也可对文件进行存取;退出前可选择将部分信息 保存到文件中; 3不同的功能使用不同的函数实现(模块化) ,对每个函数的功能和调用接 口要注释清楚。对程序其它部分也进行必要的注释。 4对系统进行功能模块分析、画出总流程图和各模块流程图; 5用户界面要求
3、使用方便、简洁明了、美观大方、格式统一。所有功能可 以反复使用,最好使用菜单; 6通过命令行相应选项能直接进入某个相应菜单选项的功能模块; 7所有程序需调试通过。 任务:完成马的 Hamilton 周游路线问题.设计内容包括: 1确定能对给定的偶数 m,n6,且|m-n|2,编程计算 mn 的国际象棋 棋盘上马的一条 Hamilton 周游路线; 2程序能够演示一条 Hamilton 周游路线的周游过程等。 课程设计工作进度计划 序 号 起止日期 工 作 内 容 1 下发任务书,分组,选定课题,查阅相关资料 2 总体设计,划分模块 3 编制源程序 4 上机调试,修改、完善系统 5 程序检查 6
4、 撰写说明书 目录目录 一一 设计分析设计分析 .错误!未定义书签。 1.1 课程设计题目课程设计题目 . 错误!未定义书签。 1.2 课程设计任务及要求课程设计任务及要求 错误!未定义书签。 1.3 软硬件运行环境及开发工具软硬件运行环境及开发工具 错误!未定义书签。 二二 程序结构程序结构 .错误!未定义书签。 2.1 流程图流程图 . 错误!未定义书签。 2.2各模块的功能各模块的功能及及程序说明程序说明 . 错误!未定义书签。 三三 源程序源程序 .错误!未定义书签。 3.1源代码源代码 . 错误!未定义书签。 3.2操作方法操作方法 错误!未定义书签。 四四 试验结果试验结果 .错误
5、!未定义书签。 五五 设计体会设计体会 .错误!未定义书签。 一一 设计分析设计分析 1.1 课程设计题目课程设计题目 马的 Hamilton周游路线问题 1.2 课程设计任务及要求课程设计任务及要求 1确定能对给定的偶数 m,n6,且|m-n|2,编程计 算 mn 的国际象棋棋盘上马的一条 Hamilton周游路 线; 2程序能够演示一条 Hamilton周游路线的周游过程等 1.3 软硬件运行环境软硬件运行环境及开发工具及开发工具 1. PC 兼容机 2Windows 2000/XP 操作系统 3TC 集成开发环境或其他 C 语言开发环境 二二 程序结构程序结构 2.1 流程图流程图 开始
6、 Input()输入棋盘大小 m和 n Output() m,n6,且|m-n|2 m,n12 m,n2|mm0)nn1-; nn2=nn-nn1; comp(mm1,nn1,offx,offy); comp(mm1,nn2,offx,offy+nn1); comp(mm2,nn1,offx+mm1,offy); comp(mm2,nn2,offx+mm1,offy+nn1); x0=offx+mm1-1;y0=offy+nn1-3; x1=x0-1;y1=y0+2; x2=x1-1;y2=y1+2; x3=x2+2;y3=y2-1; x4=x3+1;y4=y3+2; x5=x4+1;y5=y4-2; x6=x5+1;y6=y5-2; x7=x6-2;y7=y6+1; for(i=0;i8;i+) pi=pos(xi