ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:30.53KB ,
资源ID:19995268      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19995268.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(教学计划编制问题Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

教学计划编制问题Word文档下载推荐.docx

1、如果输入的先修课程号 不在该专业开设的课程序列中,则作为错误处理。应建立内部课程号与课程 号之间的对应关系。2.设计要求:课程设计报告规范1) 需求分析a程序的功能。b.输入输出的要求。2) 概要设计a.程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每 个模块的功能。b.课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什 么样的结构,它们之间有什么关系等。3) 详细设计a.采用C语言定义相关的数据类型。b.写出各模块的类C码算法。c.画出各函数的调用关系图、主要函数的流程图。4) 调试分析以及设计体会a.测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果

2、 和含有错误的输入及输出结果。b.程序调试中遇到的问题以及解决问题的方法。c.课程设计过程经验教训、心得体会。5) 使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。6) 书写格式见附带说明。7) 附录a.参考书Hb.源程序活单(带注释)考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新 精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出 每位同学的课程设计成绩。具体考核标准包含以下几个部分:1平时出勤(占10%)2系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占 10%)3程序能否完整、准确地运行,

3、个人能否独立、熟练地调试程序(占 40%)4设计报告(占30%)注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。5独立完成情况(占10%)。课程验收要求1运行所设计的系统。2回答有关I可题。3提交课程设计报告。4提交电子文档(源程序、设计报告文档)。5依内容的创新程度,完善程序情况及对程序讲解情况打分。二、进度安排第19周星期一二三四五上午8: 0012: 00V下午13: 3017:30晚上18: 0020:00第20周附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件( A4大小的图纸及程 序活单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用

4、小四号宋体;行距为 22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、 主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、 附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。一、 课题的主要功能 81.1程序的功能 81.2.输入输出的要求 8二、 课题的功能模块的划分 82.1程序的模块组成 82.2模块的层次结构及调用关系 92.3模块的主要功能 92.4数据结构和数据库结构 9三、 主要功能的实现 103.1采用C语言定义相关的数据类型 103.2主要函数的流程图 103.3

5、画出各函数的调用关系图 14四、 程序调试 154.1测试数据: 154.2使用说明 15五总结 175.1程序调试中遇到的问题以及解决问题的方法 175.2课程设计过程经验教训、心得体会 17六、附录 186.1参考书目 186.2源程序清单(带注释) 18、课题的主要功能1.1程序的功能假设任何专业都有固定的学习年限,每学年含 两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且 课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有 任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划 编制程序。本程序针对本科的学期内

6、容,通过输入实际的课程及先后关系。结合每学期的学分 及课程数,制定好学习计划。在输入相关数据后,程序会安排好每学期的课程。1.2.输入输出的要求输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占 3位的字母数字申)、学分和直接先修课的课程号。输出要求输出各门课程所对应的学分,以及每学期各门课程的安排。二、课题的功能模块的划分2.1程序的模块组成LocateVex ():图的邻接表存储的基本操作CreateGraph ():构造生成树Display ():输出图的邻接矩阵FindInDegree ():求顶点的入度InitStack ():构造一个空栈ClearStack ():活

7、空栈StackEmpty ():判断是否为空栈Pop ():出栈Push ():入栈TopologicalSort ():输出G顶点的拓扑排序结果2.2模块的层次结构及调用关系2.3模块的主要功能见“详细设计”-“主要函数流程图”2.4数据结构和数据库结构储存的数据为结构体类型数组,以及结构体单链表结点类型1) typedef struct ArcNode弧所指定点位置指向下一条弧的指针网的权值指针intstructInfoType2) typedef struct顶点信息第一个表结点的地址VertexTypeArcNode3.主要功能的实现3.1采用C语言定义相关的数据类型。其中包括字符常量

8、,整型,字符型,字符申型,typedef定义的类型,结构体型, 单链表节点类型,结构体数组。3.2主要函数的流程图I.LocateVex ():图的邻接表存储的基本操作。由初始条件:图G存在,u和G中顶点有 相同特征转而进行判断,若 G中存在顶点u,则返回该顶点在图中位置;否则返回-1。2.,构造没有相关信息的图G(用一个CreateGraph():构造生成图。采用邻接表存储结构函数构造种图)3.Display ():输出图的邻接矩阵。采用循环设置输出图的邻接矩阵4.FindInDegree ():求顶点的入度。5.InitStack ():6.ClearStack ():活空栈。7.Stac

9、kEmpty ():判断栈是否为空。若栈S为空栈,则返回TRUE ,否则返回FALSE8.Pop():出栈。若栈不空,贝U删除 S的栈顶元素,用e返回其值,并返回OK;否则 返回ERROR。10.TopologicalSort ():输出G顶点的拓扑排序结果。有向图 G采用邻接表存储结构若G无回路,则输出G的顶点的一个拓扑序列并返回 OK,否则返回ERROR3.3画出各函数的调用关系图FindInDegree()ClearStack()StackEmpty()四、程序调试4.1测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及 输出结果。12 课程号:先修顺序:

