课设报告的基本要求

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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={|ai-1,ai∈d,i=2,…n}

基本操作:操作结果

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={|ai-1,aij∈D i=1,…,m+2,j=1,…,n+2}

Col={|aijaij-1∈D}

基本操作:

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{

接受命令;

相关文档
最新文档