个体实验报告4顺序图(精选合集)

时间:2021-02-11 11:01:22下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《个体实验报告4顺序图》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《个体实验报告4顺序图》。

第一篇:个体实验报告4顺序图

《系统分析与设计》实验报告 实验四 顺序图

【实验名称】顺序图 【实验目的】

1.理解动态交互模型的建模技术。

2.掌握顺序图的描述方法。

【实验器材】

1.计算机一台。

2.Rational Rose 工具软件。

【实验内容】

在前面的类图分析、设计中,我们已经确定了类的属性,类之间的关系,现在我们要考虑类的方法。寻找类的操作的有效方法之一是绘制交互图。交互图体现了如何为对象分配职责。当一个对象接收了某条消息,就表明该对象具有处理该条消息的职责。

针对特定场景中各个系统事件单独绘制交互图,用以说明系统接收到该事件后,由哪些对象互相协作、来共同完成对事件的处理,从而抽象出对象以及对象的职责。顺序图用来描述对象间的交互行为。

【实验结果】

将各自负责的子系统的顺序图复制,有几个就复制几个。

姓名

学号

实验日期

实验地点

班级

任课教师 王丽颖

第二篇:顺序表的操作实验报告

顺序表的基本操作

一、实验目的

1、复习C++语言程序设计中的知识。

2、熟悉线性表的逻辑结构。

3、熟悉线性表的基本运算在两种存储结构上的实现。

4、掌握顺序表的存储结构形式及其描述和基本运算的实现。

5、熟练掌握动态链表结构及有关算法的设计

二、实验内容

实现顺序表的建立、取元素、修改元素、插入、删除等顺序表的基本操作。[基本要求](1).依次从键盘读入数据,建立带头结点的顺序表;(2).输出顺序表中的数据元素

(3).根据指定条件能够取元素和修改元素;(4).实现在指定位置插入和删除元素的功能。

三、实验步骤、调试及输出结果

(—).数据结构与核心算法的设计描述: #include #include /*顺序表的定义:*/ #define ListSize 100 typedef struct {int elem[ListSize];/*向量elem用于存放表结点*/ int length;}SeqList;/*顺序表的建立:*/ void CreateList(SeqList *L,int n){int i;printf(“please input n numbers:n”);for(i=1;i<=n;i++)scanf(“%d”,&L->elem[i]);L->length=n;}

/*当前的表长度*/ /*顺序表的打印:*/ void PrintList(SeqList *L,int n){int i;printf(“the sqlist isn”);for(i=1;i<=n;i++)printf(“%d ”,L->elem[i]);printf(“n”);}

/*顺序表的查找:*/ int LocateList(SeqList *L,int x){int i;i=1;while(((L->elem[i])!=x)&&(i<=10))++i;if((L->elem[i])==x)return(i);else return(0);}

/*顺序表的插入:*/ void InsertList(SeqList *L,int x,int i){int j;if(i<1 ||i>L->length+1)printf(“no insert position!n”);else {for(j=L->length;j>=i;j--)L->elem[j+1]=L->elem[j];L->elem[i]=x;L->length++;} } /*顺序表的删除:*/ void DeleteList(SeqList *L,int i){int j;if(i<1 ||i>L->length)printf(“no delete position!n”);else {for(j=i;j<=(L->length)-1;j++)L->elem[j]=L->elem[j+1];L->length--;} } void main(){

SeqList L;int i,x;int n=10;

/*当前顺序表的长度*/ L.length=0;CreateList(&L,n);

/*建立顺序表*/ PrintList(&L,L.length);

/*输出顺序表*/ printf(“input the research element:”);scanf(“%d”,&x);i=LocateList(&L,x);/*顺序表查找*/ printf(“the research position is %dn”,i);printf(“input the position of insert:”);scanf(“%d”,&i);printf(“input the value of insert:”);scanf(“%d”,&x);InsertList(&L,x,i);/*顺序表插入*/ PrintList(&L,L.length);

/*输出顺序表*/ printf(“input the position of delete:”);scanf(“%d”,&i);DeleteList(&L,i);/*顺序表删除*/ PrintList(&L,L.length);/*输出顺序表*/ }(二).调试及输出结果 测试数据:

1、输入n个数;

2、输出顺序列表;

3、顺序表的查找;4.顺序表的插入;

5、顺序表的删除;

数据测试如下截图:

四、实验讨论与总结:

通过这次写实验报告,我深切的理解了这门课的本质。刚开始学这门课时,当时还不清楚这门课程的目的,现在,我真正的理解了:数据结构像是身体的骨骼。数据结构是个框架,模型,抽象数据类型中列举了各种操作,而所用的C++语言,将各种操作描述出来构成算法。

在这次设计的过程中,我知道了顺序表是按顺序存储的,用了一维数组来存储,但是,在执行时出现了问题。后来问同学,指出我的错误,不过获益不少。我又重新整理思路,把顺序表的基本操作写好了。虽然走了很多弯路,但是让我认识到,一定要创新,大胆,不能按照旧的思路去干新的事情。

单链表写起来简单多了,这个很快就搞定了。但是细节上出了问题。比如说,有些变量的重复定义,有些变量又没有定义,在调用函数,就直接复制过来,没有改参数……通过修改,我深刻理解到:细节决定成败,在以后,不管做任何事情都要认真,细心。

这次的实验报告,让我受益匪浅,不仅有知识方面的,还有生活和精神上的。总之,我会继续我的兴趣编程,相信在编程的过程中,能不断的提高自己。

第三篇:工图实验报告2

西安郵電大学

工程制图与计算机制图 报 告 书

院(系)名称 : 学生姓名 : 专业名称 : 班

级 :

电子工程学院

卫少东 电子信息工程 电子1601

16年 12 月

8日 至

时间 :

12月

9日

概述

本课程的实践性教学环节主要是要求学生掌握AutoCAD的基本操作、绘图命令、平面图形的修改与编辑命令、尺寸标注和工程图样的绘制方法,强化学生的图形设计能力和AutoCAD应用能力。实践教学共包括六项内容,即AutoCAD的基本操作、基本体的绘制、组合体的绘制、零件图的绘制,其中零件图的绘制为综合型实验。实验指导书附实验考核内容及成绩评定,可供实践环节考核之用。

实验所需AutoCAD软件在实验时提供。学生除完成所要求题目之外,还应对所实验之结果进行分析与总结。本实验指导书内容包括:实验目的与要求、方法与步骤、实验过程及内容等。学生做完相关实验后应及时填写实验报告。

本实验指导书与《画法几何及工程制图》(唐克中,朱同钧编著,高等教育出版社,2009)配套使用。另外,由于实验时间有限,学生对课程的掌握不同,除安排上机实验之外应另外自行安排时间学习、解决相关知识及问题。

实验一 AutoCAD的基本操作

一、实验目的

1、了解AutoCAD基本概念

2、学习AutoCAD的基本操作

二、实验内容

I、实验要求:

1.启动AutoCAD,熟悉工作界面。2.绘制习题集P86:10-1图形。II、实验方法:

1.用下拉菜单“格式”→“单位”或命令行输入:UNITS↙,查看和设置绘图单位、精度及角度(建议使用缺省值)。

2.建图层,设颜色、线型及线宽。

粗实线

白色(或黑色)

实线(CONTINUOUS)

0.7 mm 细实线

白色(或黑色)

实线(CONTINUOUS)

0.30 mm 3.设置图幅(选A3图幅)。

4.使用绘图命令和编辑命令绘图。

三、实验结果(附在下方,并手写出每个图形使用哪些命令)

实验二 基本体的绘制

一、实验目的

学会使用AutoCAD的基本绘图命令和编辑命令。

