搜档网
当前位置:搜档网 › s__plc实验报告

s__plc实验报告

s__plc实验报告
s__plc实验报告

实验1 单容水箱液位调节阀控制

一、实验目的

了解液位控制的构成环节,调节阀的工作原理,熟悉上位机组态王的组态及通讯。通过实验,掌握PID参数整定。

二、实验要求

1.实验前需熟悉实验的设备装置以及管路构成。

2.熟悉仪表装置,如检测单元、控制单元、执行单元等。

3.以4:1标准衰减震荡作为指标,整定出最佳比例度、积分时间和微分时间。

三、实验设备及系统组成

1.实验设备

(1)水泵P102

(2)电动调节阀:工作电源24V AC,控制信号2—10VDC。

(3)液位传感器:量程为0—100%,输出信号4—20mA。

2.系统组成

单容下水箱液位PID控制流程图如图7.1所示。

图7.1 单容下水箱液位调节阀PID单回路控制

测点清单如表7.1所示。

水介质由泵P102从水箱V104中加压获得压力,经由调节阀FV101进入水箱V103,通过手阀QV-116回流至水箱V104而形成水循环;其中,水箱V103的液位由LT103测得,

用调节手阀QV-116的开启程度来模拟负载的大小。本例为定值自动调节系统,FV101为操纵变量,LT103为被控变量,采用PID调节来完成。

需要全打开的手阀:QV102、QV105

需要全关闭的手阀:QV103、QV104、QV107、QV109;

挡板开度:QV116 5mm。

四、控制器编程

1.创建新的项目

启动软件step7-V4.0,默认出现一个新项目窗口,选:文件>另存为,写入你的项目名称。我们这里“单回路PID”为项目名称。

在这个项目里为了实现PID控制功能,使用了一个子程序,它只在PLC第一次运行时调用一次,它的作用是初始化;使用一个中断程序,它每0.1秒调用一次,它的作用是PID 计算,每0.1秒采集一次数据,进行一次计算,输出一次控制信息。

2.建立通信

在第这个阶段,将建立计算机与PLC的通信。在每次打开step7软件时都要通信,否则是离线状态。

在安装软件时己经设置过串口通信参数,但是有时系统安装了别的软件需要更改参数和重新设置,如图4.2.1所示:

图4.2.1 step7中设置通讯参数

设置通讯参数如以下图4.2.2到4.2.5所示。

图4.2.2 选择通讯方式

图4.2.3 安装通讯协议

图4.2.4 进入参数设置

图4.2.5 设置通讯参数

在设置好通信参数后就双击刷新按钮,进行硬件通讯,通讯成功,如图4.2.6所示。如果通讯失败,系统就会返回“与硬件通讯失败对话框”,此时就需返回参数设置页,检查通

讯参数设置,以及硬件连接是否正确等。

图4.2.6 硬件通讯成功

3.编辑代码

每打开一个项目,在程序编辑器里都会自动出现一个主程序,两个子程序(函数),一个中断程序,这三个程序就是整个程序的框架了。在建立好基本框架之后,下面进行变量和程序的编辑。

(1)变量名编辑

在操作栏中点击“符号块”,在符号表中编辑变量,如下图4.3.1所示

图4.3.1 编辑变量

变量名由自己定义,而变量的多少以及地址的选择需要依据程序来编辑。

(2)程序编辑

在操作栏中单击“程序块”,左边将会出现程序编辑器。在本实验中我们使用梯形图编

写程序,如下图4.3.2所示。

图4.3.2 程序编辑窗口

使用查看(View)> LAD(LAD)、FBD(FBD)或STL(STL)菜单命令更改编辑器类型,选中LAD梯形图编程语言。LAD共有三种不同的指令类型:触点、线圈和方框。

插入指令:在指令树中找到所需指令,将指令拖曳至所需的位置。

注释:光标会自动阻止您将指令放置在非法位置(例如,放置在网络标题或另一条指令的参数上)。在指令树中双击所需指令,也可以将其加入到光标所在的位置。

(3)编译项目

通过菜单中“编译”或“全部编译”命令,能产生可执行代码。

在输出窗口中会出现编译信息,如果出现错误,双击错误信息就会转到出错地方,进行修改。

(4)下装项目

编译没有错误后就可以下装到PLC。点击工具条中的“下载”按钮,或选择文件> 下载。出现“下载”对话框。

(5)调试工程

向PLC 下载程序成功后,就可以利用“调试”工具栏的诊断功能。可点击工具栏按钮或从“调试”菜单列表选择项目,选择调试工具如图4.3.3所示。

图4.3.3 调试工具栏

状态表监控在表格中显示状态数据:每行指定一个要监视的PLC 数据。可以指定一个存储区地址、格式、当前值及新值。

趋势图显示用随时间而变的PLC 数据绘图跟踪状态数据:可以将现有的状态表在表格视图和趋势视图之间切换;新的趋势数据亦可在趋势视图中直接生成。

程序状态监控在程序编辑器窗口中显示状态数据。

要查看监控状态的连续更新,PLC 必须位于RUN(运行)模式。否则,您只能看到I/O 的变化。

单次读取(仅限状态表)如果您希望获得一次“快照”(对状态表中的所有数值更新一次),使用“单次读取”。

全部写入(仅限状态表)在完成对几行的“新值”列的改动后,可以使用“全部写入”,将所有需要的改动发送至PLC。

强制可以在执行程序状态监控时从程序编辑器和状态表强制地址。

取消强制

全部取消强制

(6)下载程序改动

当调试一部分代码段时,如果PLC 位于STOP(停止)模式,您可以编辑程序、下载程序、然后再次监控状态。您也可以在RUN(运行)模式中执行程序编辑而不必进入STOP (停止)模式,并向PLC 下载较小的改动。

五、操作步骤和调试

1.编写、调试PLC程序,联合调试。

2.在现场对象上,选择2#管路,打开手阀:QV102、QV105;关闭手阀:QV103、QV104、QV107、QV109;挡板开度:QV116拔起5mm。

3.在控制柜上,将IO面板的下水箱液位输出连接到AI0,IO面板的电动调节阀控制输入端连接到AO0。连线时注意正接正,负接负。

4.在盘柜内合上三相、单相总电源;打开设备电源。水泵2#选择开关打到“自动”位置。

5.启动计算机组态软件。调节器可以在手动控制与自动控制之间进行切换。启动水泵2.

6、设置比例参数。观察计算机显示屏上的曲线,待被调参数基本稳定于给定值后,可以开始加干扰测试。

7、待系统稳定后,对系统加扰动信号(在纯比例的基础上加扰动,一般可通过改变设定值实现,也可以通过支路1增加干扰)。记录曲线在经过几次波动稳定下来后,系统有稳态误差,并记录余差大小。

8、减小P重复步骤6,观察过渡过程曲线,并记录余差大小。