10、4.2使用说明输入学期总数,学分上限,课程数,先修关系边数,课程代表符号,相对学分值输入完成后执行可得到每个学期的课程结果课模计划枷卞常侦r学娜的谭程.可:弟5苧辜理的课程Th,恩 没旦:蔚害5君.学部的课型.如躁程出5.总结5.1程序调试中遇到的问题以及解决问题的方法。由丁程序十分的复杂,遇到了很多常见的语法错误,及逻辑错误。这需要我们不断 的调试分析。符号的格式之类,指针的用法,判断输入输出的条件都是十分容易出错的 地方。在逐条排除,向同学老师请教后,程序终丁得以完成。这让我明白了,解决问题, 要细心认真,集思广益,这样才能把问题解决。5.2课程设计过程经验教训、心得体会。虽然在大一我们已

11、经学习了 C语言,但是,直到本期我们才开设了数据结构这一门 课程。这门课程让我们对程序的原理有了系统的认识。对以往模糊的经验,起了总结提 升的作用。在学习了这门课程后,我们进行了 2个星期的课程设计,以实践我们的学习 内容。在这次课程设计中,我被分配到了教学计划课程编制问题,开始感觉很难,因为我 从未编写过如此复杂的程序。在多方查找资料并参考类似程序后,我大体将程序的构架 描绘好了。一边对照着网上的资料,一边对程序进行修改补充,然后根据拟好的大纲进 行编制。期间,我与其它同学进行了讨论和探究,对程序的细节问题和应用方面进行了 探索,并解决了主要的问题,丁是便着手写具体的程序。这次实验,我进行了

12、大量的资料查阅,包括向老师请求帮助解释题目要求,对所学 知识进行复习。通过这些努力,我对算法有了更深入的理解,对编程的步骤,有了具体 的体会。通过和同学的广泛交流,我体会到了合作的必要性及合作的优势。 更重要的是, 这个课题完全脱胎丁实际问题,让我对计算机行业,充满了信心和自豪。以往我们学的计算机知识一般停留在理论上,这让我们不太理解计算机的应用和前 景,而较少注重我们对算法的实践锻炼。而这一次的实习既需要我们去联系理论,乂需 要我们去实践方法,很多东西看上去都学过,但是和实际联系才知道变通的艰难。纸上 得来终觉浅,这是我这次实习的最大收获。这次的实验让我们知道该如何跨过实际和理 论之间的鸿沟

13、。这次实习,我认识到了以下几个方面。第一就是要合作。不懂的问题一定要向同学,老师请教。这样才能集思广益,有利 丁问题的解决。也能够让自己节省时间,有效率的完成工作。齐心协力完成这个程序, 互相帮助,这是我们同做课题的同学的共同体会。第二就是要细心。程序的编制难免会出现错误,不能一次成功,出现错误后,一定 要认真细心耐心的排查,这样千锤白炼,程序才能完成。在浮躁的时候能够静下心来思 考,是极其重要的。第三就是要学习。学习网上已经有的类似程序,学习他们的方法与思想。这样,才 能最快的了解问题,得到启迪。这两个星期的课程设计,让我受益匪浅。它不只对我们专业知识进行了加强,还锻 炼了我们的思维能力,合

14、作的精神,是我们理论与实际想结合。这些都是在书本上难以 学习到的。这些弥足珍贵的经验和记忆,使我对我的未来从事的工作充满了信心,而最 终程序的运行成功使我得到了莫大的满足。 在日后的学习中,我会更加重视知识的积累, 学好算法,为成为一名优秀的计算机专业人才努力。六、附录6.1参考书目1.数据结构教程 李春葆等 编著 活华大学出版社2.数据结构教程上机实验指导 李春葆等编著 活华大学出版社6.2源程序清单(带注释)#includectype.hmalloc.h / malloc() 等limits.h / INT_MAX 等stdio.h / EOF(=AZ 或 F6),NULLstdlib.h

15、 / atoi()52io.h / eof()math.h / floor(),ceil(),abs()process.h / exit()iostream.h / cout,cin/函数结果状态代码#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1typedef int Status; / Status 是函数的类型,其值是函数结果状态代码,如。每typedef int Boolean; / Boolean 是布尔类型,其值是 TRUE;FALSE#define MAX_NAME 10/*

