文档库 最新最全的文档下载
当前位置:文档库 › 实验一 Rose基本使用及用例图

实验一 Rose基本使用及用例图

实验一 Rose基本使用及用例图
实验一 Rose基本使用及用例图

实验一Rose基本使用及用例图

[实验目的]

1.熟悉Rose的系统界面,掌握其基本使用方法。

2.熟悉模型图标元素。

3.掌握用例图的绘制方法。

[实验内容]

1.练习Rose的基本使用。

2.熟悉UML模型元素及表示方法。

3.绘制图书馆管理系统的用例图。

[实验要点及说明]

一、Rose简介

Rose是美国的Rational公司的面向对象建模工具,利用这个工具,可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C++、Java、VB和Oracle等语言和系统的代码。

Rational Rose在建模方面具有以下特点:

1.保证模型和代码高度一致。

Rose可以实现真正意义上的正向、逆向和双向工程。

2.支持多种语言。

Rose本身能够支持的语言包括C++、Visual C++、Java、Visual Basic、PowerBuilder 等,还可为数据库应用产生数据库描述语言(DDL)。

3.为团队开发提供强有力的支持。

Rose提供了两种方式来支持团队开发:一种是采用SCM(软件配置管理)的团队开发方式;另一种是没有SCM情况下的团队开发方式。这两种方式为用户提供了极大的灵活性,用户可以根据开发的规模和开发人员数目以及资金情况等选择一种方式进行团队开发。

4.支持模型的Internet发布。

Rose的Internet Web Publisher能够创建一个基于Web的Rose模型的HTML版本,使得其他人员能够通过标准的浏览器,如IE来浏览该模型。

5.生成使用简单且定制灵活的文档。

Rose本身提供了直接产生模型文档的功能。

6.支持关系型数据库的建模。

利用Rose能够进行数据库的建模。Rose能够为ANSI、Oracle、SQL Server等支持标准DDL的数据库自动生成数据描述语言。

Rational Rose 基本使用

Rational Rose主界面如下图所示::

Rose的工作区分为4个部分:浏览器、文档区、编辑区和日志区。

1.浏览器——用来浏览、创建、删除和修改模型中的模型元素。

浏览器是层次结构,组成树形视图样式,用于在Rose模型中迅速定位。浏览器可以显示模型中的所有元素,包括用例、关系、类和组件等,每个模型元素可能又包含其他元素。利用浏览器可以增加模型元素(参与者、用例、类、组件、图等);浏览现有的模型元素;浏览现有的模型元素之间的关系;移动模型元素;更名模型元素;将模型元素添加到图中;将文件或者URL链接到模型元素上;将模型元素组成包;访问模型元素的详细规范;打开图。

浏览器中有4个视图:Use Case View(用例视图)、Logical View(逻辑视图)、Component

View(组件视图)、Deployment View(配置视图)。

2.文档区——用来显示和书写各个模型元素的文档注释。

文档区用于为Rose模型元素建立文档,例如对浏览器中的每一个参与者写一个简要定义,只要在文档区输入这个定义即可。

3.编辑区——用来显示和创作模型的各种图。

在编辑区中,可以打开模型中的任意一张图,并利用左边的工具栏对图进行浏览和修改。修改图中的模型元素时,Rose会自动更新浏览器。同样,通过浏览器改变元素时,Rose也会自动更新相应的图。这样就可以保证模型的一致性。

4.日志区——用来记录对模型所做的所有重要动作。

Rational Rose的视图

Rose模型中有4个视图:Use Case View(用例视图)、Logical View(逻辑视图)、Component View(组件视图)、Deployment View(配置视图)。每个视图针对不同的对象,具有不同的作用。

https://www.wendangku.net/doc/b510982002.html,e Case View(用例视图)

用例视图包括系统中的所有参与者、用例和用例图,还可能包括一些时序图或协作图。用例视图是系统中与实现无关的视图,它只关注系统功能的高层形状,而不关注系统的具体

实现方法。

通常在项目开始时要先确定,之后不轻易修改。

2.Logical View(逻辑视图)

逻辑视图关注系统如何实现用例中提出的功能,提供系统的详细图形,描述组件之间如何关联。另外,逻辑视图还包括需要的特定类、类图和状态图。利用这些细节元素,开发人员可以构造系统的详细信息。

从逻辑视图中可以看到系统的逻辑结构。

https://www.wendangku.net/doc/b510982002.html,ponent View(组件视图)

组件视图显示代码模块之间的关系。组件视图包含模型代码库、可执行文件、运行库和其他组件的信息。组件是代码的实际模块。在Rose中,组件和组件图在组件视图中显示。

从组件视图中可以看出系统实现的物理结构。

4.Deployment View(配置视图)

配置视图关注系统的实际配置,可能与系统的逻辑结构有所不同。例如,系统可能使用三层逻辑结构,但配置可能是两层的。配置视图还要处理其他问题,如容错、网络带宽、故

障恢复和响应时间等。

一个项目只有一个配置视图。

使用Rational Rose建模

1.创建模型

Rose模型文件的扩展名是.mdl,要创建模型,需要完成下列步骤:

1)从菜单栏选择“File→New”,或单击标准工具栏中的“New”按钮;

2)弹出如图2-14所示的对话框,选择要用到的框架,单击“OK”按钮。如果不使用模板,单击“Cancel”按钮。

如果选择使用模板,Rose会自动装入此模板的默认包、类和组件。模板提供了每个包中的类和接口,各有相应的属性和操作。通过创建模板,可以收集类与组件,便于作为基础设计和建立多个系统。如果单击“Cancel”按钮,表示创建一个空项目,用户需要从头开始创建模型。

2.保存模型

Rational Rose的保存,类似于其他应用程序。可以通过菜单或者工具栏来实现。

1)保存模型:通过选择菜单“File→Save”或者工具栏的“Save”按钮,来保存系统建模。

2)保存日志:激活日志窗口(见图2-30),通过菜单“File→Save Log As”来保存,或者右键单击日志窗口,在弹出的菜单中选择“Save Log As”命令来保存。