9、增大P重复步骤6,观察过渡过程曲线,并记录余差大小。

10、选择合适的P,可以得到较满意的过渡过程曲线。改变设定值(如设定值由50%变为60%),同样可以得到一条过渡过程曲线。

注意:每当做完一次试验后,必须待系统稳定后再做另一次试验。

11、在比例调节实验的基础上,加入积分作用,即在界面上设置I参数。固定比例P值(中等大小),改变PI调节器的积分时间常数值Ti,然后观察加阶跃扰动后被调量的输出波形,并记录不同Ti值时的超调量σp。

12、固定I于某一中间值,然后改变P的大小,观察加扰动后被调量输出的动态波形,据此列表记录不同值Ti下的超调量σp。

13、选择合适的P和Ti值,使系统对阶跃输入扰动的输出响应为一条较满意的过渡过程曲线。此曲线可通过改变设定值(如设定值由50%变为60%)来获得。

14、在PI调节器控制实验的基础上,再引入适量的微分作用,即把软件界面上设置D 参数,然后加上与前面调节时幅值完全相等的扰动,记录系统被控制量响应的动态曲线,。

15、选择合适的P、Ti和Td,使系统的输出响应为一条较满意的过渡过程曲线(阶跃输入可由给定值从突变10%左右来实现)。

六、实验结果

整理实验趋势曲线,记录合适的PID值,写实验报告。

七、实验思考

控制对象选择正作用还是反作用,为什么?

答:反作用。液位对象的的输入信号为控制阀P102所改变的流量,即水槽的出流量。要求QV102增大时,液位下降。因此,对象的放大倍数为负。

八、实验现象

(PI调节)

(PI调节)

(PID调节)

实验2 双容水箱液位调节阀控制

一、实验目的

了解双容液位控制的构成环节,调节阀的工作原理,熟悉上位机组态王的组态及通讯。通过实验,掌握双容液位PID参数的整定。

二、实验要求

1.实验前需熟悉实验的设备装置以及管路构成。

2.熟悉仪表装置,如检测单元、控制单元、执行单元等。

3.以4:1标准衰减震荡作为指标,整定出最佳比例度、积分时间和微分时间。

三、实验设备及系统组成

1.实验设备

(1)水泵P102

(2)电动调节阀:工作电源24V AC,控制信号2—10VDC。

(3)液位传感器:量程为0—100%,输出信号4—20mA。

2.系统组成

双容水箱液位PID控制流程图如图8.1所示。

图8.1 单容下水箱液位调节阀PID单回路控制

测点清单如表8.1所示。

表8.1 单容下水箱液位调节阀PID单回路控制测点清单

过手阀QV-117流至水箱V103,再通过挡板QV-116回流至水箱V104而形成水循环;其中,水箱V103的液位由LT103测得,用调节挡板QV-116的开启程度来模拟负载的大小。本例为定值自动调节系统,FV101为操纵变量,LT103为被控变量,采用PID调节来完成。

需要全打开的手阀:QV102、QV107

需要全关闭的手阀:QV103、QV104、QV105、QV109;

挡板开度:QV-117全开,QV116拔起5mm。

四、操作步骤和调试

1.编写控制算法程序,下装调试。

2.在现场对象上,选择2#管路,打开手阀:QV102、QV107;关闭手阀:QV103、QV104、QV105、QV109;挡板开度:QV-117全开,QV116拔起5mm。

3.在控制柜上,将IO面板的下水箱液位输出连接到AI0,IO面板的电动调节阀控制输

入端连接到AO0。连线时注意正接正,负接负。

4.在盘柜内合上三相、单相总电源;打开设备电源。水泵2#选择开关打到“自动”位置。

5.启动计算机组态软件。调节器可以在手动控制与自动控制之间进行切换。启动水泵2.

6、设置比例参数。观察计算机显示屏上的曲线,待被调参数基本稳定于给定值后,可以开始加干扰测试。

7、待系统稳定后,对系统加扰动信号(在纯比例的基础上加扰动,一般可通过改变设定值实现,也可以通过支路1增加干扰)。记录曲线在经过几次波动稳定下来后,系统有稳态误差,并记录余差大小。

8、减小P重复步骤6,观察过渡过程曲线,并记录余差大小。

9、增大P重复步骤6,观察过渡过程曲线,并记录余差大小。

10、选择合适的P,可以得到较满意的过渡过程曲线。改变设定值(如设定值由50%变为60%),同样可以得到一条过渡过程曲线。

注意:每当做完一次试验后,必须待系统稳定后再做另一次试验。

11、在比例调节实验的基础上,加入积分作用,即在界面上设置I参数。固定比例P值(中等大小),改变PI调节器的积分时间常数值Ti,然后观察加阶跃扰动后被调量的输出波形,并记录不同Ti值时的超调量σp。

12、固定I于某一中间值,然后改变P的大小,观察加扰动后被调量输出的动态波形,据此列表记录不同值Ti下的超调量σp。

13、选择合适的P和Ti值,使系统对阶跃输入扰动的输出响应为一条较满意的过渡过程曲线。此曲线可通过改变设定值(如设定值由50%变为60%)来获得。

14、在PI调节器控制实验的基础上,再引入适量的微分作用,即把软件界面上设置D 参数,然后加上与前面调节时幅值完全相等的扰动,记录系统被控制量响应的动态曲线,。

15、选择合适的P、Ti和Td,使系统的输出响应为一条较满意的过渡过程曲线(阶跃输入可由给定值从突变10%左右来实现)。

五、实验结果

整理实验趋势曲线,记录合适的PID值,写实验报告。

六、实验思考

双容液位控制的PID参数与单容液位控制的PID参数有何区别,原因是什么?

双容水箱液位控制系统属于串级控制系统,在实际的PID整定中,只需要调整PID1,

即主回路的参数即可。

七、实验现象

(PI调节)

(PI调节)

(PI调节)

(PID调节)

(PI调节)

(PI调节)

实验3 单向信号灯顺序控制

一、实验目的

用PLC实现单向信号灯控制系统

二、实验内容

1.控制要求

系统由三个按钮控制,实现单方向逐个按顺序点亮。亮灯的控制方式有两种:点动移位

和自动移位。用点动按钮I0.0,每按一次,亮灯向后移动一位;自动按钮I0.1接通时,可

使亮灯连续向后移位,移位周期为1s(可由特殊存储器SM0.5实现),循环点亮,按下停止按钮I0.2,信号灯全部熄灭。

2.I/O分配

输入输出

点动按钮:I0.0 A:Q0.1 D:Q0.4

自动按钮:I0.1 B:Q0.2 E:Q0.5

停止按钮:I0.2 C:Q0.3

3.单向信号灯顺序控制示意图

三、实验程序

四、实验现象

实验4 数码显示的模拟控制