二、实验内容

I、实验要求:绘制下图。

II、实验方法: 1.新增图层:

点画线

红色

点画线(JIS_8_11)

0.30mm 尺寸

白色(或黑色)

实线(CONTINUOUS)

0.00mm 2.注意画图顺序:先画出点画线,确定圆心位置;其次画出圆和圆弧,圆弧用画圆修剪得到;最后标注尺寸。

三、实验结果(附在下方,并手写出图层设置方法,修剪命令与删除命令的区别是什么及如何操作的。)

实验三 组合体的绘制

一、实验目的

学会使用AutoCAD的绘图命令和编辑命令,标注尺寸。

二、实验内容

I、实验要求:

绘制习题集P87:10-3或10-4。II、实验方法:

1.注意利用“极轴追踪”、“对象捕捉”和“对象追踪”,使三视图“长对正、高平齐、宽相等”。2.新增图层:

虚线

蓝色

虚线(HIDEDN2)

0.30 mm

三、实验结果(附在下方,并手写出尺寸样式设置方法和标注类型)

实验四 轴类零件的绘制

一、实验目的

使用AutoCAD的绘图命令、编辑命令、标注尺寸和图块等命令。

二、实验内容

I、实验要求:

绘制习题集P87:10-5。II、实验方法:

三、实验结果(附在下方,并手写出文字样式和尺寸样式设置方法及标注要领,图块的创建及插入)

第四篇:饮料销售机顺序图

实验内容及要求:

内容:

在自动饮料销售机的”买饮料”场景中,假定饮料销售机有三个部分,前端(front),钱币记录仪(register)和分发器(dispenser)。

前端负责:接受顾客的选购和现钞;从记录仪接收找回的零钱并返回给顾客;

返回现钞;从分配器接收一罐饮料并把它交给顾客。

钱币记录仪负责:从前端获取顾客输入的信息(即选购的饮料的种类和现钞);

更新现钞存储;显示现钞情况;如果缺少零钱将不让系统服务并在前端显示没有

零钱;如果零钱充足一切正常,找零钱。

分配器负责:检查待选购的饮料是否还有货;分发一罐饮料。

请根据以下情形,参照教材93-94页,画出顺序图

理想状态下买饮料(购买成功)

在理想状态下,事件流顺序如下:

1)顾客放入现钞(inputMoney());

2)前端接受现钞并将现钞传给钱币记录仪accept();

3)钱币记录仪对现钞面额进行判断getCustomerInput();

4)钱币记录仪向前端发送现钞情况 sendMoneyInfo()

5)前端将现钞情况显示给顾客showMoney()

6)钱币记录仪根据现钞面额、饮料价格和零钱情况检查可购买的饮料

checkForSoda();

7)钱币记录仪向分发器发送消息检查可购买的饮料的存货情况

checkAvailability()

8)分配器向前端返回可购买且有存货的饮料信息returnSodaFree

9)前端将可购买且有存货的饮料信息显示给顾客displayPrompt();

10)顾客选择饮料chooseSoda

11)前端将选择结果给分配器sendChoseToDis

12)前端将选择结果给钱币记录仪 sendChoseToReg

13)钱币记录仪检查找零情况 checkForChange()

14)钱币记录仪更新余额 updateChange()

15)分配器向前端释放饮料 releaseSoda()

16)钱币记录仪向前端释放找零 releaseChange()

17)前端接收饮料并释放出来给顾客receiveSoda()

18)前端接收找零并返回给顾客 receiveChange()

要求:

写出分析过程,画出顺序图,完成实验报告

分析:

和教材93-94页图7-14到图7-14相比较有何不同,请参照对比来分析。

如果现钞不够买饮料,会如何,事件流将有什么变化?

如果零钱不够,会如何,事件流将有什么变化?

如果无须找零钱呢?

第五篇:数据结构实验报告二线性表的顺序存储