3.设置全局选项

全局选项可以通过菜单Tools→Options进行设置。

1)设置字体

在Options对话框中,可以设置文档窗口字体、日志窗口字体和默认字体,点击不同的Front按钮,就可以分别设置字体。

2)设置颜色

Rose中可以单独修改对象的颜色。点击Options对话框中的Line Color和Fill Color按钮,用户可以分别设置对象的线颜色和填充颜色。

二、UML中的模型元素

UML中的模型元素包括事物和事物之间的联系。事物是UML中重要的组成部分,它代表任何可以定义的东西。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。每一个模型元素都有一个与之相对应的图形元素。模型元素的图形表示使UML的模型图形化,而图形语言的简明和直观使其成为人们建立问题模型的有力工具。

事物

UML模型中的事物可分为结构事物、动作事物、分组事物和注释事物4类。这些事物是UML模型中面向对象的基本的建筑块,他们在模型中属于静态部分,代表物理上或概念上的元素。

1. 结构事物

UML模型中最基本的结构化事物共有7种,类、接口、协作、用例、活动类、组件和节点。

(1)类(如图1-1所示)

对具有相同属性、方法、关系和语义的对象的抽象。

(2)接口(如图1-2所示)

类或组件提供特定服务的一组操作的集合。

描述了类或组件的对外可见的动作。

(3)协作(如图1-3所示)

定义了交互操作。

代表构成系统的模式的实现。

(4)用例(如图1-4所示)

描述系统对一个特定角色执行的一系列动作。

组织动作事物。

图1-1 类图1-2 接口图1-3 协作图1-4 用例(5)主动类(如图1-5所示)

类对象有一个或多个进程或线程的类。

(6)组件(如图1-6所示)

实现了一个接口集合的物理上可替换的系统部分。

(7)节点(如图1-7所示)

在运行时存在的一个物理元素。

代表一个可计算的资源。

通常占用一些内存和具有处理能力。

图1-5 活动类图1-6 组件图1-7 节点

2. 动作事物

动作事物是UML模型中的动态部分,它们是模型的动词,代表时间和空间上的动作。交互和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。

(1)交互

一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。在UML中消息表示为带箭头的直线,直线上标注操作名字,如图1-8所示。

(2)状态机

由一系列对象的状态组成。在UML中状态的图形表示如图1-9所示。

3. 分组事物

分组事物是UML模型中组织的部分。

分组事物只有一种,称为包。

包是一种将有组织的元素分组的机制。

包只存在于开发阶段。

包的图形表示如图1-10所示。

4. 注释事物

UML模型的解释部分。在UML中注释事物的图形表示如图1-11所示。

图1-8 消息 图1-9 状态 图1-10 包 图1-11 注释 ① UML 中的关系

UML 中包括如下几种常用关系。

1.关联关系。关联关系连接元素和链接实例,它用连接两个模型元素的实线表示。如图1-12所示

2.依赖关系。依赖关系描述一个元素对另一个元素的依附。依赖关系用源模型指向目标模型的带箭头的虚线表示,如图1-13所示。

图1-12 关联 图1-13 依赖

3.泛化关系。泛化关系也称为继承关系,这种关系意味着一个元素是另一个元素的特例。泛化用一条带空心三角箭头的实线表示,他从表示特殊性事物的模型元素指向表示一般性事物的模型元素,如图1-14所示。

4.实现关系。实现关系描述一个元素实现另一个元素。实现关系用一条带空心三角箭头的虚线表示,箭头从源模型指向目标模型,表示源模型元素实现目标元素模型,如图1-15所示。

5.聚合关系。聚合关系描述元素之间部分与整体的关系,即一个表示整体的模型元素可能由几个表示部分的模型元素聚合而成。聚合关系用一端带有空心小菱形的直线表示,小菱形端连接表示整体事物的模型元素,另一端连接表示部分事物的模型元素,如图1-16所示。

图1-14 泛化 图1-15 实现 图1-16 聚合

三、实例——图书馆管理系统的用例图

1.确定系统涉及的总体信息

① 读者:

? 借书

? 还书

? 书籍预定

② 图书馆管理员:

? 书籍借出处理

? 书籍归还处理

? 预定信息处理

③ 系统管理员:

? 增加书目

? 删除或更新书目

? 增加书籍

?减少书籍

?增加读者账户信息

?删除或更新读者账户信息

?书籍信息查询

?读者信息查询

2.确定系统的参与者

图书馆管理系统的参与者:

?读者(借阅者)

?图书馆管理员

?图书馆管理系统维护者

3.确定系统的用例

①借阅者请求服务的用例

?登录系统

?查询自己的借阅信息

?查询书籍信息

?预定书籍

?借阅书籍

?归还书籍

②图书馆管理员处理借书、还书的用例

?处理书籍借阅

?处理书籍归还

?删除预定信息

③系统管理员进行系统维护的用例

?查询借阅者信息

?查询书籍信息

?增加书目

?删除或更新书目

?增加书籍

?删除书籍

?添加借阅者账户

?删除或更新借阅者账户

4.使用Rose绘制用例图的步骤

①创建用例图

在浏览器窗口中,在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择New →Use Case Diagram。此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,这个图标就是新建的用例图的图标。右键单击此图标,在弹出的菜单中选择Rename 菜单项,可以为用例图重命名。

双击用例图图标,出现用例图的编辑区和编辑工具栏。

②工具栏的定制

用户可以根据需要自行定制和添加工具栏中的图标按钮,操作方法为:右键单击工具栏的空白处,在弹出的菜单中选择Customize菜单项,出现“自定义工具栏”对话框,在此对话框中可以添加工具栏中的图标按钮。

③添加参与者与用例

?绘制参与者与用例。参与者和用例的绘制方法相同,首先点击工具栏中的图标按钮,

然后在编辑区要绘制的地方单击鼠标左键。

