文档库 最新最全的文档下载
当前位置:文档库 › 实验六

实验六

实验六
实验六

实验六过程语言

一、实验目的:

通过本次实验,要求掌握变量定义,流程控制,存储过程,存储函数,游标等内容。

二、实验内容:

1)变量的声明和使用,掌握@@ERROR、@@ROWCOUNT、@@IDENTITY等全局变量的使用。

2)使用BEGIN…END、IF…ELSE…、WHILE…CONTINUE…BREAK…、CASE等流程控制语句。

3)使用存储过程。

4)使用系统函数和用户自定义函数。

5)使用游标处理数据。

三、实验步骤:

1)用T-SQL语言完成1+3+5……+199,并使用@@ERROE判断是否执行成功,如果成功则输出值,否则打印执行失败。使用WHILE语句实现。

declare @sum int

declare @i int

set @sum=0

set @i=1

while(@i<101)

begin

set @sum=@sum+@i

set @i=@i+1

end

if@@error=0

print @sum

else

print'执行错误'

2)更新STUDENTS表中sid为876543210的学生的email为aaddff@https://www.wendangku.net/doc/ad16983563.html,,并通过@@ROWCOUNT判断是否有数据被更新,如果没有则打印警告。

USE School

UPDATE

IF @@ROWCOUNT = 0

PRINT ‘警告!没有数据被更新’

update students set email='aaddff@https://www.wendangku.net/doc/ad16983563.html,'

where sid='876543210'

if@@rowcount=0

print'警告!没有数据被更新'

3)新建一个带IDENTITY属性列的表,往其中插入数据,使用@@IDENTITY查看标识列信息。

CREATE TABLE 表名

(属性列类型IDENTITY(1,1)----定义该列为自增长1的IDENTITY属性列

…)

INSERT INTO 表名(----注意此处不要加IDENTITY属性列) V ALUES(----同样的不要加IDENTITY属性列对应值)

SECLECT @@IDENTITY

create table ta(

id int identity(1,1),

sname varchar(10)

);

insert into ta(sname)values('chen')

select@@identity from ta

4)使用IF…ELSE…语句,查询STUDENTS表中学号为800007595的学生,如果学生存在,则输出学生的各科成绩,否则打印查无此人。

提示:USE School

IF(EXISTS (…))

BEGIN

END

ELSE

PRINT …

if exists(select*from students where sid='800007595')

begin

select score from choices where sid='800007595'

end

else

print'查无此人'

5)使用CASE语句,查询学号为800007595所选择的课程号为10044的成绩,如果为80分或以上,打印优秀,如果在70—80分之间则打印良好,如果在60—70分之间则打印及格,否则打印不及格。

select

case

when score >=80 then'优'

when score <80 and score >=60 then'及格'

when score <60 then'不及格'

end

from choices where sid='800007595'and cid='10044'

6)

存储过程

使用T-SQL命令CREATE PROC语句可创建存储过程,基本语法格式如下:

CREATE PROC[UDURE] <>

( [ {@参数数据类型} [ = 默认值] [ OUTPUT ] ] [ , …n] )

[ WITH {RECOMPILE | ENCRYPTION | RECOMPILE, ENCRYPTION}]

AS

[…n]

执行已存在的存储过程使用语句格式如下:

[EXECUTE] 存储过程名[输入参数值]

执行创建的存储过程,通过输出参数分析执行结果。

函数

用户自定义函数分为:标量值函数、内联表值函数、多语句表值函数。

创建多语句内联表值函数,要求根据课程名称查询所有选修些课程的学生姓名和分数。

提示:CREATE FUNCTION <函数名>

(<参数>)

RETURNS @tb_scores TABLE(<返回表属性>)

AS

BEGIN

INSERT @tb_scores

SELECT…..

RETURN

END

https://www.wendangku.net/doc/ad16983563.html,/en-us/library/ms186755.aspx

游标

不同于查询语句,查询语句只能参整个结果集进行同一种操作,而游标允许定位在结果集的特定行,从结果集的当前位置检索一行或多行,支持对结果集中当前位置的行进行数据修改,为由其他用户对显示在结果集中的数据库数据所做的更改提供不同级别的可见性支持,提供脚本、存储过程和触发器中用于访问结果集中数据的T-SQL语句。

使用游标必须按照下面顺序:声明游标,打开游标,读取游标中的数据,关闭游标,释放游标。

游标声明:DECLARE <游标名> [INSENSITIVE] [SCROLL] CURSOR

FOR

[FOR { READ ONL Y | UPDATE [ OF <表名列表>]}]

打开游标:OPEN { { [GLOBAL] <游标名>} | <游标变量名> }

提取数据:FETCH

[ [ NEXR | PRIOR | FIRSR | LAST | ABSOLUTE { n | @整型变量} | RELATIVE

{ n | @整型变量}]FROM ]

{ { [GLOBAL] <游标名> } | @游标变量名}

[ INTO @变量名列表]

关闭游标:CLOSE { { [GLOBAL] <游标名> } | <游标变量名> }

释放游标:DEALLOCATE { { [GLOBAL] <游标名> } | <游标变量名> } https://www.wendangku.net/doc/ad16983563.html,/zh-cn/library/ms180169.aspx

实验内容

创建一个存储过程,该存储过程实现的功能:查找出选修database课程并且期末成绩为不及格(score<60)的学生,现张老师法外开恩,决定给这些不及格但是分数大于45分的同学加上五分平时分,执行存储过程后,要求显示出加完分后,仍然挂科的同学。

具体要求:

1、显示格式为:<课程名/学生姓名/加分前成绩/加分后成绩>,要求用函数实现该显示

功能;

2、加分使用游标实现;

3、存储过程输入参数为:<课程名,加分数>。

create function printInfor(

@cname varchar(50),

@sname varchar(20),

@score_before int,

@score_after int

)

returns nvarchar(max)

as

begin

declare @string nvarchar(max)

set @string='<'

set @string=@string+rtrim(@cname)+'/'

set @string=@string+rtrim(@sname)+'/'

set @string=@string+convert(nvarchar,@score_before)+'/'

