- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机辅助教学计划编制系统研究
计算机辅助教学计划编制系统研究
摘 要:本文提出了一种普通高校计算机辅助教学计划编制的实现方法。通过仿真实验,该方法在教学计划编制的精确性和其他性能方面是可行的。
关键词:计算机 教学计划
中图分类号:G434 文献标识码:B 文章编号:1673-8454(2008)13-0054-04
在高等院校,制定各专业各学期的教学计划越来越成为一件繁重的工作。为了降低教务工作者的劳动强度,提高劳动效率,笔者通过实验研究给出了高等院校计算机辅助教学计划编制系统的实现方法。
每个专业都有固定的学习年限,每年含两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排上必须满足先修关系。每门课程有哪些先修课程是确定的,可以有多门,也可以没有。每门课程恰好占一个学期,如果某门课在一学期不能修完,则可将此看作两门或两门以上的课程处理(如英语,可将其看作英语1、英语2等)。另外,教学计划要求课程尽可能地集中在前几个学期中但不能超过学分上限。
一、算法设计思想
1.有的课程(如政治等)既没有先修课又不是其它课的先修课,用户可以事先指定在某个学期学习这些课程;有的课程可能是其它课的先修课,也可能是以其它课为先修课,对这些课程的安排可以通过构造AOV网(如图1所示,用顶点表示课程,用有向弧表示先修关系)然后进行拓扑排序决定其在某学期学习,对此采用图的邻接表表示存储结构。
2.制定第i学期的教学计划时,首先选择同时符合下列条件(后称条件1)的所有课程:
(1)指定学习某门课的时间leaned_in_term=i;
(2)标志位leaned=0。
将其标志位leaned置为1(已修),用辅助变量crednum存储符合该条件的所有课程的学分和,由于这些课程总数无法预先知道,故对此采用线性表的链式存储结构。为了使课程尽可能地集中在前几个学期中但不能超过学分上限limt,那么需要对同时符合以下条件(后称条件2)的K门课程组成的集合的m个子集进行探索:
(1)入度basesubnum=0(已没有先修课);
(2)标志位 leaned=0(未修);
(3)leaned_in_term=0(“0”表示未指定在某学期学习)。
查找某集合的各门课程的学分之和subcred符合下面两个条件(后称条件3):
(1)crednum+subcred<=limt;
(2)设subcred[i](i=1、2、3???)是符合关系1的k门课程组成的集合的m个子集中的n(0n=m)个子集的各门课程的学分之和,那么subcred是 subcred[i](i=1、2、3???)中的最大值。
在符合先修关系的前提下,为了使学分高的课程排在前几个学期,需将上述K门课程对学分进行降序排序,然后按层次从上到下、从左到右生成带有指向双亲结点的三叉链表。
如制定第一学期的教学计划时,由表2可知课程代号为C13、C17的课程符合上述条件1,则crednum=2+1=3同时将相应leaned置为1。代号为C1、C9的课程是符合该上述条件2的k(k=2)门课程,对学分进行降序排序为:
课程代号: C9C1
学分:72
生成的树型三叉链表如图2所示。
可以发现三叉链表的最后一层上的Credit域分别是集合{7,2}的各子集(除空集外)的各门课程的和,由于第二个结点的Credit的值(Credit=7)符合条件3,故从此结点开始顺Pare指针向根结点搜索Credit=7的全部课程,由于第一个结点的Post=0,故该结点没有加入新课程,顺Pare找到第二结点,由于Post=9说明在图中位置为9的课程可列入本学期教学计划并将其标志位leaned置为1(已修),依次类推直到根结点止。这样就得到了第一学期的教学计划,课程总数为3门,学分和为10分(如表1所示)。
其实,符合上述条件2的k(k=2)门课程已经对学分降序排序,而且三叉链表又是按层次从上到下、从左到右生成,所以在建树的过程中(借助循环队列),如果当前结点的Credit limt-crednum,则以该结点为双亲的子树已经与问题无关,不必建造此子树;一旦发现当前结点的Credit= limt-crednum就可以提前结束循环,不必继续建树。后续学期如此循环就可以得到本专业的教学计划。
二、算法的主要存储结构的设计[1]
涉及的主要数据结构:AOE网、带有指向祖先结点的三叉链表、线性链表和循环队列。[2]
#define max_term_size 12/*学期总数不超过12*/
#define max_sub_size
您可能关注的文档
最近下载
- 日立牌SET-FREE AⅢ系列产品提案书20240628.docx VIP
- AquaECO特灵产品技术手册20231212.pdf VIP
- 中考语文成语易错48道选择题(有详细解析).pdf VIP
- 天津钢管集团股份有限公司.pdf VIP
- 海尔物联多联MAX样册2025-4-10.pdf VIP
- 2023年小升初语文专项练习《地名人名拼写规则》(含答案).docx VIP
- 辅警结构化面试题及答案(2025年.docx VIP
- SET-FREE AⅢ产品样册-日立.pdf VIP
- 105656-海尔智慧楼宇检测中心概况(实验室布局,测试能力范围,实验室介绍,数字化测试,实验室认证).docx VIP
- 井控考试试题库(DOC) .pdf VIP
文档评论(0)