?设置用例的属性。在用例上双击,弹出用例属性设置对话框。也可以在选中的用例上单击右键,在弹出的菜单中选择“Open Specification...”,打开属性设置对话框。

?设置参与者的属性。双击参与者图标,打开参与者属性设置对话框。也可以在选中的参与者上单击右键,在弹出的菜单中选择“Open Specification...”,打开属性设置对话框。

④添加参与者与用例之间的关系

首先点击工具栏上表示关系的按钮,然后在参与者与用例之间拖动鼠标。此外,还可以修改关系的属性,具体方法可参照参与者与用例的属性设置方法。

⑤添加用例之间的关系

用例之间的关系有关联关系(Association)、包含关系(Include)、扩展关系(Extend)和泛化关系(generalization)4种。关联关系的图标按钮为,包含关系与扩展关系的图标按钮为,泛化关系的图标按钮为。

添加用例之间关系,其操作方法参照④。

5.图书馆管理系统中的用例图

①借阅者请求服务的用例图(如图1-17所示)

[用例图说明]

?Search for book: 书籍查询用例。

?Reserve the book: 书籍预定用例。

?Logon the system: 登陆系统。

?Query Info: 查询借阅信息。

?Borrow the book: 借阅书籍。

?Return the book: 归还书籍。

?Return With Fine: 还书时缴纳罚金。

图1-17 借阅者请求服务的用例图

②图书馆管理员处理借书、还书的用例图(如图1-18所示)

[用例图说明]

?Get book: 书籍归还处理。

?Lend book: 书籍借阅处理。

?Remove Reservation: 删除书籍预定信息。

图1-18 图书馆管理员处理借书、还书的用例图

?Get With Fine: 还书时收取罚金。

?Check user count: 检查用户借阅凭证的合法性。

③系统管理员进行系统维护的用例图(如图1-19所示)

图1-19系统管理员进行系统维护的用例图

[用例图说明]

?Query Borrower Info: 查询读者信息。

?Query Book Info: 查询书籍信息。

?Add Title: 增加书目。

?Remove or Update Title: 删除或更新书目。

?Add Book: 增加书籍。

?Remove Book: 删除书籍。

?Add Borrower: 添加借阅者账户。

?Remove or Update Borrower: 删除或更新借阅者账户信息。

手机用例图实验报告

实验:设计手机的用例图 一、实验内容 设计模拟手机的用例图:设计模拟手机的全部用例图。 二、实验目的 (1)了解用例图的作用; (2)熟悉用例图的表示; (3)根据系统的功能分析出系统的用例组成,正确确定用例图中的角色,根据需求文档确定每一个用例的事件流,用Rose正确画出用例图。 三、实验要求 (1)根据带操作界面的《手机用户操作说明书》(附操作指南)进行绘制。 (2)每一个图要有界面要有图号、图名、设计人、设计日期和说明。 (3)用操作指南检查活动、顺序图,根据活动图、顺序图看是否可完成所有的操作指南例子。小组内交叉进行检查。 (4)每一个用例、活动都必须有说明 四、实验条件 安装有Rational Rose 2003或以上版本 五、实验设计及实施的指导 根据带操作界面的《手机用户操作说明书》(附操作指南)、状态图梳理需要设计的活动,并给出活动的编号、名称、描述。 六、实验步骤及成果 1. 模拟手机的参与者有: 手机用户 基站 2.模拟手机的用例图:

用例图-1 3.模拟手机用例规格说明: 用例一:打电话 参与者:移动客户A,移动客户B,基站 基本事件流: 1.用户输入号码 2.基站接受电话信息,并处理 3.电话接通 4.挂断电话 备选事件流1: 1.用户输入号码 2.手机显示无信号 3.挂断电话 备选事件流2: 1.用户输入号码 2.手机显示手机欠费 3.挂断电话 基本事件流顺序图:

备选事件流1顺序图: 基本事件流活动图: 备选事件流1活动图:

用例二:听电话 参与者:移动客户A,移动客户B,基站基本事件流: 1.用户点击接听按钮 2.基站将信息传递至手机 3.电话接通 4.挂断电话 备选事件流1: 1.用户点击接听按钮 2.显示手机损坏 3.用户无法接收 4.挂断电话 基本事件流顺序图:

MATLAB基本操作实验报告

南昌航空大学 数学与信息科学学院 实验报告 课程名称:数学实验 实验名称: MATLAB基本操作 实验类型:验证性■综合性□ 设计性□ 实验室名称:数学实验室 班级学号: 10 学生姓名:钟 X 任课教师(教师签名): 成绩: 实验日期: 2011-10- 10

一、实验目的 1、熟悉MATLAB基本命令与操作 2、熟悉MATLAB作图的基本原理与步骤 3、学会用matlab软件做图 二、实验用仪器设备、器材或软件环境 计算机MATLAB软件 三、实验原理、方案设计、程序框图、预编程序等 问题1:在区间【0,2π】画sinx 实验程序: >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) 问题2:在【0,2π】用红线画sinx,用绿圈画cosx,实验程序:

>> x=linspace(0,2*pi,30); >> y=sin(x); >> z=cos(x); >> plot(x,y,'r',x,z,'co') >> 问题3:在【0,π】上画y=sinx的图形。 实验程序: >> ezplot('sin(x)',[0,pi]) >> 问题4:在【0,π】上画x=cos3t,y=sin3t星形图形。

实验程序: >> ezplot('cos(t).^3','sin(t).^3',[0,pi]) >> 问题5:[-2,0.5],[0,2]上画隐函数 实验程序: >> ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2]) >> 问题6:在[-2,2]范围内绘制tanh的图形。实验程序: >> fplot('tanh',[-2,2])

实验一用例图的绘制