set @string=@string+convert(nvarchar,@score_after)

set @string=@string+'>'

return @string

end

drop proc addscore

alter proc addscore(@cname char(50),@score_increase int)

as

begin

declare cursor1 cursor for select

sname,cname,score,(score+@score_increase)as score_after from

students,courses,choices

where students.sid=choices.sid and courses.cid=choices.cid and choices.score<60

open cursor1

declare @ccname varchar(50)

declare @sname varchar(20)

declare @score_before int

declare @score_after int

fetch next from cursor1 into

@sname,@ccname,@score_before,@score_after

while(@@fetch_status=0)

begin

update choices set score=@score_after

where sid in(select sid from students as s where

s.sname=@sname)

and cid in(select cid from courses as c where https://www.wendangku.net/doc/ad16983563.html,ame=@ccname)

if(@score_after<60)

begin

print

dbo.printInfor(@ccname,@sname,@score_before,@score_after) end

fetch next from cursor1 into

@sname,@ccname,@score_before,@score_after

end

close cursor1

deallocate cursor1

end

exec addscore'database',5

四心得体会

试验六丙酮蒸汽吸收

实验六丙酮蒸汽吸收 一、实验目的 (1) 了解填料吸收塔的一般结构和工业吸收过程流程。 (2) 掌握吸收总传质系数K y a的测定方法。 (3) 考察吸收剂进口条件的变化对吸收效果的影响。 (4) 了解处理量变化对吸收效果的影响。 二、实验原理 1.概述 吸收过程是依据气相中各溶质组分在液相中的溶解度不同而分离气体混合物的单元操作。在化学工业中洗手操作广泛应用于气体原料净化、有用组分的回收、产品制取和废气治理等方面。在吸收研究过程中,一般可分为对吸收过程本身的特点或规律进行研究和对吸收设备进行开发研究两个方向。前者的研究内容包括吸收剂的选择、确定因影响吸收过程的因素、测定吸收速率等,研究的结果可为吸收工艺设计提供依据,或为过程的改进及强化指出方向;后者研究的重点为开发新型高效的吸收设备,如新型高效填料、新型塔板结构等。 吸收通常在塔设备内进行,工业上尤其以填料塔用的普遍。填料塔一般由以下几部分构成:(1)圆筒壳体;(2)填料;(3)支撑板;(4)液体预分布装置;(5)液体再分布器;(6)捕沫装置; (7)进、出口接管等等。其中,塔内放置的专用填料作为气液接触的媒介,其作用是使从塔顶流下的流体沿填料表面散布成大面积的液膜,并使从塔底上升的气体增强湍动,从而为气液接触传质提供良好条件。液体预分布装置的作用是使得液体在塔内有一良好的均匀分布。而液体在从塔顶向下流动的过程中,由于靠近塔壁处的空隙大,流体阻力小,液体有逐渐向塔壁处汇集的趋向,从而使液体分布变差。液体再分布器的作用是将靠近塔壁处的液体收集后再重新分布。填料时填料吸收塔最重要的部分。对于工业填料,按照其结构和形状,可以分为颗粒填料和规整填料两大类。其中,颗粒填料是一粒粒的具有一定几何形状和尺寸的填料颗粒体,一般以散装(乱堆)的方式堆积在塔内。常见的大颗粒填料有拉西环、鲍尔环、阶梯环、弧鞍环、矩鞍环等等。填料等材质可以使金属、塑料、陶瓷等。规整填料是由许多具有相同几何形状的填料单元组成,以整砌的方式装填在塔内。常见的规整填料有丝网波纹填料、孔板波纹填料等。填料的性能主要评价指标是填料的比表面积和孔隙率。一般地希望填料能提供达的气液接触面积和较小的流动压降。 2.吸收速率方程式和吸收传质系数 吸收传质速率吸收传质速率由吸收速率方程式决定 (1) 或 (2) 式(1)、(2)中N A——吸收速率,mol/s; K y a——气相吸收传质系数,mol/(m3·h); A——气液接触传质面积,m2; ——塔顶、塔底气象平均传质推动力; a——填料的比表面积,m2/m3; V p——填料体积,m3; 严格说来,a应为单位体积填料的有效润湿表面积。由于a的大小与物系对填料表面积的润湿性和气液流动状况有关,工程上为方便起见,将K y和a合并为一个常数,即K y a称为气相容积吸收传质系数,mol/(m3·h),这样,吸收传质速率式又可表为 (3) 气相平均传质推动力 由吸收过程物料衡算

实验6+过程_函数和程序...

实验6过程、函数和程序包 姓名:学号: 专业:班级: 同组人:无实验日期:2013/7/21 【实验目的与要求】 ?掌握过程的创建与调用 ?掌握PL/SQL函数的编写与调用 ?熟悉程序包的使用 【实验内容与步骤】 6.0.实验准备工作:PL/SQL程序文件的编辑与执行 1.使用文档编辑器编辑以下文件,并保存为aa.sql: 2.以scott身份登录,在SQ L Plus中执行@aa命令运行程序: 注:测试时,文件名请用全名(即包含路径,如:@c:\aa) 给出运行结果:

6.1.存储过程 1.最简单的存储过程编写与执行 (1)创建测试表 drop table Exam_Table; create table Exam_Table( e_id number(5), e_name varchar2(20), e_salary number(8,2) ); (2)创建存储过程 create or replace procedure insert_salary (v_id number,v_name varchar2,v_salary number) is begin insert into Exam_Table values (v_id,v_name,v_salary); commit; dbms_output.put_line('数据插入成功'); end; / (3) 执行(调用)存储过程 exec insert_salary(6,'g',2000); (4)查询执行结果

select * from Exam_Table; 给出执行的最后结果: 2.参数的使用:in/out/in out参数 阅读以下程序,理解不同类型参数使用的不同,运行程序,给出运行结果。 (1) 用两个参数:in ,out 传入一个姓名,输出:某某人你好: create or replace procedure mp(v_in varchar2,v_out out varchar2) is begin v_out:=v_in||'你好'; end; declare v_name varchar2(10); begin mp('scott',v_name); dbms_output.put_line(v_name); end;--输出:scott你好 给出运行结果:

实验六 吸收实验

实验六 吸收实验 一、实验目的 1. 了解填料吸收塔的基本构造、吸收过程的基本流程及其操作。 2. 掌握吸收总传质系数ya K 的测定方法。 二、实验原理 对低浓度气体吸收且平衡线为直线的情况,吸收传质速率由吸收方程决定: m ya y ?=填V K N A 则只要测出A N ,测出气相的出、入塔浓度,就可计算ya K ,而 )(21y y V N A -= 式中:V 为混合气体的流量,mol/s ,由转子流量计测定; 1y ,2y 分别为进塔和出塔气相的组成(摩尔分率),用气相色谱分析得到。 液相出塔浓度由全塔物料衡算得到。 计算Δym 时需用平衡数据,本实验的平衡数据如下所示: 丙酮、空气混合气体中丙酮的极限浓度*s y 与空气温度 t 的关系(压强为a 101.25 P ?) 丙酮的平衡溶解度:

三、实验流程及设备 实验装置包括空气 输送,空气和丙酮鼓泡 接触以及吸收剂供给和 气液两相在填料塔中逆 流接触等部分,其流程 示意如图所示。空气的 压力定为a 100.24 P ?。 1.熟悉实验流程,学习填料塔的操作。在空气流量恒定条件下,改变清水流量,测定气体进出口浓度1y 和2y ,计算组分回收率η、传质推动力m y ?和传质系数ya K 。 2.在清水流量恒定条件下,改变空气流量,测定气体进出口浓度1y 和2y , 计算组分回收率η、传质推动力m y ?和传质系数ya K 。 3.改变吸收液体的温度,重复实验。 4.在控制定值器的压强时应该注意干将空压机的出口阀门微开。 5.加热水时,要缓慢调节变压器的旋钮。 6.调节参数后要有一段稳定时间,直至出口水温基本恒定,取样时先取2y 再取1y 。 7. 转子流量计的读数要注意换算。 8.气体流量不能超过/h 600L 。液体流量不能超过/h 7L ,防止液泛。 五、实验数据记录及处理 1. 设备参数和有关常数 实验装置的基本尺寸: 塔内径:34mm ;填料层高度:24cm ; 自查丙酮—空气物系的平衡数据; 大气压:101.33 KPa ;室温:13.5 ℃。 2. 实验数据

实验六

6.1一维数组 【实验目的】 1.熟练掌握使用一维数组编程的方法。 2.熟练掌握排序算法。 【实验内容】 1调试示例 输入一个正整数n,再输入n个整数,将它们排序后由小到大输出。(error07_1.cpp) 源程序(有错误的程序) #include void main() { int i,j,num,a[num]; int change,t; printf("Enter Number: "); scanf("%d",&num); printf("Enter Data: \n"); for(i=0;i0 && change;i--) { change=0; for(j=0;j<=i;j++) if(a[j]>a[j+1]) { /*调试时设置断点*/ t=a[j]; a[j]=a[j+1]; a[j+1]=t; change=1; } } /*调试时设置断点*/ printf("Sorted data:\n"); for(i=0;i

吸收实验

实验七 吸收实验 一、实验目的 1. 了解填料吸收装置的基本流程及设备结构; 2. 测定填料层的压强降和空塔气速的关系; 3. 测定总体积吸收系数,并分析气体空塔气速及喷淋密度对总体积吸收系数的影响。 二、设备流程 吸收塔为玻璃塔,塔内径为0.1m ,填料为12×12×2.2mm 的拉西环,整个吸收实验装置由四部分组成: 1、空气系统: 空气由风机(旋涡气泵或容积式风机)供给,进入缓冲罐6,通过空气调节阀8调节流量,经空气转子流量计10计量后,在主管路上和氨气混合后由塔底进入,为保持一定的尾气压力(100~200mmH 2O )以通过尾气分析器,在尾气出口处装置有尾气调节阀22。 2、氨气系统: 氨气由氨气钢瓶供给,经减压阀降压至0.1Mpa 以下后,进入氨气缓冲罐(为确保安全,缓冲罐上装有安全阀,其排出经塑料管引到室外),由氨气调节阀3调节流量后,经氨气转子流量计5计量后(同时串联有孔板流量计)与空气混合进入塔底。转子流量计前装有压力计及温度计。 3、自来水系统: 自来水经过滤后,由调节阀15调节流量,经转子流量计16计量后,进入塔顶,经莲蓬式喷淋器均匀地喷洒在填料上,塔底吸收液经排出管17排出。 4、尾气分析系统: 由尾气分析器19及湿式气体流量计21组成(并联有质量流量计,使用质量流量计时要使用喷射管装置以补充尾气压力的不足)。 三、实验原理 1、填料层流体力学性能的测定: AES —II 型吸收实验装置流程示意图 1氨气缓冲罐;2氨气温度计;3流量调节阀;4氨表压计;5转子流量计;6空气缓冲罐;7空气温度计;8流量调节阀;9空气表压计;10转子流量计;11吸收塔;12喷淋器;13塔顶表压计;14压差计;15水流量调节阀;16转子流量计;17排液管;18尾气三通阀;19吸收盒;20尾气温度计;21湿式气体流量计;22尾气稳压阀;

实验六 高层绘图操作答案

实验六 高层绘图操作 实验目的: 1. 掌握绘制二维图形的常用函数 2. 掌握绘制三维图形的常用函数 3. 掌握绘制图形的辅助操作 实验内容: 1. 1. 设x x x y cos 2^1sin 35.0????? ? ++=,在π 2~ 0=x 区间取101点,绘制函数曲 线。 x=0:pi/100:2*pi; y=(0.5+3*sin(x)./(1+x..^2)).*cos(x); plot(x,y); 2. 已知2 1x y = ,)2cos(2x y =,213y y y ?=,完成下列操作: (1) 在同一坐标系下用不同的颜色和线型绘制三条曲线。 (2) 以子图形式绘制三条曲线。 (3) 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。 (1).在同一坐标系下用不同的颜色和线型绘制三条曲线。 x=0:pi/1000:2*pi; y1=x.^2; y2=cos(2*x); y3=y1.*y2;

plot(x,y1,'r',x,y2,'b-.',x,y3,'k--'); (2). 以子图形式绘制三条曲线。 x=0:pi/10:2*pi; y1=x.^2; subplot(2,2,1);plot(x,y1,'r'); title('y1=x^2'); y2=cos(2*x); subplot(2,2,2);plot(x,y2,'b-.'); title('y2=cos(2*x)'); y3=y1.*y2; subplot(2,2,3);plot(x,y3,'k--'); title('y3=y1.*y2'); (3). 分别用条形图、阶梯图、杆图和填充图绘制三条曲线。x=0:pi/10:2*pi; y1=x.^2; subplot(2,2,1);bar(x,y1,'r'); title('y1=x^2'); subplot(2,2,2);stairs(x,y1,'r'); title('y1=x^2'); subplot(2,2,3);stem(x,y1,'r'); title('y1=x^2'); subplot(2,2,4);fill(x,y1,'r');

实验六吸收实验

实验六 吸收实验 (一)丙酮填料吸收塔的操作及吸收传质系数的测定 一、实验目的 1、了解填料吸收塔的结构和流程; 2、了解吸收剂进口条件的变化对吸收操作结果的影响; 3、掌握吸收总传质系数Kya 的测定方法。 二、实验内容 1、测定吸收剂用量与气体进出口浓度y 1、y 2的关系; 2、测定气体流量与气体进出口浓度y 1、y 2的关系; 3、测定吸收剂及气体温度与气体进出口浓度y 1、y 2的关系; 三、实验原理 吸收是分离混合气体时利用混合气体中某组分在吸收剂中的溶解度不同而达到分离的一种方法。不同的组分在不同的吸收剂、吸收温度、液气比及吸收剂进口浓度下,其吸收速率是不同的。所选用的吸收剂对某组分具有选择性吸收。 1、吸收总传质系数K y a 的测定 传质速率式: N A =K y a ·V 填·△Ym (1) 物料衡算式: G 空(Y 1-Y 2)=L(X 1-X 2) (2) 相平衡式: Y=mX (3) (1)和(2)式联立得: K y a= 12() m G Y Y V Y -?空填 (4) 由于实验物系是清水吸收丙酮,惰性气体为空气,气体进口中丙酮浓度y 1>10%,属于高浓度气体吸收,所以: Y 1= 11 1y y - ; Y 2= 2 21y y - ; G 空—空气的流量(由装有测空气的流量计测定),Kmol/m 2·h ; V 填—与塔结构和填料层高度有关; 其中:22112211ln ) ()(mX Y mX Y mX Y mX Y Y m -----= ? (5) 02=X ; )(211Y Y L G X -=空 ; L —吸收剂的流量(由装有测吸收剂的流量计测定), Kmol/m 2·h ; m---相平衡常数(由吸收剂进塔与出塔处装的温度计所测温度确定),吸收温度: 附:流量计校正公式为: 2 出 进t t t +=

实验六吸收实验

实验六 吸收实验 1.实验目的 (1)了解填料塔吸收塔的结构与流程; (2)测定液相总传质单元数和总体积吸收系数; (3)了解气体空塔速度和液体喷淋密度对总体积吸收系数的影响。 2.基本原理 由于CO 2气体无味、无毒、廉价,所以本实验选择CO 2作为溶质,用水吸收空气中的CO 2。一般将配置的原料气中的CO 2浓度控制在10%(质量)以内,所以吸收的计算方法可按低浓度来处理。 计算公式: ??????+----= A mX Y mX Y A A N OL 1121)1(ln 11 OL X X X N Z L X X dY Z L a K Ω=-Ω=?12* 式中 K X a : 以?X 为推动力的液相总体积吸收系数,kmol / (m 3·s); N OL : 以?X 为推动力的液相总传质单元数; A : 吸收因数 m V L A /= ; L : 水的摩尔流量,kmol /s ; V : 空气的摩尔流量,kmol /s ; Z : 填料层高度,m ; Ω: 塔的横截面积,m 2 ; 本实验的平衡关系可写成:Y = mX ; 式中 m :相平衡常数,m =E /P ; E :亨利系数,E =f (t ),Pa ,可根据液相温度t 查得; P :总压,Pa (取大气压)。 测定方法: (1)本实验采用转子流量计测得空气和水的体积流量,并根据实验条件(温度和压力)和有关公式换算成空气和水的摩尔流量。 (2)测定塔底和塔顶气相组成Y 1和Y 2(利用气相色谱分析得到质量分率,再换算成摩尔比)。 (3)塔底和塔顶液相组成X 1、X 2的确定:对清水而言,X 2=0,由全塔物料衡算()()2121X X L Y Y V -=- 可求出X 1 。 3.实验装置与流程 实验装置流程如图2-10所示。自来水送入填料塔塔顶经喷淋头喷淋在填料顶层。由风机送来的空气和由二氧化碳钢瓶来的二氧化碳混合后,一起进入气体混合贮罐,然后从塔底进入塔内,与水在塔内进行逆流接触,发生质量传递,由塔顶出来的尾气放空。由于本实验为低浓度气体的吸收,整个实验过程可看成是等温操作。 填料吸收塔内径为100mm ,塔内分别装有金属丝网波纹规整填料和θ环散装填料两种,填料层总高度Z =2 m.。塔顶有液体分布器,塔中部有液体再分布器,塔底部有栅板式填料支承装置。塔底有液封,以避免气体泄漏。 填料规格和特性:金属丝网波纹填料的型号为JWB —700Y ,填料尺寸为φ100×100mm ,比表面积为700m 2/m 3。θ环散装填料尺寸为φ10×10mm 。

实验六答案

实验六函数与编译预处理答案 一、断点的设置和取消、单步执行跟踪进入函数和跳出函数方法 练习 2、调试练习: 要求:模仿示例调试以下程序,直到输出正确结果,源程序名为error6_2.c 程序功能:利用函数调用求“1!+2!+3!+4!+...+10!”的值(参见实验教材72页程序填空题第(1)小题) 源程序(有错误的程序——不是语法错误,而是算法错误或逻辑错误): 改正错误后的源程序: void main() { long s=0,i; long mm(int k); for(i=1;i<=10;i++) s=s+mm(i); printf("1!+2!+3!+...+10!=%ld\n",s); } long mm(int k) { long t=1, j; for(j=1;j<=k;j++) t=t*j; return (t); } 3、综合调试、改错练习: 以下程序有多处错误,请综合运用前面所学过的所有知识和VC++的调试手段,改正程序的各种错误,使其运行出正确的结果。程序的功能是:利用函数调用求任意两个整数的和。 改正错误后的源程序:

main() { int sum(int a,int b); int x,y; scanf("%d,%d",&x,&y); printf("x=%d,y=%d\n",x,y); printf("%d+%d=%d\n",x,y,sum(x,y)); } int sum(int a,int b) { return (a+b); } 二、编程练习 利用VC++编写程序,并调试、运行,直到输出正确结果。编程练习1: 注意: 这里提供了以填空的形式出现源程序参考清单,目的是给同学们一个思路。最好不要将此源程序清单复制到VC++中,否则会出现多处语法错误。同学们可以据此思路来填写有关语句,从而完成程序。在调试程序时,一定要运用前面学过的方法。 下面函数是实现求[1,3000]能被17或23整除的整数的个数。请将程序补充完整,并调试运行,直到输出正确结果。(源文件名为blank6_1.c) 完成填空后的源程序: #include int f(int m, int n) { int i, count=0; for(i=m; i<=n; i++) if(i%17==0||i%23==0) count++; return count; } main() {int m,n; scanf("%d%d",&m,&n); printf("count=%d\n", f(m,n)); }

matlab 实验6 函数及其调用

数学实验练习六:函数 一、1)写一个 MATLAB 函数 piFun01.m 来计算下列级数: f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...) 其中 n 为函数的输入,代表上述级数的项数,级数和 f(n) 则是函数的输出。 解:function f=pifun01(n) f=0; for i=1:n f=f+4*(-1)^(i+1)/(2*i-1); end >> piFun01(100000) ans = 3.1416 2)使用 tic 和 toc 指令来测量 piFun01(100000) 的计算时间。如果你不知道如何使用这两个指令,请使用 help tic 及 help toc 来查出它们的用法。我的旧计算机是 Pentium 450MHz,所得的计算时间约为 2 秒。请说明你的计算机规格以及其计算时间。

