数据结构大型实验要求_第1页
数据结构大型实验要求_第2页
数据结构大型实验要求_第3页
数据结构大型实验要求_第4页
数据结构大型实验要求_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

数据结构大型实验要求第1页,共24页,2023年,2月20日,星期六面向对象的程设计(OOP)方法与一般的设计方法不同,它使编程人员可以把精力集中在操作的对象而不是软件要完成的功能上。它将系统看作是对象的集合,通过对象之间的相互作用(消息传递)完成任务,通过类和对象把数据和处理数据的操作结合为一个整体。第2页,共24页,2023年,2月20日,星期六设计步骤需求分析和任务定义软件设计编码及静态检查测试总结和书写大型实验报告第3页,共24页,2023年,2月20日,星期六对复杂软件系统的设计,几乎所有的设计方法都采用某种分而治之的策略。面向对象的程序设计以对象作为设计的基础,具有一下优点:

便于重复使用已有代码,节省开发时间。程序具有较好的结构性。可以以类为单位独立进行程序测试。容易根据用户的需要进行扩充。第4页,共24页,2023年,2月20日,星期六需求分析和任务定义

问题要做什么?限制条件是什么?对所需要完成的任务作出明确的回答输入数据的要求输出数据的要求界面的要求解决问题的途径,确定具体算法确定合法的和非合法的测试数据第5页,共24页,2023年,2月20日,星期六系统设计在设计这一步骤中分数据结构设计、对象设计和消息设计:数据结构设计。确定主要的数据结构,包括元素类型(对象)以及相关的操作。对象设计。定义内部类,为类属性确定具体的数据结构,并确定类之间的关系。消息设计。使用对象间的协作和对象-关系模型,设计消息模型。第6页,共24页,2023年,2月20日,星期六第7页,共24页,2023年,2月20日,星期六综合考虑系统功能,对系统进行求精操作:使得系统类结构清晰、合理、便于操作和易于测试;对数据结构和基本操作的规格说明做出进一步的求精,补充类的属性和操作;对操作算法进行规范性描述(用图形工具进行算法描述)。在求精过程中,尽量避免陷入语言细节,不必过早表述辅助存储结构和局部变量。第8页,共24页,2023年,2月20日,星期六编码实现

静态检查编码是把系统设计的结果进一步求精为程序设计语言的过程。源代码除了要实现具体的算法外,还必须一定的组织结构和视觉效果:

每个函数体,一般不超过80行,最长不超过100行,否则应分割成较小的函数;给源代码相应的程序段或语句加上适当的注释;源代码采用缩格书写。第9页,共24页,2023年,2月20日,星期六认真的静态检查是必不可少的:源代码是否真正实现具体的算法描述;在源代码易于理解的基础上,简化及优化源代码;用一组测试数据手工执行程序;通过阅读或给别人见解自己的程序而深入全面地理解程序逻辑,在这个过程中加入一些新的注释和断言。在静态检查中对于非法的数据输入和操作要加以控制和处理。第10页,共24页,2023年,2月20日,星期六测试的目的是为了发现软件中存在的问题,并加以修正。面向对象的测试可以分为两个部分:对象测试,在对象设计阶段进行测试,检查成员函数对各种输入参数能否正确完成设计的功能,得到正确的结果。消息传递测试,测试各对象之间的函数调用与被调用联系,以确保消息传递的正确性。第11页,共24页,2023年,2月20日,星期六测试的一般步骤包括:设计一组或几组测试用例,包括合法的和非法的测试数据;根据测试用例,得到预期的结果;将测试用例作为输入数据代入软件系统并运行系统。如果运行结果与预期的结果一致,则说明算法或源代码正确;否则,要修改算法和源代码。第12页,共24页,2023年,2月20日,星期六上机准备

上机测试上机准备包括:高级语言文本的扩充和限制;熟悉机器的操作系统和语言集成环境的用户手册,尤其是常用的命令的操作;掌握调试工具,考虑调试方案,设计测试数据并手工得出正确结果。上机测试时,要带一本高级语言教材或手册。首先,在每个对象设计时要进行对象测试;然后,在程序流程调试时要测试对象之间的关系和作用。往往整个测试过程是以上两个部分的反复迭代过程。测试后,认真整理源程序及其注释,印出带有完整注释的且格式良好的源程序清单和结果。第13页,共24页,2023年,2月20日,星期六实

范1软件需求分析1.1软件达到的目的1.2软件功能说明1.3设计环境2系统设计2.1数据结构设计2.1.1主要数据结构类型的分析与选择(逻辑结构)2.1.2数据结构中的数据对象以及具体的操作的确定2.2对象设计

2.2.1系统中的类及对象2.2.2类图设计2.3消息设计2.3.1对象之间的消息传递说明2.3.2关键算法设计2.4界面设计3系统实现3.1类的定义(存储结构)3.2关键源代码的实现3.2.1主函数源代码3.2.2主要功能的实现(功能描述、流程图或N-S图)3.3软件测试(包括有效测试数据和无效测试数据)4结果分析与总结4.1结果分析4.2总结第14页,共24页,2023年,2月20日,星期六大型实验课题集合运算及实现校园导游咨询系统的实现哈夫曼编/译码器的实现航空客运订票系统的设计与实现小型图书管理系统的设计与实现课程管理系统的设计与实现内部排序算法的实现停车场管理系统的设计与实现第15页,共24页,2023年,2月20日,星期六集

现【问题描述】

实现集合的基本操作:并、差、交及包含判断。【基本要求】1、集合中数据的规范约定(按字符序列排列)

2、两个集合的并、差、交运算

3、集合包含判断(子集判断)

4、元素的包含判断

