ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:243.28KB ,
资源ID:3270576      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3270576.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构课程设计模板DOC.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构课程设计模板DOC.docx

1、数据结构课程设计模板DOC数据结构与算法课程设计报告题 目: 学 院: 专业班级: 学生姓名: 指导教师: 2016 年06 月2 9日一、课程设计目的及要求数据结构与算法分析课程设计培养计算机专业的学生的算法程序设计能力。通过上机实验,可以培养学生程序设计的方法和技巧,提高学生编制清晰、合理、可读性好的系统程序的能力,加深对数据结构课程和算法的理解。使学生更好地掌握数据结构的基本概念、基本原理、及基本算法,具有分析算法、设计算法、构造和开发较复杂算法的基本能力。要求学生能综合运用数据结构与算法分析的相关知识,培养学生上机解决一些与实际应用结合紧密的、规模较大的问题的能力,通过分析、设计、编码

2、、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析实际问题的能力并提高C语言编程技巧,培养良好的编程风格。课程设计要求独立完成, 题目自选(参考题目见三,也可自拟),但需要老师确认(6月16日前定题),一人一题,要求程序有能采用交互式工作方式的界面进行功能的选择,只能用文件存储数据和处理数据不能使用数据库。要求在教学周的第18周前完成。二、课程设计步骤 随着计算机性能的提高,它所面临的软件开发的复杂度也日趋增加。然而,编制一个10000行的程序的难度绝不仅仅是一个5000行的程序的两倍,因此软件开发需要系统的方法。一种常用的软件开发方法,是将软件开发过程分为分析、设

3、计、实现和维护四个阶段。虽然数据结构课程中的课程设计的复杂度远不如(从实际问题中提出来的)一个“真正的”软件,但为了培养一个软件工作者所应具备的科学工作的方法和作风,完成课程设计的应有如下的5个步骤:1. 问题分析和任务定义通常,课程设计题目的陈述比较简洁,或者说是有模棱两可的含义。因此,在进行设计之前,首先应该充分地分析和理解问题,明确问题要求做什么,限制条件是什么。注意:本步骤强调的是做什么,而不是怎么做。对问题的描述应避开算法和所涉及的数据类型,而是对所需完 成的任务作出明确的回答。例如:输入数据的类型、值的范围以及输入的形式;输出数据的类型、值的范围及输出的形式;若是会话式的输入,则结

4、束标志是什么,是否接受非法的输入,对非法输入的回答方式是什么等等。这一步还应该为调试程序准备好测试数据,包括合法的输入数据和非法形式输入的数据。2. 数据类型和系统设计在设计这一步骤中需分逻辑设计和详细设计两步实现。逻辑设计指的是,对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型;详细设计则为定义相应的存储结构并写出各过程和函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。作为逻辑设计的结果,应写出每个抽象数据类型的定

5、义(包括数据结构的描述和每个基本操作的规格说明),各个主要模块的算法,并画出模块之间的调用关系图。详细设汁的结果是对数据结构和基本操作的规格说明作出进一步的求精,写出数据存储结构的类型定义,按照算法书写规范用类C语言写出过程或函数形式的算法框架。在求精的过程中,应尽量避免陷入语言细节,不必过早表述辅助数据结构和局部变量。3. 编码实现和静态检查编码是把详细设计的结果进一步求精为程序设计语言程序。程序的每行不要超过60个字符。每个过程(函数)体,即不计首部和规格说明部分,一般不要超过40行。最长不得超过60 行,否则应该分割成较小的过程(函数)。要控制语句连续嵌套的深度。如何编写程序才能较快地完

6、成调试是特别要注意的问题。对于编程很熟练的读者,如果基于详细设计的伪码算法就能直接在键盘上输入程序的话,则可以不必用笔在纸上写出编码,而将这一步的工作放在上机准备之后进行,即在上机调试之前直接用键盘输入。然而,不管你是否写出编码的程序,在上机之前,认真的静态检查却是必不可少的。多数初学者在编好程序后处于以下两种状态之一:一种是对自己的“精心作品”的正确性确信不疑;另一种是认为上机前的任务已经完成,纠查错误是上机的工作。这两种态度是极为有害的。事实上,非训练有素的程序设计者编写的程序长度超过50 行时,极少不含有除语法错误以外的错误。上机动态调试决不能代替静态检查,否则调试效率将是极低的。静态检

