教学计划编制问题说明书

发布 2019-07-13 03:31:55 阅读 6078

实践教学。兰州理工大学。

计算机与通信学院。

2012年春季学期。

数据结构课程设计。

题目:教学计划编制问题。

专业班级:信计一班

姓名: 肖雄

学号: 10500113

指导教师: 张永

成绩。目录。

摘要 11. 采用类c语言定义相关的数据类型 2

2. 各模块的伪码算法 3

3. 函数的调用关系图 6

4. 调试分析 9

5. 源程序(带注释) 11

总结 24参考文献 25

致谢 25附件ⅰ 任务一源程序** 26

教学计划(课程计划)是课程设置的整体规划,它规定不同课程类型相互结构的方式,也规定了不同课程在管理学习方式的要求及其所占比例,同时,对学校的教学、生产劳动、课外活动等作出全面安排,具体规定了学校应设置的学科、课程开设的顺序及课时分配,并对学期、学年、假期进行划分。

根据一定的教育目的和培养目标制定的教学和教育工作的指导文件。它决定着教学内容总的方向和总的结构,并对有关学校的教学、教育活动,生产劳动和课外活动校外活动等各方面作出全面安排,具体规定一定学校的学科设置、各门学科的教学顺序、教学时数以及各种活动等。教学计划、教学大纲和教科书互相联系,共同反映教学内容。

近代以来,特别是在实行学科课程的条件下,教学计划主要是学科的计划,或只是学科表。随着社会经济和科学技术的新发展,教育结构不断发生变革,现代教育和教学理论主张对教学计划的结构实行改革。除了教学以外,生产劳动、科技活动、发展体力和增进健康的活动、艺术活动和社会活动等也应列入教学计划。

下面就利用对此进行程序设计,已达到预期的目的。

关键字:数据结构,教学计划编制,抽象数据类型,程序设计

头结点、表结点、邻接表的定义。

#define max_vertex_num 100 //最大课程总数。

