欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构C课程设计报告教学计划编制问题Word格式.docx

    • 资源ID:14770627       资源大小:218.40KB        全文页数:26页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构C课程设计报告教学计划编制问题Word格式.docx

    1、计算机软件:Microsoft Visula C+在本课程设计中,系统开发平台为Windows XP或Win 7,程序运行环境为Visual C+ 6.0,程序设计语言为C+。Visual C+一般分为三个版本:学习版、专业版和企业版,不同版本适合于不同类型的应用开发。实验中可以使用这三个版本的任意一种,在本课程设计中,以Visual C+ 6.0为编程环境。Visual C+以拥有“语法高亮”,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试和单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调试的程序。其编译及建置系统以预

    2、编译头文件、最小重建功能及累加链接著称。这些特征明显缩短程式编辑、编译及链接的时间花费,在大型软件计划上尤其显著。Visual C+ 6.0秉承Visual C+ 以前版本的优异特性,为用户提供了一套良好的开发环境,主要包括文本编辑器、资源编辑器、工程创建工具和Debugger调试器等等。用户可以在集成开发环境中创建工程,打开工程,建立、打开和编辑文本,编译、链接、运行和调试应用程序。(二)输入的形式和输入值的范围数据输入的方式是键盘输入。输入的数据多是整型的或是浮点型的,还有一些字符(以中文的形式)。输入的数值型的数据大都是小于100的数值。(三)输出的形式描述输出的是教学编制计划,就是形如

    3、:“第二学期学的课程有:普通物理 线性代数 汇编语言”这样的形式。(四)功能描述 输入参数包括:学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式自行设计。(五)测试数据学期总数:6 学分上限:10该专业共开设12门课,课程号从0112,学分顺序为2,3,4,2,2,4,4,4,7,5,2,3。三、概要设计(一)抽象数据类型定义描述(对各类的成

    4、员及成员函数进行抽象描述,参见书或ppt及实验)抽象数据类型:为实现上述功能需建立一个结点类,线性表类,图类。ADT Graph数据对象V:V是具有相同特性的数据元素的集合,称为顶点集.数据关系R:R=VRVR=(v,w)|v,wV,(v,w)表示v和w之间存在直接先修关系基本操作P:void creatpre(AlGraph *CGraph);void findindegree(AlGraph *CGraph,int indegree);void layout1(AlGraph *CGraph,queue *q);void layout2(AlGraph *CGraph,queue *q);

    5、ADT Graph队列的定义:ADT List数据对象:D=ai|aiElemSet,i=1,2,n,n=0数据关系:R1=ai-1 ai|ai-1,aiD,i=2,n基本操作:void queue_init(queue *q);void queue_in(queue *q,int x);int queue_out(queue *q);int queue_empty(queue *q);ADT Stack(二)功能模块设计主程序:void main() int choice; queue q; Queue.queue_init(&q); AlGraph CGraph; CGraph=Graph

    6、.input(); system(cls); Graph.output(CGraph); coutendlendl; Judgement.judgingcricle(&CGraph,& if(!WhetherCricle) while(1) coutchoice; system( if(choice=1) Edit.layout1(& else Edit.layout2(& 请选择继续编排策略或退出程序(0退出 1继续): if(choice=0) break; (三)模块层次调用关系本程序只有两个模块,调用关系简单主程序模块拓扑排序模块TopSort流程图:邻接表构造函数ALGraph 邻接

    7、表ALGraph的构造函数四、详细设计教学计划编制系统主要是处理课程之间的依赖关系。表列出了若干门计算机系本科课程,其中有些课程不要求先修课程,例如,C1是独立于其他课程的基础课,而有些课程却需要有先修课程,比如,学完程序设计语言C+和离散数学后才能学习数据结构。课程代号课程名称先修课程C1高等数学无C2计算机科学导论C3离散数学C4程序设计语言C+C1、C2C5数据结构C3、C4C6计算机原理C2、C4C7数据库原理C4、C5、C6先修课程规定了课程之间的依赖关系,这种关系可以用AOV网来表示,其中顶点表示课程,弧表示依赖关系。程序的主要功能是实现课程的排序,以满足同一学期所修的课程相互之间

    8、无依赖关系,并且已修完其所有先修课程。本程序需要基于图的基本操作来实现算法的基本思想: 1、图的构建:建立一个结点类,类的元素有字符型变量用来存储字母,整形变量用来存储位置,该类型的指针,指向下一个元素。建立一个线性表类,完成线性表的构建。建立一个图类,完成图的信息的读取,(如有n个点,则建立n个线性表,将每个结点与其指向的结点组成一个线性表,并记录线性表的长度)。2、Topsort算法:先计算每个点的入度,保存在数组中。找到第一个入度为0的点,将该点所连的各点的入度减一。再在这些点中找入度为0 的点。如果找到,重复上述操作。如果找不到,则跳出while循环,再搜索其他的点,看入度是否为0。再

    9、重复上述操作,如果所有的入度为0的点都被寻找到,但个数少于输入顶点的个数,说明该图存在环。3、 邻接表类的定义邻接表是一种顺序存储与链接存储相结合的存储方法。在邻接表中存在两种结点结构:顶点表结点和边表结点。五、调试分析包括调试过程中遇到的问题及解决的方法、算法的时间空间复杂性分析、经验体会。(一)实验过程中出现的问题及解决方法我在实验过程中遇到的最大难题是两个课程排序算法的编写。刚开始的时候没有任何的思路,网上也只有拓扑排序的算法,对于课程设计要求的排序算法没有任何头绪。经过请教老师和同学以及翻阅了一些相关书籍,并在网上的搜索有了排序算法的大体思路。经过三天的修改,终于写出了符合要求的排序算

    10、法。(二)实验体会上机实践是学生对本门课程所学知识的一种全面、综合的能力训练,是与课堂听讲、自学和练习相辅相成必不可少的一个教学环节,也是对课堂教学效果的一种检验。通常,实习题中的问题比平时的习题复杂得多,也更接近实际。实习题注重原理与应用的结合,目的让学生学会如何把书上学到的知识运用于解决实际问题的过程中去,培养从事软件开发设计工作所必需的基本技能。同时,通过实践能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的作用。平时的练习较偏重于如何编写功能单一的“小”算法,而实习题是软件设计的综合训练,包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,可以多人合作,有利于一整套

    11、软件工程规范的训练和科学作风的培养。此外,实践环节中有很重要的一点,就是机器是比任何教师都严格的主考官。经过此次课程设计,我认识到了理论与实践结合的重要性,仅仅只是从课本上学到算法原理是远远不够的。在实践中,我们总会出现许多错误。这就要求我们以一个脚踏实地的态度来处理问题。我深刻地认识到自己写程序的不足,使我们学到了好多有用的知识,让我们明白了C+语言的语句用法。六、测试结果要求输入学期总数、一个学期的学分上限、需要编排课程总数、课程名、课程号、该课程的学分,按照出现的每一步来输入该课程设计所提供的相关数据。6;10;该专业共开设12门课,课程号从01到12,学分顺序为2,3,4,2,2,4,

    12、4,4,7,5,2,3。然后还要输入课程先修课程总数,可以算出有16种关系,分别输出。接着程序会根据这些数据,自动生成建立好的邻接表,用户可以根据系统显示的选择编排策略进行选择,有两种编排策略,最后结果体现在实验的正确测试结果里。输入的内容如下:课程编号 课程名称 学分 先决条件01 计算机基础 2 无02 离散数学 3 0103 数据结构 4 01,02 04 汇编语言2 0105 语言的设计和分析 2 03,04 06 计算机原理 4 1007 编译原理 05,03 08 操作系统 03,0609 高等数学7 无 10 普通物理5 0911 线性代数 0912 数值分析 09,11,01七 、附录:程序设计源代码#include#incl


    注意事项

    本文(数据结构C课程设计报告教学计划编制问题Word格式.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开