《数据结构大型实验要求精品文稿.ppt》由会员分享,可在线阅读,更多相关《数据结构大型实验要求精品文稿.ppt(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据结构大型实验要求第1页,本讲稿共24页面向对象的程设计(面向对象的程设计(OOP)方法与一)方法与一般的设计方法不同,它使编程人员可般的设计方法不同,它使编程人员可以把精力集中在操作的对象而不是软以把精力集中在操作的对象而不是软件要完成的功能上。件要完成的功能上。它将系统看作是对象的集合,通过对它将系统看作是对象的集合,通过对象之间的相互作用(消息传递)完成象之间的相互作用(消息传递)完成任务,通过类和对象把数据和处理数任务,通过类和对象把数据和处理数据的操作结合为一个整体。据的操作结合为一个整体。第2页,本讲稿共24页设计步骤设计步骤需求分析和任务定义需求分析和任务定义软件设计软件设计编
2、码及静态检查编码及静态检查测试测试总结和书写大型实验报告总结和书写大型实验报告第3页,本讲稿共24页对复杂软件系统的设计,几乎所有对复杂软件系统的设计,几乎所有的设计方法都采用某种分而治之的的设计方法都采用某种分而治之的策略。面向对象的程序设计以对象策略。面向对象的程序设计以对象作为设计的基础,具有一下优点:作为设计的基础,具有一下优点:便于重复使用已有代码,节省开发时间。便于重复使用已有代码,节省开发时间。便于重复使用已有代码,节省开发时间。便于重复使用已有代码,节省开发时间。程序具有较好的结构性。程序具有较好的结构性。程序具有较好的结构性。程序具有较好的结构性。可以以类为单位独立进行程序测
3、试。可以以类为单位独立进行程序测试。可以以类为单位独立进行程序测试。可以以类为单位独立进行程序测试。容易根据用户的需要进行扩充。容易根据用户的需要进行扩充。容易根据用户的需要进行扩充。容易根据用户的需要进行扩充。第4页,本讲稿共24页需求分析需求分析 和和任务定义任务定义 问题要做什么?限制条件是什么?问题要做什么?限制条件是什么?对所需要完成的任务作出明确的回答对所需要完成的任务作出明确的回答 输入数据的要求输入数据的要求输入数据的要求输入数据的要求 输出数据的要求输出数据的要求输出数据的要求输出数据的要求 界面的要求界面的要求界面的要求界面的要求 解决问题的途径,确定具体算法解决问题的途径
4、,确定具体算法解决问题的途径,确定具体算法解决问题的途径,确定具体算法 确定合法的和非合法的测试数据确定合法的和非合法的测试数据第5页,本讲稿共24页系统设计系统设计在设计这一步骤中分在设计这一步骤中分数据结构设计、数据结构设计、对象设计对象设计和和消息设计消息设计:数据结构设计数据结构设计数据结构设计数据结构设计。确定主要的数据结构,。确定主要的数据结构,。确定主要的数据结构,。确定主要的数据结构,包括元素类型(对象)以及相关的操作。包括元素类型(对象)以及相关的操作。包括元素类型(对象)以及相关的操作。包括元素类型(对象)以及相关的操作。对象设计对象设计对象设计对象设计。定义内部类,为类属
5、性确定。定义内部类,为类属性确定。定义内部类,为类属性确定。定义内部类,为类属性确定具体的数据结构,并确定类之间的关系。具体的数据结构,并确定类之间的关系。具体的数据结构,并确定类之间的关系。具体的数据结构,并确定类之间的关系。消息设计消息设计消息设计消息设计。使用对象间的协作和对象。使用对象间的协作和对象。使用对象间的协作和对象。使用对象间的协作和对象-关关关关系模型,设计消息模型。系模型,设计消息模型。系模型,设计消息模型。系模型,设计消息模型。第6页,本讲稿共24页第7页,本讲稿共24页综合考虑系统功能,对系统进行求精操作:综合考虑系统功能,对系统进行求精操作:使得系统类结构清晰、合理、
6、便于操作和易使得系统类结构清晰、合理、便于操作和易使得系统类结构清晰、合理、便于操作和易使得系统类结构清晰、合理、便于操作和易于测试;于测试;于测试;于测试;对数据结构和基本操作的规格说明做出进一对数据结构和基本操作的规格说明做出进一对数据结构和基本操作的规格说明做出进一对数据结构和基本操作的规格说明做出进一步的求精,补充类的属性和操作;步的求精,补充类的属性和操作;步的求精,补充类的属性和操作;步的求精,补充类的属性和操作;对操作算法进行规范性描述(用图形工具进对操作算法进行规范性描述(用图形工具进对操作算法进行规范性描述(用图形工具进对操作算法进行规范性描述(用图形工具进行算法描述)。行算
7、法描述)。行算法描述)。行算法描述)。在求精过程中,尽量避免陷入语言细节,在求精过程中,尽量避免陷入语言细节,不必过早表述辅助存储结构和局部变量。不必过早表述辅助存储结构和局部变量。第8页,本讲稿共24页编码实现编码实现和和静态检查静态检查编码是把系统设计的结果进一步求编码是把系统设计的结果进一步求精为程序设计语言的过程。精为程序设计语言的过程。源代码除了要实现具体的算法外,源代码除了要实现具体的算法外,还必须一定的组织结构和视觉效果:还必须一定的组织结构和视觉效果:每个函数体,一般不超过每个函数体,一般不超过每个函数体,一般不超过每个函数体,一般不超过8080行,最长不行,最长不行,最长不行
8、,最长不超过超过超过超过100100行,否则应分割成较小的函数;行,否则应分割成较小的函数;行,否则应分割成较小的函数;行,否则应分割成较小的函数;给源代码相应的程序段或语句加上适当给源代码相应的程序段或语句加上适当给源代码相应的程序段或语句加上适当给源代码相应的程序段或语句加上适当的注释;的注释;的注释;的注释;源代码采用缩格书写。源代码采用缩格书写。源代码采用缩格书写。源代码采用缩格书写。第9页,本讲稿共24页认真的静态检查是必不可少的:认真的静态检查是必不可少的:认真的静态检查是必不可少的:认真的静态检查是必不可少的:源代码是否真正实现具体的算法描述;源代码是否真正实现具体的算法描述;源
9、代码是否真正实现具体的算法描述;源代码是否真正实现具体的算法描述;在源代码易于理解的基础上,简化及在源代码易于理解的基础上,简化及在源代码易于理解的基础上,简化及在源代码易于理解的基础上,简化及优化源代码;优化源代码;优化源代码;优化源代码;用一组测试数据手工执行程序;用一组测试数据手工执行程序;用一组测试数据手工执行程序;用一组测试数据手工执行程序;通过阅读或给别人见解自己的程序而通过阅读或给别人见解自己的程序而通过阅读或给别人见解自己的程序而通过阅读或给别人见解自己的程序而深入全面地理解程序逻辑,在这个过深入全面地理解程序逻辑,在这个过深入全面地理解程序逻辑,在这个过深入全面地理解程序逻辑
10、,在这个过程中加入一些新的注释和断言。程中加入一些新的注释和断言。程中加入一些新的注释和断言。程中加入一些新的注释和断言。在静态检查中对于非法的数据输入和在静态检查中对于非法的数据输入和在静态检查中对于非法的数据输入和在静态检查中对于非法的数据输入和操作要加以控制和处理。操作要加以控制和处理。操作要加以控制和处理。操作要加以控制和处理。第10页,本讲稿共24页测试的目的是为了发现软件中存在的问题,测试的目的是为了发现软件中存在的问题,测试的目的是为了发现软件中存在的问题,测试的目的是为了发现软件中存在的问题,并加以修正。并加以修正。并加以修正。并加以修正。面向对象的测试可以分为两个部分:面向对
11、象的测试可以分为两个部分:面向对象的测试可以分为两个部分:面向对象的测试可以分为两个部分:对象测试对象测试对象测试对象测试,在对象设计阶段进行测试,检查成,在对象设计阶段进行测试,检查成,在对象设计阶段进行测试,检查成,在对象设计阶段进行测试,检查成员函数对各种输入参数能否正确完成设计的功员函数对各种输入参数能否正确完成设计的功员函数对各种输入参数能否正确完成设计的功员函数对各种输入参数能否正确完成设计的功能,得到正确的结果。能,得到正确的结果。能,得到正确的结果。能,得到正确的结果。消息传递测试消息传递测试消息传递测试消息传递测试,测试各对象之间的函数调用与被调,测试各对象之间的函数调用与被
12、调,测试各对象之间的函数调用与被调,测试各对象之间的函数调用与被调用联系,以确保消息传递的正确性。用联系,以确保消息传递的正确性。用联系,以确保消息传递的正确性。用联系,以确保消息传递的正确性。第11页,本讲稿共24页测试的一般步骤包括:测试的一般步骤包括:设计一组或几组测试用例,包括合法的设计一组或几组测试用例,包括合法的设计一组或几组测试用例,包括合法的设计一组或几组测试用例,包括合法的和非法的测试数据;和非法的测试数据;和非法的测试数据;和非法的测试数据;根据测试用例,得到预期的结果;根据测试用例,得到预期的结果;根据测试用例,得到预期的结果;根据测试用例,得到预期的结果;将测试用例作为
13、输入数据代入软件系统将测试用例作为输入数据代入软件系统将测试用例作为输入数据代入软件系统将测试用例作为输入数据代入软件系统并运行系统。如果运行结果与预期的结果并运行系统。如果运行结果与预期的结果并运行系统。如果运行结果与预期的结果并运行系统。如果运行结果与预期的结果一致,则说明算法或源代码正确;否则,一致,则说明算法或源代码正确;否则,一致,则说明算法或源代码正确;否则,一致,则说明算法或源代码正确;否则,要修改算法和源代码。要修改算法和源代码。要修改算法和源代码。要修改算法和源代码。第12页,本讲稿共24页上机准备上机准备和和上机测试上机测试上机准备包括:上机准备包括:上机准备包括:上机准备
14、包括:高级语言文本的扩充和限制;高级语言文本的扩充和限制;高级语言文本的扩充和限制;高级语言文本的扩充和限制;熟悉机器的操作系统和语言集成环境的用户熟悉机器的操作系统和语言集成环境的用户熟悉机器的操作系统和语言集成环境的用户熟悉机器的操作系统和语言集成环境的用户手册,尤其是常用的命令的操作;手册,尤其是常用的命令的操作;手册,尤其是常用的命令的操作;手册,尤其是常用的命令的操作;掌握调试工具,考虑调试方案,设计测试数据并手掌握调试工具,考虑调试方案,设计测试数据并手掌握调试工具,考虑调试方案,设计测试数据并手掌握调试工具,考虑调试方案,设计测试数据并手工得出正确结果。工得出正确结果。工得出正确
15、结果。工得出正确结果。上机测试时,要带一本高级语言教材或手册。上机测试时,要带一本高级语言教材或手册。上机测试时,要带一本高级语言教材或手册。上机测试时,要带一本高级语言教材或手册。首先,在每个对象设计时要进行对象测试;首先,在每个对象设计时要进行对象测试;首先,在每个对象设计时要进行对象测试;首先,在每个对象设计时要进行对象测试;然后,在程序流程调试时要测试对象之间的然后,在程序流程调试时要测试对象之间的然后,在程序流程调试时要测试对象之间的然后,在程序流程调试时要测试对象之间的关系和作用。往往整个测试过程是以上两个关系和作用。往往整个测试过程是以上两个关系和作用。往往整个测试过程是以上两个
16、关系和作用。往往整个测试过程是以上两个部分的反复迭代过程。部分的反复迭代过程。部分的反复迭代过程。部分的反复迭代过程。测试后,认真整理源程序及其注释,印测试后,认真整理源程序及其注释,印测试后,认真整理源程序及其注释,印测试后,认真整理源程序及其注释,印出带有完整注释的且格式良好的源程序出带有完整注释的且格式良好的源程序出带有完整注释的且格式良好的源程序出带有完整注释的且格式良好的源程序清单和结果。清单和结果。清单和结果。清单和结果。第13页,本讲稿共24页实实习习报报告告规规范范1 1 软件需求分析软件需求分析软件需求分析软件需求分析1.1 1.1 软件达到的目的软件达到的目的软件达到的目的
17、软件达到的目的1.2 1.2 软件功能说明软件功能说明软件功能说明软件功能说明1.3 1.3 设计环境设计环境设计环境设计环境2 2 系统设计系统设计系统设计系统设计2.1 2.1 数据结构设计数据结构设计数据结构设计数据结构设计2.1.1 2.1.1 主要数据结构类型的分析与选择(逻辑结构)主要数据结构类型的分析与选择(逻辑结构)主要数据结构类型的分析与选择(逻辑结构)主要数据结构类型的分析与选择(逻辑结构)2.1.2 2.1.2 数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象以及具体的操作的确定数据结构中的数据对象以及具体的操作的确定2
18、.2 2.2 对象设计对象设计对象设计对象设计 2.2.1 2.2.1 系统中的类及对象系统中的类及对象系统中的类及对象系统中的类及对象2.2.2 2.2.2 类图设计类图设计类图设计类图设计2.3 2.3 消息设计消息设计消息设计消息设计2.3.1 2.3.1 对象之间的消息传递说明对象之间的消息传递说明对象之间的消息传递说明对象之间的消息传递说明2.3.2 2.3.2 关键算法设计关键算法设计关键算法设计关键算法设计2.4 2.4 界面设计界面设计界面设计界面设计3 3 系统实现系统实现系统实现系统实现3.1 3.1 类的定义(存储结构)类的定义(存储结构)类的定义(存储结构)类的定义(存
19、储结构)3.2 3.2 关键源代码的实现关键源代码的实现关键源代码的实现关键源代码的实现3.2.1 3.2.1 主函数源代码主函数源代码主函数源代码主函数源代码3.2.2 3.2.2 主要功能的实现(功能描述、流程图或主要功能的实现(功能描述、流程图或主要功能的实现(功能描述、流程图或主要功能的实现(功能描述、流程图或N-SN-S图)图)图)图)3.3 3.3 软件测试(包括有效测试数据和无效测试数据)软件测试(包括有效测试数据和无效测试数据)软件测试(包括有效测试数据和无效测试数据)软件测试(包括有效测试数据和无效测试数据)4 4 结果分析与总结结果分析与总结结果分析与总结结果分析与总结4.
20、1 4.1 结果分析结果分析结果分析结果分析4.2 4.2 总结总结总结总结第14页,本讲稿共24页大型实验课题大型实验课题集合运算及实现集合运算及实现校园导游咨询系统的实现校园导游咨询系统的实现 哈夫曼编哈夫曼编/译码器的实现译码器的实现航空客运订票系统的设计与实现航空客运订票系统的设计与实现小型图书管理系统的设计与实现小型图书管理系统的设计与实现课程管理系统的设计与实现课程管理系统的设计与实现内部排序算法的实现内部排序算法的实现停车场管理系统的设计与实现停车场管理系统的设计与实现第15页,本讲稿共24页集集集集合合合合的的的的运运运运算算算算及及及及实实实实现现现现【问题描述问题描述问题描
21、述问题描述】实现集合的基本操作:并、差、交及包含判断。实现集合的基本操作:并、差、交及包含判断。实现集合的基本操作:并、差、交及包含判断。实现集合的基本操作:并、差、交及包含判断。【基本要求基本要求基本要求基本要求】1 1 1 1、集合中数据的规范约定(按字符序列排列)、集合中数据的规范约定(按字符序列排列)、集合中数据的规范约定(按字符序列排列)、集合中数据的规范约定(按字符序列排列)2 2 2 2、两个集合的并、差、交运算、两个集合的并、差、交运算、两个集合的并、差、交运算、两个集合的并、差、交运算 3 3 3 3、集合包含判断(子集判断)、集合包含判断(子集判断)、集合包含判断(子集判断
22、)、集合包含判断(子集判断)4 4 4 4、元素的包含判断、元素的包含判断、元素的包含判断、元素的包含判断 5 5 5 5、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。【测试数据测试数据测试数据测试数据】由合法的或非法的数据产生规范的集合由合法的或非法的数据产生规范的集合由合法的或非法的数据产生规范的集合由合法的或非法的数据产生规范的集合 【实现要求实现要求实现要求实现要求】1.1.1.1.用带表头结点的顺序表或链表有序存储集合中元素;用带表头结点的顺序表或链表有序存储集合中元素;用带表头结点的顺序表或链表有序存储集合中元素;用带表头结点的顺序表或链表有序存储
23、集合中元素;2.2.2.2.采用合适的算法提高集合的操作,例如交集可以用差集实采用合适的算法提高集合的操作,例如交集可以用差集实采用合适的算法提高集合的操作,例如交集可以用差集实采用合适的算法提高集合的操作,例如交集可以用差集实现;顺序表中查询可以二分查找方法,等等。现;顺序表中查询可以二分查找方法,等等。现;顺序表中查询可以二分查找方法,等等。现;顺序表中查询可以二分查找方法,等等。第16页,本讲稿共24页校校校校园园园园导导导导游游游游咨咨咨咨询询询询系系系系统统统统的的的的实实实实现现现现【问题描述问题描述问题描述问题描述】设计一个校园导游程序,为来访的客人提供各种信息查询服务。各种设计
24、一个校园导游程序,为来访的客人提供各种信息查询服务。各种设计一个校园导游程序,为来访的客人提供各种信息查询服务。各种设计一个校园导游程序,为来访的客人提供各种信息查询服务。各种操作提示明确。操作提示明确。操作提示明确。操作提示明确。【基本要求基本要求基本要求基本要求】1 1、设计你的学校的校园的平面图,所含景点不少于、设计你的学校的校园的平面图,所含景点不少于、设计你的学校的校园的平面图,所含景点不少于、设计你的学校的校园的平面图,所含景点不少于1010个。以图中顶个。以图中顶个。以图中顶个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,点表示校内各景点,存放景点名称
25、、代号、简介等信息;以边表示路径,点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度。存放路径长度。存放路径长度。存放路径长度。2 2、为来访客人提供图中任意景点相关信息的查询。、为来访客人提供图中任意景点相关信息的查询。、为来访客人提供图中任意景点相关信息的查询。、为来访客人提供图中任意景点相关信息的查询。3 3、为来访客人提供图中任意景点的问路查询,即查询任意两个景点间的一、为来访客人提供图中任意景点的问路查询,即查询任意两个景点间的一、为来访客人提供图中任意景点的问路查询,即查询任意两个景点间的一、
26、为来访客人提供图中任意景点的问路查询,即查询任意两个景点间的一条最短的简单路径。条最短的简单路径。条最短的简单路径。条最短的简单路径。4 4、景点可以添加或者删除(更新后信息存入文件)。、景点可以添加或者删除(更新后信息存入文件)。、景点可以添加或者删除(更新后信息存入文件)。、景点可以添加或者删除(更新后信息存入文件)。【测试数据测试数据测试数据测试数据】根据实际情况指定(以学院为例)。根据实际情况指定(以学院为例)。根据实际情况指定(以学院为例)。根据实际情况指定(以学院为例)。【实现要求实现要求实现要求实现要求】1.1.可以查询某两个景点之间的最短距离,也可以求出所有景点之间的最短可以查
27、询某两个景点之间的最短距离,也可以求出所有景点之间的最短可以查询某两个景点之间的最短距离,也可以求出所有景点之间的最短可以查询某两个景点之间的最短距离,也可以求出所有景点之间的最短距离(用距离(用距离(用距离(用DijkstraDijkstra算法)。算法)。算法)。算法)。2.2.用文件实现景点信息的初始化。用文件实现景点信息的初始化。用文件实现景点信息的初始化。用文件实现景点信息的初始化。第17页,本讲稿共24页哈哈哈哈夫夫夫夫曼曼曼曼编编编编码码码码/译译译译码码码码器器器器的的的的实实实实现现现现【问题描述问题描述问题描述问题描述】设计一个哈夫曼的编码设计一个哈夫曼的编码设计一个哈夫曼
28、的编码设计一个哈夫曼的编码/译码器。译码器。译码器。译码器。【基本要求基本要求基本要求基本要求】1 1、初始化:建立一棵哈夫曼树,并输出其树形。初始化:建立一棵哈夫曼树,并输出其树形。初始化:建立一棵哈夫曼树,并输出其树形。初始化:建立一棵哈夫曼树,并输出其树形。2 2、编码:利用建立好的哈夫曼树进行编码,结果存入编码:利用建立好的哈夫曼树进行编码,结果存入编码:利用建立好的哈夫曼树进行编码,结果存入编码:利用建立好的哈夫曼树进行编码,结果存入code.txtcode.txt文文文文件中。件中。件中。件中。3 3、利用哈夫曼树将、利用哈夫曼树将、利用哈夫曼树将、利用哈夫曼树将code.txtc
29、ode.txt中的代码进行译码,结果存入中的代码进行译码,结果存入中的代码进行译码,结果存入中的代码进行译码,结果存入decode.txtdecode.txt文件中。文件中。文件中。文件中。4 4、区分译码失败的各种情况,并输出信息。、区分译码失败的各种情况,并输出信息。、区分译码失败的各种情况,并输出信息。、区分译码失败的各种情况,并输出信息。5 5、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。【测试数据测试数据测试数据测试数据】可以利用教科书中实例调试程序可以利用教科书中实例调试程序可以利用教科书中实例调试程序可以利用教科书中实例调试程序【实现要求实现要求
30、实现要求实现要求】1 1、用顺序表存储哈夫曼树、用顺序表存储哈夫曼树、用顺序表存储哈夫曼树、用顺序表存储哈夫曼树 2 2、用贪心算法建立哈夫曼树、用贪心算法建立哈夫曼树、用贪心算法建立哈夫曼树、用贪心算法建立哈夫曼树 第18页,本讲稿共24页航航航航空空空空客客客客运运运运订订订订票票票票系系系系统统统统的的的的设设设设计计计计与与与与实实实实现现现现【问题描述问题描述问题描述问题描述】航空客运订票的业务活动包括:查询航线、预订票和退票等。航空客运订票的业务活动包括:查询航线、预订票和退票等。航空客运订票的业务活动包括:查询航线、预订票和退票等。航空客运订票的业务活动包括:查询航线、预订票和退
31、票等。【基本要求基本要求基本要求基本要求】1 1、每条航线所拥有的信息有:航班号、终点、乘员定额、余票量、已订票量和已订票每条航线所拥有的信息有:航班号、终点、乘员定额、余票量、已订票量和已订票每条航线所拥有的信息有:航班号、终点、乘员定额、余票量、已订票量和已订票每条航线所拥有的信息有:航班号、终点、乘员定额、余票量、已订票量和已订票客户名单(包括姓名、身份证号码、电话、订票量)。客户名单(包括姓名、身份证号码、电话、订票量)。客户名单(包括姓名、身份证号码、电话、订票量)。客户名单(包括姓名、身份证号码、电话、订票量)。2 2、系统主要实现的功能有:系统主要实现的功能有:系统主要实现的功能
32、有:系统主要实现的功能有:(1)(1)初始化:输入每条航线的原始信息,订票客户名单为空;初始化:输入每条航线的原始信息,订票客户名单为空;初始化:输入每条航线的原始信息,订票客户名单为空;初始化:输入每条航线的原始信息,订票客户名单为空;(2)(2)查询航线和订票信息:根据客户提出的终点信息,输出相关的航班和订票信息(是两查询航线和订票信息:根据客户提出的终点信息,输出相关的航班和订票信息(是两查询航线和订票信息:根据客户提出的终点信息,输出相关的航班和订票信息(是两查询航线和订票信息:根据客户提出的终点信息,输出相关的航班和订票信息(是两个独立的查询功能);个独立的查询功能);个独立的查询功
33、能);个独立的查询功能);(3)(3)订票:根据用户提出的要求(终点站名,订票数额)查询航班号及余票额情况,订票:根据用户提出的要求(终点站名,订票数额)查询航班号及余票额情况,订票:根据用户提出的要求(终点站名,订票数额)查询航班号及余票额情况,订票:根据用户提出的要求(终点站名,订票数额)查询航班号及余票额情况,若尚有余票,则为用户办理订票手续;若余票额少于订票数额,则将该乘客安排到等若尚有余票,则为用户办理订票手续;若余票额少于订票数额,则将该乘客安排到等若尚有余票,则为用户办理订票手续;若余票额少于订票数额,则将该乘客安排到等若尚有余票,则为用户办理订票手续;若余票额少于订票数额,则将
34、该乘客安排到等票队伍。票队伍。票队伍。票队伍。(4)(4)退票退票退票退票 :根据客户提出的要求,为客户办理退票手续。:根据客户提出的要求,为客户办理退票手续。:根据客户提出的要求,为客户办理退票手续。:根据客户提出的要求,为客户办理退票手续。3 3、要有简明的界面,且各种操作的提示明确。、要有简明的界面,且各种操作的提示明确。、要有简明的界面,且各种操作的提示明确。、要有简明的界面,且各种操作的提示明确。【测试数据测试数据测试数据测试数据】对输入数据要有合法和非法约定对输入数据要有合法和非法约定对输入数据要有合法和非法约定对输入数据要有合法和非法约定【实现要求实现要求实现要求实现要求】1.1
35、.订票客户名单用链表存储,且按身份证号码升序排列订票客户名单用链表存储,且按身份证号码升序排列订票客户名单用链表存储,且按身份证号码升序排列订票客户名单用链表存储,且按身份证号码升序排列 2.2.退票后,安排等票的客户办理订票手续退票后,安排等票的客户办理订票手续退票后,安排等票的客户办理订票手续退票后,安排等票的客户办理订票手续第19页,本讲稿共24页第20页,本讲稿共24页小小小小型型型型图图图图书书书书管管管管理理理理系系系系统统统统的的的的设设设设计计计计与与与与实实实实现现现现【问题描述问题描述问题描述问题描述】图书管理基本业务包括:对书的采编入库、清除库存、查阅图书、以及借阅和归还
36、等图书管理基本业务包括:对书的采编入库、清除库存、查阅图书、以及借阅和归还等图书管理基本业务包括:对书的采编入库、清除库存、查阅图书、以及借阅和归还等图书管理基本业务包括:对书的采编入库、清除库存、查阅图书、以及借阅和归还等等。等。等。等。【基本要求基本要求基本要求基本要求】1 1、每种书的登记内容至少包括:书号、书名、作者、现存量和总库存量(同一个书每种书的登记内容至少包括:书号、书名、作者、现存量和总库存量(同一个书每种书的登记内容至少包括:书号、书名、作者、现存量和总库存量(同一个书每种书的登记内容至少包括:书号、书名、作者、现存量和总库存量(同一个书号的图书可以有多本)。号的图书可以有
37、多本)。号的图书可以有多本)。号的图书可以有多本)。2 2、系统实现的功能如下:系统实现的功能如下:系统实现的功能如下:系统实现的功能如下:(1 1)采编入库:将新书添加到图书帐目中。如果书已存在,则只增加)采编入库:将新书添加到图书帐目中。如果书已存在,则只增加)采编入库:将新书添加到图书帐目中。如果书已存在,则只增加)采编入库:将新书添加到图书帐目中。如果书已存在,则只增加总库存量。总库存量。总库存量。总库存量。(2 2)清除库存:将指定的书从图书帐目中删除。)清除库存:将指定的书从图书帐目中删除。)清除库存:将指定的书从图书帐目中删除。)清除库存:将指定的书从图书帐目中删除。(3 3)查
38、阅图书及借阅情况:查阅指定书名的图书信息(模糊查询);能灵)查阅图书及借阅情况:查阅指定书名的图书信息(模糊查询);能灵)查阅图书及借阅情况:查阅指定书名的图书信息(模糊查询);能灵)查阅图书及借阅情况:查阅指定书名的图书信息(模糊查询);能灵活查找图书借阅情况以及读者借阅情况。活查找图书借阅情况以及读者借阅情况。活查找图书借阅情况以及读者借阅情况。活查找图书借阅情况以及读者借阅情况。(4 4)借阅:若现存量大于)借阅:若现存量大于)借阅:若现存量大于)借阅:若现存量大于0 0,则登记借阅信息及改变现存量。,则登记借阅信息及改变现存量。,则登记借阅信息及改变现存量。,则登记借阅信息及改变现存量
39、。(5 5)归还:注销对借阅者的登记,改变现存量。)归还:注销对借阅者的登记,改变现存量。)归还:注销对借阅者的登记,改变现存量。)归还:注销对借阅者的登记,改变现存量。3 3、各种操作的提示明确。、各种操作的提示明确。、各种操作的提示明确。、各种操作的提示明确。【测试数据测试数据测试数据测试数据】对输入数据要有合法和非法约定对输入数据要有合法和非法约定对输入数据要有合法和非法约定对输入数据要有合法和非法约定【实现要求实现要求实现要求实现要求】1 1、确定系统中所有类,以及类之间关系、确定系统中所有类,以及类之间关系、确定系统中所有类,以及类之间关系、确定系统中所有类,以及类之间关系 2 2、
40、用顺序表或者链表存储图书信息(按书号有序排列)、用顺序表或者链表存储图书信息(按书号有序排列)、用顺序表或者链表存储图书信息(按书号有序排列)、用顺序表或者链表存储图书信息(按书号有序排列)第21页,本讲稿共24页内内部部排排序序的的实实现现及及比比较较【问题描述问题描述问题描述问题描述】设定随机数据比较指定排序算法的关键字比较和关键子移动次数。设定随机数据比较指定排序算法的关键字比较和关键子移动次数。设定随机数据比较指定排序算法的关键字比较和关键子移动次数。设定随机数据比较指定排序算法的关键字比较和关键子移动次数。【基本要求基本要求基本要求基本要求】1 1、对以下、对以下、对以下、对以下6
41、6中排序方法进行比较:中排序方法进行比较:中排序方法进行比较:中排序方法进行比较:起泡排序、快速排序、希尔排序、堆排序、归并排序以及基数排序起泡排序、快速排序、希尔排序、堆排序、归并排序以及基数排序起泡排序、快速排序、希尔排序、堆排序、归并排序以及基数排序起泡排序、快速排序、希尔排序、堆排序、归并排序以及基数排序。2 2、用随机函数产生不少于用随机函数产生不少于用随机函数产生不少于用随机函数产生不少于100100个个个个1100011000的整数关键字。的整数关键字。的整数关键字。的整数关键字。3 3、输出排序后的序列(每行输出、输出排序后的序列(每行输出、输出排序后的序列(每行输出、输出排序
42、后的序列(每行输出1010个)。个)。个)。个)。4 4、输出各排序方法的比较次数和移动次数的比较结果。、输出各排序方法的比较次数和移动次数的比较结果。、输出各排序方法的比较次数和移动次数的比较结果。、输出各排序方法的比较次数和移动次数的比较结果。【测试数据测试数据测试数据测试数据】数据由随机产生器生成。数据由随机产生器生成。数据由随机产生器生成。数据由随机产生器生成。【实现提示实现提示实现提示实现提示】根据不同排序方法确定不同的存储结构。根据不同排序方法确定不同的存储结构。根据不同排序方法确定不同的存储结构。根据不同排序方法确定不同的存储结构。第22页,本讲稿共24页课课课课程程程程管管管管
43、理理理理系系系系统统统统的的的的设设设设计计计计与与与与实实实实现现现现【问题描述问题描述问题描述问题描述】设计一个简易的课程管理系统,有求对学生的课程成绩可以进行查询、输入以及输出。设计一个简易的课程管理系统,有求对学生的课程成绩可以进行查询、输入以及输出。设计一个简易的课程管理系统,有求对学生的课程成绩可以进行查询、输入以及输出。设计一个简易的课程管理系统,有求对学生的课程成绩可以进行查询、输入以及输出。【基本要求基本要求基本要求基本要求】1 1 1 1、基础信息输入。如班级信息、学生信息以及课程信息、基础信息输入。如班级信息、学生信息以及课程信息、基础信息输入。如班级信息、学生信息以及课
44、程信息、基础信息输入。如班级信息、学生信息以及课程信息 2 2 2 2、查询信息。以个人、班级名义查询指定或所有课程成绩,也可以查询某门、查询信息。以个人、班级名义查询指定或所有课程成绩,也可以查询某门、查询信息。以个人、班级名义查询指定或所有课程成绩,也可以查询某门、查询信息。以个人、班级名义查询指定或所有课程成绩,也可以查询某门课程的学生成绩。课程的学生成绩。课程的学生成绩。课程的学生成绩。3 3 3 3、成绩输入。输入指定班级的某个课程成绩、成绩输入。输入指定班级的某个课程成绩、成绩输入。输入指定班级的某个课程成绩、成绩输入。输入指定班级的某个课程成绩 4 4 4 4、修改和撤销成绩。修
45、改和删除个别学生的课程成绩、修改和撤销成绩。修改和删除个别学生的课程成绩、修改和撤销成绩。修改和删除个别学生的课程成绩、修改和撤销成绩。修改和删除个别学生的课程成绩 5 5 5 5、统计成绩。统计统一门课程的分数分布情况、统计成绩。统计统一门课程的分数分布情况、统计成绩。统计统一门课程的分数分布情况、统计成绩。统计统一门课程的分数分布情况 6 6 6 6、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。【测试数据测试数据测试数据测试数据】输入数据的格式规范要求输入数据的格式规范要求输入数据的格式规范要求输入数据的格式规范要求 【实现要求实现要求实现要求实现要求】1
46、 1 1 1、确定系统中所有类,并确定类之间关系、确定系统中所有类,并确定类之间关系、确定系统中所有类,并确定类之间关系、确定系统中所有类,并确定类之间关系 2 2 2 2、用顺序表或者链表存储相关信息、用顺序表或者链表存储相关信息、用顺序表或者链表存储相关信息、用顺序表或者链表存储相关信息 3 3 3 3、灵活实现课程信息的查询(学生或班级、灵活实现课程信息的查询(学生或班级、灵活实现课程信息的查询(学生或班级、灵活实现课程信息的查询(学生或班级-课程成绩,课程课程成绩,课程课程成绩,课程课程成绩,课程-学生成学生成学生成学生成绩)绩)绩)绩)第23页,本讲稿共24页停停停停车车车车场场场场
47、管管管管理理理理系系系系统统统统的的的的设设设设计计计计与与与与实实实实现现现现【问题描述问题描述问题描述问题描述】假设停车场是个多个双向通道,设计一个简易的停车场收费系统管理车辆的进出及等候假设停车场是个多个双向通道,设计一个简易的停车场收费系统管理车辆的进出及等候假设停车场是个多个双向通道,设计一个简易的停车场收费系统管理车辆的进出及等候假设停车场是个多个双向通道,设计一个简易的停车场收费系统管理车辆的进出及等候停车操作,并计算停车费用。停车操作,并计算停车费用。停车操作,并计算停车费用。停车操作,并计算停车费用。【基本要求基本要求基本要求基本要求】1 1、停车及计时:按照停车通道序号进行
48、停车(停车的车道和车位从小到、停车及计时:按照停车通道序号进行停车(停车的车道和车位从小到、停车及计时:按照停车通道序号进行停车(停车的车道和车位从小到、停车及计时:按照停车通道序号进行停车(停车的车道和车位从小到大),停车成功后开始计时(只需记录整时);大),停车成功后开始计时(只需记录整时);大),停车成功后开始计时(只需记录整时);大),停车成功后开始计时(只需记录整时);2 2、离开及收费:当车辆离开时,留出车位,并收取停车费用,并及时、离开及收费:当车辆离开时,留出车位,并收取停车费用,并及时、离开及收费:当车辆离开时,留出车位,并收取停车费用,并及时、离开及收费:当车辆离开时,留出
49、车位,并收取停车费用,并及时输出空车位状态;输出空车位状态;输出空车位状态;输出空车位状态;3 3、停车状况查询:依次输出各停车通道的停车状况;、停车状况查询:依次输出各停车通道的停车状况;、停车状况查询:依次输出各停车通道的停车状况;、停车状况查询:依次输出各停车通道的停车状况;4 4、等候停车:如果没有停车位,车辆在等候队列排队等候停车(如果、等候停车:如果没有停车位,车辆在等候队列排队等候停车(如果、等候停车:如果没有停车位,车辆在等候队列排队等候停车(如果、等候停车:如果没有停车位,车辆在等候队列排队等候停车(如果候车队列已满,则给出禁止停车信息)。如有空位后,则退出等候队候车队列已满
50、,则给出禁止停车信息)。如有空位后,则退出等候队候车队列已满,则给出禁止停车信息)。如有空位后,则退出等候队候车队列已满,则给出禁止停车信息)。如有空位后,则退出等候队列,进入停车通道,开始计费。列,进入停车通道,开始计费。列,进入停车通道,开始计费。列,进入停车通道,开始计费。5 5、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。、各种操作提示明确。【测试数据测试数据测试数据测试数据】对输入数据要有合法和非法约定输出格式对输入数据要有合法和非法约定输出格式对输入数据要有合法和非法约定输出格式对输入数据要有合法和非法约定输出格式 【实现要求实现要求实现要求实现要求】1.1.车道信息