typedef struct arcnode{

int adjvex;

struct arcnode *nextarc;

arcnode;

typedef struct vnode{

char name[24]; 课程名

int classid; /课程号。

int credit; /课程的学分。

int indegree; /该结点的入度。

int state; /该节点的状态。

arcnode *firstarc; /指向第一条依附该顶点的弧的指针。

vnode,adjlist[max_vextex_num];

typedef struct{

adjlist vertices;

int vexnum, arcnum;

algraph;

邻接表的基本操作:

void creatgraph(algraph *)

创建邻接表。

void findindegree(algraph , int *

求一个结点的入度。

void topologicalsort_1(algraph g,int numterm,int maxcredit);

拓扑排序来编排课程。

void topologicalsort_2(algraph g,int numterm,int maxcredit);

拓扑排序来编排课程。

栈的定义。#define stack_init_size 100 //存储空间的初时分配量。

#define stackincrement 10 //存储空间的分配增量。

typedef int elemtype;

typedef struct

adjlist vertices;

int vexnum, arcnum;

algraph;

基本操作:void initstack (sqstack *s);

栈的初始化。

int stackempty(sqstack s);

判断栈是否为空。

void push(sqstack *s, int );

入栈操作。int pop(sqstack *s, int *e);

出栈操作。void findindegree(algraph g,int indegree)

/*求顶点的入度,算法调用 */

int i;

arcnode *p;

for(i=0;i<

indegree[i]=0; /赋初值 */

for(i=0;i<

p=while(p)

indegree[p->adjvex]++

p=p->nextarc;

typedef int pathone[maxclass];

typedef int pathtwo[maxclass];

status topologicalsort(algraph g)

/*有向图g采用邻接表存储结构。若g无回路,则输出g的顶点的一个拓扑序列并返回ok, *

* 否则返回error。 *

int i,k,j=0,count,indegree[max_vertex_num];

sqstack s;

pathone a;

pathtwo b;

arcnode *p;

findindegree(g,indegree); 对各顶点求入度indegree[0..vernum-1] *

initstack(&s); 初始化栈 */

for(i=0;i< /建零入度顶点栈s */

if(!indegree[i])

push(&s,i); 入度为0者进栈 */

count=0; /对输出顶点计数 */

while(!stackempty(s))

/*栈不空 */

pop(&s,&i);

a[i]=*

b[i]=*

printf("课程%s→学分%s ",输出i号顶点并计数 */

+count;

for(p=>nextarc)

/*对i号顶点的每个邻接点的入度减1 */

k=p->adjvex;

if(!(indegree[k]))若入度减为0,则入栈 */

push(&s,k);

if(count<

printf("此有向图有回路");

return error;

elseprintf("为一个拓扑序列。");

本程序只有两个模块,调用关系简单。

主程序模块→拓扑排序模块。

void findindegree(algraph g, int indegree)求图中各节点的入度(如下左图)void creatgraph(algraph *g)//构件图(如下右图)。

void topologicalsort_1(algraph g,int numterm,int uplcredit) /有向图g采用邻接表存储结构(如下左图);

void topologicalsort_2(algraph g,int numterm,int uplcredit) /有向图g采用邻接表存储结构(如下右图)。

4.1实验过程**现的问题及解决方法

我们在实验过程中遇到的最大难题是两个课程排序算法的编写。刚开始的时候没有任何的思路,网上也只有拓扑排序的算法,对于课程设计要求的排序算法没有任何头绪。经过请教老师和同学以及翻阅了一些相关书籍,并在网上的搜索有了排序算法的大体思路。

经过三天的修改,终于写出了符合要求的排序算法。

4.2测试数据。

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

4.3测试结果(包含正确和错误的)

正确测试结果:

错误的测试结果。

注:最好能给出一个测试实例)

4.4测试数据及程序运**况。

输入的内容如下:

课程编号课程名称学分先决条件。

01 程序设计基础 2无。

02 离散数学 3 01

03数据结构 4 01,02

04 汇编语言 3 01

05 语言的设计和分析 2 03,04

06 计算机原理 3 11

07编译原理 4 05,03

08操作系统 4 03,06

09 高等数学 7 无。

10 线性代数 509

11普通物理 2 09

12 数值分析 3 09,10,01

两种编排方法都输出结果为:

第一学期学的课程有:高等数学程序设计基础;

第二学期学的课程有:普通物理线性代数汇编语言;

第三学期学的课程有:数值分析计算机原理离散数学;

第四学期学的课程有:数据结构;

数据结构教学计划编制

摘要。教学计划 课程计划 是课程设置的整体规划,它规定不同课程类型相互结构的方式,也规定了不同课程在管理学习方式的要求及其所占比例,同时,对学校的教学 生产劳动 课外活动等作出全面安排,具体规定了学校应设置的学科 课程开设的顺序及课时分配,并对学期 学年 假期进行划分。根据一定的教育目的和培养目标制...

计划员岗位说明书

一 岗位资料 职位名称 计划员岗位编号 wk005 直属上司职位 物控主管。职位部门 物控部 岗位 物控员晋升岗位 物控副主管 主管 二 岗位在组织中的位置 三 岗位职责 1 物料bom表的完善。2 物料申购的审核 汇总,根据生产计划制定物料需求计划。3 物料进度的控制 追踪,异常情况反馈跟进。4 ...

岗位说明书

电气队各岗位说明书 目录 一 电气队队长岗位说明书2 二 电气队队长助理岗位说明书6 三 电气队厂用班班长岗位说明书10 四 电气队电机班班长岗位说明书14 五 电气队高压班班长岗位说明书18 六 电气队厂用班技术员岗位说明书22 七 电气队电机班技术员岗位说明书26 八 电气队高压班技术员岗位说明...

职位说明书

大智汇股份 职位说明书。1.1董事长。职位编号 01 职责范围 1,企业发展战略 主持制定企业长期发展战略与企业发展目标,推动 监督企业发展目标和企业长期发展的战略的执行。2,主持董事会及日常工作 主持公司董事会的召开和董事会闭会期间的日常工作 按公司章程的规定,定期召开公司的董事会 组织董事会的各...

职位说明书

xx市某服装辅料 0610修订版 管理部。目录。一 总经办 1 1.1部门职责 1 1.2总经理 2 1.3营运副总经理 4 1.4行政副总经理 7 1.5项目副总经理 10 1.6总经理助理 12 1.7总经办文员 14 二 投资发展部 16 2.1部门职责 16 2.2.投资发展部长 17 三 ...

岗位说明书

职务说明书编写。一 基本信息。1 职务名称 指公司内部的工作职位,它应该能反映该职位的主要功能。如销售员 污水操作工等。2 直接上级 指直接向该职位下达行政指令的职位。原则上只有1个,如多头领导,应列全。3 所辖人员 指所管辖范围内的人数。3 直接下属 指直接接受该职位行政指令的职位。4 定员 指该...

职位说明书

链组织体系。职位名称 链总监。所属部门 链部。工作地点 苏州工业园区。汇报对象 总经理。职位详细描述 1 在职责范围内,落实公司方针目标,对部门方针目标的完成情况负责。2 对公司整个 链动作负责,设计并改善公司物流 链系统,制定并完善切实可行的采购 生产 物流 仓储 配送等管理工作流程,并实施监督和...

岗位说明书

岗位名称 资深副经理。工作地点 值班经理室。一 岗位设置目的。餐厅人员管理,控制餐厅成本,负责 和培训的管理。同时监督餐厅的日常运行,处理一些突发事件和顾客抱怨。并且负责与其他肯德基餐厅之间货物 人员的协调。岗位定员 1人所在部门 行政部。二 岗位职责与任务。序号。主要工作职责及内容。营运方面 1....