解:function f=pifun01(n) tic f=0; for i=1:n f=f+4*(-1)^(i+1)/(2*i-1); end f=toc 二、写一个 MATLAB 的递归函数 fibo.m 来计算 Fibonacci 数列, 其定义如下: fibo(n+2) = fibo(n+1)+fibo(n) 此数列的启始条件如下: fibo(1) = 0, fibo(2) = 1. a) fibo(25) 的返回的值是多少? 解:function f=fibo(n) if n==1 f=0; elseif n==2

f=1; else f=fibo(n-1)+fibo(n-2); end >> clear >> fibo(25) ans = 46368 b)使用 tic 和 toc 指令来测量 fibo(25) 的计算时间。我的计 算机是 Pentium 2GHz,所得的计算时间约为 3.35 秒。请说明你的计算机规格以及其计算时间。 解: function f=fibo(n) tic if n==1 f=0; elseif n==2 f=1; else f=fibo(n-1)+fibo(n-2); end

实验六:广域网协议配置(2012最新版)

大连理工大学本科实验报告 课程名称:网络综合实验学院(系):软件学院 2012年3月22日

大连理工大学实验报告 学院(系):专业:班级: 姓名:学号:组:___ 实验时间:实验室:实验台: 指导教师签字:成绩: 实验六:广域网协议配置 一、实验目的 两台路由器之间的PPP和Frame Relay协议配置 二、实验原理和内容 1、路由器的基本工作原理 2、配置路由器的方法和命令 3、PPP的基本原理及配置 4、Frame Relay协议的基本原理及配置 三、实验环境以及设备 2台路由器、2台Pc机、双绞线若干 四、实验步骤(操作方法及思考题) {警告:路由器高速同异步串口(即S口)连接电缆时,无论插拔操作,必须在路由器电源关闭情况下进行;严禁在路由器开机状态下插拔同/异步串口电缆,否则容易引起设备及端口的损坏。} 1、请在用户视图下使用“reset saved-configuration”命令和“reboot”命令分别 将两台路由器的配置清空,以免以前实验留下的配置对本实验产生影响。2、在确保路由器电源关闭情况下,按照下图联线组建实验环境。配置IP地址, 以及配置PC 202.0.0.2 的缺省网关为202.0.0.1,PC 202.0.1.2 的缺省网关为202.0.1.1。

