教学计划编排.doc

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学计划编排

实验题目:教学计划编排 班级:数学类2 姓名:史宝珠 学号:2011434066 日期:2011.12 一、需求分析 1.程序的基本功能 教学计划的制定就是合理的编排这些课程,使学生能够顺利的进行学习。这些课程中,有些课程是独立于其他课程的基础课,有些课程需要其他先行课程;一般4年制本科教学前7个学期(3年半)进行理论课程的学习,第8个学期实习;教学计划的编排必须充分考虑这些因素。 2.输入输出要求 假定学习年限是固定的,每学年包含两个学期,各专业开设的课程是确定的,每门课程是否有先修课、有几门先修课也是确定的。要求制定教学计划,合理的安排各学期开授的课程。要求各学期课程门数、学分的分布较均匀。 二、概要设计 1)程序模块: (1)Void Information(): 输依次输入课程的总数,AOV网中边的条数; 输入AOV网中各个顶点的信息; 输入该课程的课程名; 输入该课程的学分; 输入该课程的课序号; 输入该课程的入度; 如果此课程需要多个学期修完,请输入1; 如果不是请输入2; (2)float Aov(int p,AOVGraph AOV[200],int b1,float sum2) 建立(运用拓扑排序)AOV网,从而将所有的信息以课表形式存储和显示。其中有对各种信息的输入,并且有建表的操作,将所有的内容有条理的存储和显示出来,使读者一目了然。(3)int main():: 主模块,通过对各个模块的调用实现教学计划的安排。 2)本程序所用的抽象数据类型的定义; typedef struct node { int adjevx; struct node *next; }EdgeNode; typedef struct vnode { int num; //课程号 char name[25]; //课程名 float chour; //学分 int indegree; //入度 char nature; //是否为选修课 char a1; int a11; int a12; EdgeNode *firstedge; }VNode; typedef struct { VNode AdjList[MAX]; int n,e; float sum; }AOVGraph; 模块之间的层次关系 三、详细设计 1.采用C++语言定义相关的数据类型; ifstream input_file; //文件输入流及对文件的建立 ofstream output_file; //文件输出流及对文件的读取 typedef struct node { int adjevx; /*邻接点域*/ struct node *next; /*指向下一个邻接点的指针域*/ }EdgeNode; /*边表结点*/ typedef struct vnode /*顶点表结点*/ { int num; /*课程号*/ char name[25]; /*课程名*/ float chour; /*课程学分*/ int indegree; /*顶点的入度*/ char vertex; /*顶点域*/ char nature; /*是否为选修课*/ char a1; int a11; int a12; EdgeNode *firstedge; }VNode; /*边表的头指针*/ typedef struct { VNode AdjList[MAX]; /*邻接表*/ int n; /*顶点数*/ int e; /*边数*/ float sum; /*总学分*/ }AOVGraph; typedef struct { VNode AdjList[MAX]; int r; int f; }Queue; Queue *p; 2.写出各模块的伪码算法; Queue *Init_queue(Queue *p) //构建空的队列 { p=(Queue *)malloc(sizeof(Queue)); p-f=p-r=-1; //运用头尾指针来判断队是否为空 return p; } int in_queue(Queue *p,VNode sr[MAX]) { if(p-r==MAX-1) { cout队满不可以进行入对操作endl; return -1; } else { p-r++; p-AdjList[p

您可能关注的文档

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档