实验一用例图的绘制 一、目的和要求: 1、掌握用例图的基本画法 2、掌握用例建模的基本步骤 3、掌握用例之间的三种基本关系 二、实验内容: 根据用户“需求陈述”,画出用例模型,通过建立用例模型,加深对建立用例所需的建模元素的认识,初步掌握其用法。 1、画出“图书管理系统”的用例图 2、画出“求一元二次方程的根”的用例图 (1)需求陈述 根据给定的系数,求一元二次方程的根,并显示计算的结果。要求考虑异常情况。(2)角色 通过寻找与系统交互的人或物得到角色: 求根者。 (3)用例 通过分析系统为求根者提供的服务得到用例: 求一元二次方程的根。 3、画出“教师评分系统”的用例图,并给出用例的相应描述 (1)需求陈述 ?我们需要的系统可以供教师使用来为学生记录并更新成绩 ?系统需要根据需求由管理人员创建成绩报告卡,管理人员要检查成绩报告卡的准确 性 ?教师需要通过计算机分发报告卡 ?系统需要允许教师和学生浏览记录的成绩(教师和学生首先要经过登录环节)(2)角色 通过寻找与系统交互的人或物得到角色: ?教师 ?学生 ?管理人员 (3)用例 通过回答“系统要作什么?”得到用例: ?记录成绩 ?修改成绩 ?生成成绩报告卡 ?分发成绩报告卡 ?浏览成绩

?登录 (4)“记录成绩”用例细节描述 1)教师确定出要记录哪些学生的成绩 2)系统要确保学生在数据库中 3)教师说明要记录哪项作业的成绩 4)系统开始数据库的一项事务处理 5)系统为学生把作业加入数据库 6)教师输入学生作业的成绩 7)系统核对输入的成绩以确保其属于正确的范围 8)系统记录作业的成绩 9)系统结束事务处理 10)系统提示教师成绩已经记录 4、用例之间的三种关系练习 修改“教师评分系统”案例的需求,加入“每当教师修改成绩和记录成绩时,成绩总会被保存下来”。请建立“记录成绩”用例和“修改成绩”用例与“保存成绩”用例的关系。 修改“教师评分系统”案例的需求,加入“当一个教师记录成绩或修改成绩时,成绩被保存,有时管理员会被提醒”。请建立“保存成绩”用例与“提醒管理员”用例的关系。 修改“教师评分系统”案例的需求,加入“教师在修改成绩之前,应该先加载成绩。修改成绩后,再保存成绩”。请建立“修改成绩”用例与“加载成绩”用例和“保存成绩”用例的关系。 在Rose中,画出修改后的“教师评分系统”用例图。 5、(选做)设计“网上购物系统”的用例图 (1)“网上购物系统”涉及到的参与者: ?Customer(客户) ?Warehouse Manager(库房经理) ?Shipping Service(供货服务) ?Purchase Manager(采购经理) ?Credit System(信用系统) (2)“网上购物系统”涉及到的用例: ?Browse Web Site(浏览网站) ?Add Item to Shopping Cart(给购物推车添加物品) ?View Shopping Cart(查看购物推车) ?Purchase Item in Shopping Cart(购买购物推车中的商品) ?Remove Item from Shopping Cart(从购物推车中删除商品) ?Browse Item for Sale(浏览销售的商品) ?Provide Feedback(提供反馈信息)

图的遍历操作实验报告

. .. . .. .. 实验三、图的遍历操作 一、目的 掌握有向图和无向图的概念;掌握邻接矩阵和邻接链表建立图的存储结构;掌握DFS及BFS对图的遍历操作;了解图结构在人工智能、工程等领域的广泛应用。 二、要求 采用邻接矩阵和邻接链表作为图的存储结构,完成有向图和无向图的DFS 和BFS操作。 三、DFS和BFS 的基本思想 深度优先搜索法DFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后选择一个与Vo相邻且没被访问过的顶点Vi访问,再从Vi出发选择一个与Vi相邻且没被访问过的顶点Vj访问,……依次继续。如果当前被访问过的顶点的所有邻接顶点都已被访问,则回退到已被访问的顶点序列中最后一个拥有未被访问的相邻顶点的顶点W,从W出发按同样方法向前遍历。直到图中所有的顶点都被访问。 广度优先算法BFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后访问与Vo相邻的所有未被访问过的顶点V1,V2,……,Vt;再依次访问与V1,V2,……,Vt相邻的起且未被访问过的的所有顶点。如此继续,直到访问完图中的所有顶点。 四、示例程序 1.邻接矩阵作为存储结构的程序示例

#include"stdio.h" #include"stdlib.h" #define MaxVertexNum 100 //定义最大顶点数 typedef struct{ char vexs[MaxVertexNum]; //顶点表 int edges[MaxVertexNum][MaxVertexNum]; //邻接矩阵,可看作边表int n,e; //图中的顶点数n和边数e }MGraph; //用邻接矩阵表示的图的类型 //=========建立邻接矩阵======= void CreatMGraph(MGraph *G) { int i,j,k; char a; printf("Input VertexNum(n) and EdgesNum(e): "); scanf("%d,%d",&G->n,&G->e); //输入顶点数和边数 scanf("%c",&a); printf("Input Vertex string:"); for(i=0;in;i++) { scanf("%c",&a); G->vexs[i]=a; //读入顶点信息,建立顶点表 }

实验报告1windows的基本操作范例

实验名称:Windows的基本操作 一、实验目的 1.掌握桌面主题的设置。 2.掌握快捷方式的创建。 3.掌握开始菜单的组织。 4.掌握多任务间的数据传递——剪贴板的使用。 5.掌握文件夹和文件的创建、属性查看和设置。 6.掌握文件夹和文件的复制、移动和删除与恢复。 7.熟悉文件和文件夹的搜索。 8.熟悉文件和文件夹的压缩存储和解压缩。 二、实验环境 1.中文Windows 7操作系统。 三、实验内容及步骤 通过上机完成实验4、实验5所有内容后完成该实验报告 1.按“实验4--范例内容(1)”的要求设置桌面,将修改后的界面复制过来。 注:没有桌面背景图“Autumn”的,可选择其它背景图。 步骤:在桌面空白区域右击,选择菜单中的“个性化”,在弹出的窗口中点击“桌面背景”,在背景栏内选中“某一张图片”,单击“确定”。 修改后的界面如下图所示: 2.将画图程序添加到“开始”菜单的“固定项目列表”上。 步骤:右击“开始/所有程序/附件”菜单中的画图程序项,在弹出的快捷菜单中选“附到「开始」菜单”命令。 3.在D盘上建立以“自己的学号+姓名”为名的文件夹(如01108101刘琳)和其子文件 夹sub1,然后:

