实验2_专业班级_姓名_学号
2-电动机顺序起停控制实验(参考答案)

1、若更改控制要求,要求在电动机M1起动后M2才能起动(M1和M2有单独的起动按钮SB1和SB2),按下停止按钮SB3后两台电动机都停止下来。试问主回路、PLC外部接线图和PLC梯形图是否需要修改,请写出I/O分配表及梯形图。
答:主回路和PLC外部接线均可不改动,只需根据新的控制要求修改梯形图。
I/O分配表:
梯形图:
2、PLC控制系统与继电器-接触器控制系统相比较,优势有哪些?
答:1)可靠性高,抗干扰能力强
2)系统的设计、安装、调试工作量小
3)维修工作量小,维护方便。
4)体积小,能耗低
结
论
年月日
教
师
批
阅年月日
1)主回路
2)I/O分配表及PLC外部硬件接线图
图2两台电动机顺序起停主回路图3 PLC外部接线图
表1 I/O分配表
3、PLC程序
梯形图:
指令表:
4、实验步骤
1)连接主回路,检查。
2)PLC外部硬件接线,检查。
3)编写PLC程序,检查。
4)传送程序至PLC中,调试。
5)观察实验现象,做好相关实验记录。
实验报告专业班级指导教师实验室k1305姓名学号同组人实验名称实验二电动机顺序起停控制实验时间2硬件接线1主回路分配表及plc外部硬件接线图一实验目的理解plc的工作原理及使用方法
实验报告
专业班级指导教师修云实验室K1-305
姓名学号同组人
实验名称实验二电动机顺序起停控制实验时间
一、实验目的
1.理解PLC的工作原理及使用方法。
2.掌握PLC中定时器的工作原理及编程方法。
3.掌握PLC对电动机的顺序起停控制方法。
二、实验设备
实验2 word综合排版(一)

注意:本次实验完成后把最后两页《实验报告答题纸》.........打印成纸质.............及你的文档制作成果文档,下次上理论课时上交。
其中,[实验内容]的蓝色文字部分是《实验报告2答题纸》所填写内容实验二 word综合排版(一)班级姓名完成日期课(内、外)总计本实验用时间【实验目的】①掌握Word的启动和退出。
②掌握Word文档的建立、保存与打开操作。
③掌握字符串的查找与替换等基本编辑方法。
④掌握文本的剪切、复制和粘贴操作。
⑤掌握特殊符号的插入方法。
⑥掌握文档中字符和段落格式的设置。
⑦掌握艺术字体的设置。
⑧掌握分栏排版技术。
⑨掌握页眉和页脚的设置。
⑩掌握插入图片及设置图片格式的方法。
【实验内容】1. 文档的编辑(1)选择“开始”→“程序”→“Microsoft Office”→“Microsoft Office Word 2007”命令,屏幕上将出现Word应用程序窗口。
图5-1 文档格式与内容(2)创建一个新文档,输入文档的文字内容如图5-1所示。
(3)保存文件为w1. docx。
(4)参见样文图5-3,将文中标题1与标题2的内容进行交换,并将交换后的第一段内容从“从上述定义来看,……”处另起一段。
操作步骤1:(5)在正文第一段和第二段中,查找文字“电子签名”、“数据”,分别替换为红色字体、加粗。
样式如图5-3所示。
操作步骤:①首先选中正文第一段和第二段下的内容,然后选择“编辑”→“替换”命令,在弹出的“查找和替换”对话框中单击“替换”选项卡,在“查找内容”文本框中输入“电子签名”,在“替换为”文本框中,输入“电子签名”。
②单击“高级”按钮,注意选中“替换为”中的文本内容,再选择下方的“格式”→“字体”命令,在弹出的对话框中选择“字体颜色”为“红色”,“字形”为“加粗”。
单击“确定”按钮,再单击“全部替换”按钮。
③替换后弹出如图5-2所示对话框,单击“否”按钮结束本次替换操作。
图5-2 “替换”询问框④按上述方法对“数据”进行相同的操作。
实验报告(二)