一、实验目的

用PLC构成数码显示控制系统

二、实验内容

1.控制要求

按下启动按钮SB1后数码管按以下顺序依次点亮A→B→C→D→E→F→G→H→ABCDEF→

BC →ABDEG →ABCDG →BCFG →ACDFG →ACDEFG →ABC →ABCDEFG →ABCDFG →A →B →C ……循环下去按下停止按扭SB2,所有操作都停止需重新起动。

2. I/O 分配 输入 输出

起动按钮SB1:I0.0 A :

Q0.0 E :

Q0.4 停止按钮SB2

:I0.1 B

:Q0.1 F :Q0.5

C :Q0.2 G :Q0.6

D :Q0.3 H :Q0.7

三、实验程序

四、实验现象

实验5 交通灯的模拟控制

一、实验目的

用PLC构成交通灯控制系统。

二、实验内容

1.控制要求

起动后,南北红灯亮并维持25s。在南北红灯亮的同时,东西绿灯也亮,到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,黄灯亮2s后灭,东西红灯亮。与此同时,南北红灯灭,南北绿灯亮。南北绿灯亮了20s后闪亮,3s后熄灭,黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

2.I/O分配

输入输出

起动按钮SB1:I0.0 南北红灯:Q0.0 东西红灯:Q0.3

停止按钮SB2:I0.1 南北黄灯:Q0.1 东西黄灯:Q0.4

南北绿灯:Q0.2 东西绿灯:Q0.5

甲车灯:Q0.7 乙车灯:Q0.6

译码器实验报告

译码器实验报告 一、实验目的 1、掌握中规模集成译码器的逻辑功能和使用方法 2、熟悉数码管的使用 二、实验原理 译码器是一个多输入、多输出的组合逻辑电路。它的作用是把给定的代码进行“翻译”,变成相应的状态,使输出通道中相应的一路有信号输出。译码器在数字系统中有广泛的用途,不仅用于代码的转换、终端的数字显示,还用于数据分配,存贮器寻址和组合控制信号等。不同的功能可选用不同种类的译码器。 译码器可分为通用译码器和显示译码器两大类。前者又分为变量译码器和代码变换译码器。 变量译码器(又称二进制译码器),用以表示输入变量的状态,如2线-4线、3线-8线和4线-16线译码器。若有n个输入变量,则有2n个不同的组合状态,就有2n个输出端供其使用。而每一个输出所

代表的函数对应于n个输入变量的最小项。 三、实验设备与器件 1.+5V直流电源 2.单次脉冲源 3.逻辑电平开关 4.74LS138 四、实验内容及步骤 1.74LS138译码器逻辑功能测试 将译码器使能端STA、STB、STC与地址端A2、A1、A0分别接到逻辑电平开关输入口,八个输出端Y7…Y0依次连接在十六位逻辑电平显示上,拨动逻辑电平开关,逐项测试74LS138的逻辑功能。2.实验箱电源连接正确,电路自查确定无误后,电路验证还是不正确的情况下进行下面的排错检查:

1)检查芯片的电源和地的电平是否正确。 2)芯片的使能端连接的电平正确。 3)从逻辑电平开关输入信号是否正确。 4)从输出端按逻辑功能状态往前一步一步排查。 3.两片3线-8线译码器74LS138扩展为4线-16线译码器 用两片74LS138组合成一个四线-十六线译码器进行实验,并分析逻辑功能。

六年级科学实验报告

滕州市辰龙希望小学 六年级科学上册实验报告 六年级上册第三课《馒头发霉了》 实验名称:探究霉菌的生长所需要的条件 1 选做 实验目的:探究霉菌的生长所需要的条件。 实验材料:每组准备:放大镜、烧杯、吸管、小刀、水、塑料袋、馒 头 实验步骤: 1.将密封好的两袋馒头,一袋放在温度较高的地方,另一袋放在冰箱里,每天按时观察,看霉菌是否已经出现,把霉菌出现的时间和出现的部位记录在自己提前设计好的记录表里。 2.将密封好的两袋馒头,一袋滴上适量的水,使馒头保持湿润,另一袋不滴水,使馒头保持干燥,将两袋馒头放在相同的环境中,每天按时观察,看霉菌是否已经出现,把霉菌出现的时间和出现的部位记录在自己提前设计好的记录表里。 实验结论: 放在温度较高地方的馒头和滴上水的馒头很快长出了霉菌,而放在冰箱里的馒头和不滴水的馒头却经过较长的时间才长出霉菌。 实验分析: 因为霉菌的生活需要适宜的温度和适量的水份,所以放在温度较高地方的馒头和滴上水的馒头很快长出了霉菌。 六年级上册第二课《馒头发霉了》 实验名称:馒头发霉的对比实验 2 选做

实验目的:比较馒头在什么情况下容易发霉 实验器材:四片馒头(或用其他容易发霉的食物)塑料袋 实验步骤: 1选4片馒头(或用其他容易发霉的食物),分别贴上号码。 2.在1、3号上滴水,将2、4号烤干。 3?将4片馒头分别装入袋中。 4?将1 2号放在朝阳的窗台上(或其他温度较高的地方),3、4号放入冰箱里。 5.几天后,观察4片馒头,看一看发生了什么变化,并记录下来。 实验结论: 1号馒头发霉最早,发霉的面积最大。 2号、3号馒头发霉时间和面积居中。 4号馒头发霉时间晚,发霉面积小。 实验分析:馒头在潮湿,高温的情况下最容易发霉。 六年级上册第五课《蜡烛的变化》 实验名称:蜡烛燃烧的变化实验 1 必做 实验目的:点燃蜡烛,将干玻璃片放在火焰上方看是否会产生新物质。 实验类型:演示 实验材料: 每组准备:蜡烛、火柴、干玻璃片、试管夹 实验过程: 1 .点燃蜡烛,观察现象。

数电实验-实验报告-实验六

实验一 TTL与非门的参数测试 一、实验目的 ·掌握用基本逻辑门电路进行组合逻辑电路的设计方法。 ·通过实验,验证设计的正确性。 二、实验原理 1.组合逻辑电路的分析: 所谓组合逻辑电路分析,即通过分析电路,说明电路的逻辑。 通常采用的分析方法是从电路的输入到输出,根据逻辑符号的功能逐级列出逻辑函数表达式,最好得到表示输出与输入之间的关系的逻辑函数式。然后利用卡诺图或公式化简法将得到的函数化简或变换,是逻辑关系简单明了。为了使电路的逻辑功能更加直观,有时还可以把逻辑函数式转化为真值表的形式。 2.逻辑组合电路的设计: 根据给出的实际逻辑问题,求出实现这一逻辑功能的最简单电路,陈伟组合逻辑电路的设计。 3.SSI设计:设计步骤如下: ①逻辑抽象;分析时间的因果关系,确定输入和输出变量。 ②定义逻辑状态的含义:以二值逻辑0、1表示两种状态。 ③列出真值表 ④写出逻辑表达式,并进行化简,根据选定器件进行转换。 ⑤画出逻辑电路的连接图。 ⑥实验仿真,结果验证。 三、实验仪器及器件 数字万用表1台