步骤:选定D:\为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“学号+姓名”;选定“ D:\学号+姓名”为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“sub1” ①在C:\WINDOWS中任选2个TXT文本文件,将它们复制到“学号+姓名”文件夹中;步骤:选定“C:\WINDOWS”为当前文件夹,随机选取2个文件, CTRL+C复制,返回“D:\学号+姓名”的文件夹,CTRL+V粘贴 ②将“学号+姓名”文件夹中的一个文件移到其子文件夹sub1中; 步骤:选定“ D:\学号+姓名”为当前文件夹,选中其中任意一个文件将其拖拽文件到subl ③在sub1文件夹中建立名为“”的空文本文档; 步骤:选定“ D:\学号+姓名\ sub1”为当前文件夹,在空白处单击右键,选择“新建\文本文档”,把名字改为test,回车完成。 ④删除文件夹sub1,然后再将其恢复。 步骤:选定“ D:\学号+姓名”为当前文件夹,右键单击“sub1”文件夹,选择“删除”,然后打开回收站,右键单击“sub1”文件夹,在弹出的快捷菜单中选择“还原”。 4.搜索C:\WINDOWS\system文件夹及其子文件夹下所有文件名第一个字母为s、文件长 度小于10KB且扩展名为exe的文件,并将它们复制到sub1文件夹中。 步骤:选定“ C:\WINDOWS\system”为当前文件夹,单击“搜索”按钮,在左侧窗格选择“所有文件和文件夹”,在“全部或部分文件名”中输入“s*.exe”,在“大小”中,选择“0~10KB”。 5.用不同的方法,在桌面上创建名为“计算器”、“画图”和“剪贴板”的三个快捷方式, 它们应用程序分别为:、和。并将三个快捷方式复制到sub1文件夹中。 步骤:①在"开始"菜单的"所有程序"子菜单中找到"计算器",单击右键,在弹出的快捷菜单中选择“发送到\桌面快捷方式”。 ②在"开始"菜单的"所有程序"子菜单中找到"画图",将其拖至桌面空白处。 ③在桌面上单击右键,在弹出的快捷菜单中选择“新建\快捷方式”,在“创建快捷方式”

数据结构实验图的基本操作

浙江大学城市学院实验报告 课程名称数据结构 实验项目名称实验十三/十四图的基本操作 学生姓名专业班级学号 实验成绩指导老师(签名)日期2014/06/09 一.实验目的和要求 1、掌握图的主要存储结构。 2、学会对几种常见的图的存储结构进行基本操作。 二.实验内容 1、图的邻接矩阵定义及实现: 建立头文件test13_AdjM.h,在该文件中定义图的邻接矩阵存储结构,并编写图的初始化、建立图、输出图、输出图的每个顶点的度等基本操作实现函数。同时建立一个验证操作实现的主函数文件test13.cpp(以下图为例),编译并调试程序,直到正确运行。 2、图的邻接表的定义及实现: 建立头文件test13_AdjL.h,在该文件中定义图的邻接表存储结构,并编写图的初始化、建立图、输出图、输出图的每个顶点的度等基本操作实现函数。同时在主函数文件test13.cpp中调用这些函数进行验证(以下图为例)。

3、填写实验报告,实验报告文件取名为report13.doc。 4、上传实验报告文件report13.doc到BB。 注: 下载p256_GraphMatrix.cpp(邻接矩阵)和 p258_GraphAdjoin.cpp(邻接表)源程序,读懂程序完成空缺部分代码。 三. 函数的功能说明及算法思路 (包括每个函数的功能说明,及一些重要函数的算法实现思路) 四. 实验结果与分析 (包括运行结果截图、结果分析等)

五.心得体会

程序比较难写,但是可以通过之前的一些程序来找到一些规律 (记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。) 【附录----源程序】 256: //p-255 图的存储结构以数组邻接矩阵表示, 构造图的算法。 #include #include #include #include typedef char VertexType; //顶点的名称为字符 const int MaxVertexNum=10; //图的最大顶点数 const int MaxEdgeNum=100; //边数的最大值 typedef int WeightType; //权值的类型 const WeightType MaxValue=32767; //权值的无穷大表示 typedef VertexType Vexlist[MaxVertexNum]; //顶点信息,定点名称 typedef WeightType AdjMatrix[MaxVertexNum][MaxVertexNum]; //邻接矩阵typedef enum{DG,DN,AG,AN} GraphKind; //有向图,有向网,无向图,无向网typedef struct{ Vexlist vexs; // 顶点数据元素 AdjMatrix arcs; // 二维数组作邻接矩阵 int vexnum, arcnum; // 图的当前顶点数和弧数 GraphKind kind; // 图的种类标志 } MGraph; void CreateGraph(MGraph &G, GraphKind kd)// 采用数组邻接矩阵表示法,构造图G {//构造有向网G int i,j,k,q; char v, w; G.kind=kd; //图的种类 printf("输入要构造的图的顶点数和弧数:\n"); scanf("%d,%d",&G.vexnum,&G.arcnum); getchar();//过滤回车 printf("依次输入图的顶点名称ABCD...等等:\n"); for (i=0; i

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作 (4) :实验目的 (4) :实验任务和要求 (4) :实验步骤和结果 (5) :结果分析 (8) 实验二:图像的灰度变换和直方图变换 (9) :实验目的 (9) :实验任务和要求 (9) :实验步骤和结果 (9) :结果分析 (13) 实验三:图像的平滑处理 (14) :实验目的 (14) :实验任务和要求 (14) :实验步骤和结果 (14) :结果分析 (18) 实验四:图像的锐化处理 (19) :实验目的 (19) :实验任务和要求 (19) :实验步骤和结果 (19) :结果分析 (21)