北京信息科技大学信息管理学院实验报告课程名称java程序设计实验项目实验二类和对象实验仪器PC、jdk、jcreator专业_______ _________班级/学号________ ___学生姓名_______ __________实验日期实验地点成绩_______________________指导教师_____李春强_____________return p;}int getPower(int q){return q;}}Lab2_2:public class TV {void play(){System.out.println("正在播放动物世界");}}public class Family {TV homeTV;void buyTV(TV tv){tv=this.homeTV;System.out.println("购买一台电视");}}public class MainClass {public static void main(String args[]){ TV haierTV=new TV();Family zhangsanFamily =new Family();zhangsanFamily.buyTV(haierTV);haierTV.play();}}Lab2_3:public class Land {public static void main(String args[]){ Village.WaterAmount=200;System.out.println("水井中有水"+Village.WaterAmount+"升");Village v1=new Village();Village v2=new Village();int m=50;System.out.println("v1从水井中取水"+m+"升");v1.WaterAmount-=m;System.out.println("v2发现水井中有水"+Village.WaterAmount+"升");System.out.println("v2从水井中取水"+m+"升");v2.WaterAmount-=m;System.out.println("v1发现水井中有水"+Village.WaterAmount+"升");}}public class Village {public static int WaterAmount;}Lab2_4:import wukong.xiyou.*;public class SunRise{public static void main(String args[]){SquraEquation sq=new SquraEquation();sq.getRoot(100);System.out.println("此数的平方根为"+"sq.getRoot()");}}package java.wukong.xiyou;public class SquraEquation{public double getRoot(double num){ return Math.sqrt(num);}}1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
实验2-戴维南定理和诺顿定理的验证——有源二端网络等效参数的测定讲解学习

实验2-戴维南定理和诺顿定理的验证——有源二端网络等效参数的测定实验报告专业班级:计算机1601/1602 实验日期:2016.11.21学生姓名:李雨珈 学 号:16131030760 班级:计算1601 成绩: 实验名称:戴维南定理和诺顿定理验证 1、实验目的(1)验证戴维南定理和诺顿定理的正确性,加深对该定理的理解。
(2)掌握测量有源二端网络等效参数的一般方法。
2、实验原理1)任何一个线性含源网络,如果仅研究其中一条支路的电压和电流,则可将电路的其余部分看作是一个有源二端网络(或称为含源一端口网络)。
戴维南定理指出:任何一个线性有源网络,总可以用一个电压源与一个电阻的串联来等效代替,此电压源的电动势S U 等于这个有源二端网络的开路电压OC U ,其等效内阻0R 等于该网络中所有独立源均置零(理想电压源视为短路,理想电流源视为开路)时的等效电阻。
诺顿定理指出:任何一个线性有源网络,总可以用一个电流源与一个电阻的并联组合来等效代替,此电流源的电流S I 等于这个有源二端网络的短路电流SC I ,其等效内阻0R 定义同戴维南定理。
OC U (S U )和0R 或者SC I (S I )和0R 称为有源二端网络的等效参数。
2)有源二端网络等效参数的测量方法 (1)开路电压、短路电流法测0R在有源二端网络输出端开路时,用电压表直接测其输出端的开路电压OC U ,然后再将其输出端短等效内阻为0R SCOCI U =路,用电流表测其短路电流SC I ,则如果二端网络的内阻很小,若将其输出端口短路则易损坏其内部元件,因此不宜用此法。
(2)伏安法测0R2OC图-2用电压表、电流表测出有源二端网络的外特性曲线,如图-1所示。
根据外特性曲线求出斜率Φtg ,则内阻0R =Φtg =SC OCI U I U =∆∆,也可以先测量开路电压OC U ,再测量电流为额定值N I 时的输出端电压值N U ,则内阻为0R =NNOC I U U -。
JavaEE实验(参考) 2

