欢迎来到天天文库
浏览记录
ID:56205505
大小:163.50 KB
页数:16页
时间:2020-03-20
《迷宫求解实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《编程实训》实验报告书专业:计算机科学与技术班级:1班学号:31960144姓名:周*指导教师:周**日期:2016年6月30日目录一、需求分析…………………………………………………………………………………31.任务要求……………………………………………………………………………………32.软件功能分析………………………………………………………………………………33.数据准备……………………………………………………………………………………3二、概要设计…………………………………………………………………………………31.功能模块图………………………………………………………………
2、………………42.模块间调用关系…………………………………………………………………………43.主程序模块………………………………………………………………………………54.抽象数据类型描述…………………………………………………………………………5三、详细设计…………………………………………………………………………………61.存储结构定义………………………………………………………………………………62.各功能模块的详细设计……………………………………………………………………7四、实现和调试………………………………………………………………………………71.主要的算法…………………
3、……………………………………………………………72.主要问题及解决…………………………………………………………………………83.测试执行及结果……………………………………………………………………………8五、改进………………………………………………………………………………………9六、附录……………………………………………………………………………………91 需求分析 1.1 任务要求 以一个m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。1.2 软件功能分析设计一个迷宫,通过该程序可
4、以找出通往出口的最短路径。程序功能有三(1)创建迷宫;(2)求解迷宫;(3)输出迷宫的解。1.3 数据准备迷宫的测试数据如下:左上角(1,1)为入口,右下角(9,8)为出口。001000100010001000001101011100100001000001000101011110011100010111000000障碍物坐标:13172327353638424344475462666872737475788182868891922概要设计2.1 功能模块图栈的顺序存储表示#defineStackSize100//假定预分配的栈空间最多为100个元素 typedefchar
5、DataType;//假定栈元素的数据类型为字符 typedefstruct{ DataTypedata[StackSize]; inttop; }SeqStack;基本操作的算法描述(1)置栈空 voidInitStack(SeqStack*S) {//将顺序栈置空 S->top=-1; }(2)判栈空 intStackEmpty(SeqStack*S) { returnS->top==-1; }(3)判栈满 intStackFull(SeqStack*SS) { returnS->top==Sta
6、ckSize-1; }(4)进栈 voidPush(S,x) { if(StackFull(S)) Error("Stackoverflow");//上溢,退出运行 S->data[++S->top]=x;//栈顶指针加1后将x入栈 }(5)退栈 DataTypePop(S) { if(StackEmpty(S)) Error("Stackunderflow");//下溢,退出运行 returnS->data[S->top--];//栈顶元素返回后将栈顶指针减1 }(6)取
7、栈顶元素 DataTypeStackTop(S) { if(StackEmpty(S)) Error("Stackisempty"); returnS->data[S->top]; }2.2 模块间调用关系Stack.h中调用的base.h#include#include#include#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineOVERFLOW
此文档下载收益归作者所有