教学计划编排实验报告_第1页
教学计划编排实验报告_第2页
教学计划编排实验报告_第3页
教学计划编排实验报告_第4页
教学计划编排实验报告_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计实验报告 题目 关于课程编排的报告关于课程编排的报告 姓 名 贾雨飞 学 号 2010434096 年级专业 10 数电类 四班 指导教师 王苗 2011 年 12 月 13 日 一 一 需求分析需求分析 1 程序的功能程序的功能 大学中的每个专业都有几十门基础课程 专业课程及选修课程 学生必须分 几个学期完成这些课程才能毕业 教学计划的制定就是合理的编排这些课程 使得学生能够顺利的进行学习 这些课程中 有些课程是独立于其它课程的基 础课 有些课程却需要其它先行课程 一般四年制本科教学前 7 个学期 三年 半 进行理论课程的学习 第 8 个学期实习 教学计划的编排必须充分考虑这 些因素 编排出一个合理的教学大纲计划 2 测试数据 测试数据 课程序号课程名先行课 代号 课程序号课程名先行课 代号 1计算机导论无17算法分析12 2英语无18Java 程序设计12 3军事理论无19程序实验11 4高数2 320编译系统12 19 5离散数学4 621人工智能18 6程序设计导论122软件工程20 21 7微机原理623数字图像16 17 8C 程序设计724数据库22 9硬件描述语言525单片机原理22 23 10普物426数学模型23 11面向对象程序 设计 827嵌入式系统24 12数据结构8 928计算机控制系 统 25 13电子线路1029计算机控制技 术 26 28 14计算机原理1330编译原理29 15C 程序设计1431多媒体技术29 16操作系统12 1532 模式识别27 31 33学科前沿30 31 一 一 概要设计概要设计 1 抽象数据类型的定义 抽象数据类型的定义 边表 的结点结构可描述为 typedef struct node int adjvex 邻接点域 struct node next 指向下一个邻接点的指针域 EdgeNode 边表结点 顶点表的结点结构可描述为 typedef struct vnode 顶点表结点 int num 课程号 char name 20 课程名 int chour 课程的学分 int indegree 顶点的入度 EdgeNode firstedge 边表头指针 VNode AOV 网的类型可描述如下 typedef struct VNode AdjList MaxVerNum 邻接表 int n e 顶点数和边数 AOVGraph AOV 网是以邻接表方式存储的类型 2 主模块的流程以及各子模块的主要功能 主模块的流程以及各子模块的主要功能 主模块 负责调控整个程序 提示功能项 根据用户选择调用相应子模块 输入模块 根据用户输入的信息建立有向图的邻接表存储 为后续课程安排做 铺垫 编排模块 根据前一个过程创建的邻接表生成拓扑排序 然后根据课程数和平 均学分安排课程到各学期 三 详细设计三 详细设计 1 各模块的伪代码 各模块的伪代码 void input AovGraph A char na 15 cout 请输入课程数目 A n while A n 99 A n 1 cout 课程科目数不正确 请重新输入 A n for int i 1 in i A AdjList i firstedge NULL cout 请输入边数 A e cin get for i 1 in i cout 请输入第 i 科课程的课程号 A AdjList i num cin get cout 请输入第 i 科课程的课程名 AdjList i name 15 cout 请输入第 i 科课程的学分 A AdjList i chour cout 请输入第 i 科课程结点的入度 A AdjList i indegree cin get for i 1 in i cout 请输入 AdjList i name 的相邻后续课程数 c cin get while c 0 if c 0 continue cout 请输入第 1 个相邻的后续课程的课程名 adjvex search na A A AdjList i firstedge p p next NULL for int j 2 j c j cout 请输入第 j 个相邻的后续课程的课程名 adjvex search na A t next NULL p next t p t int BP AovGraph A int T int l EdgeNode p q T new int A n int a v 0 v 记录每学期总学分 double k x k 保存科目数的平均数 x 保存的学分的平均值 int z new int A n 栈的存储 int i 1 t 1 h 0 h 记录学分总和 l 记录各学期之前科目总数 for int j 1 jn j if A AdjList j indegree 0 z i j h h A AdjList j chour while i 0 a z i i T t a p A AdjList a firstedge while p A AdjList p adjvex indegree if A AdjList p adjvex indegree 0 z i p adjvex q p p p next delete q k A n 7 x h 7 l 0 0 l 7 A n for j 1 j 7 j l j k j if l j k j continue l j for int w l j 1 wAdjList T w chour if fabs v A AdjList T w chour x fabs v x l j v 0 cout 编排成功 endl cout endl return T void print AovGraph A int T int l int h fstream infile infile open E 课表 txt ios out if infile cout 文件不能打开 endl return for int i 1 i 7 i h 0 infile 第 i 学期 for int j l i 1 j l i j infile AdjList T j name AdjList T j chour infile 本学期总学分为 h endl cout 文件已经写入到 E 课表 txt 中 endl void show AovGraph A int T int l int h for int i 1 i 7 i h 0 cout 第 i 学期 for int j l i 1 j l i j cout AdjList T j name AdjList T j chour cout 本学期总学分为 h endl 2 函数调用关系 函数调用关系 主函数 输入函数编排函数屏幕输出文件输出 四 调试分析四 调试分析 1 调试中遇到的问题及对问题的解决方法调试中遇到的问题及对问题的解决方法 调试中 如果输入的总学科数能被 7 整除则课程安排时最理想的方式是 每学期科目平均 所以在这种情况下 我便直接按照平均分配安排好了 2 时间复杂度分析时间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论