文档库 最新最全的文档下载
当前位置:文档库 › 最新教学计划编制问题讲课稿

最新教学计划编制问题讲课稿

最新教学计划编制问题讲课稿
最新教学计划编制问题讲课稿

目录

1 课题需求描述 (3)

1.1 教学计划编制问题 (3)

1.2 进制转换 (3)

2 总体功能与数据结构设计 (4)

2.1 总体功能结构 (4)

2.2 数据结构设计 (5)

3 算法设计和程序设计 (7)

3.1 教学计划编制问题 (7)

3.2 进制转换问题 (10)

4 调试与测试 (24)

4.1 教学计划编制问题调试结果 (24)

4.2 进制转换问题调试结果 (26)

5 设计总结 (28)

6 程序代码 (30)

1 课题需求描述

1.1 教学计划编制问题

大学的每个专业都要制订教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。在这样的前提下设计一个教学计划编制程序。通过输入实际的课程及先后关系。结合每学期的学分及课程数,制定好学习计划。在输入相关数据后,程序会安排好每学期的课程。

1.2 进制转换

进制数制是人们利用符号进行计数的科学方法。数制有很多种,在计算机中常用的数制有:十进制,二进制,八进制和十六进制。十六进制数有两个基本特点:它由十六个字符0~9以及A,B,C,D,E,F组成(它们分别表示十进制0~15),十六进制数运算规律逢十六进一。

要求:

(1)输入一个十进制数N,将它转换成R进制数输出,并可以进行你转换。

(2)输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16)。

(3)为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,

等等)。

2 总体功能与数据结构设计

1.教学计划编制问题

根据问题描述及要求,可知设计中需要定义先修关系的AOV网图中的顶点

及弧边的结构体,在运行结果中将图的信息显示出来,利用先修关系将

课程排序,最后解决问题——输出每学期的课程。

2. 进制转换问题

由于计算机只能识别二进制,所以当我们从键盘输入其他进制数的时候,计算机内部的系统会利用自带的程序代码自动转换成二进制,我们是学计算机的,所以我们需要弄懂这种机制转换的原理并且能计算出来。

2.1总体功能结构

2.1.1 教学计划编制问题

教学计划是学校保证教学质量和人才培养的关键,也是组织教学过程、安排教学过程、安排教学任务、确定教学编制的基本依据和课程安排的具体形式。是稳定教学秩序、提高教学质量的重要保证。从教学计划的设计、实施等方面,阐明了如何搞好教学管理,从而为提高教学质量提供保证。随着教育改革的不断深入和社会发展的需要,原旧的教学计划在定位上的方向性偏差,已经不再适应社会的需求。因此,应重视教学计划的改革和修订工作,以确保教育教学质量,提高教育教学水平。教学计划编制中的思路:一是明确培养目标;二是注重学科设置的整体性、统一性和灵活性、全面性;三是与学分制改革有机结合.

教学计划是高校实施常规教学活动的基本管理文档,由于传统的手工编制方式存在诸多弊端,开发基于Web应用程序形式的教学计划编制系统具有很好的应用价值。使用C程序设计语言,研究开发教学计划编制系统Web应用系统。

2.1.2 进制转换问题

1.十进制数与非十进制数之间的转换

(1)十进制数转换成非十进制数把一个十进制数转换成非十进制数(基数记作R)分成两步.整数部分转换时采用“除R取余法”;小数部分转换时采用“乘R取整法”。

(2)非十进制数转换成十进制数非十进制数(基数记作R,第j个数位的位权记作Rj)转换成十进制数的方法:按权展开求其和。

2.非十进制数之间的转换

(1)二进制数与八进制数之间的转换①二进制数转换成八进制数的方法.以小数点分界,整数部分自右向左、小数部分自左向右,每三位一组,不足三位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的八进制数码。②八进制数转换成二进制数的方法:用八进制数码对应的三位二进制数代替八进制数码本身即可。

(2)二进制数与十六进制数之间的转换①二进制数转换成十六进制数的方法:以小数点分界,整数部分自右向左、小数部分自左向右,每四位一组,不足四位时,整数部分在高位左边补0,小数部分在低位右边补0,然后写出对应的十六进制数码。②十六进制数转换成二进制数的方法:用十六进制数码对应的四位二进制数代替十六进制数码本身即可。

2.2数据结构设计

2.2.1 教学计划编制问题

LocateVex():图的邻接表存储的基本操作

CreateGraph():构造生成树

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

FindInDegree():求顶点的入度

InitStack():构造一个空栈

ClearStack():清空栈

StackEmpty():判断是否为空栈

Pop():出栈

Push():入栈

TopologicalSort():输出G顶点的拓扑排序结果2.2.2 进制转换问题

void D_B( ):十进制转换为二进制

void D_O( ):十进制转换为八进制

void D_X( ):十进制转换为十六进制

void B_D( ):二进制转换为十进制

void B_O( ):二进制转换为八进制

void B_X( ):二进制转换为十六进制

void O_B( ):八进制转换为二进制

void O_D( ):八进制转换为十进制

void O_X( ):八进制转换为十六进制

void X_B( ):十六进制转换为二进制

void X_D( ):十六进制转换为十进制

void X_O( ):十六进制转换为八进制

3 算法设计和程序设计

3.1 教学计划编制问题

3.1.1采用C语言定义相关的数据类型。

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

3.1.2主要函数的流程图

1.LocateVex():图的邻接表存储的基本操作。由初始条件G存在,u和G中顶点有相同特征转而进行判断,若G中存在顶点u,则返回该顶点在图中位置;否则返回-1。

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

3.Display():输出图的邻接矩阵。采用循环设置输出图的邻接矩阵。

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

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

6.ClearStack():清空栈。

相关文档