本科实验报告课程名称:Java EE编程技术实验项目:语法基础代码风格实验实验地点:逸夫楼404专业班级:软件1028 学号:2010005249 学生姓名:赵才轩指导教师:高保禄2013 年 4 月26 日一.实验目的熟悉Java、JSP、Servlet、Html等相关语法,培养良好的代码风格,为其他实验做好准备。
二.实验内容熟悉NetBeans开发环境,通过编写一个Jsp调用Servlet的程序,熟悉Java、JSP、Servlet、Html等相关语法,培养良好的代码风格。
可以任选以下任一题目:A.网站计数器;B.简易购物车;C.编写一个自定义标记,将Servlet返回的英文字符串转换为大写。
三、实验要求:参照课本,快速熟悉相关内容,按所需题目编写程序,熟悉Java等编程语言或技术的基本编程技巧,注重良好的代码风格(如变量命名、代码注释、Servlet 与类中代码的结构等),初步掌握编写Web应用程序的能力。
2)设法在用户主目录中以home_mycal的文件名来调用mydir/mycal文件。
四、实验环境:软件环境:Windows 7/XP/2000/2003/2008,NetBeans5.5.1/6.5/7.3;硬件环境:P4 2.4G/80G/1G/64M及较高配置的PC机。
五、实验步骤和实验结果:(A、B、C三个实验都有)A.网站计数器:(1)思维方法:首先,网页浏览次数每个用户都可以查看,所以用Servlet 上下文去保存数据;再者:网站计数器要确保在网页重新部署时或服务器重新启动时记得数不会从1开始,所以,我选择用文件把Servlet上下文的数据进行保存;最后,如果在用户访问一次就要读写文件的话,这样效率会很低,所以我利用Servlet的生命周期,把文件的读放在init()方法中,把文件的写放在destory()方法中,这样就完成了对浏览网页的计数。
(2)实现方法:(由于代码较多,所以选择重要的代码写入报告中)Init()方法:(实现了读文件,如果不存在文件则创建一个,并写入初值)public void init() throws ServletException {String counter=null;File FCounter=new File("j:\\counter.txt");if(!FCounter.exists())try {FCounter.createNewFile();FileWriter fw=new FileWriter("j:\\counter.txt");BufferedWriter bw=new BufferedWriter(fw);bw.write("0");bw.close();} catch (IOException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}try {FileReader fr=new FileReader("j:\\counter.txt");BufferedReader br=new BufferedReader(fr);try {counter=br.readLine();br.close();} catch (IOException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}} catch (FileNotFoundException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}this.getServletContext().setAttribute("counter", counter);}●Destory()方法:(实现了跟新文件内容的功能)public void destroy() {String counter=null;try {FileWriter fw=new FileWriter("j:\\counter.txt");BufferedWriter bw=new BufferedWriter(fw);counter=(String) this.getServletContext().getAttribute("counter");bw.write(counter);bw.close();} catch (IOException ex) {Logger.getLogger(ZCXWebCount.class.getName()).log(Level.SEVERE, null, ex);}}●processRequest()方法:(实现了用户浏览后加一的功能,以及显示给用户)protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType("text/html;charset=UTF-8");PrintWriter out = response.getWriter();String counter=null;counter=(String) this.getServletContext().getAttribute("counter");int count=Integer.parseInt(counter);count++;counter=String.valueOf(count);this.getServletContext().setAttribute("counter", counter);try {out.println("<html>");out.println("<head>");out.println("<title>网站计数器</title>");out.println("</head>");out.println("<body>");out.println("<center><h1>赵才轩网页计数器</h1>");out.println("<h1>访问次数:" +this.getServletContext().getAttribute("counter") + "</h1>");out.println("</center></body>");out.println("</html>");} finally {out.close();}}(3)简易截图:B.简易购物车(1)思维方法:首先,在这个简易的购物车中我不设计数据库,只是从简单的思路中说明问题,所以我的商品数据在jsp页面中体现,并且各个商品的默认属性都是一致的,只是数据不同,这些属性用表单的形式发送处理;再者,我用对象ArrayList去收集购物车中的数据,并用会话session中的setAttribute()方法去保存用户的购物车,再用getAttribute()方法把购物车中的数据显示给用户,最后,在显示出购物车的数据后可以再放回商品页面继续购物。
数据库原理实验2数据查询