实验一:数字图像的基本处理操作 :实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。:实验任务和要求 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分 别显示,注上文字标题。 3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换, 显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里 叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的 对应关系。 :实验步骤和结果 1.对实验任务1的实现代码如下: a=imread('d:\'); i=rgb2gray(a); I=im2bw(a,; subplot(1,3,1);imshow(a);title('原图像'); subplot(1,3,2);imshow(i);title('灰度图像'); subplot(1,3,3);imshow(I);title('二值图像'); subplot(1,3,1);imshow(a);title('原图像'); 结果如图所示:

图书馆管理系统用例图 活动图 类图 时序图

图书馆管理系统 一.图书馆管理系统需求分析 1、系统目标设计 系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。 能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。 能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。 提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。 提供对书籍进行的预先预订的功能。 提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。 能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。 提供较为完善的差错控制与友好的用户界面,尽量避免误操作。 2、系统功能需求分析 (1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、 借书数量、借书期限、备注等。 (2)书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、 类别、关键词、备注。 (3)借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处 理和书籍丢失后的处理。 (4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理

基于UML的图书馆管理系统建模设计 满足以上需求的系统主要包含有一下几个子系统 (1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。 (2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。 (3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。 (4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。 (5)帮助功能子系统。 二、系统动态建模 1、用例图、

实验一用例图设计参考解答

实验一用例图设计参考 解答 公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]

实验1 1. 一台自动售货机能提供6种不同的饮料,售货机上有6个不同的按钮,分别对应这6种不同的饮料,顾客通过这些按钮选择不同的饮料。售货机有一个硬币槽和找零槽,分别用来收钱和找钱。现在为这个系统设计一个用例图。 找零钱 自动售货机系统用例图 2.现有一个产品销售系统,其总体需求如下: 系统允许管理员生成存货清单报告。 管理员可以更新存货清单。 销售员记录正常的销售情况。 交易可以使用信用卡或支票,系统需要对其进行验证。 每次交易后都需要更新存货清单。分析其总体需求,并绘制出其用例图。

产品销售系统用例图 3 某酒店要开发一个酒店住宿管理系统,该酒店可对外开放500个双人间和50个单人间,房间费用视情况按季节由管理人员进行调整,但周一到周五半价(周末全价)折扣不变。只有在该系统进行了注册的人员才能登录该系统进行酒店住宿预定。对于顾客的请求,该系统能根据请求入住时间预定指定档次的房间信息,记录该顾客姓名、地址、联系电话、有效证件号、房间类型和预定的天数,并计算出总费用。预定的同时顾客按规定要提交10%定金。六个小时之内酒店允许顾客取消预定金,超过六个小时定金不退还。每周一系统自动打印一周预定情况的清单。顾客离开时,可以到总台办理结帐。结帐方式可采用两种方式,一种是现金结帐,另一种是银行卡结帐,银行卡结帐将通过与银联POS机来完成。

POS 4.登录一个网上酒店管理系统,根据其客人预订房间流程,描述系统的“预订房间”用例。 当客人登陆网上酒店管理系统,系统显示需要选择的服务,客人选择预订房间,系统判断客人预订的房间是否还有剩余,如果没有剩余,询问顾客是不是要继续选择预订其他的房间,顾客如果选择是,则重新进去预订房间的用例,如果客人选择不继续预订房间的话,系统询问客人是否要选择退出,客人退出,如果客人要预订的房间有剩余,系统询问顾客是不是要确定预订这个房间,顾客选择是,然后系统询问顾客的详细的信息,系统记录信息,然后回到系统询问顾客是否需要其他的服务,顾客选择退出,系统注销用户的登录信息。

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作....................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验二:图像的灰度变换和直方图变换............................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验三:图像的平滑处理....................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验四:图像的锐化处理......................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。

实验二 用例图

实验二用例图 一、实验目的 1.熟悉用例图的基本功能和使用方法。 2.掌握如何使用建模工具绘制用例图方法。 3.学习使用Microsoft Project对题目进行进度安排。 二、实验器材 1.计算机一台。 2.Rational Rose 工具软件。 三、实验内容 根据实例,如“图书馆管理系统”开发进度,在完成对系统的需求建模,得到用例模型后,应针对每个用例进行业务分析,说明其具体的业务流程,现系统分析部指派您完成该项任务。要求: 对其中主要功能的用例书写书面用例。 四、实验步骤 书写“删除读者信息”用例的书面用例。一般应包含以下信息: (1)管理员在录入界面,输入待删除的读者名; (2)“业务逻辑”组件在数据库中,查找待删除的读者名; (3)如果不存在,则显示出错信息,返回步骤(1),如果存在则继续; (4)“业务逻辑”组件判断“待删除的读者”是否可以删除; (5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续; (6)在数据库中,删除相关信息; (7)显示删除成功信息; (8)结束。 分析: 在图书管理系统中,管理员首先登录系统,系统验证通过后,管理方可向系统查询数据,在查询后,系统会给出提示,有没有找到相关的数据,管理员根据系统查询的返回结果,进行下一步的操作,就是删除读者,在删除的过程中,系统会对查询得到的结果判断该记录是否可以删除,若可以删除,则给删除提示,若不能删除,也给相关的提示信息。 绘图步骤: (1)在用例图上双击main,出现如图1.1所示,为绘制用例图做好准备。

图1.1 (2)在图中的工具栏选取Actor图标,在右边的图中添加一个Actor,并输入名称:administrator,如图1.2所示。 (3)在左边的工具栏中,选取用例的图标,在右边的图中画出一个用例,并输入用例的名称:login 。 图1.2

visio2010绘制用例图-带图例

visio2010绘制用例图 1.Microsoft Office2010中打开Microsoft Visio 2010,在“新建中选择”软件和数据库“, 如图: 2.然后选择“UML模型图”,点击右下方的“创建”,进入主页面,如图: 3.在左下角模型资源管理器中,“顶层包”上右键→新建→”子系统“,如图:

4.给新建的“子系统”命名,如图: 5.然后在新建的子系统上右击,选择”用例图“如图: 6.新建用例图后打开。左上角工具栏出现常用工具,拖拽即可绘制用例图:

7.选中需要自定义的元素,右键可查看具体自定义元素样式,包括连线方式,文本,线条 样式,填充,如图: 8.设置参与者与用例之间的关系: a)在左侧工具栏中选择“用”工具如图

b)在用例图中拖动图标链接目标用例与参与者: c)选中线条右键-》格式-》线条,设置箭头起点为无 d)双击连线。修改构造型为空,可隐藏连线上的 label

9.设置用例之间的扩展关系: a)选中工具栏上的扩展按钮: b)拖动到有扩展关系的用例上 c)选中线条右键-》格式-》线条。设置虚线和起始箭头:

用例图图例说明 事物名称解释UML表示 参与者(Actor)在系统外部与系统直接交互的人或事物(如另一个计算机系统或一些可运行的进程)。我们需要注意的是: 1.参与者是角色(role)而不是具体的人,它代表了参与者在与系统打交道的过程中所扮演的角色。所以在系统的实际运作中,一个实际用户可能对应系统的多个参与者。不同的用户也可以只对应于一个参与者,从而代表同一参与者的不同实例。 2.参与者作为外部用户(而不是内部)与系统发生交互作用,是它的主要特征。 3.在后面的顺序图等中出现的“参与者”,与此概念相同,但具体指代的含义,视具体情况而定。

数字图像处理实验报告

数字图像处理实验报告实验一数字图像基本操作及灰度调整 一、实验目的 1)掌握读、写图像的基本方法。 2)掌握MATLAB语言中图像数据与信息的读取方法。 3)理解图像灰度变换处理在图像增强的作用。 4)掌握绘制灰度直方图的方法,理解灰度直方图的灰度变换及均衡化的方法。 二、实验内容与要求 1.熟悉MATLAB语言中对图像数据读取,显示等基本函数 特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。 1)将MA TLAB目录下work文件夹中的forest、tif图像文件读出、用到imread,imfinfo 等文件,观察一下图像数据,了解一下数字图像在MA TLAB中的处理就就是处理一个矩阵。将这个图像显示出来(用imshow)。尝试修改map颜色矩阵的值,再将图像显示出来,观察图像颜色的变化。 2)将MA TLAB目录下work文件夹中的b747、jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。 2.图像灰度变换处理在图像增强的作用 读入不同情况的图像,请自己编程与调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应的处理效果。 3.绘制图像灰度直方图的方法,对图像进行均衡化处理 请自己编程与调用Matlab函数完成如下实验。 1)显示B的图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函 数将它的灰度值调整到[0,1]之间,并观察调整后的图像与原图像的差别,调整后的灰度直方图与原灰度直方图的区别。 2)对B进行直方图均衡化处理,试比较与源图的异同。 3)对B进行如图所示的分段线形变换处理,试比较与直方图均衡化处理的异同。

数字图像处理实验一图像的基本操作和基本统计指标计算实验报告

实验一图像的基本操作和基本统计指标计算 一、实验目的 熟悉MATLAB图像处理工具箱,在掌握MATLAB基本操作的基础上,本课程主要依靠图像处理工具箱验证和设计图像处理算法。对于初学者来说,勤学多练、熟悉MATLAB图像处理工具箱也是学号本课程的必经之路。 了解计算图像的统计指标的方法及其在图像处理中的意义。 了解图像的几何操作,如改变图像大小、剪切、旋转等。 二、实验主要仪器设备 (1)台式计算机或笔记本电脑 (2)MATLAB(安装了图像处理工具箱,即Image Processing Toolbox(IPT)) (3)典型的灰度、彩色图像文件 三、实验原理 (1)将一幅图像视为一个二维矩阵。 < (2)利用MATLAB图像处理工具箱读、写和显示图像文件。 ①调用imread函数将图像文件读入图像数组(矩阵)。例如“I=imread(‘’);”。其基本格式为:“A=imread(‘’)”,其中,A为二维矩阵,filename.为文件名,fmt为图像文件格式的扩展名。 ②调用imwrite函数将图像矩阵写入图像文件。例如“imwrite(A,’’);”。其基本格式为“imwrite(a,”。 ③调用imshow函数显示图像。例如“imshow(‘’);”。其基本格式为:I为图像矩阵,N 为显示的灰度级数,默认时为256。 (3)计算图像有关的统计参数。 四、实验内容 (1)利用MATLAB图像处理工具箱和Photoshop读、写和显示图像文件。 (2)利用MATLAB计算图像有关的统计参数。 五、实验步骤 (1)利用“读图像文件I/O”函数读入图像。 (2)利用“读图像文件I/O”的iminfo函数了解图像文件的基本信息:主要包括Filename(文件名)、FileModDate(文件修改时间)、Filesize(文件尺寸)、Format(文件格式)、FormatVersion(格式版本)、Width(图像宽度)、Height(图像高度)、BitDepth(每个像素的位深度)、ColorType(彩色类型)、CodingMethod(编码方法)等。 ' (3)利用“像素和统计处理”函数计算读入图像的二维相关系数(corr2函数)、确定像素颜色值(impixel函数)、确定像素的平均值(mean2函数)、显示像素信息(pixval函数)、计算像素的标准偏移(std2函数)等。 要求:参照例题,对图像J加均值为0、方差为的高斯白噪声形成有噪图像J1,即

医院病房监护系统用例图实验报告

医院病房监护系统 一实验内容: 现有一医院病房监护系统,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监视系统对病员的情况进行监控,根据医生的要求随时打印病人的病情报告,定期更新病历,当病症出现异常时,系统会立即自动报警,并实时打印病人的病情报告,立即更新病历。 请根据现场情景,对医院病房监护系统进行需求分析,建立系统的用例图。 二用例描述: 1)该用例的目的是模拟一个医院病房监护系统,建立该系统的用例图; 2)该用例在病人住院时被监护人员启动执行; 3)该系统中,每个病房的病症监视器要按时将病人的病症信号传送到监视系统去并且对信号进行分析,当病症信号异 常的时候,系统会自动报警,并且打印病情报告和更新病 例,而医生则要求随时打印病情报告,按时更新病例; 行为者:值班护士,医生,病人 a)值班护士负责监控中央监视系统,并根据医生的要求随 时打印病症报告,并且定期更新病例; b)病症监视器是负责采集病人的病症信号,每个病房都有 监视器;