7、查主要有两种方法,一是用一组测试数据手工执行程序(通常应先分模块检查);二是通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,在这个过程中再加入一些注解和断言。如果程序中逻辑概念清楚,后者将比前者有效。4. 上机准备和上机调试上机准备包括以下几个方面:(1) 高级语言文本(体现与编译程序用户手册)的扩充和限制。例如,有些C编译程序限制for语句的循环控制变量为局部简单变量等。(2) 如果用C语言,要特别注意平时惯用的类C语言与标准C语言之间的细微差别。(3) 熟悉机器的操作系统和语言集成环境的用户手册,尤其是最常用的命令操作,以便顺利进行上机的基本活动。(4) 掌握调试工具,考虑调试方案

8、,设计测试数据并手工得出正确结果。“磨刀不误砍柴工”。计算机各专业的学生应该能够熟练运用高级语言的程序调试器DEBUG调试程序。上机调试程序时要带一本高级语言教材或手册。调试最好分模块进行,自底向上,即先调试低层过程或函数。必要时可以另写一个调用驱动程序。这种表面上麻烦的工作实际上可以大大降低调试所面临的复杂性,提高调试工作效率。在调试过程中可以不断借助DEBUG的各种功能,提高调试效率。调试中遇到的各种异常现象往往是预料不到的,此时不应“苦思具想”,而应动手确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,印出带有完整注释的且格式良好的源程序清单和结果。5. 总结和

9、整理实习报告注意:在实践中,有时候可能想检验自己的想法,这时可以上机尝试一下,看看自己的思路是否可行。三、课程设计内容参考题目:1 二叉树的应用哈夫曼树(电文的编码和译码)2 运动会分数统计3 学生成绩管理系统4 简易客房管理系统5 其他类型管理系统的题目人事档案管理系统图书管理系统进销存货物管理系统职工工资管理系统6. 稀疏矩阵运算器7. 长整数的四则运算8. 校园导游咨询10停车场管理11其余题目:(必须事先得到指导老师允许 )程序经常需要输入输出,所以可以在考虑采用什么样的数据结构时,考虑如何进行数据的输入和输出,可以把输入和输出分别实现为一个函数。实现了输入输出功能,也为以后程序的调试

10、和测试带来方便。四、课程设计报告课程设计报告统一用A4纸打印,并装订成册,封面格式参见所附文档,正文格式要求参见附录1。课程设计报告内容具体要求如下:1. 课程设计实验报告内容总体要求1)给出问题分析过程根据自身对课程的掌握程度,充分分析和理解问题的设计要求,给出较为明确、简洁的设计思路。2)给出数据结构描述根据要解决的问题,考虑各种可能的数据结构类型,从中选择一种较为有效的方法,并写出采用的数据结构描述及其功用。3)给出相应算法设计根据问题分析的结果,并确立好所选的数据结构描述,然后写出合理的算法设计过程,特别要注意所使用函数间的调用与被调用关系。4)给出详细程序清单根据算法的内容,用计算机

11、语言(如C语言)编写完整的程序,并将程序在机器上反复调试,直到结果正确为止,程序要求附上详细注解。特别要注意算法与程序的区别以及上下层模块间的接口处理。5)给出程序运行结果利用典型的测试用例,将数据输入到程序执行过程中去,记下执行过程中屏幕显示情况与相应结果。2. 具体内容要求:报告包括以下7个内容:1)以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定:(1) 输入的形式和输入值的范围;(2) 输出的形式;(3) 程序所能达到的功能;(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。2)概要设计说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及

12、各程序模块之间的层次(调用)关系。3)详细设计实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序);画出函数和过程的调用关系图。4)调试分析内容包括:(1) 调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;(2) 算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分析)(3) 改进设想;(4) 经验和体会等。5)用户使用说明说明如何使用你编写的程序,详细列出每一步的操作步骤。6)测试结果列出你的测试结果,包括输入和输出。这里

13、的测试数据应该完整和严格,最好多于需求分析中所列。7)附录带注释的源程序,如果提交程序,可以只列出程序文件名的清单。五、提交材料 课程设计完成后的下一周的周一上午,也就是2012年6月28-29日,提交如下资料并答辩:1 课程设计报告。课程设计报告总体上主要包括以下几个部分:1)封面2)考核方式与评分标准(见六)3)目录4)课程设计报告正文5)使用说明2.完整的软件系统 最终必须向指导老师提交完整的程序源代码(.c和.cpp以及.h为后缀的文件)、数据文件以及使用说明文件等。源代码文件要特别注意编程规范、代码风格,关键代码需有合理的注释,不含任何无用代码;数据文件内要求有一定数量的“真实”数据