多功能电路实验箱1台 四、实验内容 1.设计5421BCD 码转换为8421BCD 码(用双输入端与非门实现)。 四位自然二进制码 5421BCD码 B3 B2 B1 B0 D3 D2 D1 D0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 伪码 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 根据5421BCD 码与8421BCD 码真值表可得 2.设A 、B 、C 、D 代表四位二进制变量,函数X=8A-4B+2C+D ,试设计一个组合逻辑电路,判断当函数值介于4

编码器和译码器实验报告

译码器、编码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器和编码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,74LS20,74LS138。 三、实验内容 (1) 74LS138译码器逻辑功能的测试。将74LS138输出??接数字实验箱LED 管,地址输入接实验箱开关,使能端接固定电平(或GND)。电路图如Figure 1所示: Figure 2 ??????????????时,任意拨动开关,观察LED显示状态,记录观察结果。 ??????????????时,按二进制顺序拨动开关,观察LED显示状态,并与功能表对照,记录观察结果。 用Multisim进行仿真,电路如Figure 3所示。将结果与上面实验结果对照。

Figure 4 (2) 利用3-8译码器74LS138和与非门74LS20实现函数: ?? 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: ?? ?? A ? ??????????? ???? 按Figure 5所示的电路连接。并用Multisim进行仿真,将结果对比。 Figure 6

(3) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 而输入端只有 A、、三个,故要另用使能端进行片选使两片138译码器 进行分时工作。而实验台上的小灯泡不够用,故只用一个灯泡,而用连接灯泡的导线测试?,在各端子上移动即可。在multisim中仿真电路连接如Figure 7所示(实验台上的电路没有接下面的两个8灯LED): Figure 8 四、实验结果 (1) 74LS138译码器逻辑功能的测试。 当输入 A时,应该是输出低电平,故应该第一个小灯亮。实际用实验台测试时,LE0灯显示如Figure 9所示。当输入 A时,应该是输出低电平,故理论上应该第二个小灯亮。实际用实验台测试时,LE0灯显示如Figure 6所示。 Figure 10

实验六-实验报告

《数据库原理》实验报告 实验六、视图和图表的定义及使用实验 姓名胡艺敏学号38 系别 女 数计学院 班 级 11计科师 范 主讲教师江凤莲指导教师江凤莲实验日期2013 4-27 专 业 计算机 课程名称数据库原理同组实验者 一、实验目的 使学生掌握利用SQL Server企业管理器的视图创建向导和图表创建向导建立视图表和关系图(图表),加深对视图和图表概念的理解,了解视图和图表的作用。 二、实验要求 1)调出创建视图向导,在图书-读者库中按下列T-SQL描述创建读者视图。 CREATE VIEW 读者_VIEW AS SELECT 图书.*,借阅.* FROM 图书,借阅,读者 WHERE 图书.书号=借阅.书号AND借阅.读者编号=读者.编号; 2)调出向导,按T-SQL描述创建借阅_计算机图书视图。 CREATE VIEW 借阅_计算机图书 AS SELECT 图书.*,借阅.* FROM 图书,借阅 WHERE 图书.书号=借阅.书号AND图书.类别=‘计算机’ 3)调出创建图表向导,完成在图书_读者数据库中建立图书_借阅图表的操作。要求该图表包括图书和借阅两个表,通过“图书.书号=借阅.书号”外码与被参照表之间的关联。 4)查看以上视图和图表的属性,并修改到正确为止。 三、实验类型:验证、设计、综合 四、实验环境

Microsoft SQL Server 2000 五、实验内容: (1)实验代码(可加附页): (1)基本操作实验 1)查看图书-读者库结构信息,根据给定的T-SQL语句确定视图结构信息,如表10所示。 表10 视图结构信息 序号视图名 数据库 名 相关表名列定义元组定义 1 读者_VIEW 图书-读 者 图书,借阅, 读者 图书.*, 借阅.* 图书.书号=借阅.书号 AND 借阅.读者编号=读者. 编号 2 借阅_计算 机图书 图书-读 者 图书,借阅 图书.*, 借阅.* 图书.书号=借阅.书号 AND图书.类别='计算机' 2)查看图书-读者库结构信息,根据题目要求确定图表结构信息,如表11所示。 表11 图表结构信息 图表名数据库名主表名参照表 名 关联定义 读者_VIEW 图书-读 者 借阅图书图书.书号=借阅.书号 (2)实验结果(可加附页):

六年级实验报告单

实验报告单(一) 实验时间年月日 实验名称制作化石模型六年级()班第()组指导教师 实验目的:了解化石也是怎样形成的。 实验器材:有关工具、黏土、贝壳、骨头或树叶。 实验步骤: 1、将黏土擀平。 2、将贝壳、骨头或树叶放在心上黏土上,用手把它压进去,留下印迹后取出。 3、把印有印迹的黏土模型晾干。 实验结论: 化石是地层岩石中保存的几百万年以前生物的残骸或遗迹。 实验报告单(二) 实验名称仙人掌耐旱原因实验 实验时间班级小组 实验目的: 1、通过实验使学生知道生物是不断进化的 2、通过实验使学生知道生物的形态是其适应所处生活环境的结果 3、使学生意识到人类活动会对生物产生影响,体验到人与自然和谐相处的重要性 实验器材: 三张纸巾、一张蜡纸、一杯水、一块儿塑料布 实验步骤: 1、把三张纸巾充分浸湿,一张平铺,一张卷起来,一张用蜡纸包起来,都放在塑料布上放在窗台前 2、一小时后检查三张纸巾的干湿程度 实验结论:实验结果是,平铺的最干,蜡纸包的最湿,结论是,仙人掌上的蜡质层既减少了水分的蒸发,又能很好的储存水分 实验报告单(三) 实验时间年月日 实验名称:制作“火箭”及其“发射器” 六年级()班第()组指导教师 实验目的 探究能量的大小与物体运动的关系。 实验器材吸管、剪刀、胶带、记号笔、橡皮筋若干、米尺、纸筒 实验步骤 1.制作吸管火箭 按书中步骤与要求,制作一个吸管火箭模型。注意不要剪到手,不要乱扔剩余的吸管。 2.制作发射器 (1)、按书中步骤与要求制作一个简易的发射器。 (2)、将吸管火箭模型放到发射器上,在吸管下端标记0刻度,然后往下拉吸管火箭,用记号笔在吸管上以厘米为单位依次标上刻度。

哈夫曼编码译码器实验报告免费

