文档详情

迷宫求解实验报告..doc

发布:2017-01-24约1.18万字共16页下载文档
文本预览下载声明
《编程实训》 实验报告书 专 业:计算机科学与技术 班 级: 1班 学 号: 姓 名:周* 指导教师:周** 日 期:2016年6月30日 目录 一、需求分析…………………………………………………………………………………3 1.任务要求……………………………………………………………………………………3 2.软件功能分析………………………………………………………………………………3 3.数据准备……………………………………………………………………………………3 二、概要设计…………………………………………………………………………………3 1.功能模块图………………………………………………………………………………4 2.模块间调用关系…………………………………………………………………………4 3.主程序模块………………………………………………………………………………5 4.抽象数据类型描述…………………………………………………………………………5 三、详细设计…………………………………………………………………………………6 1.存储结构定义………………………………………………………………………………6 2.各功能模块的详细设计……………………………………………………………………7 四、实现和调试………………………………………………………………………………7 1.主要的算法………………………………………………………………………………7 2.主要问题及解决…………………………………………………………………………8 3.测试执行及结果……………………………………………………………………………8 五、改进………………………………………………………………………………………9 六、附录……………………………………………………………………………………9 1?需求分析??? 1.1?任务要求? 以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 1.2?软件功能分析 设计一个迷宫,通过该程序可以找出通往出口的最短路径。程序功能有三(1)创建迷宫;(2)求解迷宫;(3)输出迷宫的解。 1.3?数据准备 迷宫的测试数据如下:左上角(1,1)为入口,右下角(9,8)为出口。 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 0 1 1 0 1 0 1 1 1 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 1 0 1 1 1 0 0 0 0 0 0 障碍物坐标: 1 3 1 7 2 3 2 7 3 5 3 6 3 8 4 2 4 3 4 4 4 7 5 4 6 2 6 6 6 8 7 2 7 3 7 4 7 5 7 8 8 1 8 2 8 6 8 8 9 1 9 2 2 概要设计 2.1?功能模块图 栈的顺序存储表示 #define StackSize 100 //假定预分配的栈空间最多为100个元素 ? typedef char DataType;//假定栈元素的数据类型为字符 ? typedef struct{ ????? DataType data[StackSize]; ????? int top; ???? }SeqStack; 基本操作的算法描述 (1) 置栈空 ? void InitStack(SeqStack *S) ??? {//将顺序栈置空 ? ????? S-top=-1; ??? } (2) 判栈空 ? int StackEmpty(SeqStack *S) ??? { ??? ??? return S-top==-1; ??? } (3) 判栈满 ? int StackFull(SeqStack *SS) ???? { ?????? return S-top==StackSize-1; ???? } (4) 进栈 ? void Push(S,x) ???? { ?????? if (StackFull(S)) ???????????? Error(Stack o
显示全部
相似文档