当前位置:文档之家› 数据结构教学计划编制问题课程设计

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

课程设计(论文)题目名称教学计划编制问题课程名称数据结构学生姓名杨满平学号**********系、专业信息工程系、2010级计算机科学与技术指导教师黄同成2011年12 月25 日摘要数据结构是计算机科学与技术专业的专业基础课,是一门十分重要的核心课程。

数据结构的知识为后续专业课程的学习提供必要的知识和技能准备,学好“数据结构”这门课程,对于学习计算机专业的其他课程,如操作系统、编译原理、数据库管理系统、软件工程、人工智能等都是十分有益的,而且所有的计算机系统软件和应用软件都要用到各种类型的数据结构。

因此,要想更好地运用计算机来解决实际问题,仅掌握几种计算机程序设计语言是难以应付众多复杂的课题的,要想有效地使用计算机、充分发挥计算机的性能,还必须学习和掌握好数据结构的有关知识。

例如本次程序设计题目大学的每个专业都要制订教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。

每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占一个学期。

试在这样的前提下设计一个教学计划编制程序AbstractData structures in computer science and technology professional courses, is a very important core curriculum. The data structure knowledge for the following courses to provide the knowledge and skills necessary to prepare, learn" data structure" of the course, for learning other computer science courses, such as operating system, compiler theory, database management system, software engineering, artificial intelligence, are very useful, and all of the computer system software and the application of software to use various types of data structure. Therefore, in order to better use the computer to solve practical problems, only to grasp some computer programming language is hard to cope with the many complex issues, in order to effectively use computers, give full play to the computer's performance, also must learn and master some knowledge about data structure.For example, the program design of University of each professional should develop teaching plans. The assumption that any profession has a fixed length, each school year with two semesters, each semester and the length of time equal to the credit limit are. Each professional courses are determined, and the creation of curriculum time arrangements must meet prevocational relations. Each course which is a pre-determined curriculum, can have any number of doors, there will be No. Each class just for a semester. Test this premise in the design of a teaching plan programming目录一、课题的主要功 (1)1.1程序的功能 (1)1.2.输入输出的要求 (1)1.3运行环境 (1)1.4开发工具 (1)二、概要设计 (2)2.1程序的模块组成 (2)2.2模块的层次结构及调用关系 (2)2.3模块的主要功能 (3)2.4数据结构和数据库结构 (3)三.主要功能的实现 (3)3.1采用C语言定义相关的数据类型。

(3)3.2主要函数的流程图 (4)3.3画出各函数的调用关系图 (11)四、程序调试 (12)4.1测试数据: (12)4.2使用说明 (13)五.总结 (14)5.1 致谢 (14)5.1 程序调试中遇到的问题以及解决问题的方法。

(14)5.2 课程设计过程经验教训、心得体会。

(14)六、附录 (15)6.1参考书目 (15)6.2源程序清单(带注释) (16)一、课题的主要功1.1程序的功能大学的每个专业都要制订教学计划。

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。

每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。

每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。

每门课恰好占一个学期。

试在这样的前提下设计一个教学计划编制程序。

本程序针对本科的学期内容,通过输入实际的课程及先后关系。

结合每学期的学分及课程数,制定好学习计划。

在输入相关数据后,程序会安排好每学期的课程。

1.2.输入输出的要求输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。

输出要求输出各门课程所对应的学分,以及每学期各门课程的安排。

1.3运行环境1. WINDOWS 7系统2. TurboC2.0编译环境1.4开发工具C语言二、概要设计2.1程序的模块组成LocateVex():图的邻接表存储的基本操作CreateGraph():构造生成树Display():输出图的邻接矩阵FindInDegree():求顶点的入度InitStack():构造一个空栈ClearStack():清空栈StackEmpty():判断是否为空栈Pop():出栈Push():入栈TopologicalSort():输出G顶点的拓扑排序结果2.2模块的层次结构及调用关系2.3模块的主要功能见“详细设计”-“主要函数流程图”2.4数据结构和数据库结构储存的数据为结构体类型数组,以及结构体单链表结点类型。

1 typedef struct ArcNode2 typedef struct三.主要功能的实现3.1采用C语言定义相关的数据类型。

其中包括字符常量,整型,字符型,字符串型,typedef 定义的类型,结构体型,单链表节点类型,结构体数组。

3.2主要函数的流程图1.LocateVex():图的邻接表存储的基本操作。

由初始条件: 图G存在,u和G中顶点有相同特征转而进行判断,若G中存在顶点u,则返回该顶点在图中位置;否则返回-1。

2.CreateGraph():构造生成图。

采用邻接表存储结构,构造没有相关信息的图G(用一个函数构造种图)。

3.Display():输出图的邻接矩阵。

采用循环设置输出图的邻接矩阵。

4.FindInDegree():求顶点的入度。

5.InitStack():构造一个空栈。

6.ClearStack():清空栈。

7.StackEmpty():判断栈是否为空。

若栈S为空栈,则返回TRUE,否则返回FALSE。

8.Pop():出栈。

若栈不空,则删除S的栈顶元素,用e返回其值,并返回OK;否则返回ERROR。

9.Push():入栈。

插入元素e为新的栈顶元素。

10.TopologicalSort():输出G顶点的拓扑排序结果。

有向图G采用邻接表存储结构。

若G无回路,则输出G的顶点的一个拓扑序列并返回OK, 否则返回ERROR。

3.3画出各函数的调用关系图四、程序调试4.1测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。

准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。

数据如下:学期总数:6;学分上限:10;该专业共开设课数:12课程号:从C01到C12;学分顺序:2,3,4,3,2,3,4,4,7,5,2,3。

先修顺序(有向图表示):4.2使用说明输入学期总数,学分上限,课程数,先修关系边数,课程代表符号,相对学分值输入完成后执行可得到每个学期的课程结果五.总结5.1 致谢本次的课程设计,并不是我自己一个人设计出来的。

首先,我要感谢我的数据结构老师——黄同成老师,同时黄老师也是我们本次课程设计的指导老师,更是我在大一的C语言老师,黄老师你在上课的时候每次在我遇到问题的时候都会给我耐心的解答,让我去理解并解决这个问题,虽然本次课程设计黄老师因为比较忙没有能像其他的老师那样经常的指导,但帮助了我们不少,所以在这里我致以最诚挚的谢意,老师,谢谢您!另外,我还要感谢在我这次课程设计中帮助过我的同学,谢谢你们一直以来对我的帮助,没有你们也没有我此次的成果,谢谢。

5.1 程序调试中遇到的问题以及解决问题的方法。

由于程序十分的复杂,遇到了很多常见的语法错误,及逻辑错误。

这需要我们不断的调试分析。

符号的格式之类,指针的用法,判断输入输出的条件都是十分容易出错的地方。

在逐条排除,向同学老师请教后,程序终于得以完成。

这让我明白了,解决问题,要细心认真,集思广益,这样才能把问题解决。

5.2 课程设计过程经验教训、心得体会。

虽然在大一我们已经学习了C语言,但是,直到本期我们才开设了数据结构这一门课程。

这门课程让我从C语言那基础再深入的了解了软件开发的复杂性。

对以往模糊的经验,起了总结提升的作用。

在学习了这门课程后,我们进行了2个星期的课程设计,来实践我们所学这门课的内容。

这次实验,我进行了大量的资料查阅,包括向老师请求帮助解释题目要求,对所学知识进行复习。

相关主题