16、顶点字符申的最大长度*/#define MAXCLASS 100int Z=0;int X=0;int xqzs,q=1,xfsx;typedef int InfoType;typedef char VertexTypeMAX_NAME; /* 字符申类型 */*图的邻接表存储表小*/#define MAX_VERTEX_NUM 100typedef enumDGGraphKind; /* ( 有向图,有向网,无向图,无向网 */typedef struct ArcNodeint adjvex; /* 该弧所指向的顶点的位置*/struct ArcNode *nextarc; /* 指向下一条

17、弧的指针 */InfoType *info; /* 网的权值指针)*/ArcNode; /* 表结点 */typedef structVertexType data; /* 顶点信息 */ArcNode *firstarc; /* 第一个表结点的地址,指向第一条依附该顶点的弧的指针*/VNode,AdjListMAX_VERTEX_NUM; /* 头结点 */AdjList vertices,verticestwo;int vexnum,arcnum; /* 图的当前顶点数和弧数*/int kind; /* 图的种类标志*/ALGraph;/* 图的邻接表存储的基本操作*/int Locate

18、Vex(ALGraph G,VertexType u) /* 初始条件:图命在,u和酣顶点有相同特征*/* 操作结果:若酣存在顶点u,则返回该顶点在图中位置;否则返回-1 */int i;for(i=0;iG.vexnum;+i)if(strcmp(u,G.verticesi.data)=0)return i;return -1;Status CreateGraph(ALGraph *G)( /* 采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)*/int i,j,k;VertexType va,vb;ArcNode *p;printf( 请输入教学计划的课程数:);scanf

19、(%d,&(*G).vexnum); 请输入拓扑排序所形成的课程先修关系的边数:(*G).arcnum); 请输入 许课程的代表值(%昨字符):n,(*G).vexnum,MAX_NAME);(*G).vexnum;+i)/* 构造顶点向量 */( scanf(%s,(*G).verticesi.data);(*G).verticesi.firstarc=NULL; 请输入 许课程的学分值(+i) /* 构造顶点向量 */(scanf(,(*G).verticestwoi.data);printf(- 请顺序输入每条弧(边)的弧尾和弧头(以空格作为间隔):for(k=0;kadjvex=j;i

20、nfo=NULL; /* 图 */nextarc=(*G).verticesi.firstarc; /* 插在表头 */(*G).verticesi.firstarc=p;return OK;void Display(ALGraph G)( /* 输出图的邻接矩阵G */switch(G.kind)(case DG: printf( 有向图 n%d 个顶点:,G.vexnum);%s ,G.verticesi.data);n%d 条弧(边):,G.arcnum);i+)(p=G.verticesi.firstarc;while(p)printf(%s t %s ”,G.verticesi.da

21、ta,G.verticesp -adjvex.data);p=p-nextarc;void FindInDegree(ALGraph G,int indegree) /* 求顶点的入度,算法调用*/indegreei=0; /* 赋初值 */ indegreep-adjvex+;typedef int SElemType; /* 栈类型 */*栈的顺序存储表小*/#define STACK_INIT_SIZE 10 /* 存储空间初始分配量 */#define STACKINCREMENT 2 /* 存储空间分配增量 */typedef struct SqStackSElemType *bas

22、e; /* 在栈构造之前和销毁之后,base的值为NULL */SElemType *top; /* 栈顶指针 */int stacksize; /* 当前已分配的存储空间,以元素为单位 */SqStack; /* 顺序栈 */*顺序栈的基本操作*/Status InitStack(SqStack *S) /* 构造一个空栈S */(*S).base=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType);if(!(*S).base)exit(OVERFLOW); /* 存储分配失败 */(*S).top=(*S).base;(*S).sta

23、cksize=STACK_INIT_SIZE;void ClearStack(SqStack *S) / 活空栈的操作S-top=S-base;Status StackEmpty(SqStack S)( /* 若栈以空栈,则返回TRUE否贝U返回FALSE */if(S.top=S.base)return TRUE;elsereturn FALSE;Status Pop(SqStack *S,SElemType *e)( /* 若栈不空,贝U删除S的栈顶元素,用e返回其值,并返回OK否则返回ERROR */if(*S).top=(*S).base)return ERROR;*e=*-(*S).

24、top;Status Push(SqStack *S,SElemType e)( /* 插入元素e为新的栈顶元素*/if(*S).top-(*S).base=(*S).stacksize) /* 栈满,追加存储空间 */(*S).base=(SElemType*)realloc(*S).base,(*S).stacksize+STACKINCREMENT)*sizeof(SElemType);(*S).top=(*S).base+(*S).stacksize;(*S).stacksize+=STACKINCREMENT;*(*S).top)+=e;typedef int pathoneMAXCLASS;typedef int pathtwoMAXCLASS;Status TopologicalSort(ALGraph G)( /*有向图 迷用邻接表存储结构。若 崩回路,则输出GB顶点的一个拓扑序列并返回OK, */* 否则返回ERROR*/int i,k,j=0,count,indegreeMAX_

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1