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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

教学计划编制问题数据结构课程设计.doc

1、信息科学与工程学院 高级语言程序设计 课程设计 吉 首 大 学 信息科学与工程学院 数据结构课程设计 课程设计名称: 教学计划编制问题 专 业 班 级 : 10级 计科二班 学 生 姓 名 : 熊海燕 朱敏 刘思 学 号 : 20104042026/28/22 指 导 教 师 : 周铁老师 课程序设计时间: 2012.11.24-2012.12.05 前 言 数据结构是一门综合性较强的计算机软件、程序设计理论和技术相结合的重要基础课程。它主要讨论抽象数据关系和算法在计算机中的表示与实现,涉及到的数据在计算机中的表示、组织和处理,以及相应结构上的算法设计和算法性能上的分析技术。它所包含的知识与提

2、倡的技术方法,无论对大家进一步学习计算机领域里的其他课程,还是对今后从事理论研究、应用开发及技术管理工作都起着重要的作用。如何合理地组织数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。通过学习数据结构这门理论性强、思维抽象、难度较大的课程后,大家就更深入透彻地理解数据结构的逻辑结构和物理结构的基本概念以及有关算法,培养了基本的、良好的程序设计技能,大家就能编制高效可靠的程序,更重要的也培养大家解决实际问题的能力,提高分析设计能力和编程能力,为大家后续课程的学习及实践也打下了良好的基础。 因此,学校开设了数据结构(C语言版),通过学习数据结构,大家对编程有了更多的了解,为了让大

3、家将自己所学的知识应用到实际当中,学校开设了数据结构课程设计,通过这次课程设计大家可以更好地将C语言应用到实际当中,而且可以更好的掌握算法与数据结构,将数据结构和C语言有效的结合起来,使大家的编程能力得到更大的提高。关键字:C语言 数据结构 目 录前 言 - 2一、课题内容和设计要求 - 41.1 课题内容 - 41.2 设计要求 - 4二、课题需求分析 - 6三、课题实现模块设计 - 63.1 程序模块设计 - 63.2 函数的调用关系 - 7四、模块的功能实现 - 74.1相关数据类型的定义 - 74.2主要函数的流程图- 8五、程序调试 - 10 5.1 测试数据 - 10 5.2 调试

4、过程 - 10六程序设计总结 - 13七、附录 - 157.1致谢 - 157.2参考书目- 157.3源程序清单 - 15一、课程内容与要求1.1课题内容 问题描述 大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等,每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。 基本要求 (1)输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的

5、课程号。(2)允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。(3)若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式自行设计。1.2 设计要求(1)按照需求分析和内容要求实现每个模块的功能以及对输入输出的要求。(2)概要设计a、程序是由哪几个大模块构成,模块下又是由哪几个子程序组成,子程序与子程序、模块与模块之间的层次结构、调用关系以及功能的实现。b、课题要求用的数据结构和数据,它们之间具有怎样的内部联系,数据该怎样存储,数据又该存在哪。(3)具体设计 a、采用C语言书实现整个程序

6、b、利用有向图的一个拓扑序列及其应用问题的算法实现程序,图的邻接表来存储相关数据。 c、画出主函数的流程图和子程序间的调用关系图。 (4)测试分析 a、应采用课题内容要求的数据,并且输出结果能很好的满足要求 b、输入数据是应注意其输入的格式 c、输入的数据应包括正确的输入、输出数据和错误的 输入、输出数据,以便对数据和模块的功能有很好的分析与调整。 d、遇到问题应及时作出修改和调整。 (5)后续工作 a、及时的总结设计中遇到的问题及解决的办法。写下得到的经验教训和心得。b、编制整个设计的目录,记录下大体流程。正文后附带相关参考文件。c、正文书写格式采用四号宋体字。二、需求分析根据问题描述及要求

7、,可知设计中需求定义先修关系的AOV网图中的顶点及弧边的结构体,在运行结果中将图的信息显示出来,利用先修关系将课程排序,最后解决问题输出每学期的课程。(1) 采用第二种策略:使课程尽可能地集中在前几学期中。(2) 根据教学计划中的课程及其关系和学分定义图的顶点和边的结构体。(3) 创建图CreateGraph():结合先修关系的AOV图,采用邻接表存储。(4) 菜单Output():显示代码所对应课程及课程的先修课程。(5) 拓扑排序TopogicalSort():将课程排序后并决定出每学期所学课程。(6) 输出图G大的信息Display():将图的顶点和弧边输出。三、课题实现模块设计3.1程

8、序模块设计LocateVex(): 图的邻接表存储的基本操作CreateGraph(): 构造生成树Display(): 输出图的邻接矩阵FindInDegree(): 求顶点的入度InitStack(): 构造一个空栈StackEmpty(): 判断是否为空栈Pop(): 出栈Push(): 入栈ClearStack(): 清空栈Judge(): 判断课程号对应的课程序号TopologicalSort():输出G顶点的拓扑排序结果Output(): 图形输出函数3.2 函数的调用关系Void main( )TopologicalSort ( )Display ( )CreatGraph (

9、)Output ( )四、模块的功能实现 4.1相关数据类型的定义 a、程序的实现采用了C语言定义相关的数据类型。其中包括字符常量,整型,字符型,字符串型,typedef 定义的类型,结构体型,单链表节点类型,结构体数组。 b、储存的数据为结构体类型数组,以及结构体单链表结点类型,例如:typedef struct、 ArcNodetypedef struct。4.2 主要函数的流程图 Begin CreateGraph() Printf(“请输入教学计划的课程数:”) Scanf(“%d”,&(*G).vexnum)Printf(“先修关系的边数:”)Scanf(“%d”,&(G).arcn

10、um)Printf(“输入%d课程号.”,(*G).vexnum,MAX_NAME) i+ i(*G).vexnum Scanf(“%s”,(*G).vertices(i).data) (*G).verticesi.firstarc=nulli+ Printf(“输入每条弧.”) k+kadjvex=jP-info=null+kReturn 0 End 五、程序调试5.1测试数据:准备典型的测试数据和测试方案,包括输入及输出结果。 数据如下:学期总数:6; 学分上限:10; 该专业共开设课数:12 课程号:从C01到C12; 学分顺序:2,3,4,3,2,3,4,4,7,5,2,3。 先修顺序:19421221011365788(其中C1C12分别代表:程序设计基础、离散数学、数据结构、汇编语言、语言的设计和分析、计算机原理、编译原理、操作系统、高等数学、线性代数、普通物理、数值分析)5.2调试过程依照提示依次输入:学期总数、每学期的学分上限、教学计划的课程数、按拓扑排序所形成的课程纤秀关系的边数、输入课程的课程号、输入课程的学分值、输入每条弧的弧尾和弧头输出的结果如图:

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

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