课程名称数据库原理实验序号 2实验项目数据查询实验地点实验学时实验类型验证性指导教师实验员专业班级学号姓名年月日成绩:A教师该学生本次实验的内容丰富,完成的操作步骤详细具体,实验结果正确,在实验报告的填写中态度十分严谨,对数据分析有自己的见解。
四、实验过程(实验步骤、记录、数据、分析)实验准备:在实验一的基础上(包括数据库的建立、定义表和添加表内容)进行实验,下面分别为depts表、students表、courses表、reports表。
一、简单的选择与投影查询1、无条件查询1.1查询全体学生的详细记录。
这是一个无条件的选择查询,其命令为:其命令为:select * from students运行结果如右图,显示整张表的内容。
1.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(dno)。
这是一个无条件的投影查询,其命令为:select sname,ssexfrom students运行结果如右图,显示了表中的三列。
1.3查询全体学生的姓名(Sname)、出生年份及学号(Sno)。
其命令为:select sno,sname,2017-sage as birth from students运行结果如右图,显示了三列内容。
1.4查询全体学生的姓名、出生年份和学号,要求用小写字母表示学号中的字母。
其命令为:select sname,'birth:' title,YEAR(GETDATE())-sagebirthyear,LOWER(sno) lsnofrom students运行结果如右图,显示了四列内容。
1.5查询选修了课程的学生学号。
其命令为:select distinct snofrom reports运行结果如右图,distinct短语是为了消去查询结果中的重复值。
2、条件查询(1)比较条件1.1查询d03系全体学生的学号(Sno)和姓名(Sname)。
其命令为:select sno,snamefrom studentswhere dno='d03'运行结果如右图,显示了d03系的全体学生姓名与学号。
实验二--连续时间信号的频域分析

实验二连续时间信号的频域分析专业班级通信1601 姓名宁硕学号 20 评分:实验日期: 2017 年 12 月 13日指导教师: 张鏖峰一、实验目的1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;2、观察截短傅里叶级数而产生的“Gibbs现象”,了解其特点以及产生的原因;3、掌握连续时间傅里叶变换的分析方法及其物理意义;4、掌握各种典型的连续时间非周期信号的频谱特征以及傅里叶变换的主要性质;5、学习掌握利用MATLAB语言编写计算CTFS、CTFT和DTFT的仿真程序,并能利用这些程序对一些典型信号进行频谱分析,验证CTFT、DTFT的若干重要性质。
基本要求:掌握并深刻理傅里叶变换的物理意义,掌握信号的傅里叶变换的计算方法,掌握利用MATLAB编程完成相关的傅里叶变换的计算。
以看得很清楚。
二、实验原理及方法任何一个周期为T1的正弦周期信号,只要满足狄利克利条件,就可以展开成傅里叶级数。
其中三角傅里叶级数为:2.1或:2.2指数形式的傅里叶级数为:2.3其中,为指数形式的傅里叶级数的系数,按如下公式计算:2.4傅里叶变换在信号分析中具有非常重要的意义,它主要是用来进行信号的频谱分析的。
傅里叶变换和其逆变换定义如下:2.52.6连续时间傅里叶变换主要用来描述连续时间非周期信号的频谱。
按照教材中的说法,任意非周期信号,如果满足狄里克利条件,那么,它可以被看作是由无穷多个不同频率(这些频率都是非常的接近)的周期复指数信号ejt的线性组合构成的,每个频率所对应的周期复指数信号ejt称为频率分量(frequency component),其相对幅度为对应频率的|X(j)|之值,其相位为对应频率的X(j)的相位三、实验内容和要求Q2-1 编写程序Q2_1,绘制下面的信号的波形图:其中,0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(0t)、cos(30t)、cos(50t) 和x(t) 的波形图,给图形加title,网格线和x 坐标标签,并且程序能够接受从键盘输入的和式中的项数。
操作系统实验2-计算机操作系统(第3版)-郁红英-清华大学出版社