5、各种操作提示明确。【测试数据】

由合法的或非法的数据产生规范的集合【实现要求】1.用带表头结点的顺序表或链表有序存储集合中元素;

2.采用合适的算法提高集合的操作,例如交集可以用差集实现;顺序表中查询可以二分查找方法,等等。第16页,共24页,2023年,2月20日,星期六校

现【问题描述】

设计一个校园导游程序,为来访的客人提供各种信息查询服务。各种操作提示明确。【基本要求】

1、设计你的学校的校园的平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度。

2、为来访客人提供图中任意景点相关信息的查询。

3、为来访客人提供图中任意景点的问路查询,即查询任意两个景点间的一条最短的简单路径。

4、景点可以添加或者删除(更新后信息存入文件)。【测试数据】

根据实际情况指定(以学院为例)。【实现要求】1.可以查询某两个景点之间的最短距离,也可以求出所有景点之间的最短距离(用Dijkstra算法)。

2.用文件实现景点信息的初始化。第17页,共24页,2023年,2月20日,星期六哈

/

现【问题描述】

设计一个哈夫曼的编码/译码器。【基本要求】

1、初始化:建立一棵哈夫曼树,并输出其树形。

2、编码:利用建立好的哈夫曼树进行编码,结果存入code.txt文件中。

3、利用哈夫曼树将code.txt中的代码进行译码,结果存入decode.txt文件中。

4、区分译码失败的各种情况,并输出信息。

5、各种操作提示明确。【测试数据】

可以利用教科书中实例调试程序【实现要求】

1、用顺序表存储哈夫曼树

2、用贪心算法建立哈夫曼树

第18页,共24页,2023年,2月20日,星期六航

现【问题描述】

航空客运订票的业务活动包括:查询航线、预订票和退票等。【基本要求】

1、每条航线所拥有的信息有:航班号、终点、乘员定额、余票量、已订票量和已订票客户名单(包括姓名、身份证号码、电话、订票量)。

2、系统主要实现的功能有:

(1)初始化:输入每条航线的原始信息,订票客户名单为空;

(2)查询航线和订票信息:根据客户提出的终点信息,输出相关的航班和订票信息(是两个独立的查询功能);

(3)订票:根据用户提出的要求(终点站名,订票数额)查询航班号及余票额情况,若尚有余票,则为用户办理订票手续;若余票额少于订票数额,则将该乘客安排到等票队伍。

(4)退票:根据客户提出的要求,为客户办理退票手续。

3、要有简明的界面,且各种操作的提示明确。

【测试数据】

对输入数据要有合法和非法约定【实现要求】

1.订票客户名单用链表存储,且按身份证号码升序排列

2.退票后,安排等票的客户办理订票手续第19页,共24页,2023年,2月20日,星期六第20页,共24页,2023年,2月20日,星期六小

现【问题描述】

图书管理基本业务包括:对书的采编入库、清除库存、查阅图书、以及借阅和归还等等。【基本要求】

1、每种书的登记内容至少包括:书号、书名、作者、现存量和总库存量(同一个书号的图书可以有多本)。

2、系统实现的功能如下:(1)采编入库:将新书添加到图书帐目中。如果书已存在,则只增加总库存量。(2)清除库存:将指定的书从图书帐目中删除。(3)查阅图书及借阅情况:查阅指定书名的图书信息(模糊查询);能灵活查找图书借阅情况以及读者借阅情况。(4)借阅:若现存量大于0,则登记借阅信息及改变现存量。(5)归还:注销对借阅者的登记,改变现存量。

3、各种操作的提示明确。【测试数据】

对输入数据要有合法和非法约定【实现要求】

1、确定系统中所有类,以及类之间关系

2、用顺序表或者链表存储图书信息(按书号有序排列)第21页,共24页,2023年,2月20日,星期六内

较【问题描述】

设定随机数据比较指定排序算法的关键字比较和关键子移动次数。【基本要求】

1、对以下6中排序方法进行比较:起泡排序、快速排序、希尔排序、堆排序、归并排序以及基数排序。

2、用随机函数产生不少于100个1~1000的整数关键字。

3、输出排序后的序列(每行输出10个)。

4、输出各排序方法的比较次数和移动次数的比较结果。【测试数据】

数据由随机产生器生成。【实现提示】

根据不同排序方法确定不同的存储结构。第22页,共24页,2023年,2月20日,星期六课

现【问题描述】

设计一个简易的课程管理系统,有求对学生的课程成绩可以进行查询、输入以及输出。【基本要求】1、基础信息输入。如班级信息、学生信息以及课程信息

2、查询信息。以个人、班级名义查询指定或所有课程成绩,也可以查询某门课程的学生成绩。

3、成绩输入。输入指定班级的某个课程成绩

4、修改和撤销成绩。修改和删除个别学生的课程成绩

5、统计成绩。统计统一门课程的分数分布情况

6、各种操作提示明确。【测试数据】

输入数据的格式规范要求【实现要求】1、确定系统中所有类,并确定类之间关系

2、用顺序表或者链表存储相关信息

3、灵活实现课程信息的查询(学生或班级---》课程成绩,课程---》学生成绩)第23页,共24页,2023年,2月20日,星期六停

现【问题描述】

假设停车场是个多个双向通道,设计一个简易的停车场收费系统管理车辆的进出及等候停车操作,并计算停车费用。【基本要求】1、停车及计时:按照停车通道序号进行停车(停车的车道和车位从小到大),停车成功后开始计时(只需记录整时);

2、离开及收费:当车辆离开时,留出车位,并收取停车费用,并及时输出空车位状态;

3、停

温馨提示

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

评论

0/150

提交评论