课设报告的基本要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附件三:
课设报告的基本要求
⒈需求分析:
陈述程序设计的任务,强调程序要做什么,明确规定:
⑴输入的形式和输入值的范围;
⑵输出的形式;
⑶程序所能达到的功能;
⑷测试数据:包括正确的输入输出结果和错误的输入及其输出结果。
⒉概要设计:
说明用到的数据类型、主程序流程及各函数之间的调用关系。
⑴本程序所用的数据类型的定义;
⑵本程序所用到的标准函数名称、自定义函数名称;
⑶主程序的流程及各函数之间的层次关系。(用图来描述)
⒊详细设计:
⑴用流程图描述每个自定义函数,并给出适当的注释。
⑵写出各函数的调用关系图。
⒋调试分析:
⑴调试过程中所遇到的问题及解决方法;
⑵经验与体会。
⒌用户使用说明:说明如何使用你的程序,详细列出每一步操作步骤。
⒍测试结果:列出对于给定的输入所产生的输出结果。
⒎附录:
提交带注释的完整源程序。
格式要求:
⑴封面:(购买)标准课程设计报告封面——;
⑵内页:(打印)纸张:16K;
边距:上——2.5CM,下——2.5CM,
左——2.5CM,右——2CM
标题:四号,黑体,加粗,左对齐.
正文:小四号,宋体,首行缩进2个字
程序代码:五号,宋体
图题:五号,宋体,居中,如:图1.1 主程序的流程图
附件四:课设文档示范文档
目录
一、需求分析 (3)
二、概要设计 (3)
三、详细设计 (5)
四、调试分析 (9)
五、用户手册 (10)
六、测试数据 (10)
七、附录 (11)
一、需求分析
要求:本节是需求分析的部分,该节主要说明课程设计题目的具体要求,如:程序应具备的功能、程序设计时必须使用的数据结构(数组、动态链表、文件等)、程序运行时对输入输出格式的要求以及对程序运行性能的要求等,在撰写本节的文档时,对于以上的具体要求应详细地给出明确的说明。
⒈用栈的基本操作完成迷宫问题的求解,其中栈的基本操作作为一个独立的模块存在。
⒉以二维数组M[m+2][n+2]表示迷宫,M[i][j] 表示迷宫中相应(i,j)位置的通行状态(0:表示可
以通行,1:表示有墙,不可通行),完成迷宫的抽象数据类型,包括出口、入口位置等。
⒊用户从屏幕上输入迷宫,完成对应迷宫的初始化。
⒋迷宫的入口位置和出口位置在合法范围内由用户而定。
⒌程序完成对迷宫路径的搜索,如果存在路径,则以长方形形式将迷宫打印出来,用特定符号标
出迷宫的物理状态,其中字符“#”表示不可行,“*”表示出口和入口,空格表示没有经过的部分,“◆”标记出可行的路径;如果程序完成搜索后没有找到通路,则提示用户“can‟t find one way!”。
⒍程序执行的命令:
⑴创建初始化迷宫;
⑵搜索迷宫;
⑶输出搜索结果。
二、概要设计
要求:概要设计是在理解程序的各项需求以后,对程序的结构和模块进行设计的环节。该节主要说明的内容包括对程序中所使用数据结构的介绍(如数组、数组表示的意义、数组的名称、结构体的名称,结构体成员表示的意义,文件的名称等)、对程序中主要模块以及模块之间关系的介绍(即程序由哪些模块组成,模块之间有何种关系等),在撰写本节的文档时,对于以上的具体内容给出详尽的说明。
⒈设计栈的抽象数据类型定义:
ADT Stack {
数据对象:D={ai:|ai∈PositionSet,i=1…n,n≥0}
数据关系:R1={
基本操作:操作结果
InitStack(&S) 构造一个空栈,完成栈的初始化S
DestoryStack(&S) 撤消一个已经存在的栈S
ClearStack(&S) 将栈S重新置空
StackLength(S) 返回栈的长度
GetTop(S,&e) 用e返回栈S的栈顶元素
StackEmpty(S) 若S为空返回1,否则返回0
Push(&S,e) 将新的元素e压入栈顶
Pop(&S,e) 删除栈顶元素,并用e返回其值
StackTraverse(s) 将栈S的所有元素输出
}ADT Stack;
⒉迷宫的抽象数据类型定义:
ADT Maze{
数据对象:D:={aij,Start,end|aij,Start,end∈{} 0≤i≤m+2,0≤j≤n+2,m,n≥0}
数据关系:R={ROW.COL}
Row={
Col={
基本操作:
SetMaze(&Maze)
初始条件:Maze已经定义,Maze的下属单元二维数组Maze.M[row+2][d+2]已存在,Maze.start,Maze.end也已作为下属存储单元存在
操作结果:构成数据迷宫,用数值标识迷宫的物理状态,以0表示通路,以1表示障碍,由终端读取迷宫空间大小,各点处的具体物理状态及Start和End点位置,完成迷宫构建
Pass(&Mazem,&Nposition,Position,di)
初始条件:已知目前迷宫状态及当前位置、下一步探索方向di
操作结果:完成相应的搜索任务,如果可行,则用Nposition返回下一步位置,并将Maze状态改变为相应点已走过情况
PrintMaze(Maze)
操作结果:输出字符标示的迷宫
FindWay(Maze,&way)
操作结果:利用Pass搜索迷宫,用way返回搜索所得路径。如不存在,返回0
PrintWay(Maze,way)
操作结果:将Maze及相应最短路径一起打印输出
}ADT MAZE,
⒊本程序模块结构
⑴主函数模块
void main(){
初始化;
do{
接受命令;