算法实验报告罗密欧与朱丽叶迷宫求解Word格式文档下载.docx
- 文档编号:17491049
- 上传时间:2022-12-06
- 格式:DOCX
- 页数:8
- 大小:68.04KB
算法实验报告罗密欧与朱丽叶迷宫求解Word格式文档下载.docx
《算法实验报告罗密欧与朱丽叶迷宫求解Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《算法实验报告罗密欧与朱丽叶迷宫求解Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
号:
09************
起止日期:
2011年5月28日-2011年6月3日
指导教师:
孙士保、张明川、冀治航
课程设计题目
罗密欧与朱丽叶的迷宫问题
姓名
***
学号
091040602**
班级
092班
系别
电子信息工程学院
专业
计算机科学与技术
组别
1人
组长
组员
指导教师姓名
孙士保、张明川、冀治航
课程设计目的
进一步巩固C程序设计和算法设计与分析的基础知识,提升结构化程序、模块化程序设计的方法和能力,深入理解数据结构的基本理论,掌握数据存储结构的设计方法,掌握基于数据结构的各种操作的实现方法,训练对基础知识和基本方法的综合运用能力,增强对算法的理解能力,提高软件设计能力。
在实践中培养独立分析问题和解决问题的作风和能力。
设计环境
1.PC兼容机2.Windows2000/XP操作系统
3.TC集成开发环境或其他C语言开发环境
课程设计要求和任务
要求:
1.熟练掌握回溯法,能够利用回溯法解决实际问题;
2.使用文件进行存储和管理。
程序启动时可从文件中读取信息,或从键盘输入信息;
运行过程中也可对文件进行存取;
退出前可选择将部分信息保存到文件中;
3.不同的功能使用不同的函数实现(模块化),对每个函数的功能和调用接口要注释清楚。
对程序其它部分也进行必要的注释。
4.对系统进行功能模块分析、画出总流程图和各模块流程图;
5.用户界面要求使用方便、简洁明了、美观大方、格式统一。
所有功能可以反复使用,最好使用菜单;
6.通过命令行相应选项能直接进入某个相应菜单选项的功能模块;
7.所有程序需调试通过。
任务:
完成罗密欧与朱丽叶的迷宫问题.设计内容包括:
1.确定能对给定的任何位置的罗密欧都能够找到一条通向朱丽叶的路线;
2.程序能够演示一条罗密欧找到朱丽叶的路线过程等。
课程设计工作进度计划
序号
起止日期
工作内容
1
下发任务书,分组,选定课题,查阅相关资料
2
总体设计,划分模块
3
编制源程序
4
上机调试,修改、完善系统
5
程序检查
6
撰写说明书
课程设计任务书
算法设计与分析
题
目:
罗密欧与朱丽叶迷宫求解问题
计算机科学与技术092班
***
第一章
需求分析
...........................................................................................................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操作系统的计算机
软件:
VisualC++6.0
程序概要设计
2.1系统流程图
2.2函数的划分:
(1)函数1:
booltrackback(intx,inty)递归调用trackback函数求出最优路径。
(2)函数2:
voidisfull()判断房间是否全部走完
(3)函数3:
voidmain()主函数初始化迷宫数组,并调用trackback函数输出一条迷宫路线。
2.3.函数之间的关系:
如下图:
main函数
isfull函数
调用trackbask函数
递归调用trackbask函数
输出结果
第三章
编写代码及运行程序
3.1源程序
#include<
iostream.h>
intm,n,k;
//m*n迷宫,k个封闭房间
intx,y;
//迷宫中封闭房间的坐标
intp,q,r,s;
//罗密欧与朱丽叶的坐标
int**square;
//存储迷宫
int*dir;
//用来记录每一步的方向
intlevel(0);
//记录正在探测第几步
intfinalLevel(0);
//初始化为零
int**result;
//记录结果
int**path;
intturn(999);
//记录最小拐弯数
intdirx[8]={0,0,1,1,1,-1,-1,-1};
//8个方向变量
intdiry[8]={1,-1,-1,0,1,-1,0,1};
booltrackback(intp,intq);
boolIsFull();
voidmain()
{
inti,j;
cin>
>
m>
n>
k;
result=newint*[2];
result[0]=newint[n*m];
result[1]=newint[n*m];
path=newint*[2];
path[0]=newint[n*m];
path[1]=newint[n*m];
dir=newint[m*n];
square=newint*[m+2];
//m+2是为了方便边界处理
for(i=0;
i<
m+2;
i++)
square[i]=newint[n+2];
//n+2是也是为了方便边界处理
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 算法 实验 报告 罗密欧 朱丽叶 迷宫 求解