中南大学设计模式实验2
设计模式上机实验二实验报告
设计模式实验二实验报告书专业班级软件0703学号24姓名吉亚云指导老师刘伟时间2010年4月24日中南大学软件学院实验二设计模式上机实验二一、实验目的使用PowerDesigner和任意一种面向对象编程语言实现几种常用的设计模式,加深对这些模式的理解,包括装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式。
二、实验内容使用PowerDesigner和任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,包括根据实例绘制相应的模式结构图、编写模式实现代码,运行并测试模式实例代码。
三、实验要求1. 正确无误绘制装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式的模式结构图;2. 使用任意一种面向对象编程语言实现装饰模式、外观模式、代理模式、职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式和模板方法模式,代码运行正确无误。
四、实验步骤1. 使用PowerDesigner绘制装饰模式结构图并用面向对象编程语言实现该模式;2. 使用PowerDesigner绘制外观模式结构图并用面向对象编程语言实现该模式;3. 使用PowerDesigner绘制代理模式结构图并用面向对象编程语言实现该模式;4. 使用PowerDesigner绘制职责链模式结构图并用面向对象编程语言实现该模式;5. 使用PowerDesigner绘制命令模式结构图并用面向对象编程语言实现该模式;6. 使用PowerDesigner绘制迭代器模式结构图并用面向对象编程语言实现该模式;7. 使用PowerDesigner绘制观察者模式结构图并用面向对象编程语言实现该模式;8. 使用PowerDesigner绘制状态模式结构图并用面向对象编程语言实现该模式;9. 使用PowerDesigner绘制策略模式结构图并用面向对象编程语言实现该模式;10. 使用PowerDesigner绘制模板方法模式结构图并用面向对象编程语言实现该模式。
中南大学操作系统实验
《计算机操作系统》实验设计设计目的1、增强学生对计算机操作系统基本原理、基本理论、基本算法的理解2、提高和培养学生的动手能力设计要求1、每人至少选作1题,多做不限。
2、每人单独完成,可以讨论,但每人的设计内容不得完全相同,抄袭或有2人/多人设计完全一样者,不能通过。
3、设计完成后,应上交课程设计文档,文档格式应是学校课程设计的标准格式,所有学生的封面大小、格式也必须一样4、同时上交设计的软盘(或以班刻录光盘)设计题目设计类✧在i386下写一个程序,从实地址模式进入保护虚地址模式,进而启动分页机制平台:语言:汇编、C✧DOS下中断程序设计设计热键、中断接管程序等平台:DOS语言:ASM、Turbo C、Pascal等✧DOS下的菜单、图形界面程序设计同1✧DOS、下的I/O设备处理程序,如打印机驱动程序、字符设备、块设备、网络设备、USB设备驱动程序平台:DOS语言:ASM TC✧多进程处理程序,进程创建、通信(管道、信号量、共享内存、消息队列等、mmap)、互斥平台:Windows、Linux语言:同上✧多线程程序线程创建、同步、互斥平台:Windows、Linux语言:VC LINUX-GCC JA V A✧Windows下设备驱动程序设计(块设备、字符设备、网络设备、USB设备)✧Linux下设备驱动程序设计(块设备、字符设备、网络设备、USB设备)✧Linux调度实验与参数调整如改变时间片、优先级等✧Linux操作系统内存管理机制实验✧Linux文件管理实验,并增加一个系统调用✧Linux系统调用过程实验,并增加一个系统调用如跟综一个系统调用算法模拟类✧调度算法的模拟模拟各种调度算法,并进行调度性能分析✧银行家算法模拟✧内存管理算法模拟✧页面置换算法模拟✧模拟分段、分页情况下的地址变换逻辑地址-线性地址-物理地址实验一、进程调度试验[目的要求]用高级语言编写和调试一个进程调度程序,以加深对进程的概念及进程调度算法的理解.[准备知识]一、基本概念1、进程的概念;2、进程的状态和进程控制块;3、进程调度算法;二、进程调度1、进程的状态2、进程的结构——PCB进程都是由一系列操作(动作)所组成,通过这些操作来完成其任务。
中南大学自动化专业离散数学实验报告2
中南大学自动化专业离散数学实验报告2离散数学作为计算机科学与技术专业的基础课程之一,对于培养学生的逻辑思维和抽象思维能力具有重要意义。
本次实验是关于离散数学中的图论部分,通过实际操作和计算来理解和应用图的相关概念和算法。
实验一开始,我们首先学习了图的基本概念和术语,例如顶点、边、路径、回路等。
然后,我们学习了图的表示方法,包括邻接矩阵和邻接表。
通过实际操作,我们发现邻接矩阵适合表示稠密图,而邻接表适合表示稀疏图。
这种不同的表示方法对于图的遍历和搜索算法有着重要的影响。
接下来,我们进行了图的遍历实验。
通过深度优先搜索和广度优先搜索算法,我们可以遍历图中的所有节点,并找到特定节点之间的路径。
深度优先搜索算法通过递归的方式进行,它会首先访问一个节点的所有邻接节点,然后再递归地访问这些邻接节点的邻接节点。
广度优先搜索算法则是通过队列的方式进行,它会首先访问一个节点的所有邻接节点,然后将这些邻接节点按照访问的顺序加入队列中,再逐个出队进行访问。
通过实验,我们发现深度优先搜索算法更适合用于寻找路径,而广度优先搜索算法更适合用于寻找最短路径。
在实验的后半部分,我们学习了最小生成树和最短路径算法。
最小生成树算法用于找到一个连通图的最小生成树,其中包含了连接图中所有节点的最短路径。
我们学习了Prim算法和Kruskal算法,它们分别基于贪心算法和并查集来实现。
通过实验,我们发现Prim算法适合用于稠密图,而Kruskal算法适合用于稀疏图。
最短路径算法用于找到两个节点之间的最短路径,我们学习了Dijkstra算法和Floyd算法。
Dijkstra算法通过贪心策略逐步更新节点之间的最短路径,而Floyd算法则通过动态规划的方式计算所有节点之间的最短路径。
通过实验,我们发现Dijkstra算法适合用于稀疏图,而Floyd算法适合用于稠密图。
总结起来,本次实验让我们深入了解了离散数学中的图论部分,并通过实际操作和计算来应用图的相关概念和算法。
中南大学化工原理仿真实验报告
化工原理计算机仿真实验
班级:化学工程与工艺1102班
姓名:王翔
学号:1505110321
日期:2014年1月1日
本套软件系统包括8个单元仿真实验:
实验一离心泵性能的测试
实验二管道阻力实验
实验三传热实验
实验四吸收实验
实验五流体流动形态的观测
实验六柏努利方程实验
实验七干燥实验
实验八精馏实验
以下是实验模拟观测过程和计算机生成的实验报告。
图1 离心泵性能的测试观察气蚀现象(1)
图2 离心泵性能的测试观察气蚀现象(2)
图3 离心泵性能的测试离心泵特性曲线测定实验报告(1)图4 离心泵性能的测试离心泵特性曲线测定实验报告(2)图5 离心泵性能的测试离心泵特性曲线测定实验报告(3)图6 离心泵性能的测试离心泵特性曲线测定实验报告(4)图7 管道阻力的测定实验报告(1)
图8 管道阻力的测定实验报告(2)
图9 管道阻力的测定实验报告(3)
图10 传热实验
图11 传热实验报告(1)
图12 传热实验报告(2)
图13 传热实验报告(3)
图14 传热实验报告(4)
图15 吸收实验观察液泛现象
图16 吸收实验报告
图17 液体流动形态的观测观察滞留形态
图18 液体流动形态的观测实验报告
图19 柏努利方程实验观察测压孔与水流方向方位角与水位变化(1)图20 柏努利方程实验观察测压孔与水流方向方位角与水位变化(2)图21 干燥实验报告(1)
图22 干燥实验报告(2)
图23 干燥实验报告(3)
图24 干燥实验报告(4)
图25 精馏实验动态平衡调整
图26 精馏实验报告(1)
图27 精馏实验报告(2)。
中南大学计算机网络实验报告
计算机网络实验报告专业班级:信安1202班指导老师:*********学号:**********实验二网络路由层协议模拟实验网络路由算法是路由器工作的核心,本实验针对因特网常用的距离向量路由算法和链路状态路由算法进行模拟实现,进一步掌握其工作原理及其相关性能。
【实验目的和要求】1.掌握VB、VC++、VS或JA V A等集成开发环境编写路由仿真程序的方法;2.理解并掌握距离向量路由协议和链路状态路由协议的工作原理。
【实验内容】2.实现链路状态路由算法的模拟。
基本要求(动态生成网络拓扑图,节点间的距离随机生成。
每个节点生成自己的链路状态分组,依据收到的链路状态表得到整体网络结构,在得到的整体网络结构上用最短路径算法,生成每个节点的路由表)进一步的要求:可以将模拟实验的每个节点程序部署在不同的电脑上,通过socket通信程序完成路由表信息或者链路状态分组的发送(与实验三结合)。
请用两台机器虚拟成多个网络节点(一台机器上开启多个通信进程,每个进程虚拟成一个节点),完成每个虚拟节点的路由表生成,进而按照路由表转发数据包。
【编程语言和环境】1.编程语言C++2.编程环境Windows(MS Visual系列,VC/VB/;)【基本原理】在一个链路状态路由选择中,一个结点检查所有直接链路的状态,并将所得的状态信息发送给网上所有的其他的结点,而不仅仅是发给那些直接相连的结点。
每个节点都用这种方式,所有其他的结点从网上接收包含直接链路状态的路由信息。
每当链路状态报文到达时,路由结点便使用这些状态信息去更新自己的网路拓扑和状态“视野图”,一旦链路状态发生改变,结点对跟新的网络图利用Dijkstra最短路径算法重新计算路由,从单一的报源发出计算到达所有的结点的最短路径。
【实现过程】1.流程图2.部分代码void createGraph(int*arcs[],int& num){//创建并初始化网络拓扑图cout<<"请输入路径的权值(用邻接矩阵表示拓扑图的方式):"<<endl;for(int i=0;i<num;i++){arcs[i]=new int[num];for(int j=0;j<num;j++)cin>>arcs[i][j];}}void Dijkstra(int* arcs[],int* R[],int RL[],int vexnum){//迪杰斯特拉算法int v0;//定义源节点bool* visit=new bool[vexnum];//已经确定最短路径的节点的集合cout<<"请输入起始节点:";cin>>v0;cout<<endl;for(int cnt=0;cnt<vexnum;cnt++){//进行主要的循环之前的初始化visit[cnt]=FALSE;RL[cnt]=arcs[v0][cnt];if(RL[cnt]<INFINITY){R[cnt][0]=v0;R[cnt][1]=cnt;}}//forRL[v0]=0;//源节点的标志visit[v0]=TRUE;//初始化已经找到最短路径的点集合for(int i=1;i<vexnum;i++){//dijkstra算法的主要循环int min=INFINITY;int v=v0;for(int j=0;j<vexnum;j++)if(!visit[j])if(RL[j]<min){v=j;min=RL[j];}visit[v]=TRUE;//离v0顶点最近的v加入到s集for(int k=0;k<vexnum;k++)//更新当前最短路径及距离if(!visit[k]&&(min+arcs[v][k]<RL[k])){//modify shortest r[j] and RL[j]RL[k]=min+arcs[v][k];updateRouteLen(R[k],R[v],k,vexnum);}//if}//fordelete[] visit;visit=NULL;}//Dijkstra【运行结果】1.生成的连接矩阵和路由表(两个txt文件)Graph.txt拓扑图的邻接矩阵2 3 8 43 4 5 92 3 4 13 9 3 1注:10000表示无穷大Route.txt目标节点:0最短路径是:2--->0最短路径长度:2*********************目标节点:1最短路径是:2--->1最短路径长度:3*********************目标节点:3最短路径是:2--->3最短路径长度:1*********************2.运行界面截图【实验总结】1.算法优缺点分析优点:路由信息的一致性好,坏消息也一样传播得快;状态分组的长度较短,仅包含到邻接点的距离、序号和年龄等,与网络规模关系不大,传输所耗用的网络带宽不大,此外,状态分组的扩散,由于年龄参数的设定,不会无限制扩散,所以可适用于大型网络。
中南大学制造系统自动化技术实验报告范文资料_中南大学实验报告范文
中南大学制造系统自动化技术实验报告范文资料_中南大学实验报告范文制造系统自动化技术实验报告学院:机电工程学院班级:机制某某某某姓名:张某某学号:某某某某某某某某某某某指导教师:李某某时间:2022-11-12实验一柔性自动化制造系统运行实验1.实验目的(1)通过操作MES终端软件,实现对柔性制造系统的任务下达和控制加工,让学生了解智能制造的特征及优势。
(2)通过创意性的实验让学生了解自动化系统总体方案的构思。
(3)通过总体方案的构思让学生了解该系统的工作原理,并学会绘制控制系统流程图,掌握物料流、信息流、能量流的流动路径。
(4)通过总体方案的构思让学生掌握各机械零部件、传感器、控制元器件的工作原理及性能。
(5)通过实验系统运行让学生了解运行的可靠性、安全性是采用何种元器件来实现的,促进学生进行深层次的思考和实践。
2.实验内容(1)仔细观察柔性自动化制造系统的实现,了解柔性自动化制造系统的各个模块,熟悉各个模块的机械结构。
(2)了解各种典型传动机构的组装、工作原理、以及如何实现运动方向和速度的改变;(3)学习多种传感器的工作原理、性能和使用方法;(4)了解典型驱动装置的工作原理、驱动方式和性能;(5)理解柔性制造系统的工作原理,完成柔性制造系统的设计、组装;(6)实现对柔性制造系统的控制与检测,完成工件抓取、传输和加工。
3.实验步骤(1)柔性制造系统的总体方案设计;(2)进行检测单元的设计;(3)进行控制系统的设计;(4)上下料机构的组装与检测控制;(5)物料传输机构的组装与实现;(6)柔性制造系统各组成模块的连接与控制;(7)柔性制造系统各组成单元的状态与工件状态位置的检测;(8)对机器人手动操作,实现对工件的抓取、传输。
4.实验报告①该柔性自动化制造系统由哪几个主要的部分组成;主要由:总控室工作站、AGV小车输送物料机构、安川机器人上下料工作站、法那科机器人上下料工作站、ABB机器人组装工作站、视觉检测及传送工作站、激光打标工作站、堆垛机及立体仓储工作站。
中南大学软件体系结构实验3-创建型设计模式实验
实验3 创建型设计模式实验实验学时: 2每组人数: 1实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性)实验要求: 1 (1:必修 2:选修 3:其它)实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它)一、实验目的1.熟练使用面向对象设计原则对系统进行重构;2.熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的创建型设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式和单例模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1.在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:Circle+ + + + +init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidTriangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidRectangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidClient在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形, setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。
客户类(Client)在使用该图形库时发现存在如下问题:①由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;②在图形库中增加并使用新的图形时需要修改客户类源代码;③客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。
中南大学微机接口实验报告
见随机光盘,文件名为 H0809.ASM
七、实验结果
导入实验程序,观察实验现象,如下图:
5
实验二 使用 DAC0832 的 D/A 转换实验(一)
一、实验目的
熟悉 DAC0832 数模转换器的特性和接口方法,掌握 D/A 输出程序的设计和调试方法。
二、预备知识
1、 DAC0832 结构 DAC0832 是用先进的 CMOS/Si-Cr 工艺制成的双列直插式单片 8 位 D/A 转换器。它可
2
实验一 使用 ADC0809 的 A/D 转换实验
一、实验目的
加深理解逐次逼近法模数转换器的特征和工作原理,掌握 ADC0809 的接口方法以及 A/D 输入程序的设计和调试方法。
二、预备知识
逐次逼近法 A/D 也称逐次比较法 A/D。它由结果寄存器、D/A、比较器和置位控制逻辑 等部件组成,如图 1-1 所示。
(MSB) 13
DI7 14
15 16 4 5
6
DI0 7 (LSB)
19 ILE
D7 Q7
8 bit input reqister
D0 Q0 LE *
1 CS
2 WR1
18
WR2 17
D7 Q7 8 bit DAC reqister
D0 Q0
LE *
8 bit D/A converter
8 VERF
Rfb 9
I out1 11 I out2 12 0832
+12V
2
7
6
Vout
3
5
1
4
10K -12V
图 2-2 0832 单极型电压输出电路
7
中南大学c++课程设计
delete [] elem[i];
elem[i] = NULL;
}
if(elem) delete [] elem;
elem = NULL;
}
bool List::add()
{
if(n < capacity)
{
int num_;
char name_[20];
int amount_;
double prrice_;
public:
Equipment(int num_ = 0 , char *name_ = NULL ,
int amount_ = 0, double prrice_ = 0);
Equipment & operator = (Equipment &a)
{
num = a.num;
strcpy(name,);
{
cout<<year<<":"<<month<<":"<<day<<'\t';
}
void Date::foutput(ofstream &fout)
{
fout<<year<<" "<<month<<" "<<day<<endl;
}
Date::Date(int y,int m,int d)
{
year = y;
date.foutput(fout);
fout<<amount<<endl;
fout<<prrice<<endl;
中南大学刘伟《设计模式》实验参考答案介绍
1
Creator + init () : void + create ()ห้องสมุดไป่ตู้: Shape
CircleCreator + init () : void + create () : Shape Client
TriangleCreator + init () : void + create () : Shape
JpgReaderFactory GifReader + createImageReader () : ImageReader + readImage () : void
<<create>>
JpgReader + readImage () : void
GifReaderFactory + createImageReader () : ImageReader
Shape + + + + setColor () fill () setSize () display () : void : void : void : void
2.使用简单工厂模式设计一个可以创建不同几何形状(Shape),如圆形(Circle)、矩形 (Rectangle)和三角形(Triangle)等的绘图工具类, 每个几何图形均具有绘制 draw()和擦除 erase() 两个方法,要求在绘制不支持的几何图形时,抛出一个 UnsupportedShapeException 异常, 绘制类图并编程模拟实现。 参考答案:
Triangle init () setColor () fill () setSize () display () : void : void : void : void : void + + + + +
中南大学计算机网络实验报告
中南大学计算机网络——课程设计报告姓名:周建权学号:0909122820班级:信安1202目录第一章概要设计 (3)1.1设计目的、任务与要求 (3)1.2 开发环境简介 (3)第二章设计的基本概念和原理 (5)2.1 数据库 (5)2.2 MVC架构模式 (5)2.3 Web应用服务器 (6)第三章系统分析设计 (6)3.1 系统功能 (6)3.2 系统构架 (7)第四章系统实现 (9)4.1 数据库设计 (9)4.2 系统公共模块设计 (11)4.3 前台销售模块详细设计 (12)4.4 后台管理模块详细设计 (14)第五章完成情况 (15)5.1前台基本功能界面 (15)5.2后台基本功能界面 (20)第六章使用说明 (22)6.1网站访问方式 (22)第七章总结 (22)第八章参考文献 (22)第一章概要设计1.1设计目的、任务与要求电子商务(Electronic Commerce)是在Internet开放的网络环境下,基于浏览器/服务器应用方式,实现消费者的网上购物、商户之间的网上交易和在线电子支付的一种新型的商业运营模式。
Internet上的电子商务可以分为三个方面:信息服务、交易和支付。
主要内容包括:电子商情广告;电子选购和交易、电子交易凭证的交换;电子支付与结算以及售后的网上服务等。
主要交易类型有企业与个人的交易(B to C方式)和企业之间的交易(B to B方式)两种。
参与电子商务的实体有四类:顾客(个人消费者或企业集团)、商户(包括销售商、制造商、储运商)、银行(包括发卡行、收单行)及认证中心。
电子商务是Internet 爆炸式发展的直接产物,是网络技术应用的全新发展方向。
Internet本身所具有的开放性、全球性、低成本、高效率的特点,也成为电子商务的内在特征,并使得电子商务大大超越了作为一种新的贸易形式所具有的价值,它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。
最新中南大学软件体系结构设计模式实验二全解
实验3 设计模式实验二实验学时: 4每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的行为型设计模式,包括职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1. 某企业的SCM(Supply Chain Management,供应链管理)系统中包含一个采购审批子系统。
该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。
如下图所示:采购人员主任副董事长董事长董事会金额<5万元5万元≤金额<10万元10万元≤金额<50万元金额≥50万元试使用职责链模式设计并模拟实现该系统。
2. 房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对象包括电灯和电风扇,绘制相应的类图并编程模拟实现。
3. 某软件公司欲开发一个基于Windows平台的公告板系统。
系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(MenuItem),可以通过Menu类的addMenuItem()方法增加菜单项。
菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括OpenCommand(打开命令),CreateCommand(新建命令),EditCommand(编辑命令)等,命令类具有一个execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、create()、edit()等方法。
设计模式上机实验一实验报告
设计模式实验一实验报告书专业班级软件 0703 学号 3901070324 姓名吉亚云指导老师刘伟时间 2010年3月 27日中南大学软件学院实验一设计模式上机实验一一、实验目的熟练使用PowerDesigner绘制类图,构造系统的静态结构模型;使用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式、适配器模式、桥接模式和组合模式。
二、实验要求1. 使用PowerDesigner绘制标准的UML类图;2. 正确无误绘制简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式、适配器模式、桥接模式和组合模式的模式结构图;3. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式、适配器模式、桥接模式和组合模式,代码运行正确无误。
三、实验步骤1. 熟悉PowerDesigner11的常用功能;2. 使用PowerDesigner绘制类图;3. 使用PowerDesigner绘制简单工厂模式结构图并用面向对象编程语言实现该模式;4. 使用PowerDesigner绘制工厂方法模式结构图并用面向对象编程语言实现该模式;5. 使用PowerDesigner绘制抽象工厂模式结构图并用面向对象编程语言实现该模式;6. 使用PowerDesigner绘制原型模式结构图并用面向对象编程语言实现该模式;7. 使用PowerDesigner绘制单例模式结构图并用面向对象编程语言实现该模式;8. 使用PowerDesigner绘制适配器模式结构图并用面向对象编程语言实现该模式;9. 使用PowerDesigner绘制桥接模式结构图并用面向对象编程语言实现该模式;10. 使用PowerDesigner绘制组合模式结构图并用面向对象编程语言实现该模式。
四、实验报告要求1. 绘制实例场景的类图;2. 提供简单工厂模式结构图及实现代码;3. 提供工厂方法模式结构图及实现代码;4. 提供抽象工厂模式结构图及实现代码;5. 提供原型模式结构图及实现代码;6. 提供单例模式结构图及实现代码;7. 提供适配器模式结构图及实现代码;8. 提供桥接模式结构图及实现代码;9. 提供组合模式结构图及实现代码。
中南大学离散数学实验报告(实验2ac)
“离散数学”实验报告(实验2AC)专业班级学号姓名日期:目录一、实验目的 (3)二、实验内容 (3)三、实验环境 (3)四、实验原理和实现进程(算法描述) (3)A题型 (3)C题型 (4)五、实验数据及结果分析 (7)A题型 (7)B题型 (9)六、源程序清单 (11)A题型 (11)B题型 (12)七、其他收成及体会 (18)一、实验目的把握关系的概念与性质,大体的关系运算,关系的各类闭包的求法。
明白得等价类的概念,把握等价类的求解方式。
二、实验内容1. 求有限集上给定关系的自反、对称和传递闭包。
(有两种求解方式,只做一种为A,两种都做为B)2. 求有限集上等价关系的数量。
(有两种求解方式,只做一种为A,两种都做为B)3. 求解商集,输入集合和等价关系,求相应的商集。
(C)三、实验环境C或C++语言编程环境实现。
四、实验原理和实现进程(算法描述)A题型求有限集上等价关系的数量。
集合上的等价关系与该集合的划分之间存在一一对应关系。
一个等价关系对应一个划分,一个划分也对应一个等价关系。
咱们把n个元素的集合划分成k 块的方式数叫第二类Stirling数,表示为S(n,k)。
给定S(n,n) = S(n,1) = 1,有递归关系:S(n,k) = S(n − 1,k − 1) + kS(n − 1,k)集合上所有等价类的个数即为k从1到n,所有S(n,k)之和。
那个问题的算法比较简单,仅需两步就可完成,第一依照上式,概念一个递归函数S(n,k),然后对k从1到n,求取sum=∑S(n,k),sum的值确实是给定n元集合上的等价关系数量,最后将其输出即可。
A题型的流程图如下所示:C题型求解商集,输入集合和等价关系,求相应的商集商集即等价类组成的集合,要求商集,第一需要判定输入的关系是不是为等价关系,不然没有商集。
判定输入的关系是不是为等价关系的算法如下:(1)将输入的关系转换为关系矩阵,那个地址概念了一个函数translate(),转换的方式为:依次查找输入的关系中的二元组的两个元素在集合中的位置,例如<a,b>,假设a在集合A中的位置为i,b在集合A中的位置为j,就令寄存关系矩阵的二维数组M[i][j]=1,如此就将输入的关系R转换为关系矩阵的形式。
中南大学设计模式实验2
中南大学设计模式实验2实验2 设计模式实验一实验学时: 4每组人数: 1实验类型: 3 (1:基础性 2:综合性 3:设计性 4:研究性)实验要求: 1 (1:必修 2:选修 3:其它)实验类别: 3 (1:基础 2:专业基础 3:专业 4:其它)一、实验目的1.熟练使用面向对象设计原则对系统进行重构;2.熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的创建型设计模式和结构型设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、桥接模式和组合模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1.在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:Circle+ + + + +init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidTriangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidRectangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidClient在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形, setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。
客户类(Client)在使用该图形库时发现存在如下问题:①由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;②在图形库中增加并使用新的图形时需要修改客户类源代码;③客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。
中南大学软件体系结构设计模式实验二全解
《软件体系结构》实验报告项目名称设计模式实验2专业班级实验成绩:批阅教师:实验3设计模式实验实验学时: 4每组人数: 1实验类型: 3 (1:基础性 2:综合性 3:设计性4 :研究性)实验要求: 1 (1:必修 2:选修 3:其它)实验类别:3(1:基础2 :专业基础3:专业4:其它)、实验目的熟练使用PowerDesigner 和任意一种面向对象编程语言实现几种常见的行为型设计模 式,包括职责链模式、命令模式、观察者模式和策略模式,理解每一种设计模式的模式动 机,掌握模式结构,学习如何使用代码实现这些模式。
、实验内容1.某企业的SCM(Suppiy Chain Management ,供应链管理)系统中包含一个采购审批子系统。
该企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来 审批,主任可以审批 5万元以下(不包括 5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开董事会讨论决定。
如下图所示:试使用职责链模式设计并模拟实现该系统。
2.房间中的开关是命令模式的一个实例,现用命令模式来模拟开关的功能,可控制对 象包括电灯和电风扇,绘制相应的类图并编程模拟实现。
3.某软件公司欲开发一个基于 Windows 平台的公告板系统。
系统提供一个主菜单(Menu),在主菜单中包含了一些菜单项(Menultem),可以通过 Menu 类的addMenultem()方 法增加菜单项。
菜单项的主要方法是click(),每一个菜单项包含一个抽象命令类,具体命令类包括 Open Comma nd(打开命令),CreateComma nd(新建命令),EditComma nd(编辑命令) 等,命令类具有一个 execute()方法,用于调用公告板系统界面类(BoardScreen)的open()、 create 。
中南大学ORcad实验报告(程嘉洲版实验2到实验7)完美步骤,完美报告!
程嘉洲Orcad实验报告完美汇总完整步骤!实验二电子电路的直流、交流分析一、实验目的1、应用计算机对电子电路进行直流和交流分析,包括基本工作点分析、灵敏度分析和直流传输特性分析。
2、掌握进行上述基本分析的设置方法,对所给的一些实际电路分别进行直流和交流分析,正确显示出各种波形图,根据形成的各种数据结果及波形图对电路特性进行正确的分析和判断。
二、实验内容1、对左图的共射极单管放大电路进行直流分析,做出三级管Q1的伏安特性曲线(I c~V2),V2从0伏到12伏,I b从40uA~160uA。
2、做出直流负载线:(12- V(V2:+))/1003、进行交流分析,扫描频率范围从100Hz~100MHz三、实验报告要求1、根据计算机进行分析得到的结果,绘出共射极单管放大电路中三级管Q1的伏安特性曲线(I c~V2)及直流负载线。
2、列出共射极单管放大电路中各节点的偏置电压、输入阻抗、输出阻抗、灵敏度分析结果及直流传输特性。
3、绘出三级管Q1集电极电流的交流扫描特性曲线。
四、实验结果及步骤1、对左图的共射极单管放大电路进行直流分析,做出三级管Q1的伏安特性曲线(I c~V2),V2从0伏到12伏,I b从40uA~160uA。
建立工程设置网格显示界面设置叶幅界面实验二仿真设置,结果如图3、进行交流分析,扫描频率范围从100Hz~100MHz得到的直流工作点为打开模拟输出结果界面,得到1,ac小信号工作点2,直流传输特性分析3,灵敏度分析交流扫描设置和交流扫描曲线结果如图实验三各种激励信号的设置及瞬态分析一、实验目的1、了解各种激励信号中参数的意义,掌握其设置方法。
2、掌握对电路进行瞬态分析的设置方法,能够对所给出的实际电路进行规定的瞬态分析,得到电路的瞬态响应曲线。
二、实验内容1、正确设置正弦信号、脉冲信号、周期性分段线性信号,参数自行确定,要求屏幕上正好显示4个完整周期的信号曲线。
2、对下图单管放大电路进行瞬态分析,信号源采用正弦波,频率从1kHz 到20kHz任意选定。
中南大学离散数学实验报告(实验2AC)
“离散数学”实验报告(实验2AC)专业班级学号姓名日期:2011.12.12目录一、实验目的 (3)二、实验内容 (3)三、实验环境 (3)四、实验原理和实现过程(算法描述) (3)A题型 (3)C题型 (4)五、实验数据及结果分析 (7)A题型 (7)B题型 (9)六、源程序清单 (11)A题型 (11)B题型 (12)七、其他收获及体会 (18)离散数学实验报告2AC一、实验目的掌握关系的概念与性质,基本的关系运算,关系的各种闭包的求法。
理解等价类的概念,掌握等价类的求解方法。
二、实验内容1. 求有限集上给定关系的自反、对称和传递闭包。
(有两种求解方法,只做一种为A,两种都做为B)2. 求有限集上等价关系的数目。
(有两种求解方法,只做一种为A,两种都做为B)3. 求解商集,输入集合和等价关系,求相应的商集。
(C)三、实验环境C或C++语言编程环境实现。
四、实验原理和实现过程(算法描述)A题型求有限集上等价关系的数目。
集合上的等价关系与该集合的划分之间存在一一对应关系。
一个等价关系对应一个划分,一个划分也对应一个等价关系。
我们把n个元素的集合划分成k 块的方法数叫第二类Stirling数,表示为S(n,k)。
给定S(n,n) = S(n,1) = 1,有递归关系:S(n,k) = S(n − 1,k − 1) + kS(n − 1,k)集合上所有等价类的个数即为k从1到n,所有S(n,k)之和。
这个问题的算法比较简单,仅需两步就可完成,首先根据上式,定义一个递归函数S(n,k),然后对k从1到n,求取sum=∑S(n,k),sum的值就是给定n元集合上的等价关系数目,最后将其输出即可。
A题型的流程图如下所示:3C题型求解商集,输入集合和等价关系,求相应的商集商集即等价类构成的集合,要求商集,首先需要判断输入的关系是否为等价关系,否则没有商集。
判断输入的关系是否为等价关系的算法如下:离散数学实验报告2AC 5(1)将输入的关系转换为关系矩阵,这里定义了一个函数translate(),转换的方法为:依次查找输入的关系中的二元组的两个元素在集合中的位置,例如<a ,b>,若a 在集合A 中的位置为i ,b 在集合A 中的位置为j ,就令存放关系矩阵的二维数组M[i][j]=1,这样就将输入的关系R 转换为关系矩阵的形式。
中南大学自控实验报告实验报告2
4、三阶系统
三阶系统处于临界稳定时
4.1三阶R>30K
4.2R<30K
表1
参考项目
R
(KΩ)
K
ωn
ξ
C
(tp)
C
(∞)
Mp (%)
tp (s)
ts (s)
响应情况
理论值
测量值
理论值
测量值
理论值
测量值
0<ξ<1欠阻尼
10
20
10
1/4
1.45
1
44
45
0.32
0.33
1.6
1.585
衰减震荡
2.典型二阶系统瞬态性能指标的测试。
(1)按模拟电路图接线,将1中的方波信号接至输入端,取R = 10K。
(2)用示波器观察系统响应曲线C(t),测量并记录超调MP、峰值时间tp和调节时间tS。
(3)分别按R = 50K;160K;200K;改变系统开环增益,观察响应曲线C(t),测量并记录性能指标MP、tp和tS,及系统的稳定性。并将测量值和计算值进行比较(实验前必须按公式计算出)。将实验结果填入表1.2-1中。表1.2-2中已填入了一组参考测量值,供参照。
3.典型三阶系统的性能
(1)按图1.2-4接线,将1中的方波信号接至输入端,取R = 30K。
(2)观察系统的响应曲线,并记录波形。
减小开环增益(R = 41.7K;100K),观察响应曲线,并将实验结果填入表1.2-3中。表1.2-4中已填入了一组参考测量值,供参照。
六、数据处理
1、首先调节电阻使系统处于临界稳定的状态
实验时间
姓名学号
授教师
实验台号
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 设计模式实验一实验学时: 4每组人数: 1实验类型: 3 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的1.熟练使用面向对象设计原则对系统进行重构;2.熟练使用PowerDesigner和任意一种面向对象编程语言实现几种常见的创建型设计模式和结构型设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、桥接模式和组合模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式。
二、实验内容1.在某图形库API中提供了多种矢量图模板,用户可以基于这些矢量图创建不同的显示图形,图形库设计人员设计的初始类图如下所示:Circle+ + + + +init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidTriangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidRectangle+++++init ()setColor ()fill ()setSize ()display ()...: void: void: void: void: voidClient在该图形库中,每个图形类(如Circle、Triangle等)的init()方法用于初始化所创建的图形,setColor()方法用于给图形设置边框颜色,fill()方法用于给图形设置填充颜色,setSize()方法用于设置图形的大小,display()方法用于显示图形。
客户类(Client)在使用该图形库时发现存在如下问题:①由于在创建窗口时每次只需要使用图形库中的一种图形,因此在更换图形时需要修改客户类源代码;②在图形库中增加并使用新的图形时需要修改客户类源代码;③客户类在每次使用图形对象之前需要先创建图形对象,有些图形的创建过程较为复杂,导致客户类代码冗长且难以维护。
现需要根据面向对象设计原则对该系统进行重构,要求如下:①隔离图形的创建和使用,将图形的创建过程封装在专门的类中,客户类在使用图形时无须直接创建图形对象,甚至不需要关心具体图形类类名;②客户类能够方便地更换图形或使用新增图形,无须针对具体图形类编程,符合开闭原则。
绘制重构之后的类图并说明在重构过程中所运用的面向对象设计原则。
2.在某RPG游戏中使用简单工厂模式创建游戏角色,该游戏可根据用户所选择的参数来创建不同的角色(Role),例如参数为“angel”时创建一个天使角色,参数为“hero”时创建一个英雄角色,参数为“witch”时创建一个女巫角色。
绘制类图并使用Java语言编程模拟实现。
3. 现需要设计一个程序来读取多种不同类型的图片格式,针对每一种图片格式都设计一个图片读取器(ImageReader),如GIF图片读取器(GifReader)用于读取GIF格式的图片、JPG 图片读取器(JpgReader)用于读取JPG格式的图片。
图片读取器对象通过图片读取器工厂ImageReaderFactory来创建,ImageReaderFactory是一个抽象类,用于定义创建图片读取器的工厂方法,其子类GifReaderFactory和JpgReaderFactory用于创建具体的图片读取器对象。
使用工厂方法模式设计该程序,绘制类图并编程模拟实现。
需充分考虑系统的灵活性和可扩展性。
4. 某系统为了改进数据库操作的性能,用户可以自定义数据库连接对象Connection和语句对象Statement,针对不同类型的数据库提供不同的连接对象和语句对象,例如提供Oracle或MySQL专用连接类和语句类,而且用户可以通过配置文件等方式根据实际需要动态更换系统数据库。
使用抽象工厂模式设计该系统,要求绘制对应的类图并使用Java语言编程模拟实现。
5. 使用单例模式的思想实现多例模式(Multiton),确保系统中某个类的对象只能存在有限个,例如两个或三个,设计并编写代码实现一个多例类。
6. 使用单例模式设计一个多文档窗口(注:在Java AWT/Swing开发中可使用JDesktopPane和JInternalFrame来实现),要求在主窗体中某个内部子窗体只能实例化一次,即只能弹出一个相同的子窗体,如下图所示,编程实现该功能。
(注:用C#或C++实现类似功能也可以)7. 现有一个接口DataOperation定义了排序方法sort(int[]) 和查找方法search(int[], int),已知类QuickSort的quickSort(int[])方法实现了快速排序算法,类BinarySearch 的binarySearch(int[], int)方法实现了二分查找算法。
试使用适配器模式设计一个系统,在不修改源代码的情况下将类QuickSort和类BinarySearch的方法适配到DataOperation接口中。
绘制类图并编程实现。
(要求实现快速排序和二分查找,使用对象适配器实现)8. 空客(Airbus)、波音(Boeing)和麦道(McDonnell-Douglas)都是飞机制造商,它们都生产载客飞机(Passenger Plane)和载货飞机(Cargo Plane)。
现需要设计一个系统,描述这些飞机制造商以及它们所制造的飞机种类。
绘制类图并编程模拟实现。
9. 某移动社交软件欲增加一个群组(Group)功能。
通过设置,用户可以将自己的动态信息,包括最新动态、新上传的视频以及分享的链接等,分享给某个特定的成员(Member),也可以分享给某个群组中的所有成员;用户可以将成员添加至某个指定的群组;此外,还允许用户在一个群组中添加子群组,以便更加灵活地实现面向特定人群的信息共享。
选择一种合适的设计模式来设计该群组功能,要求给出该模式的名称及定义,结合场景绘制相应的结构图并编程模拟实现(类名、方法名和属性名可自行定义)。
10. 某教育机构组织结构如下图所示:北京总部教务办公室湖南分校行政办公室教务办公室行政办公室长沙教学点湘潭教学点教务办公室行政办公室教务办公室行政办公室在该教育机构的OA系统中可以给各级办公室下发公文,试采用组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公文。
三、实验要求1. 选择合适的面向对象设计原则对系统进行重构,正确无误地绘制重构之后的类图;2. 结合实例,正确无误地绘制简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、桥接模式和组合模式的模式结构图;3. 使用任意一种面向对象编程语言实现简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、桥接模式和组合模式实例,代码运行正确无误。
四、实验步骤1. 选择合适的面向对象设计原则对系统进行重构,使用PowerDesigner绘制重构之后的类图;2. 结合实例,使用PowerDesigner绘制简单工厂模式实例结构图并用面向对象编程语言实现该模式实例;3. 结合实例,使用PowerDesigner绘制工厂方法模式实例结构图并用面向对象编程语言实现该模式实例;4. 结合实例,使用PowerDesigner绘制抽象工厂模式实例结构图并用面向对象编程语言实现该模式实例;5. 结合实例,使用PowerDesigner绘制多例模式实例结构图并用面向对象编程语言实现该模式实例;6. 结合实例,使用PowerDesigner绘制单例模式实例结构图并用面向对象编程语言实现该模式实例。
7. 结合实例,使用PowerDesigner绘制适配器模式实例结构图并用面向对象编程语言实现该模式实例;8. 结合实例,使用PowerDesigner绘制桥接模式实例结构图并用面向对象编程语言实现该模式实例;9. 结合实例,使用PowerDesigner绘制组合模式实例结构图并用面向对象编程语言实现该模式实例。
五、实验结果1. 重构之后的类图:重构过程中所使用的面向对象设计原则及简要说明:根据题意采用了工厂方法模式,所谓工厂模式则是定义一个用于创建对象的接口,但是让子类决定将哪一个类实例化。
工厂方法模式让一个类的实例化延迟到子类。
使用了开闭原则,单一职责原则。
2. 类图:实现代码://代码颜色使用黑色,字体使用Times New Roman或Arial,字号为五号,如Role类:public abstract class Role {public abstract void display();}Main类(客户端):public class Main {public static void main(String[] args) {Role role;role= RoleFactory.getRole("hero");if (role==null){System.out.println("创建角色失败...请检查参数");}else{role.display();}// System.out.println("Hello World!");}}3.类图:实现代码:}Main 类(客户端):public class Main {public static void main(String[] args) {ImageReaderFactory imageReaderFactory = null;ImageReader imageReader;try {imageReaderFactory = (ImageReaderFactory)XMLUtil.getBean();} catch (Exception e) {e.printStackTrace();}imageReader = imageReaderFactory.createImageReadeer();imageReader.readImage();}}4. 类图:实现代码:5. 类图:实现代码:6运行结果:.类图:实现代码:客户端类Main:public class Main {7. 类图:实现代码:目标抽象类DataOperation:public interface DataOperation {public void sort(int[] a,int low,int high);public int search(int [] srcArray, int start, int end, int key);}适配者类QuickSort:public class QuickSort {public void quickSout(int[] a,int low,int high){int start = low;int end = high;int key = a[low];while(end>start){//从后往前比较while(end>start&&a[end]>=key) //如果没有比关键值小的,比较下一个,直到有比关键值小的交换位置,然后又从前往后比较end--;if(a[end]<=key){int temp = a[end];a[end] = a[start];int[] a = {12,20,5,16,15,1,30,45,23,9};System.out.println("排序前:");for(int i = 0; i<a.length; i++){System.out.print(a[i]+" ");}int start = 0;int end = a.length-1;dataOperation.sort(a,start,end);System.out.println("\n"+"实现快速排序:");for(int i = 0; i<a.length; i++){System.out.print(a[i]+" ");}System.out.println("\n"+"实现了二分查找算法,查找“20”");System.out.println(dataOperation.search(a,0,a.length -1,20));}}8.类图:实现代码:抽象类Productor:package BridgePattern;9.类图:模式:组合模式定义:组合多个对象形成树型结构以表示具有部分-整体关系的层次结构。