c) 中央监视系统是负责分析监视器采集的病症信号,但信号有异常的时候,中央监视系统会自动报警,并且实时打印病人的病情报告,而且立即更新病例; 三 用例图: 值班护士 随时打印病情报告定期更新病例 病人采集病症信号 信号处理 报警<>打印 病情报告 更新 病例 监控 医生 查看病例 上下级关系 四 实验小结; 1) 此用例图中的行为者和用例均比自动售货机中的行为 者和用例多,要理清楚各个用例与行为者以及行为者与行为者之间的关系, 2) 在此用例图中个人觉得不要把中央监视系统作为一个 行为者,它主要的执行功能就是信号处理,当系统发现信号有异常时就自动报警; 3) 通过这次实验,基本知道了画用例图的基本步骤和怎样 确定行为者和用例,以及行为者与用例之间的关系。

UML各种图例齐全用例图,类图,状态图,包图,协作图,顺序图详细说明画法和功能

UML各种图例 面向对象的问题的处理的关键是建模问题.建模可以把在复杂世界的许多重要的细节给抽象出.许多建模工具封装了UML(也就是Unified Modeling Language?),这篇课程的目的是展示出UML的精彩之处. UML中有九种建模的图标,即: ?用例图 ?类图 ?对象图 ?顺序图 ?协作图 ?状态图 ?活动图 ?组件图 ?配置图 本课程中的某些部分包含了这些图的细节信息的页面链接.而且每个部分都有一个小问题,测试一下你对这个部分的理解. 为什么UML很重要? 为了回答这个问题,我们看看建筑行业.设计师设计出房子.施工人员使用这个设计来建造房子.建筑越复杂,设计师和施工人员之间的交流就越重要.蓝图就成为

了这个行业中的设计师和施工人员的必修课. 写软件就好像建造建筑物一样.系统越复杂,参与编写与配置软件的人员之间的交流也就越重要.在过去十年里UML就成为分析师,设计师和程序员之间的“建筑蓝图”.现在它已经成为了软件行业的一部分了.UML提供了分析师,设计师和程序员之间在软件设计时的通用语言. UML被应用到面向对象的问题的解决上.想要学习UML必须熟悉面向对象解决问题的根本原则――都是从模型的建造开始的.一个模型model就是根本问题的抽象.域domain就是问题所处的真实世界. 模型是由对象objects组成的,它们之间通过相互发送消息messages来相互作用的.记住把一个对象想象成“活着的”.对象有他们知道的事(属性attributes)和他们可以做的事(行为或操作behaviors or operations).对象的属性的值决定了它的状态state. 类Classes是对象的“蓝图”.一个类在一个单独的实体中封装了属性(数据)和行为(方法或函数).对象是类的实例instances. 用例图 用例图Use case diagrams描述了作为一个外部的观察者的视角对系统的印象.强调这个系统是什么而不是这个系统怎么工作. 用例图与情节紧紧相关的.情节scenario是指当某个人与系统进行互动时发生的情况.下面是一个医院门诊部的情节. “一个病人打电话给门诊部预约一年一次的身体检查.接待员找出在预约记录本上找出最近的没有预约过的时间,并记上那个时间的预约记录.” 用例Use case是为了完成一个工作或者达到一个目的的一系列情节的总和.角色actor是发动与这个工作有关的事件的人或者事情.角色简单的扮演着人或者对象的作用.下面的图是一个门诊部Make Appointment用例.角色是病人.角色与用例的联系是通讯联系communication association(或简称通讯communication)

链表基本操作实验报告

实验2 链表基本操作实验 一、实验目的 1. 定义单链表的结点类型。 2. 熟悉对单链表的一些基本操作和具体的函数定义。 3. 通过单链表的定义掌握线性表的链式存储结构的特点。 二、实验容与要求 该程序的功能是实现单链表的定义和主要操作。如:单链表建立、输出、插入、删除、查找等操作。该程序包括单链表结构类型以及对单链表操作的具体的函数定义和主函数。程序中的单链表(带头结点)结点为结构类型,结点值为整型。 要求: 同学们可参考指导书实验2程序、教材算法及其他资料编程实现单链表相关操作。必须包括单链表创建、输出、插入、删除操作,其他操作根据个人情况增减。 三、 算法分析与设计。 头结点

2.单链表插入 s->data=x; s->next=p->next; p->next=s; 3.单链表的删除: p->next=p->next->next;

四、运行结果 1.单链表初始化 2.创建单链表 3.求链表长度 4.检查链表是否为空 5.遍历链表 6.从链表中查找元素 7.从链表中查找与给定元素值相同的元素在顺序表中的位置

8.向链表中插入元素 插入元素之后的链表 9.从链表中删除元素 删除位置为6的元素(是3) 10.清空单链表 五、实验体会 经过这次单链表基本操作实验,自己的编程能力有了进一步的提高,认识到自己以前在思考一个问题上思路不够开阔,不能灵活的表达出自己的想法,虽然在打完源代码之后出现了一些错误,但是经过认真查找、修改,最终将错误一一修正,主要是在写算法分析的时候出现了障碍,经过从网上查找资料,自己也对程序做了仔细的分析,对单链表创建、插入、删除算法画了详细的N-S流程图。

相关文档