哈夫曼编码译码器实验报告(免费)

————————————————————————————————作者:————————————————————————————————日期:

问题解析与解题方法 问题分析: 设计一个哈夫曼编码、译码系统。对一个ASCII编码的文本文件中的字符进行哈夫曼编码,生成编码文件;反过来,可将编码文件译码还原为一个文本文件。 (1)从文件中读入任意一篇英文短文(文件为ASCII编码,扩展名为txt); (2)统计并输出不同字符在文章中出现的频率(空格、换行、标点等也按字符处理);(3)根据字符频率构造哈夫曼树,并给出每个字符的哈夫曼编码; (4)将文本文件利用哈夫曼树进行编码,存储成压缩文件(编码文件后缀名.huf)(5)用哈夫曼编码来存储文件,并和输入文本文件大小进行比较,计算文件压缩率;(6)进行译码,将huf文件译码为ASCII编码的txt文件,与原txt文件进行比较。 根据上述过程可以知道该编码译码器的关键在于字符统计和哈夫曼树的创建以及解码。 哈夫曼树的理论创建过程如下: 一、构成初始集合 对给定的n个权值{W1,W2,W3,...,Wi,...,Wn}构成n棵二叉树的初始集合 F={T1,T2,T3,...,Ti,...,Tn},其中每棵二叉树Ti中只有一个权值为Wi的根结 点,它的左右子树均为空。 二、选取左右子树 在F中选取两棵根结点权值最小的树作为新构造的二叉树的左右子树,新二 叉树的根结点的权值为其左右子树的根结点的权值之和。 三、删除左右子树 从F中删除这两棵树,并把这棵新的二叉树同样以升序排列加入到集合F中。 四、重复二和三两步, 重复二和三两步,直到集合F中只有一棵二叉树为止。 因此,有如下分析: 1.我们需要一个功能函数对ASCII码的初始化并需要一个数组来保存它们; 2.定义代表森林的数组,在创建哈夫曼树的过程当中保存被选中的字符,即给定报文 中出现的字符,模拟哈夫曼树选取和删除左右子树的过程; 3.自底而上地创建哈夫曼树,保存根的地址和每个叶节点的地址,即字符的地址,然 后自底而上检索,首尾对换调整为哈夫曼树实现哈弗曼编码; 4.从哈弗曼编码文件当中读入字符,根据当前字符为0或者1的状况访问左子树或者 右孩子,实现解码; 5.使用文件读写操作哈夫曼编码和解码结果的写入; 解题方法: 结构体、数组、类的定义: 1.定义结构体类型的signode 作为哈夫曼树的节点,定义结构体类型的hufnode 作为

实验三---译码器及其应用实验报告

实验三译码器及其应用 一、实验目的 (1) 掌握中规模集成译码器的逻辑功能和使用方法; (2) 熟悉掌握集成译码器的应用; (3) 掌握集成译码器的扩展方法。 二、实验设备 数字电路实验箱,电脑一台,74LS20,74LS138。 三、实验内容 (1)利用3-8译码器74LS138和与非门74LS20实现函数: 四输入与非门74LS20的管脚图如下: 对函数表达式进行化简: 按Figure 1所示的电路连接。并用Multisim进行仿真,将结果对比。

Figure 1 (2) 用两片74LS138组成4-16线译码器。 因为要用两片3-8实现4-16译码器,输出端子数目刚好够用。 导线测试,在各端子上移动即可。在multisim中仿真电路连接如Figure 2所示(实 验台上的电路没有接下面的两个8灯LED): Figure 2 四、实验结果 (1) 利用3-8译码器74LS138和与非门74LS20实现函数。

输入,由可知,小灯应该亮。测试结果如Figure 1所示。输入,分析知小灯应该灭,测试结果如Figure 2所示。输入 ,分析知小灯应该亮,测试结果如Figure 3所示。 Figure 4 Figure 5

Figure 6 同理测试,得到结果列为下面的真值表: A B C Y 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 与所要实现的逻辑功能相一致。 (2) 用两片74LS138组成4-16线译码器。 进行测试,得到的结果列为真值表如下: G1 A B C 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1

六年级科学下册实验报告单

实验报告单

实验通知单 课题 第一单元微小世界 1.放大镜 实验名称 放大镜的构造、作用、用途 实验班级 六年级 实验类别 B 实验组数 10 实验时间 任课教师 实验 准备 分组实验器材:放大镜(最好每个学生都能有一个放大镜,如果只能提供给学生一种放大镜,尽量放大倍数大一点)科学书或报纸上的照片、计算机或电视机屏幕。柱形、球形的透明器皿、塑料薄膜、铁丝、普通玻璃片、平面镜片、水。 教师演示:不同放大倍数的放大镜、图片或课件(如放大镜镜片的结构等)。 规范操作要点 1.正确用放大镜观察物体。 2.比较用肉眼观察和用放大镜观察的不同。 备注 放大镜的作用——放大物体的像(可能学生会说“把物体放大”,提醒学生物体并未变大) 放大镜的用途——我们用放大镜观察校园里的生物、实验中在老师指导下观察花、昆虫等。它是视力不佳者的助视器,还适用于电子产品检验、线路板检验、集邮者欣赏鉴定邮票、