操作系统实验
(课程设计)实验报告
学院
专业
班级/学号
学生姓名
成绩
实验地点_
实验日期___ __
指导教师_____ ___ _____
(课程上机)实验报告
1.实验名称、实验目的、实验内容、实验要求由教师确定,实验前由教师事先填好,然后作为实验报告模版供学生使用;
2.实验准备由学生在实验或上机之前填写,教师应该在实验前检查;
3.实验过程由学生记录实验的过程,包括操作过程、遇到哪些问题以及如何解决等;
4.实验总结由学生在实验后填写,总结本次实验的收获、未解决的问题以及体会和建议等;
5.源程序、代码、具体语句等,若表格空间不足时可作为附录另外附页。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆大学
学生实验报告
实验课程名称面向对象程序设计
开课实验室大数据与软件学院DSXXX 机房
学院大数据与软件学院年级大数据专业01班
学生姓名张世杰学号20191750 开课时间2019至2020 学年第 2 学期
大数据与软件学院制
《面向对象程序设计》实验报告
开课实验室:DSXXX 机房2020 年 3 月16
结果:
(2)构造函数及对象指针
#include<iostream>
using namespace std;
class A
{
public://公有
A(int x=100,double y=1.2){a=x;b=y;}
void show(char *pt)
{ cout<<pt<<":"<<endl;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
}
private://私有成员
int a;
double b;
};
void main()
{
A obj1,obj2(100,3.5);
obj1.show("obj1");
obj2.show("obj2");
A *p;//定义指针
p=&obj1;//obj1指向
p->show("p->obj1");
(*p).show("(*p)obj1");
p=&obj2;//obj2
p->show("p->obj2");
(*p).show("(*p)obj2");
p=new A;//建立动态对象
p->show("p->new");
delete p;//撤销对象
}
结果:
(3)构造函数和析构函数
#include <iostream>
using namespace std;
class Complex
{
public:
Complex();
Complex (double x, double y);
Complex (Complex & c);
~ Complex ();
double GetRel() { return rel;}
double GetImg() { return img;}
private:
double rel, img;
};
Complex::Complex() //定义类
{
rel=0; img=0;
cout<<"缺省构造函数被调用: ";
cout<<"("<<rel<<","<<img<<")"<<endl;
}
Complex::Complex(double x, double y)
{
rel=x; img=y;
cout<<"构造函数被调用: ("<<rel<<","<<img<<")"<<endl;
}
Complex::Complex(Complex & c)
{
rel = c.rel;
img = c.img;
cout<<"复制构造函数被调用: ";
cout<<"("<<rel<<","<<img<<")"<<endl;
}
Complex::~ Complex ()
{
cout<<"析构函数被调用: ("<<rel<<","<<img<<")"<<endl;
}
//函数定义
Complex fun(Complex c)//开始定义fun函数
{
cout<<"在函数fun()中."<<endl;
double x, y;
x=c.GetRel()*10;
y=c.GetImg()+100;
Complex temp(x, y);
return temp;
}
void main()//主函数执行,最终输出c2
{
Complex c1(6.8, 98.23),c2;
c2=fun(c1);
cout<<"c2=("<<c2.GetRel()<<",";
cout<<c2.GetImg()<<")"<<endl;
}
结果:(此处最后c2上面再一次调用析构函数与我所想不符)
3.分析总结:构造函数和析构函数的作用是什么?什么时候需要自己定义构造函数和析构函数?
构造函数的作用:用于新建对象的初始化工作。
析构函数的作用:用于在撤销对象前,完成一些清理工作
创建对象时,需要添加初始化代码时,需要定义自己的构造函数;对象撤销时,需要自己添加清理工作的代码时,要定义析构函数。