14、(如对于记录文件,需要有8条以上记录); 使用说明文件的第一行,需要给出设计者的学号、姓名,后面为其它说明。 课程设计项目源代码和相关数据,放到一个目录下,目录名以学号加姓名方式命名。六、考核方式与评分标准(下页单独打印) 综合实践1评分表班级姓名指导教师题目:评分标准评分标准分数权重评分的依据得分AC选题10选题符合大纲要求,题目较新颖,工作量大选题基本符合大纲要求,工作量适中工作态度10态度端正,能主动认真完成各个环节的工作,不迟到早退,出勤好。能够完成各环节基本工作,出勤较好。存储结构、算法描述20能正确选择存储结构,定义准确,算法流程图或类C语言描述的算法准确无误能正确选择存储结构,算

15、法流程图或类C语言描述的算法基本准确独立解决问题的能力10具有独立分析、解决问题能力,有一定的创造性,能够独立完成软件的设计与调试工作,程序结构清晰,逻辑严谨,功能完善。有一定的分析、解决问题能力。能够在老师指导下完成软件的设计与调试工作,程序功能较完善。答辨问题回答20能准确回答老师提出的问题能基本准确回答老师提出的问题程序运行情况10程序运行正确、界面清晰,测试数据设计合理。程序运行正确、界面较清晰,能给出合适的测试数据。综合实践报告20格式规范,层次清晰,设计思想明确,解决问题方法合理,体会深刻。格式较规范,设计思想基本明确,解决问题方法较合理。总分指导教师(签字):注:介于A和C之间为

16、B级,低于C为D级和E级。按各项指标打分后,总分在90100为优,8089为良,7079为中,6069为及格,60分以下不及格。七、参考文献1 严蔚敏, 吴伟民. 数据结构(C语言版). 北京: 清华大学出版社, 1997.42 严蔚敏, 吴伟民, 米宁. 数据结构题集(C语言版). 北京: 清华大学出版社, 1999.2附录1齐齐哈尔大学数据结构课程设计说明书(报告)撰写规范(一)正文:汉字应采用简化汉字总表规定的简化字,并严格执行汉字的规范。所有文字字面清晰,不得涂改。要求文字通顺,语言流畅,无错别字,不得使用铅笔书写。正文内容层次序号为:1、1.1、1.1.1。正文内容一般为:1、 选题

17、背景:说明本课题应解决的主要问题及应达到的技术要求;简述本设计的指导思想。2、 方案论证:说明设计原理并进行方案选择,阐明为什么要选择这个设计方案以及所采用方案的特点。3、 过程(设计或实验)论述:对设计工作的详细表述。要求层次分明、表达确切。4、 结果分析:对研究过程中所获得的主要的数据、现象进行定性或定量分析,得出结论和推论。5、 结论或总结:对整个研究工作进行归纳和综合。(二)表格说明书(报告)的表格可以统一编序(如:表15),也可以逐章单独编序(如:表2.5),采用哪种方式应和插图及公式的编序方式统一。表序必须连续,不得重复或跳跃。表格的结构应简洁。表格中各栏都应标注量和相应的单位。表

18、格内数字须上下对齐,相邻栏内的数值相同时,不能用同上、同左和其它类似用词,应一一重新标注。表序和表题置于表格上方中间位置,无表题的表序置于表格的左上方或右上方(同一篇论文位置应一致)。(三)图插图要精选。图序可以连续编序(如 图52),也可以逐章单独编序(如 图6.8),采用哪种方式应与表格、公式的编序方式统一,图序必须连续,不得重复或跳跃。仅有一图时,在图题前加附图字样。课程设计中的插图以及图中文字符号应打印,无法打印时一律用钢笔绘制和标出。由若干个分图组成的插图,分图用a,b,c,标出。图序和图题置于图下方中间位置。(四)公式 说明书中重要的或者后文中须重新提及的公式应注序号并加圆括号,序