202.0.0.2/24202.0.1.2/24 AR18-12 AR28-11 3、在两台路由器上都启动 RIP ,目标是使两台PC 机之间能够ping 通。请将为达到此目标而在两台路由器上执行的启动RIP 的命令写到实验报告中。你们的两台PC 机之间ping 通了吗?在缺省情况下,两台路由器的串口之间使用的是哪种广域网协议?(15分) 答: AR18-12: [RA]rip [RA-rip]network all AR28-11: [RB]rip [RB-rip]network 0.0.0.0 缺省情况下,两台路由器之间使用PPP 协议。ping 通截图如下: 4、PPP 协议PAP 验证配置: (1) 配置AR18-12为验证方,AR28-11为被验证方,然后测试两台PC 机 之间是否能够ping 通。请将在两台路由器上执行的配置命令写到实验报告中。(15分) 答:

实验六、用窗函数法设计FIR滤波器分析解析

实验六 用窗函数法设计 FIR 滤波器 一、实验目的 (1) 掌握用窗函数法设计FIR 数字滤波器的原理和方法。 (2) 熟悉线性相位FIR 数字滤波器特性。 (3) 了解各种窗函数对滤波特性的影响。 二、实验原理 滤波器的理想频率响应函数为H d (e j ω ),则其对应的单位脉冲响应为: h d (n) = ?-π π ωωωπ d e e H n j j d )(21 窗函数设计法的基本原理是用有限长单位脉冲响应序列h(n)逼h d (n)。由于h d (n)往往是无 限长序列,且是非因果的,所以用窗函数。w(n)将h d (n)截断,并进行加权处理: h(n) = h d (n) w(n) h(n)就作为实际设计的FIR 数字滤波器的单位脉冲响应序列,其频率响应函数H(e j ω )为: H(e j ω ) = ∑-=-1 )(N n n j e n h ω 如果要求线性相位特性,则h (n )还必须满足: )1()(n N h n h --±= 可根据具体情况选择h(n)的长度及对称性。 用窗函数法设计的滤波器性能取决于窗函数w(n)的类型及窗口长度N 的取值。设计过程中,要根据对阻带最小衰减和过渡带宽度的要求选择合适的窗函数类型和窗口长度N 。 三、实验步骤 1. 写出理想低通滤波器的传输函数和单位脉冲响应。 2. 写出用四种窗函数设计的滤波器的单位脉冲响应。 3. 用窗函数法设计一个线性相位FIR 低通滤波器,用理想低通滤波器作为逼近滤波器,截止频率ωc =π/4 rad ,选择窗函数的长度N =15,33两种情况。要求在两种窗口长度下,分别求出h(n),打印出相应的幅频特性和相频特性曲线,观察3dB 带宽和阻带衰减; 4 用其它窗函数(汉宁窗(升余弦窗)、哈明窗(改进的升余弦窗)、布莱克曼窗) 设计该滤波器,要求同1;比较四种窗函数对滤波器特性的影响。 四、实验用MATLAB 函数 可以调用MATLAB 工具箱函数fir1实现本实验所要求的线性相位FIR-DF 的设计,调用一维快速傅立叶变换函数fft 来计算滤波器的频率响应函数。

吸收与解吸实验

一、实验目的 12 3 4 二、实验原理 ㈠、吸收实验 根据传质速率方程,在假定Kxa 低浓、难溶等] 条件下推导得出吸收速率方程: Ga=Kxa ·V ·Δx m 则: Kxa=Ga/(V ·Δx m ) 式中:Kxa ——体积传质系数 [kmolCO 2/m 3hr Ga ——填料塔的吸收量 [Kmol CO 2 V ——填料层的体积 [m 3] Δx m ——填料塔的平均推动力 1、Ga 的计算 已知可测出:Vs[m 3/h]、V B [m 3/h](可由色谱直接读出) Ls[Kmol/h]=Vs ×ρ水/M 水 101 1'29]/[ρρρρV M V h Kmol G B B B =?=?= 空气 标定情况:T 0=273+20 P 0=101325 测定情况:T 1=273+t1 P 1=101325+ΔP 因此可计算出L S 、G B 。又由全塔物料衡算:G a =Ls(X 1-X 2)=G B (Y 1-Y 2) 2 2 21 1111y y Y y y Y -= -= 且认为吸收剂自来水中不含CO 2,则X 2=0,则可计算出G a 和X 1 2、Δx m 的计算 根据测出的水温可插值求出亨利常数E[atm],本实验为P=1[atm] 则 m=E/P m y x m y x x x x x x x x x x x x e e e e m 1 1221 112221 2 1 2ln = = -=?-=????-?= ?

㈡、解吸实验 低浓、难溶等] Ga=K Y a ·V 则: K Y a=Ga/(V 式中:K Y a Ga V ΔY m 1、Ga 的计算 已知可测出:y 2 ]/[h Kmol G B 标定情况:T 0 测定情况:T 1因此可计算出L S 、G B 。又由全塔物料衡算:G a =Ls(X 1-X 2)=G B (Y 1-Y 2) 0112 2 21 11=-= -= y y Y y y Y 且认为空气中不含CO 2,则y 2=0;又因为进塔液体中X 1有两种情况,一是直接将吸收后的液体用于解吸,则其浓度即为前吸收计算出来的实际浓度X 1;二是只作解吸实验,可将CO 2用文丘里吸碳器充分溶解在液体中,可近似形成该温度下的饱和浓度,其X 1*可由亨利定律求算出: m m y x 1 *1== 则可计算出G a 和X 2 2、ΔY m 的计算 根据测出的水温可插值求出亨利常数E[atm],本实验为P=1[atm] 则 m=E/P 1 12 21112221 2 1 2ln x m y x m y Y Y Y Y Y Y Y Y Y Y Y e e e e m ?=?=-=?-=????-?= ? 根据 e e Y y y y Y 换算成将-= 1 三、实验装置

实验六压缩试验

实验六 压缩试验(快速法) 1 试验目的 测定土的湿密度、含水率,计算土样干密度、初始孔隙比,并用此密度、含水率条件下的试样进行压缩试验,根据试验数据绘制孔隙比与压力的关系曲线(即压缩曲线),确定土的压缩系数、压缩模量,评价土体的压缩性。 ⑴掌握以磅秤式(或杠杆式)加压设备测定土压缩系数的方法,并根据试验数据绘制孔隙比与压力的关系曲线(即压缩曲线); ⑵根据求得的压缩系数21-a 评定土的压缩性。 2 试验方法 ⑴密度试验——环刀法; ⑵含水率试验——烘干法; ⑶压缩试验——快速固结试验法。 3 试验原理 土样在外力作用下便产生压缩,其压缩量的大小是与土样上所加的荷重大小以及土样的性质有关。如在相同的荷重作用上,软土的压缩量就大,而坚密的土则压缩量小;又如在同一种土样的条件下,压缩量随着荷重的加大而增加。因此,我们可以在同一种土样上,施加不同的荷重,一般情况下,荷重分级不宜过大。视土的软硬程度及工程情况可取为12.5、25、50、100、200、300、400、600、800 kPa 等。最后一级荷重应大于土层计算压力的100~200kPa 。这样,便可得不同的压缩量,从而可以算出相应荷重时土样的孔隙比。如图6-1可见,当土样在荷重P 1作用下,压缩量为h ?。一般认为土样的压缩主要由于土的压密使孔隙减少产生的。因此,与未加荷前相比,可得:10e e h -=?。 而土样在荷重P 1作用下产生的应变为 h h ?= ε,从图6-1可得: ) 1(100 100 1 00e h h e e e e e h h +?=-+-=? 式中:1e ——在荷重P 1作用下,土样变形稳定时的孔隙比; 0e 、0 h ——分别为原始土样的孔隙比和高度; h ?——在荷重P 1作用下,土样变形稳定时的压缩量。

实验六 函数

实验六 函数 一、实验目的 1.掌握自定义函数的一般结构及定义函数的方法。 2.掌握形参、实参、函数原型等重要概念。 3.掌握函数声明、函数调用的一般方法。 4. 了解函数的嵌套调用以及函数的递归调用的格式。 二、实验预习 1 .理解为什么要在程序中引入函数?函数的引入对程序的整体结构有什么样的影响? 2. 函数的定义格式,理解函数的类型说明符根据什么来确定? 3. 充分理解函数实参和形参的联系和区别,掌握单向值传递的意义。 4. 了解针对不同返回类型的函数返回值的应用,尤其是有无return 语句的区别。 5. 掌握函数调用与函数声明的格式,了解什么情况下需要进行函数声明?什么情况下不需要? 6. 了解函数嵌套调用和递归调用的原理及使用原则。 三、实验内容 (一)阅读并调试下列程序,根据要求给出程序结果。 1.求三角形面积函数。 ⑴ 编程分析 ① 设三角形边长为a 、b 、c ,面积area 的算法是s=(a+b+c)/2, area=))()((c s b s a s s --- ,其中 显然,要计算三角形面积,需要用到三个参数,面积函数的返回值的数据类型应为实型。 ② 尽管main()函数可以出现在程序的任何位置,但为了方便程序阅读,通常将主函数放在程序的开始位置,并在它之前集中进行自定义函数的原型声明。 ⑵ 参考程序 /* 定义和使用求三角形面积函数的程序 */ #include "math.h" #include "stdio.h" float area(float,float,float); /*函数的声明*/ void main() { float a,b,c; printf("请输入三角形的三个边长值:\n") scanf("%f,%f,%f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a&&a>0.0&&b>0.0&&c>0.0) printf("Area=%-7.2f\n",area(a,b,c)); /* 以下是计算任意三角形面积的函数 */ float area(float a,float b,float c) { float s,area_s; s=(a+b+c)/2.0;

化工原理吸收实验报告

一、实验目的 1.了解填料塔的一般结构及吸收操作的流程。 2.观察填料塔流体力学状况,测定压降与气速的关系曲线。 3.掌握总传质系数K x a的测定方法并分析其影响因素。 4.学习气液连续接触式填料塔,利用传质速率方程处理传质问题的方法。 二、实验原理 本实验先用吸收柱将水吸收纯氧形成富氧水后(并流操作),送入解吸塔再用空气进行解吸,实验需测定不同液量和气量下的解吸总传质系数K x a,并进行关联,得K x a=AL a V b的关联式。同时对不同填料的传质效果及流体力学性能进行比较。 1.填料塔流体力学特性 气体通过干填料层时,流体流动引起的压降和湍流流动引起的压降规律相一致。在双对数坐标系中△P/Z对G'作图得到一条斜率为1.8~2的直线(图1中的aa线)。而有喷淋量时,在低气速时(c点以前)压降也比例于气速的1.8~2次幂,但大于同一气速下干填料的压降(图中bc段)。随气速增加,出现载点(图中c点),持液量开始增大。图中不难看出载点的位置不是十分明确,说明汽液两相流动的相互影响开始出现。压降~气速线向上弯曲,斜率变徒(图中cd段)。当气体增至液泛点(图中d点,实验中可以目测出)后在几乎不变的气速下,压降急剧上升。 图1 填料层压降-空塔气速关系

2.传质实验 填料塔与板式塔气液两相接触情况不同。在填料塔中,两相传质主要是在填料有效湿表面上进行。需要完成一定吸收任务所需填料高度,其计算方法有:传质系数法、传质单元法和等板高度法。 本实验对富氧水进行解吸。由于富氧水浓度很小,可认为气液两相平衡服从亨利定律,可用对数平均浓度差计算填料层传质平均推动力。得速率方程式: m p X A x V a K G ???= m p A x X /V G a K ?=? 2 211ln ) 22()11(e e e e m x x x x x x x x x --?---= )x -L (x G 21 A = Ω?=Z V p 相关的填料层高度的基本计算式为: OL OL x x e x N H x x dx a K L Z ?=-Ω=?12 OL OL N Z H = 其中, m x x e OL x x x x x dx N ?-=-=?2 11 2 Ω =a K L H x OL 由于氧气为难溶气体,在水中的溶解度很小,因此传质阻力几乎全部集中于液膜中,即Kx=kx 。由于属液膜控制过程,所以要提高总传质系数Kxa ,应增大液相的湍动程度。 在y-x 图中,解吸过程的操作线在平衡系下方,在实验是一条平行于横坐标的水平线(因氧在水中浓度很小)。 三、实验装置流程 1.基本数据 解吸塔径φ=0.1m,吸收塔径φ=0.032m ,填料层高度0.8m (陶瓷拉西环、陶瓷波纹板、金属波纹网填料)和0.83m (金属θ环)。

实验六 自定义函数

实验六自定义函数 实验目的:熟悉Matlab自定义函数的定义和调用方法 实验内容: 2. 编写程序,在主程序中提示用户输入一组数字,编写子程序文件 find_div2.m找出能被2整除的数字,find_max_min.m找出输入数字中的最大值和最小值之和,find_averag求出输入数字的平均值,sort_number对数字进行排序,在主程序中调用子程序并且把上述结果输出。例如输入的数字为1,2,3,4,5,要求输出格式为:输入数字中能被2整除的数为:2,4 输入数字中最大值与最小值之和为:5+1=6 输入数字的平均值为:3 输入数字从大到小排序为:5,4 3,2,1 主程序: clear,clc s=input('请输入一组数字:','s'); x=str2num(s); find_div2(x); find_max_min(x); find_averag(x); sort_number(x);

子程序: function find_div2(x) b=length(x); for i=1:b A(i)=x(i); end c=find(rem(A,2)==0); A=A(c); disp(['输入数字中能被2整除的数为:',num2str(A)]) 子程序: function find_max_min(x) a=max(x); b=min(x); c=a+b; disp(['输入数字中最大值与最小值之和为:',num2str(a),'+',num2str(b),'=',num2str(c) 子程序: function find_averag(x) a=mean(x); disp(['输入数字的平均值为: ',num2str(a)]) 子程序: f unction sort_number(x) a=sort(x); b=fliplr(a); disp(['输入数字从大到小排序为:',num2str(b)])

实验6函数习题及答案

实验6 函数 班级:学号: 姓名:日期: 一、实验目的 (1)掌握定义函数的方法; (2)掌握函数实参与形参的对应关系,以及“值传递”的方式; (3)掌握函数的嵌套调用和递归调用的方法; (4)掌握全局变量和局部变量、动态变量和静态变量的概念和使用方法; (5)学习对多文件的程序编译和运行。 二、实验内容 1.阅读下面程序,写出程序运行结果,并且上机进行验证。 (1)a1.cpp 变量的虚实耦合,实现的是值传递,是单向传递 #include "stdio.h" int swap(int a,int b) { int c,s; c=a; a=b; b=c; s=a+b; return s; } void main() { int a,b,s; a=3;b=4; s=swap(a,b); printf("a=%d b=%d s=%d\n",a,b,s); } (2)a2.cpp

将十进制数26的各位数字相乘 #include "stdio.h" int fun(int num) { int k=1; do { k*=num %10; / num/=10; }while(num); return(k); } void main() { int n=26; printf("%d\n",fun(n)); } (3)a3.cpp 变量的作用域,当在函数内定义了与全局变量同名的局部变量时,全局变量被屏蔽#include "stdio.h" int a=3,b=5,c; void f(int b) { c=a+b; printf("%d %d %d\n",a,b,c); } void main() { int a=8; f(3); printf("%d %d %d\n",a,b,c); } (4)a4.cpp 递归,将十进制11转换为二进制 #include "stdio.h" void dtob(int n) { int i;

实验六

实验六计数器综合应用 一实验目的 1分析集成同步十进制计数器的逻辑功能。 2学会用集成同步十进制计数器来构成其它进制的计数器。 二实验仪器 安装有Multisim10的个人电脑 三实验原理 本实验采用74LSl60同步十进制计数器。图6-1是由74LSl60等构建的同步十进制循环计数器。

图中,74LSl60的A、B、C、D端是计数器输入端;QA、QB、QC、QD端是计数器输出端;ENP与ENT是功能控制端,两端任何一端为低电平,计数器保持状态,只有ENP与ENT都为高电平,才能计数;~LOAD是预置端,低电位为预置数,当~LOAD为低电位,在CLK的作用下QA、QB、QC、QD的数值为A、B、C、D的数值;~CLR为置零端,低电位时清零;当EN当、ENT、~LOAD、~LOAD皆为高电位时,计数器处于循环计数状态。另外,V1是计数器时钟源,U2是带译码器的数码管显示器。 四实验步骤

(一)同步十进制计数器测试 1同步十进制计数器实验电路图如图6-2。 2打开Multisim10工作界面,从TTL元件库中取出74LS160, 从显示器件库中取出带译码器的四脚显示数码管,从仪器库中取出逻辑分析仪等,按图6-2连接好。 3调整V1时钟频率为100Hz,打开工作开关。计数器运转正常后,进行下列测试 图6-2

4打开逻辑分析仪,时钟频率设置Extemal与V1相同,观察数码管数字变化与逻辑分析仪波形变化。画出一个计数周期QA、QB、QC、QD及时钟波形时序图。根据时序图分析计数器计数规律。 计数器计数规律如下: 十进制计数器是在二进制计数器的基础上得出的,用四位二进制数来代表十进制的每一位数。在CP作用下,计数器的状态Q3、Q2、Q1 Q0 按照0000→0001→ … →1001→0000循环,这十个状态称为有效状态。1010、1011、1100、1101、1110、1111六个状态称为无效状态。

实验六 窗函数及其对信号频谱的影响

实验六窗函数 及其对信号频谱 的影响 一. 实验目的 1. 掌握几种典型窗函数的性质、特点,比较几种典型的窗函数对信号频谱的影响。 2. 通过实验认识它们在克服FFT 频谱分析的能量泄漏和栅栏效应误差中的作用,以便在实际工作中能根据具体情况正确选用窗函数 二. 实验原理 1. 信号的截断及能量泄漏效应 数字信号处理的主要数学工具是博里叶变换.应注意到,傅里叶变换是研究整个时间域和频率域的关系。然而,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。 图6.1 信号的周期延拓 周期延拓后的信号与真实信号是不同的,下面我们就从数学的角度来看这种处理带来的误差情况。设有余弦信号x(t)在时域分布为无限长(- ∞,∞),当用矩形窗函数w(t)与其相乘时,得到截断信号xT(t) =x(t)w(t)。根据博里叶变换关系,余弦信号的频谱X(ω)是位于ω。处的δ函数,而矩形窗函数w(t)的谱为sinc(ω)函数,按照频域卷积定理,则截断信号xT(t) 的谱XT(ω) 应为: 将截断信号的谱XT(ω)与原始信号的谱X(ω)相比较可知,它已不是原来的两条谱线,而是两段振荡的连续谱.这表明原来的信号被截断以后,其频谱发生了畸变,原来集中在f0处的能量被分散到两个较宽的频带中去了,这种现象称之为频谱能量泄漏(Leakage)。 信号截断以后产生的能量泄漏现象是必然的,因为窗函数w(t)是一个频带无限的函数,所以即使原信号x(t)是限带宽信号,而在截断以后也必然成为无限带宽的函数,即信号在频域的能量与分布被扩展了。又从采样定理可知,无论采样频率多高,只要信号一经截断,就不可避免地引起混叠,因此信号截断必然导致一些误差,这是信号分析中不容忽视的问题。

相关文档