电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

算法实验报告罗密欧与朱丽叶迷宫求解

  • 资源ID:117073673       资源大小:86.50KB        全文页数:13页
  • 资源格式: DOC        下载积分:20金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要20金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

算法实验报告罗密欧与朱丽叶迷宫求解

河南科技大学 课程设计报 告 课程名称:课程名称:算法设计与分析 设计题目设计题目:罗密欧与朱丽叶迷宫求解问题 院院 系:系: 电子信息工程学院 专专 业:业: 计算机科学与技术 班班 级:级: 计算机 092 班 学生姓名学生姓名: : 学学 号号:09* 起止日期起止日期: 2011 年5 月 28 日 - 2011 年6 月 3 日 指导教师指导教师: 孙士保、张明川、冀治航 课程设计题目罗密欧与朱丽叶的迷宫问题 姓名*学号091040602*班级092 班 系别电子信息工程学院专业计算机科学与技术 组别1 人组长 * 组员 * 指导教师姓名孙士保、张明川、冀治航 课程 设计 目的 进一步巩固C 程序设计和算法设计与分析的基础知识,提升结构化 程序、 模块化程序设计的方法和能力,深入理解数据结构的基本理论,掌握数据存储结 构的设计方法,掌握基于数据结构的各种操作的实现方法,训练对基础知识和基 本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。在实践中 培养独立分析问题和解决问题的作风和能力。 设计 环境 1. PC 兼容机 2Windows 2000/XP 操作系统 3TC 集成开发环境或其他 C 语言开发环境 课程 设计 要求 和任 务 要求:1熟练掌握回溯法,能够利用回溯法解决实际问题; 2使用文件进行存储和管理。程序启动时可从文件中读取信息,或从键盘 输入信息;运行过程中也可对文件进行存取;退出前可选择将部分信息 保存到文件中; 3不同的功能使用不同的函数实现(模块化) ,对每个函数的功能和调用接 口要注释清楚。对程序其它部分也进行必要的注释。 4对系统进行功能模块分析、画出总流程图和各模块流程图; 5用户界面要求使用方便、简洁明了、美观大方、格式统一。所有功能可 以反复使用,最好使用菜单; 6通过命令行相应选项能直接进入某个相应菜单选项的功能模块; 7所有程序需调试通过。 任务:完成罗密欧与朱丽叶的迷宫问题.设计内容包括: 1确定能对给定的任何位置的罗密欧都能够找到一条通向朱丽叶的路线; 2程序能够演示一条罗密欧找到朱丽叶的路线过程等。 课程设计工作进度计划 序 号起止日期工 作 内 容 1下发任务书,分组,选定课题,查阅相关资料 2总体设计,划分模块 3编制源程序 4上机调试,修改、完善系统 5程序检查 6撰写说明书 河南科技大学 课程设计任 务书 课程名称课程名称:算法设计与分析 题题 目目:罗密欧与朱丽叶迷宫求解问题 院院 系:系: 电子信息工程学院 班班 级:级: 计算机科学与技术 092 班 学生姓名学生姓名: : * 指导教师指导教师: 孙士保、张明川、冀治航 起止日期起止日期: 2011 年5 月 28 日 - 2011 年6 月 3 日 目录目录 第一章第一章需求分析需求分析.1 1.1 课程设计题目 . .1 1.2 课程设计任务及要求. 1 1.3 软硬件运行环境及开发工具 1 第二章第二章程序概要设计计.2 2.1 系统流程图. .2 2.2 函数的划分.2 2.3 函数之间的关系.3 第三章 编写代码及运行程序3 3.1 源程序3 3.2 操作及运行结果6 3.3 设计的心得体会7 第一章第一章 需求分析需求分析 1.1 课程设计课程设计题目题目 对于给定的罗密欧与朱丽叶的迷宫,编程计算罗密欧通向朱丽叶的所有最 少弯道路 程序能够演示一条罗密欧找到朱丽叶的路线过程等 1.2 课程设计任课程设计任务及要求务及要求 罗密欧与朱丽叶的迷宫。罗密欧与朱丽叶身处一个 m×n 的迷宫中,如图 所示。每一个方格表示迷宫中的一个房间。这 m×n 个房间中有一些房间是封 闭的,不允许任何人进入。在迷宫中任 何位置均可沿 8 个方向进入未封闭的 房间。罗密欧位于迷宫的。 (p,q)方格中,他必须找出一条通向朱丽叶所在 的(r,s)方格的路。在抵达朱丽叶之前,他必须走遍所有未封闭的房间各一次, 而且要使到达朱丽叶的转弯次数为最少。每改变一次前进方向算作转弯一次。 请设计一个算法帮助罗密欧找出这样一条路。 1.3 软硬件运行软硬件运行环境及开发环境及开发工具工具 硬件:装有 windows 操作系统的计算机 软件:Visual C+6.0 第二章第二章 程序概要设程序概要设计计 2.1 系统流程图系统流程图 2.2 函数的划函数的划分:分: (1)函数 1:bool trackback (int x,int y) 递归调用 trackback 函数求出最 优路径。 (2)函数 2:void isfull() 判断房间是否全部走完 (3)函数3:void main() 主函数初始化迷宫数组,并调用trackback函数 输出一条迷宫路线。 输入 m,n,k,p,q,r,s -1-dirs count-0 dep=m*n-k count=1; 1-.i 1-j bestwij =boardij +1-j 直到 ji 直到 ii p=x+diri0 q=y+diri1 x0 boardpq=dep+ 1 di!=i dirs+1-dis 直到 ri m n k; result = new int *2; result0 = new int n*m; result1 = new int n*m; path = new int *2; path0 = new int n*m; path1 = new int n*m; dir = new int m*n; square = new int *m+2;/m+2 是为了方便边界处理 for ( i=0; ixy; squarexy=-1; /=边界处理= for ( i=0, j=0; ipqrs; dir0 = -1;/方向初始化 trackback( p, q );/回溯 cout turn - 1 endl;/输出转弯数 for ( i = 0; i finalLevel; i+ ) squareresult0iresult1i = i + 1; for ( i = 1; i m + 1; i+)/打印迷宫 for( int j = 1; j n + 1; j+) cout squareij ' ' cout endl; bool trackback(int p,int q ) /回溯过程 /=将 p、q 放入 path 中= path0level=p; path1level=q; level+;/走出一步 squarepq = 1;/标记起点已经走过 /= if ( p = r for ( int i = 1; i level; i+ ) if ( diri != diri-1 ) count+;/若下一次的方向不同于上一次的方向,判定为一次转弯 if ( count turn ) /找出最小转弯数并保存之 finalLevel = level;/记录最后的步数 turn = count; for ( int i = 0; i level; i+ ) /保存最优路径 result0i = path0i; result1i = path1i; squarepq = 0;/若已经找到朱丽叶房间未走完,则重新置起点为 0 level-;/后退 return false;/该路径不是答案,剪掉该子树 /退出找到朱丽叶的状态 for ( int i = 0; i 8; i+ ) /以下是未找到朱丽叶的状态 向八个方向搜索 int x, y; x = p + dirxi; y = q + diryi; if ( squarexy = 0 ) /若该房间没进入过,则标记其方向并进一步搜索 dirlevel = i; trackback( x, y); squarepq = 0; /回到上一步 level-;/回到上一步 return true;/不需剪掉该子树 bool IsFull() /判断是否走满每个房间 for ( int i = 1; i = m; i+ ) for ( int j= 1; j = n; j+ ) if ( squareij = 0 ) return false; return true; 3.2 操作及运操作及运作结果作结果 输入输出并显示迷宫结果如下: 3.4 设计的心设计的心得体会得体会 通过本次课程设计的训练,增加了我学习算法的兴趣,虽然还不是很明白 其中的具体内容,但已发现算法分析与程序设计的乐趣。老师给了我们四个题 目供选择,从选题到完成程序一步步操作实验不仅对题目有了深入的了解,还 达到了熟练使用 C 语言编程的能力。虽然还有很多复杂的问题是我们的能力所 不及的,但我相信通过一次次实际的训练操作会使我们的解决问题的能力一步 步有所提高。 这次程序设计是让我们学到了好多知识,但也暴露了我们在程序设计中的不 足。让我们更深一步体会到了上机实训的重要性。学校给我们安排实训 是为培养学生在实践中培养独立分析问题和解决问题的作风和能力,提 高实际操作水。让我们了解到除了学习基础知识之外上机实验也是必不 可少的,只有通过多次的操作实验才能够提高自己的解决问题能力 计算机系课程设计指导教师评分表 课程设计题目 姓名学号专业班级 指导教师评指导教师评语语: 指导教师签名: 年 月 日 项项 目目分分 值值评评 分分 要要 素素成成 绩绩 1 设计过程中出勤、 学习态度等方面 20 上机出勤及端正的学习态度、 认真刻苦程度等 2 软件设计质量 40 采用的算法、设计方案,设 计结果,界面友好等方面进 行综合评定 3 答辩 20 能简明扼要地阐述设计的主 要内容,能准确流利地回答 各种问题 4 设计报告书写 10 条理清晰,表述清楚、措词 得当 5 实际动手能力 10 组长全面负责,承担复杂的 模块设计分值就高 成成 绩绩 评评 定定 总总 成成 绩绩

注意事项

本文(算法实验报告罗密欧与朱丽叶迷宫求解)为本站会员(xins****2008)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.