19、号一律用阿拉伯数字连续编序(如:(45)或逐章编序(如(6.10),序号排在版面右侧,且距右边距离相等。公式与序号之间不加虚线。(五)数字用法 公历世纪、年代、年、月、日、时间和各种计数、计量,均用阿拉伯数字。年份不能简写,如1999年不能写成99年。数值的有效数字应全部写出,如:0.50:2.00不能写作0.5:2。(六)软件 软件流程图和原程序清单要按软件文档格式附在说明书(报告)后面,特殊情况可在成绩评定时展示,不附在说明书(报告)内。(七)工程图按国标规定装订 图幅小于或等于3#图幅时应装订在说明书(报告)内,大于3#图幅时按国标规定单独装订作为附图。(八)计量单位的定义和使用方法按国

20、家计量局规定执行。(九)排版与封面要求1、排版用word排版,具体格式如下:版面要求:页边距:上2.5cm,下2.5cm,左3cm,右2.5cm;字 体:正文宋体、小四,章节标题宋体、小三;行 距:固定值20;页 码:居中、底部。2、封面附录2 Visual C+ 6.0简介考虑到目前大多数初学者使用的都是PC机和Windows操作系统,我们以Visual C+作为推荐的C+编译器。1Visual C+集成开发环境Visual C+软件包包含了许多独立的组件,如编辑器、编译器、调试器,以及各种各样为开发Windows环境下的C/C+程序而设计的工具。其中最重要的是一个名为Developer S

21、tudio的集成开发环境。Developer Studio把所有的Visual C+工具结合在一起,集成为一个由窗口、对话框、菜单、工具栏、快捷键及宏组成的和谐系统,通过该集成环境,程序员可以观察和控制整个开发进程。1显示了一个典型的Developer Studio主窗口。它分为几个部分:窗口顶部是菜单和工具栏,左面的一个子窗口是工作区窗口,工作区的右面是编辑子窗口。最下面是输出子窗口。值得注意的是,上述各种部件,包括子窗口、菜单栏和工具栏的位置不是一成不变的,可以根据个人的喜好重新安排。图1 典型的Developer Studio窗口(1)菜单和工具栏Developer Studio中有一个

22、Menu Bar(菜单栏,通常停靠在开发环境窗口的顶部),其中的菜单项有File (文件处理)、Edit(编辑功能)、View(查看)、Insert(插入)、Project(项目管理)、Built(编译)、Tools(工具)、Window(窗口)和Help(帮助)等,分别对应一个下拉子菜单。除菜单栏外,开发环境中还有几个工具栏,一般均放在开发环境的顶部,菜单栏的下方,如Standard(标准工具栏,用于文件管理、编辑和查看等),Wizard Bar(向导工具栏)和Build MiniBar(建立工具栏,用于编译、连接等)。工具栏上有常用命令的图标。一般来说,工具栏上的命令在菜单中均有对应选项,

23、但工具栏使用更方便,只要用鼠标左键点击工具栏中的相应图标即可调用相应的功能。开发环境的各种菜单栏和工具栏均为停靠式,可以用鼠标拖动改变它们的位置,除此之外,Developer Studio的所有部分几乎都可响应鼠标右键单击而弹出一个上下文相关菜单。甚至当Developer Studio没有打开窗口时,在空白区右击鼠标也会弹出一个菜单,其中含有使窗口可见和调整工具栏是否可见的命令。在工具栏上除标题栏外的任何地方右击鼠标,同样可以弹出菜单。在使用集成环境工作时试一试鼠标右键,还会发现许多其他的快捷方式。(2)Developer Studio窗口除了各种对话框外,Developer Studio显示

24、两种类型的窗口,即文档窗口和停靠窗口。文档窗口是一般的带边框子窗口,其中含有源代码文本或图形文档。Window子菜单中列出了在屏幕上以平铺方式还是以层叠方式显示文档窗口的命令。所有其他的Developer Studio窗口,包括工具栏和菜单栏,都是停靠式窗口。开发环境有两个主要的停靠窗口Workspace(工作区)窗口和Output(输出)窗口。另外还有一个Debugger(调试器)停靠窗口,只在调试过程中显示。图2 新建一个项目停靠窗口可以固定在Developer Studio用户区的顶端、底端或侧面,或者浮动在屏幕上任何地方。停靠窗口,不论是浮动着的或是固定着的,总是出现在文档窗口的上面。

25、这样,就保证了当焦点从一个窗口移到另一个时,浮动的工具栏一直都是可见的。但这也意味着,文档窗口偶尔会看起来像消失了似的。例如,如果正在文本编辑器中编辑源代码,此时打开一个占据整个Developer Studio用户区的停靠窗口,源代码文档就会消失,它隐藏在新窗口之下。解决方法是要么关了覆盖的窗口,要么把它拖到不挡眼的地方去。(3)菜单选项、快捷键和工具栏Developer Studio的许多功能都有不只一种调用方法。例如,执行一个编译、连接成功的可执行文件,既可通过选择菜单选项Build/Execute.exe完成,也可以直接使用快捷键Ctrl+F5,还可以用鼠标点击Build MiniBar

26、(编译工具栏)上的相应图标来完成。一般来说,越是常用的功能,可以调用的方法越多、越方便。(4)用Developer Studio编写和调试简单C+程序在Visual C+中,C+的程序是存放到以后缀名为.CPP的文件中,系统是通过Projects(工程项目)来管理这些文件的。所以要编写和运行C+程序,首先必须建立一个Projects。下面以一个简单的例子来说明如何在Visual 集成开发环境编写和调试简单C+程序的步骤:(1)首先运行并打开Developer Studio系统,选择菜单选项File/New中的Projects选项卡。从卡中选择Win32 Console Application(

27、Win32控制台应用程序)。(2)为应用项目取一个名字,填写在选项卡右上方的Project Name(项目名称)处,并检查下面的Location(位置)中列出的路径是否正确。注意使下面的单选框选择Create New Workspace(即要建立新工作区),然后按下OK按钮。如图2。(3)这时会出现Application Wizard(应用程序生成向导),提问要生成的项目类型。选择An Empty Project(空项目),按下Finish(结束)键,会弹出一个窗口,显示新项目的有关信息。检查无误后按OK按钮。如图3及4 图3 确定项目类型 图4 项目相关信息(4)这时屏上会显示一个空项目,并

28、生成一个工作区文件(后缀为.DSW)。再次选择File菜单的New选项,并选择Files选项卡。从卡中选择C+ Source File(C+源程序)。(5)为程序取一个名字(可与项目名相同,也可以不同)填写在选项卡右边的File处,然后按下OK按钮。如图5图5 建立文件(6)这时开发环境右侧的文件编辑窗口中出现了一个空文件,在此可以键入源程序代码。如图6(7)程序输入后,应仔细检查一遍,然后就可以编译了。(8)选择菜单选项Build/Compile gravitation.cpp (其中gravitation为文件名)编译源程序。稍候片刻,会在Output窗口(通常在屏幕下方)中显示编译结果,

29、如出错信息等(编译错误的处理在下一节介绍)。如果程序正确,编译结果会生成一个目标文件(后缀为.OBJ)。(9)目标文件还需通过连接才能生成可执行文件。选择菜单选项Build/Build gravitation.exe连接目标文件。结果显示在Output窗口中。连接的结果为可执行文件(后缀为. exe)。以上两步也可以并为一步,即直接使用菜单选项Build/Build gravitation.exe。图6 代码的编辑界面生成的可执行文件可以单独运行,也可以在开发环境中直接运行,后一种方法在程序需要反复调试时更加方便。在集成开发环境中直接运行程序的方法是选用菜单选项Build/Excute.exe

30、。程序运行结果如图7图7 程序运行结果2Visual C+帮助功能MSDN (Microsoft Developer Network) 是使用 Microsoft 开发工具或是以 Windows 和 Internet 为开发平台的开发人员的基本参考资料。通过MSDN所提供的Help资料,可以对Visuan C+和Windows的工作机制有更全面的了解,可以帮助解决开发者遇到的大多数问题。由于MSDN库为包括Visual C+在内的所有的Visual studio 6.0开发环境工具提供在线帮助,所以它在系统中作为一个应用程序独立运行,并没有同任何单个开发环境结合在一起。要从Visual C+中

31、访问 MSDN,一种方法是从Visual C+的Help菜单中选择 Contents、Search或Index命令,另一种方法是在Visual C+开发环境中直接按下 F1键,系统都会自动运行 MSDN帮助程序。MSDN界面分为三个窗格,顶端的窗格包含有工具栏。左侧的窗格包含有各种信息定位方法,通过单击列表中的主题,即可浏览或查找所需的各种信息;右侧的窗格则显示所选择的主题的具体内容,这些内容是以超文本形式存在的,其中的相关内容可以通过超文本链接连接到其他的相关主题。图8 MSDN界面左边窗口中有四个选项卡:目录、索引、搜索和书签,用于提供四种不同的在线帮助浏览方式。(1)目录。单击目录选项卡可浏览主题的标题。该目录是依照标题和副标题的排列方式形成一个包含了 MSDN中所有可用信息的可扩充目录表。双击列表中的标题,就可在MSDN窗口的右栏中打开该文章。(2)索引。

copyright@ 2008-2022 冰豆网网站版权所有

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