实验报告二 线性表的顺序存储

班级: 2010XXX 姓名: HoogLe 学号: 2010XXXX 专业: XXXX

2858505197@qq.com

一、实验目的:

(1)掌握顺序表的基本操作的实现方法。

(2)应用顺序表的基本算法实现集合A=AUB算法。

(3)应用顺序表的基本算法实现两有序顺序表的归并算法。

二、实验内容:

1、线性表顺序存储结构的基本操作算法实现(要求采用类模板实现)

[实现提示](同时可参见教材p5822-p60页算法、ppt)函数、类名称等可自定义,部分变量请加上学号后3位。库函数载和常量定义:(代码)#include using namespace std;const int MaxSize=100;

(1)顺序表存储结构的定义(类的声明):(代码)

template //定义模板类SeqList class SeqList { public: SeqList();//无参构造函数

SeqList(datatype a[ ], int n);//有参构造函数 ~SeqList(){};//析构函数为空 int Length();//求线性表的长度

datatype Get(int i);//按位查找,取线性表的第i个元素 int Locate(datatype item);//查找元素item void Insert(int i, datatype item);//在第i个位置插入元素item datatype Delete(int i);//删除线性表的第i个元素 void display();//遍历线性表,按序号依次输出各元素 private: datatype data[MaxSize];//存放数据元素的数组 int length;//线性表的长度 };

(2)初始化顺序表算法实现(不带参数的构造函数)/* *输 入:无

*前置条件:顺序表不存在 *功 能:构建一个顺序表 *输 出:无

*后置条件:表长为0 */ 实现代码:

template SeqList:: SeqList(){ length=0;}

(3)顺序表的建立算法(带参数的构造函数)

/* *输 入:顺序表信息的数组形式a[],顺序表长度n *前置条件:顺序表不存在

*功 能:将数组a[]中元素建为长度为n的顺序表 *输 出:无

*后置条件:构建一个顺序表 */ 实现代码:

template SeqList:: SeqList(datatype a[], int n){ if(n>MaxSize){

cout<<“数组元素个数不合法”<

data[i]=a[i];length=n;}(4)在顺序表的第i个位置前插入元素e算法 /* *输 入:插入元素e,插入位置i *前置条件:顺序表存在,i要合法

*功 能:将元素e插入到顺序表中位置i处 *输 出:无

*后置条件:顺序表插入新元素,表长加1 */ 实现代码:

template void SeqList::Insert(int i, datatype item){ int j;if(length>=MaxSize){

cout<<“溢出”<length+1){

cout<<“i不合法!”<=i;j--)

data[j]=data[j-1];data[i-1]=item;length++;}(5)删除线性表中第i个元素算法 /* *输 入:要删除元素位置i *前置条件:顺序表存在,i要合法

*功 能:删除顺序表中位置为i的元素 *输 出:无

*后置条件: 顺序表册除了一个元素,表长减1 */ 实现代码:

template datatype SeqList::Delete(int i){ int item,j;if(length==0){

cout<<“表为空,无法删除元素!”<length){

cout<<“i不合法!”<

for(j=i;j

data[j-1]=data[j];//注意数组下标从0记

length--;return item;}(6)遍历线性表元素算法 /* *输 入:无

*前置条件:顺序表存在 *功 能:顺序表遍历 *输 出:输出所有元素 *后置条件:无 */ 实现代码:

template void SeqList::display(){ if(length==0){

cout<<“表为空,无法输出!”<

cout<

(7)获得线性表长度算法 /* *输 入:无

*前置条件:顺序表存在 *功 能:输出顺序表长度 *输 出:顺序表长度 *后置条件:无 */ 实现代码:

template int SeqList::Length(){ return Length;}

(8)在顺序线性表中查找e值,返回该元素的位序算法 /* *输 入:查询元素值e *前置条件:顺序表存在

*功 能:按值查找值的元素并输出位置 *输 出:查询元素的位置 *后置条件:无 */ 实现代码:

template int SeqList::Locate(datatype item){ for(int i=0;i

//下标为i的元素等于item,返回其序号i+1

return 0;//查找失败 }

(9)获得顺序线性表第i个元素的值 /* *输 入:查询元素位置i *前置条件:顺序表存在,i要合法

*功 能:按位查找位置为i的元素并输出值 *输 出:查询元素的值 *后置条件:无 */ 实现代码:

template datatype SeqList::Get(int i){ if(i<0||i>length){

cout<<“i不合法!”<

(10)判表空算法 /* *输 入:无 *前置条件:无

*功 能:判表是否为空

*输 出:为空返回1,不为空返回0 *后置条件:无 */ 实现代码:

template bool SeqList::Empty(){ if(length==0){

return 1;} else {

return 0;} }

(11)求直接前驱结点算法 /* *输 入:要查找的元素e,待存放前驱结点值e1

*前置条件:无

*功 能:查找该元素的所在位置,获得其前驱所在位置。*输 出:返回其前驱结点的位序。*后置条件:e1值为前驱结点的值 */ 实现代码:

template int SeqList::Pre(datatype item){ int k=Locate(item)-1;if(k>0)

return k;else {

cout<<“无前驱结点!”<

return 0;} }(12)求直接后继结点算法 /* *输 入:要查找的元素e,待存放后继结点值e1 *前置条件:无

*功 能:查找该元素的所在位置,获得其后继所在位置。*输 出:返回其后继结点的位序。*后置条件:e1值为后继结点的值 */ 实现代码:

template int SeqList::Suc(datatype item){ int k=Locate(item)+1;if(k>length){

cout<<“无后继结点!”<

return k;} }

上机实现以上基本操作,写出main()程序: void main(){ SeqList Seq;//创建

if(Seq.Empty()){

cout<<“线性表为空!”<

} Seq.Insert(1,1);Seq.Insert(2,2);Seq.Insert(3,3);Seq.Insert(4,4);Seq.Insert(5,5);//插入元素操作

cout<<“输出插入的五个元素:”<

cout<

cout<<“2是第”<

cout<<“第五个元素是:”<

cout<<“线性表的长度为:”<

Seq.Delete(3);//删除元素

cout<<“删除第三个元素后的线性表为:”<

cout<

cout<<“元素2前驱结点的数值为:”<

cout<<“元素4后继结点的位置为:”<

cout<<“元素4后继结点的数值为:”<

要求对每个算法都加以测试,判断是否正确;并测试不同类型数据的操作。粘贴测试数据及运行结果:

2、用以上基本操作算法,实现A=AUB算法。(利用函数模板实现)/* *输 入:集合A,集合B *前置条件:无

*功 能:实现A=AUB *输 出:无

*后置条件:A中添加了B中的元素。*/

实现代码:

template SeqList SeqList::Add(SeqList& item){ if(item.Empty())

return *this;else {

int k=item.Length();

int num=this->Length();

for(int i=1;i<=k;i++)

{

for(int j=0;j

if(data[j]==item.Get(i))

{

break;

}

else if(num-1==j&&data[num-1]!=item.Get(i))

{

this->Insert(++num,item.Get(i));

}

}

return *this;} } void main(){ SeqList A,B;cout<<“A∪B的结果是:”<

B.Insert(1,2);B.Insert(2,6);B.Insert(3,1);B.Insert(4,8);B.Insert(5,9);//插入集合B中元素

A.Add(B);A.display();cout<

3、对以上顺序表类中的基本操作算法适当加以补充,实现向一个有序的(非递减)的顺序表中插入数据元素e算法。/* *输 入:插入元素e *前置条件:顺序表已有序

*功 能:将元素e插入到顺序表中适当的位置,使顺序表依然有序 *输 出: 无

*后置条件:有序顺序表插入了新元素,且表长加1。*/ 实现代码:

template void SeqList::orderInsert(datatype item){ int num=this->Length();for(int i=0;i

if((data[i]item))

{

for(int k=num;k>i;k--)

data[k]=data[k-1];

data[i+1]=item;

length++;

break;

}

if(data[i]>item)

{

for(int k=num;k>i;k--)

data[k]=data[k-1];

data[i]=item;

length++;

break;

} } } void main(){ SeqList A,B;A.Insert(1,3);A.Insert(2,5);A.Insert(3,6);A.Insert(4,8);A.Insert(5,10);//插入顺序表

cout<<“原顺序表为:”<

cout<

cout<<“插入新元素后的顺序表为:”<

4、算法实现:La,Lb为非递减的有序线性表,将其归并为Lc,该线性表仍有序(未考虑相同时删除一重复值)(利用函数类板实现)MergeList: /* *输 入:有序线性表La,有序线性表Lb *前置条件:顺序表已有序

*功 能:将两线性表归并,不去掉相同元素 *输 出: 返回一个新的有序线性表Lc *后置条件:无 */ 实现代码:

template SeqList SeqList::ElseAdd(SeqList Seq1,SeqList Seq2){ int num=Seq2.Length();for(int i=0;i<=num;i++){

Seq1.orderInsert(Seq2.Get(i));} return Seq1;} void main(){ SeqList La,Lb,Lc;La.Insert(1,2);La.Insert(2,4);La.Insert(3,6);La.Insert(4,8);//插入La cout<<“La中元素为:”<

cout<<“合并后的Lc为:”<

cout<

粘贴测试数据及运行结果:

三、心得体会:(含上机中所遇问题的解决办法,所使用到的编程技巧、创新点及编程的心得)

下载个体实验报告4顺序图(精选合集)word格式文档
下载个体实验报告4顺序图(精选合集).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    软件技术基础上机实验报告 顺序表5篇

    软件技术基础上机实验报告 姓名:肖燕平上机实验 一 Ex1_1 #include #define maxnum 20 typedef struct list_type { int data[maxnum]; int length; }list_type; void e......

    变电所运行停送电操作顺序图

    变电所运行停送电操作顺序图(一) 出线停送电操作顺序图1、 停电操作顺序图2、送电操作顺序图→→→→(二) 双绕组变压器停止、加入运行操作顺序图1、 双绕组变压器停止运行(冷备......

    数据结构邻接矩阵,邻接表,图实验报告

    实验名称:数据结构实验五 实验内容:1.使用邻接矩阵建立一个图,深度遍历。2.使用邻接表建立一个图,广度遍历。3.建立一个图,存储结构自己确定,并进行拓扑排序。 实验代码: 1.#include......

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

    医院病房监护系统 一 实验内容: 现有一医院病房监护系统,病症监视器安置在每个病房,将病人的病症信号实时传送到中央监视系统进行分析处理。在中心值班室里,值班护士使用中央监......

    网上书店 需求分析 包括连类图 ,顺序图,活动图

    网上书店系统 需求说明书 班级: 学号: 姓名: 目录 1 前言 ................................................................................................................

    个体心理咨询

    个体心理咨询个体心理咨询 儿童、青少年成长和发展中遇到的各类心理问题;人际关系不良导致的心理问题;职业生涯规划遇到的问题咨询;环境适应不良遇到的心理问题;抑郁性神经症;焦......

    个体劳动合同

    个体劳动合同 个体劳动合同1 甲方:乙方:甲方聘用乙方为员工,双方经过平等协商,彼此同意约定下述条款以共同遵守。一、乙方之考勤与管理悉按甲方有关员工手册办理之。二、乙方这......

    个体劳动合同

    个体劳动合同15篇 个体劳动合同1 甲 方: 乙 方:雇主(以下简称甲方) 受雇职工(以下简称乙方......