珠宝商鉴定珠宝、公安人员用它观察指纹毛发纤维等、农技人员用它观察花蕊进行人工授粉等、制作微型工艺品的工匠工作时使用… 实验通知单 课题 2.放大镜下的昆虫世界 实验名称 实验班级 六年级 实验类别 B 实验组数 10 实验时间 任课教师 实验 准备 分组实验器材:昆虫或昆虫器官标本、放大镜 教师演示器材:有关昆虫形态构造和生活习性的多媒体课件或图片资料 规范操作要点 提供给学生各种昆虫的标本或昆虫肢体的标本。(因这个寒假的冻灾,估计开学时不会有太多的昆虫,可以利用仪器室原有的标本和蚊蝇蟑螂等常见昆虫及其肢体为观察对象。估计肉眼观察学生的兴趣不会太浓,而且因观察对象小,肉眼的发现可能不会很多。可能的

数字电子线路实验报告_译码器及其应用

数电实验报告 实验三译码器及其应用 一、实验目的 1、掌握译码器的测试方法。 2、了解中规模集成译码器的功能,管脚分布,掌握其逻辑功能。 3、掌握用译码器构成组合电路的方法。 4、学习译码器的扩展。 二、实验仪器 1、数字逻辑电路实验板 1块 2、74HC138 3-8线译码器 2片 3、74HC20 双4输入与非门 1片 三、实验原理 1、中规模集成译码器74HC138 74HC138是集成3线-8线译码器,在数字系统中应用比较广泛。图3-1是其引脚排列。 其中 A2 、A1 、A0 为地址输入端, 0Y~ 7Y为译码输出端,S1、2S、3S为使能端。74HC138真值表如下: 74HC138引脚图为:

74HC138工作原理为:当S1=1,S2+S3=0时,电路完成译码功能,输出低电平有效。其中: 2、译码器应用 因为74HC138 三-八线译码器的输出包括了三变量数字信号的全部八种组合,每一个输 出端表示一个最小项,因此可以利用八条输出线组合构成三变量的任意组合电路。 四、实验内容 1、译码器74HC138 逻辑功能测试 (1)控制端功能测试 测试电路如图:

按上表所示条件输入开关状态。观察并记录译码器输出状态。 LED指示灯亮为0,灯不亮为1。 (2)逻辑功能测试 将译码器使能端S1、2S、3S及地址端A2、A1、A0 分别接至逻辑电平开关输出口,八个 输出端Y7 Y0依次连接在逻辑电平显示器的八个输入口上,拨动逻辑电平开关,按下表逐项测试74HC138的逻辑功能。 2、用74HC138实现逻辑函数 Y=AB+BC+CA 如果设A2=A,A1=B,A0=C,则函数Y的逻辑图如上所示。用74HC138和74HC20各一块在实验箱上连接下图线路。并将测试结果下面的记录表中。

小学科学六年级下册实验报告

小学科学六年级下册实验报告 小学科学六年级下册实验报告 作者: 项蔺川 放大镜下的新发现 实验名称: 放大镜下的新发现 实验器材、药品: 放大镜、水、小字体的书、昆虫各种小晶体(盐、糖等) 实验方法和步骤: 1、认识放镜的构造,了解放大镜的应用。 2、用放大镜看书、报纸等(自己的发现) 3、了解其它有方大功能的物体,水滴放大镜。 4、用放大镜观察昆虫,了解放大镜下的昆虫世界。 5、用方、放大镜观察晶体。(盐、 白糖) 实验结论: 在放大镜下看到的物体比实际的大得多。实验评价: 日期: 年月日 年级:六年级 实验者

奇特的身体构造 实验名称:奇特的身体构造 实验器材: 放大镜2 只、 蝇子蟋蟀蝴蝶等动物的标本1 套 步骤: 1、观察昆虫的触角: 发现触角不是一根直的, 而是一节一节的; 2、苍蝇的眼: 发现不是一个, 网格状的分布着几千个小眼; 3、蝴蝶的鳞片: 彩色的鳞片其实是扁平的细毛; 4、蟋蟀的外壳: 光滑的外壳上, 还有许多“小刺”; 5、苍蝇的脚: 脚的底端有“吸盘” ,所以可以在天花板上倒立 结论: 我认为观察的小昆虫和肉眼大不相同,借助放大镜,可以观察到小动物的细微之处

美丽的晶体 实验名称: 美丽的晶体 实验器材:药品: 食盐、白糖、碱面、味精、放大镜、实验方法和步骤 1、用肉眼观察食盐、 白糖、碱面、味精。 2、再用放大镜观察食盐、 白糖、碱面、味精。实验结论: 晶体的形状多种多样,但它们都很有规则。 实验评价:

日期: 年月日 制作晶体 实验名称:制作晶体 实验器材: 放大镜2 只、 食盐20 克、白糖20 克、碱面20 克、味精20 克、滴管4 支、玻璃片 4 片、100ml 烧杯 4 只我的猜测: 小颗粒的晶体形状和大颗粒的形状应该是相同的 步骤: 1、将四只烧杯中分别放入

实验六 一维数组实验报告

*** 软件类实验报告 课程名称:C语言程序设计学号: 姓名: 班级: 指导教师: 开课学期: 学院: ***教务处

⑷一维数组排序。 四、实验过程及内容:(运行结果请抓图到对应题目的下方) 1. 先分析以下程序,写出运行结果,再上机检验。 2.程序填空题。下面程序的功能是9个评委给某个参赛选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分。填空完成程序。

实验结果: 3. 程序填空题。有数列1,1,2,4,7,13,24…,该数列的规律是从第4项起,每项是它的前三项之和。下列程序的功能是将该数列的前30项存放在一维数组中,输出时每行输出5个数。填空完成程序。 实验结果: 4. 程序改错题。下面程序的功能是将数组中的数按从大到小排序后输出。改正程序中的错误。 实验结果: 5. 程序改错题。某公司从用公用电话传递数据,数据是四位的整数,在传递过程中需要加密,加密规则为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。改正程序中的错误。

实验结果: 6. 小楚参加了一个研究生考试培训班,共30次课,由于路途较远,每次都是打车去上课,来回的车费分别存储在数组a和b中,其中-1表示未去上课。 编程计算小楚参加培训班共打车花费多少钱?(要求保留1位小数,用循环实现) 输出结果的形式为: s=1234.5 a数组和b数组定义如下: double a[30]={31.0,32.0,30.3,32.8,30.5,30.6,31.0,32.8,-1,31.8,31.9,31.5,32.3,32.3,31.8,32.5 ,31.5,30.3,30.4,32.5,30.2,30.2,30.7,32.1,32.1,31.4,31.9,31.9,-1,30.5}; double b[30]={30.2,30.2,30.3,31.6,32.7,31.5,30.4,32.4,-1,31.0,31.8,32.1,31.6,31.4,32.4,32.1 , 32.5,32.3,32.5,31.4,31.2,30.3,32.3,30.7,31.3,30.2,31.1,30.5,-1,31.9}; 五、实验小结

译码器实验报告

译码器实验报告 译码器(decoder)是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。变量译码器一般是一种较少输入变为较多输出的器件,常见的有n线-2^n线译码和8421BCD 码译码两类;显示译码器用来将二进制数转换成对应的七段码,一般其可分为驱动LED和驱动LCD两类。 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。有一些译码器设有一个和多个使能控制输入端,又成为片选端,用来控制允许译码或禁止译码。 在图1中,74138是一种3线—8线译码器,三个输入端CBA共有8种状态组合(000—111),可译出8个输出信号Y0—Y7。这种译码器设有三个使能输入端,当G2A与G2B均为0,且G1为1时,译码器处于工作状态,输出低电平。当译码器被禁止时,输出高电平。 图2时检测74ls138译码器时间波形的电路,使用的虚拟仪器为数字信号发生器和逻辑分析仪。数字信号发生器在一个周期内按顺序送出两组000—111的方波信号。

图3表明如何将两片3线—8线译码器连接成4线—16线译码器。其中第二片74138的使能端G1和第一片的使能端G2A接成D输入端。当D=0时,第一片74138工作,对0000—0111的输入信号进行译码输出。当D=1时,第二片74138工作,对1000—1111的输入信号进行译码输出。 在图4中,7442为二—十进制译码器,具有4个输入端和10个输出端。输入信号采用8421BCD码,二进制数0000—1001与十进制数0—9对应。当输入超过这个范围是无效,10个输出端均为高电平。7442电路没有使能端,因此只要输入在规定范围内,就会有一个输出端为低电平。 图5位BCD—七段显示译码器电路,LED数码管将显示与BCD码对应的十进制数0—9。因为显示译码器电路输出高电平,所以应该采用共阴极LED数码管。 编码与译码的过程刚好相反。通过编码器可对一个有效输入信号生成一组二进制代码。有的编码器设有使能端,用来控制允许编码或禁止编码。 优先编码器的功能是允许同时在几个输入端有输入信号,编码器按输入信号排定的优先顺序,只对同时输入的几个信号中优先权最

译码器实验报告

译码器: 译码器是一类多输入多输出组合逻辑电路器件,其可以分为:变量译码和显示译码两类。 概述: 译码是编码的逆过程,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义“翻译”出来的过程叫做译码,实现译码操作的电路称为译码器。或者说,译码器是可以将输入二进制代码的状态翻译成输出信号,以表示其原来含义的电路。 根据需要,输出信号可以是脉冲,也可以是高电平或者低电平。 分类: 二进制码译码器,也称最小项译码器,N中取一译码器,最小项译码器一般是将二进制码译为十进制码; 代码转换译码器,是从一种编码转换为另一种编码; 显示译码器,一般是将一种编码译成十进制码或特定的编码,并通过显示器件将译码器的状态显示出来。 变量译码: 变量译码器是一个将n个输入变为2^n个输出的多输出端的组合逻辑电路。其模型可用下图来表示,其中输入变化的所有组合中,每个输出为1的情况仅一次,由于最小项在真值表中仅有一次为1,所以输出端为输入变量的最小项的组合。故译码器又可以称为最小项发生器电路。

工作原理: 译码器是一种具有“翻译”功能的逻辑电路,这种电路能将输入二进制代码的各种状态,按照其原意翻译成对应的输出信号。有一些译码器设有一个和多个使能控制输入端,又成为片选端,用来控制允许译码或禁止译码。 在图1中,74138是一种3线—8线译码器,三个输入端CBA 共有8种状态组合(000—111),可译出8个输出信号Y0—Y7。这种译码器设有三个使能输入端,当G2A与G2B均为0,且G1为1时,译码器处于工作状态,输出低电平。当译码器被禁止时,输出高电平。 图2时检测74ls138译码器时间波形的电路,使用的虚拟仪器为数字信号发生器和逻辑分析仪。数字信号发生器在一个周期内按顺序送出两组000—111的方波信号。 图3表明如何将两片3线—8线译码器连接成4线—16线译码器。其中第二片74138的使能端G1和第一片的使能端G2A接成D 输入端。当D=0时,第一片74138工作,对0000—0111的输入信号进行译码输出。当D=1时,第二片74138工作,对1000—1111的输入信号进行译码输出。 在图4中,7442为二—十进制译码器,具有4个输入端和10个输出端。输入信号采用8421BCD码,二进制数0000—1001与十进制数0—9对应。当输入超过这个范围是无效,10个输出端均

实验六 实验报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:包崇明 姓名:匿名学号:2013…….专业:软件工程成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、在学生表上面创建下列CHECK约束 【注】:因为学生表已经存在,所以这里使用添加check约束的方法实现: (1)创建入学日期约束“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试语句: 结果(添加的check约束起作用了),如图: (2)创建学生年龄约束“Age_rule”。要求:学生年龄必须在15~30岁之间 测试语句 结果(添加”Age_rule”成功,并且年龄为’2015/4/27’没有违反”Enter_University_date_rule” 约束,进一步说明了(1)中的check约束添加成功,如图:

【注】:考虑到时间关系,下面的部分解答中将会省略测试约束的步骤。 (3)创建学生性别约束“Sex_rule”。要求:性别只能为“男”或“女” (4)创建学生成绩约束“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩约束“Score_rule”,截图为: 2、删除约束Enter_University_date_rule 测试语句: 结果:(更新成功)

3、创建声明式默认约束:在创建表的过程中创建默认约束 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 创建default_example表语句: 采用SQL语句进行插入元祖: 执行结果为:(默认值起作用了!!) (2)插入一条编号为100 的记录,执行结果为: (3)修改默认值 一般先删除老的默认约束,再新建一个默认约束方法如下: 删除约束:alter TABLE default_example drop 约束名 新建默认约束:alter TABLE default_example add constraint df_age default(20) for age ①删除老的默认约束:

六年级实验报告单

放大镜下的晶体实验报告 实验器材:白糖、食盐、碱面、味精、玻璃片、放大镜 实验步骤: 1、用放大镜观察白糖,把看到的内容记录下来。 2、用放大镜观察碱面、味精,并把看到的内容记录下来。 2、制作一些较浓的溶液,滴在玻璃片上,待水分自然蒸发后,用放大镜观 察它们留下的痕迹,看看又是什么样的。 实验结果:晶体的形状多种多样,但的形状都很规则。 米饭、淀粉和碘酒的变化 实验器材:米饭、淀粉、碘酒、滴管、盘子、 1、分别取米饭、淀粉各小盘。 2用滴管吸上碘酒,分别滴在米饭和淀粉上,观察发生的现象。实验结论:淀粉遇到碘酒会变蓝。

观察硫酸铜溶液与铁钉的反应 实验器材:硫酸铜溶液、铁钉、杯子、镊子等 1、配制一杯硫酸铜溶液。 2、用镊子夹住一根铁钉。 2、把铁钉的一端伸进硫酸铜溶液中观察发生的现象。 实验结论:铁钉的表面生成了红色的物质(铜)。 分组6上 不同坡度斜面的作用实验 实验器材: 1块小木板、4个不同高度的物品、1盒钩码、1个测力计 1、用测力计直接提升物体的力与沿斜面提升物体的力进行对比 2、改变斜面的不同坡度继续进行试验,做好记录为结果的分析提供依据。 实验结论:斜面能够省力,而且斜面坡度越小越省力。

观察铁锈 实验器材: 铁片、生锈的铁片、小锤、电流检测器、 实验步骤: 1、找一片铁片和一片已生锈的铁片观察。 2、用小锤敲打铁片和锈铁片,观察发生的现象。 3、用电流检测器测一下铁片和锈铁片的导电性。 实验结论: 生锈的铁失去了金属光泽,导电性差,敲打会掉锈。 实验名称: 月相变化 实验器材:用于贴月相的挂图、月相成因示意图、月相变化的课件、皮球、电灯(瓦数大的) 实验步骤: 1、在教室里准备一盏瓦数大的电灯,用这盏灯当作太阳,学生自己当作地球,用皮球当作月球;把“月球”举在空中,使“阳光”照到“月球”上,观察此时月球的明亮部分是什么形状; 2、然后使“月球”围绕“地球”公转一周,观察月球的明亮部分有什么变化? 实验结论:(地球)围绕(太阳)公转

C语言实验六实验报告.doc

高级语言程序设计上机实验报告 一、实验目的 1.理解递归问题基本思想 2.学会编写递归程序,理解递归何时结束。 3、清楚明白结束条件无法满足的递归程序将导致无穷递归的情况发生。 二实验题目 1.计算游戏人员的年龄 有5个人围坐在一起,问第5个人多大了年纪,他说比第4个人大2岁:问第4个人多大年纪。他说比第3个人大2岁;问第3个人多大年纪,他说比第2个人大2岁;问第2个人多大年纪,他说比第1个人大2岁。第1个人说自己10岁,问第5个人多大年纪。 (1)程序源代码: #include unsigned int ComputeAge(unsigned int n); void main () { unsigned int n =5; printf("The 5th person's age is %d\n",ComputeAge(n)); } unsigned int ComputeAge(unsigned int n) { unsigned int age; if (n==1) { age =10; } else { age =ComputeAge(n-1)+2; } return age; }

(2)运行结果 2.计算最大公约数 利用计算最大公约数的三条性质,用递归方法计算两个整数的最大公约数。 性质1 如果x>y, 则x和y的最大公约数与x-y和y的最大公约数相同,即 gcd(x,y)=gcd(x-y,y)(x>y) 性质2 如果y>x,则x和y的最大公约数与x和y-x的最大公约数相同,即 gcd(x,y)=gcd(x,y-x)(x int MaxCommonFactor(int a, int b); void main() { int x,y,z; printf("Please int x, y:"); scanf("%d, %d", &x, &y); z=MaxCommonFactor(x, y); printf("The max common factor = %d\n", z); } int MaxCommonFactor(int a, int b) { if (a<=0 ||b <=0) return -1; if (a == b) { return a; } else if (a>b) { return MaxCommonFactor(a-b, b); } else { return MaxCommonFactor(a, b-a);

3-8译码器的设计实验报告

EDA实验报告书

1根据74138的功能,当S0=1, S 仁0, S2=0时译码器处于工作状态。否则 译码器被禁止,所有输出端被封锁在高电平。由真值表画出卡诺图,再写出对 应表达式,再画出电路。 2、使用VHDL 语言时,应注意头文件以及各种输入的格式,使用 IF 语句, CASE 语句设计电路,最后再用 END 语句结束程序。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY SA IS PORT( D:IN STD_LOGIC_VECTOR(2 DOWNTO 0); S0,S1,S2:IN STD_LOGIC; Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END ; ARCHITECTURE XIANI OF SA IS BEGIN PROCESS(D,S0,S1,S2) BEGIN IF (S0='0')THEN Y<="11111111"; ELSIF(S0='1' AND S1='0' AND S2='0')THEN IF (D(2)='0' AND D(1)='0' AND D(0)='0')THEN Y<="01111111"; ELSIF (D(2)='0' AND D(1)='0' AND D(0)='1')THEN Y<="10111111"; ELSIF (D(2)='0' AND D(1)='1' AND D(0)='0')THEN Y<="11011111"; ELSIF (D(2)='0' AND D(1)='1' AND D(0)='1')THEN Y<="11101111"; ELSIF (D(2)='1' AND D(1)='0' AND D(0)='0')THEN Y<="11110111"; ELSIF (D(2)='1' AND D(1)='0' AND D(0)='1')THEN Y<="11111011"; ELSIF (D(2)='1' AND D(1)='1' AND D(0)='0')THEN Y<="11111101"; ELSIF (D(2)='1' AND D(1)='1' AND D(0)='1')THEN Y<="11111110"; 设 计 思 路 设 计 原 理 图 及 源 程 序

实验六视图的定义及使用实验实验报告

实验六视图的定义及使用实验实验报告实验任务 (一)建立视图(运行并观察结果) 1.建立信息系学生的视图IS_student。 CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept='IS' 2.建立信息系选修了1号课程的学生的视图IS_S1。CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT,Sname,Grade FROM Student,SC WHERE Sdept='IS'AND =AND ='1';

3.建立信息系选修了1号课程且成绩在90分以上的学生的视图IS_S2。CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade>=90 4.建立一个反映学生出生年份的视图BT_S。 CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2004-Sage FROM Student

5.将学生的学号及他的平均成绩定义为一个视图S_G。CREATE VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno 6.将课程的课号及选修人数定义为一个视图C_XIU。CREATE VIEW C_XIU(Cno,Scount)

AS SELECT Cno,COUNT(*) FROM SC GROUP BY Cno (二)查询视图(运行并观察结果) 1.在信息系学生的视图中找出年龄小于20岁的学生。SELECT Sno,Sage FROM IS_Student WHERE Sage<20 2.查询信息系选修了1号课程的学生。 SELECT,Sname FROM IS_Student,SC WHERE=AND ='1'

C 上机实验报告 实验六

实验六多态性 1.实验目的 1.掌握运算符重载的方法 2.学习使用虚函数实现动态多态性 2.实验要求 1.定义Point类,有坐标_x,_y两个成员变量;对Point类重载“++”(自增)、“――”(自减)运算符,实现对坐标值的改变。 2.定义一个车(vehiele)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。观察虚函数的作用。 3.(选做)对实验4中的People类重载“==”运算符和“=”运算符,“==”运算符判断两个people类对象的id属性是否相等;“=”运算符实现People类对象的赋值操作。 3.实验内容及实验步骤 1.编写程序定义Point类,在类中定义整型的私有成员变量_x_y,定义成员函数Point&operator++();Pointoperator++(int);以实现对Point类重载“++”(自增)运算符,定义成员函数Point &operator--();Pointoperator--(int);以实现对Point 类重载“--”(自减)运算符,实现对坐标值的改变。程序名:1ab8_1.cpp。

2.编写程序定义一个车(vehicle)基类,有Run、Stop等成员函数,由此派生出自行车(bicycle)类、汽车(motorcar)类,从bicycle和motorcar派生出摩托车(motorcycle)类,它们都有Run、Stop等成员函数。在main()函数中定义vehicle、bicycle、motorcar、motorcycle的对象,调用其Run()、Stop()函数,观察其执行情况。再分别用vehicle类型的指针来调用这几个对象的成员函数,看看能否成功;把Run、Stop定义为虚函数,再试试看。程序名:lab8_2.cpp。 4.思考题 1.如何将一个运算符重载为类的成员函数? 函数类型operator运算符(形参表) { 函数体; } 2.如何将一个运算符重载为类的友元函数? friend函数类型operator运算符(形参表) { 函数体; } 3.如何实现运行时刻的多态? 在基类的成员函数前加上virtual,就可以在它的派生类中声明相同名字和类型的成员函数,在运行过程中,系统会自动判断并

相关主题