教学计划编制Word文档下载推荐.docx
《教学计划编制Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《教学计划编制Word文档下载推荐.docx(15页珍藏版)》请在冰点文库上搜索。
先决条件
C1
程序设计基础
无
C2
离散数学
C3
数据结构
C1,C2
C4
汇编语言
C5
语言的设计和分析
C3,C4
C6
计算机原理
C11
C7
编译原理
C5,C3
C8
操作系统
C3,C6
C9
高等数学
C10
线性代数
普通物理
C12
数值分析
C9,C10,C1
实现提示
可设学期总数不超过12,课程总数不超过100。
如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。
应建立内部课程序号与课程号之间的对应关系。
<
>
0
64最大课程个数
{
c[3];
};
课程号
{
[3];
[30];
课程名
;
学分
课程
{
课程在数组中的下标
*;
指向下一先修的课程节点
}先修的课程节点
指向第一个先修的课程节点
}课程节点
[];
邻接表
学期总数
课程的数目
学分上限
}课程图
[]队中元素
队头r队尾f
};
0判断是否环1表示是0表示不是
用于计算学期的
(*q)队初始化
>
0;
}
(*x)入队
((>
1)>
f)
("
队满\n"
);
(0);
}
(>
1);
[>
r];
(*q)出队
(>
r)
队空\n"
f];
(*q)队判空1为空
1;
0;
(*)建立先修关系
("
"
)用来清屏
()清空输入流
临时变量
*p,*临时变
\n建立先修关系:
\n"
\n请输入每一门课程号的编号:
(0<
)
(40)("
)"
\t"
[i]);
\n请根据以上的编号,输入每一门课程的先修课程(输入0表示没有或结束):
的先修课程:
0;
(j)
{
(j<
1>
1)
{
(1)
("
先修课程号不能是本课程号"
输入的先修课程号不在该专业开设的课程序列中"
()清空输入流
("
重新输入:
}
(*)(());
>
1;
;
(0)
{
>
[i];
;
{
("
}
1)重新建立先修关系2)确定\n"
请选择:
(1)
();
()输入并建立课程图
00学期总数专业共开设课程数
0临时变量学分上限
教学计划编制\n\n"
输入参数:
1、学期总数:
2、专业共开设课程数:
课程数
3、学分上限(每个学期的学分上限都一样):
4、每门课的课程号(固定占3位的字母数字串)、课程名、学分:
()清空输入流
课程号:
课程名:
学分:
(>
=0)
本课程学分大于学期学分上限或小于等于零,请重新输入学分:
()清空输入流
[i];
()建立先修关系
()输出先修关系
*临时变量
\n\n"
课程编号\t课程名称\t\t先决条件\n"
\t\\t\t"
[i][i]);
(p)
"
[n]);
;
(0)("
无"
(*[])找出度数,即找出每一门课程的先修课数
i;
*p;
[i]=0;
>
[i];
(**q2)判断是否有环
[]出度
q;
()队初始化
()找出度
([i]0(>
[i])<
)出度为零的,并且学分还没达到学分上限的入队,即没有先修课的课程入队
{()[i]>
00
(1);
(q2);
(1)
(0<
()
([j]0(>
[j])<
)将之前因学分上限受制的出度为零的入队,即没有先修课的课程入队
{()[j]>
[j];
{
>
(p)
{
(>
{
[j];
([j]0(>
)出度为零的入队
{()[j]1>
}
>
}
}
{(){0
(1)0;
};
){("
\n错误报告:
\n在学期内是无法修完这些课程\n"
)(0);
(m<
(0<
([i]>
0)
存在循环,因此课程安排不了\n"
1(**q)编排1
\n学生在各学期中的学习负担尽量均匀:
1>
[20];
*1.0f是每学期要学的课程数
q1=*
(
(1))
20)[i]1;
(1);
([0]1)
\n第学期学:
00;
[i];
[j])>
}([i]1);
获得学分是%.2f\n"
2(**q)编排2
\n课程尽可能地集中在前几个学期中:
1;
)0;
(1);
{("
获得学分是%.2f\n第学期学:
(<
无\t"
()
{
用来存放已编排好的课程
课程图
()输出先修关系
()判断是否有环
请选择编排策略:
1.使学生在各学期中的学习负担尽量均匀;
2.使课程尽可能地集中在前几个学期中。
(1)
1()编排1
2()编排2