文档库 最新最全的文档下载
当前位置:文档库 › 实验八过程调用

实验八过程调用

实验八过程调用
实验八过程调用

实验八过程调用

一、实验目的

1. 掌握过程文件的语法和调用。

2. 掌握自定义函数的定义和调用。

3.了解参数传递的概念。

4.掌握私有变量、局部变量和全局变量的定义和使用。

二、预备知识

1.设计子程序

子程序是指能被其他程序调用的程序。通常情况下,被调用的称为子程序,调用它的称为主程序。

子程序中必须使用的一条命令是返回命令RETURN,格式为:

RETURN[<表达式>|TO MASTER|TO<程序文件名>]

功能是返回到调用该子程序的上级程序。

2.参数传递

接收参数的命令有PARAMETERS和LPARMETERS,它们的格式如下:

PARAMETERS<形参变量1>[,<形参变量2>, ]

LPARAMETERS<形参变量1>[,<形参变量2>, ]

3.变量的作用域

程序设计离不开变量,如果以变量的作用来分,内存变量分为全局变量、私有变量和局部变量。

4.全局变量

是指在任何模板中都可以使用的变量。

全局变量可用PUBLIC命令建立。

PUBLIC<内存变量表>

该命令的功能是建立公共的内存变量,并为它们赋初值逻辑假.F.。

5.局部变量

局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放。局部变量用LOCAL命令建立。

LOCAL<内存变量表>

该命令建立指定的局部内存变量,并为它们赋初值逻辑假.F.。

6.私有变量

在程序中直接使用而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。一旦建立它的模块程序运行结束,这些私有变量将自动清除。

三、实验内容

1.计算2!+5!-4!

(1)将求阶乘的功能设计为子程序。

主程序:使用子程序计算2!+5!-4!

CLEAR

jc=0

DO jsjc WITH2,jc &&调用子程序jsjc,计算2!

K2=jc

DO jsjc WITH5,jc &&调用子程序jsjc,计算5!

K5=jc

DO jsjc WITH4,jc &&调用子程序jsjc,计算4!

K4=jc

S=k2+k5-k4

?"2!+5!-4!=",s FUNCTION'B' &&显示结果左对齐

子程序:计算阶乘值

PARAMETERS n,p

P=1

For I=2 TO n

P=p*I

ENDFOR

RETURN &&返回调用程序

(2)将求阶乘的功能设计为过程:使用过程计算2!+5!-4!的值。

CLEAR

jc=0

DO jsjc WITH 2,jc

K2=jc

DO jsjc WITH 5,jc

K5=jc

DO jsjc WITH 4,jc

K4=jc

S=k2+k5-k4

?"2!+5!-4!=",s FUNCTION'B'

*

PROCEDURE jsjc &&过程jsjc开始语句

PARAMETERS n,p

P=1

FOR i=2 TO n

P=p*I

ENDFOR

RETURN

(3)将求阶乘的功能设计为自定义函数:使用自定义函数计算2!+5!-4!。

CLEAR

jc=0

S=jsjc(I,jc)+jsjc(5,jc)-jsjc(4,jc) &&调用自定义函数计算阶乘

?"2!+5!-4!=",s FUNCTION'B'

*

FUNCTION jsjc &&自定义函数的开始语句

PARAMETERS n,p

P=1

FOR I=2 TO n

P=p*I

ENDFOR

RETURN p &&返回p的值(结果)

四、思考与练习

1.输入下面程序写出运行结果,分析一下全局变量与局部变量的区别。

主程序:

SET TALK OFF

X='同学们'

Y='你们号'

?'主程序中X=',X

?'主程序中Y=',Y

DO SUBPRO &&调用子程序

?'返回主程序后X=',X

? '返回主程序后Y=',Y

? '返回主程序后Z=',Z

SET TALK ON

子程序SUBPRO.PRG

PRIVATE X

PUBLIC Z

X=100

Y=200

Z=300

?'子程序中X=',X

?'子程序中Y=',Y

?'子程序中Z=',Z

RETURN

2.输入半径,以在主程序中调用过程文件的方式,编写程序求圆面积、圆周长、球体积。

实验八 公式、序列及函数的使用

实验八公式、序列及函数的使用 一、实验目的 1.熟练掌握序列填充及公式复制的方法; 2.掌握常用函数的功能及使用方法,并能用它们来解决一些实际问题。 二、实验内容与操作步骤 在Excel环境下完成以下各操作: (一)序列填充及公式的使用 1.在Excel中创建一个空白工作簿 2.利用Excel提供的数据填充功能,在Sheet1工作表中输入以下数据: ⑴在区域A1:A9中从上到下填入:2,4,6,8,10,12,14,16,18 ⑵在区域B1:B9中从上到下填入:1,2,4,8,16,32,64,128,256 ⑶在区域C1:C12中从上到下填入:JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC ⑷在区域D1:D7中从上到下填入:星期日,星期一,星期二,星期三,星期四,星期五,星期六 3.在Sheet2工作表中,利用公式计算二次函数ax2+bx+c的值,其中a=2,b=3,c=5,x从-3到4变化,每隔0.5取一个函数值。操作方法写出如下: 4.把工作簿以E81.XLS为文件名存入D:\EX8中。 (二)函数的使用 在Excel环境下打开D:\EX8\E82.XLS文件,依次完成以下各操作后按E83.XLS为文件名存入D:\EX8中。 1、统计函数的使用 ⑴单击“统计函数”工作表;

⑵在区域F3:G8中用“统计函数”计算出各分店的统计值。 操作方法是:先在F3单元及G3单元输入的计算公式,然后选定区域F3:G3后双击其填充柄。其中F3单元的公式为,G3单元的公式为。 ⑶在区域B9:E12用“统计函数”计算出各季度的统计值。 2、条件函数的使用 ⑴单击“条件函数”工作表。 ⑵计算出各学生的平均分; ⑶给定各学生的成绩等级,规则如下:平均分≥90为“A”,80≤平均分<90为“B,70≤平均分<80为“C”,60≤平均分<70为“D”,平均分<60为“E”。以此规则在区域F3:F62用IF函数确定各学生的等级。 ⑷用FREQUENCY函数在区域I2:I5中统计出平均分0~59,60~79,80~99,100各分数段的学生人数。 3、文本函数的使用 ⑴单击“文本函数”工作表; ⑵在区域A2:F32给出的数据清单中,编号的前3位为系别信息,101为数学系,102为物理系,103为化学系,据此在区域B3:B32用函数求出每位教师的系别。其中B3单元使用的公式为。 ⑶已知身份证号的第7至第10位数为出生年份,据此在区域F3:F32用函数求出每位教师的出生年份。其中F3单元使用的公式为。 4、日期函数的使用 ⑴单击“日期函数”工作表; ⑵在区域A2:F32给出的数据清单中,在区域E3:E32用日期函数求出每位职工的工龄。其中E3单元使用的公式为。 ⑶在区域F3:F32用日期函数求出每位职工的工作天数(即自参加工作以来已经过的总天数。其中F3单元使用的公式为。 5、财务函数的使用 使用 PMT 函数完成以下有关的操作: ⑴单击“财务函数”工作表; ⑵某企业向银行贷款5 万元,准备4年还清,假定当前年利率为 4 % ,在 B5 单元 计算每个月应向银行偿还贷款的数额,根据条件在 B2 : B4 补充所需内容。其中单元格B5 使用的公式为。 ⑶假定当前年利率为 5 %,为使 5 年后得到 10 万元的存款,在 D5 单元计算现在开

低碳钢 铸铁的扭转破坏实验报告

低碳钢、铸铁的扭转破坏实验 一:实验目的和要求 1、掌握扭转试验机操作。 2、低碳钢的剪切屈服极限τs。 3、低碳钢和铸铁的剪切强度极限τb。 4、观察比较两种材料的扭转变形过程中的变形及其破坏形式,并对试件断口形貌进行分析。 二:实验设备和仪器 1、材料扭转试验机 2、游标卡尺 三、实验原理 1、低碳钢扭转实验 低碳钢材料扭转时载荷-变形曲线如图(a)所示。 T 图1. 低碳钢材料的扭转图 1. 低碳钢材料的扭转图 τs (a) (b) (c) 图2. 低碳钢圆轴试件扭转时的应力分布示意图 低碳钢试件在受扭的最初阶段,扭矩T与扭转角φ成正比关系(见图1),横截面上剪应力τ沿半径线性分布,如图2(a)所示。随着扭矩T的增大,横截面边缘处的剪应力首先达到剪切屈服极限τs且塑性区逐渐向圆心扩展,形成环形塑性区,但中心部分仍是弹性的,见图2(b)。试件继续变形,屈服从试件表层向心部扩展直到整个截面几

乎都是塑性区,如图2(c)所示。此时在T-φ曲线上出现屈服平台(见图1),试验机的扭矩读数基本不动,此时对应的扭矩即为屈服扭矩T s 。随后,材料进入强化阶段,变形增加,扭矩随之增加,直到试件破坏为止。因扭转无颈缩现象。所以,扭转曲线一直上升直到破坏,试件破坏时的扭矩即为最大扭矩T b 。由 t s d s A s s W d dA T τρπρρτρτ3 4 22 /0 ===? ?)( 可得低碳钢材料的扭转屈服极限t s s W T 43= τ;同理,可得低碳钢材料扭转时强度极限t b b W T 43=τ,其中316 d W t π =为抗扭截面模量。 2、铸铁扭转实验 铸铁试件受扭时,在很小的变形下就会发生破坏,其扭转图如图3所示。 图3. 铸铁材料的扭转图 从扭转开始直到破坏为止,扭矩T 与扭转角近似成正比关系,且变形很小,横截面上剪应力沿半径为线性分布。试件破坏时的扭矩即为最大扭矩T b ,铸铁材料的扭转强度极限为t b b W T = τ。 低碳钢试样和铸铁试样的扭转破坏断口形貌有很大的差别,图4(a )所示低碳钢试样的断面与横截面重合,断面是最大切应力作用面,断口较为平齐,可知为剪切破坏;图(b )所示铸铁试样的断面是与试样轴线成45度角的螺旋面,断面是最大拉应力作用面,断口较为粗糙,因而最大拉应力造成的拉伸断裂破坏。 图4. 低碳钢和铸铁的扭转端口形状 四、实验步骤 低碳钢实验步骤: 1. 测量试样尺寸 在试件两端及中部位置,沿两个相互垂直的方向,测量试样直径,以其平均值计算个横截面面积。

oracle实验--存储过程

实验八存储过程的使用 一、实验目的 1、熟练掌握存储过程的定义及使用 二、实验要求 1、实验前做好上机实验的准备,针对实验内容,认真复习与本次实验有关的知识,完成 实验内容的预习准备工作; 2、能认真独立完成实验内容; 3、实验后做好实验总结,根据实验情况完成实验报告。 三、实验内容 创建图书管理库的图书、读者和借阅三个基本表的表结构: 图书表: BOOK ( BOOK_ID NUMBER(10), SORT V ARCHAR2(10), BOOK_NAME V ARCHAR2(50), WRITER V ARCHAR2(10), OUTPUT V ARCHAR2(50), PRICE NUMBER(3)); 读者表 READER ( READER_ID NUMBER(3), COMPANY V ARCHAR2(10), NAME V ARCHAR2(10), SEX V ARCHAR2(2), GRADE V ARCHAR2(10), ADDR V ARCHAR2(50)); 借阅表 BORROW ( READER_ID NUMBER(3),

BOOK_ID NUMBER(10), BORROW_DA TE DA TE); 插入数据: BOOK表: insert into book values(445501,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445502,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(445503,'TP3/12','数据库导论','王强','科学出版社',17.90); insert into book values(332211,'TP5/10','计算机基础','李伟','高等教育出版社',18.00); insert into book values(112266,'TP3/12','FoxBASE','张三','电子工业出版社',23.60); insert into book values(665544,'TS7/21','高等数学','刘明','高等教育出版社',20.00); insert into book values(114455,'TR9/12','线性代数','孙业','北京大学出版社',20.80); insert into book values(113388,'TR7/90','大学英语','胡玲','清华大学出版社',12.50); insert into book values(446601,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446602,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(446603,'TP4/13','数据库基础','马凌云','人民邮电出版社',22.50); insert into book values(449901,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(449902,'TP4/14','FoxPro大全','周虹','科学出版社',32.70); insert into book values(118801,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); insert into book values(118802,'TP4/15','计算机网络','黄力钧','高等教育出版社',21.80); READER表: insert into reader values(111,'信息系','王维利','女','教授','1号楼424'); insert into reader values(112,'财会系','李立','男','副教授','2号楼316'); insert into reader values(113,'经济系','张三','男','讲师','3号楼105'); insert into reader values(114,'信息系','周华发','男','讲师','1号楼316'); insert into reader values(115,'信息系','赵正义','男','工程师','1号楼224'); insert into reader values(116,'信息系','李明','男','副教授','1号楼318'); insert into reader values(117,'计算机系','李小峰','男','助教','1号楼214'); insert into reader values(118,'计算机系','许鹏飞','男','助工','1号楼216'); insert into reader values(119,'计算机系','刘大龙','男','教授','1号楼318'); insert into reader values(120,'国际贸易','李雪','男','副教授','4号楼506'); insert into reader values(121,'国际贸易','李爽','女','讲师','4号楼510'); insert into reader values(122,'国际贸易','王纯','女','讲师','4号楼512'); insert into reader values(123,'财会系','沈小霞','女','助教','2号楼202'); insert into reader values(124,'财会系','朱海','男','讲师','2号楼210'); insert into reader values(125,'财会系','马英明','男','副教授','2号楼212'); BORROW表:

实验五 存储过程和触发器的定义和使用3

实验五存储过程和触发器的定义和使用 一、实验目的 1、掌握局部变量、全局变量、流程控制语句的使用方法 2、了解存储过程的类型和作用,并掌握使用对象资源管理器和Transact-SQL语句创建 存储过程的方法及使用方法。 3、理解触发器的特点和作用,并掌握使用Transact-SQL语言创建触发器的方法 二、实验内容 1.在学生成绩库中中有如下各表: 学生表(Student) 学号姓名性别出生日期专业所在系联系电话020101杨颖01980-7-20计算机应用计算机88297147 020102方露露01981-1-15信息管理计算机88297147 020103俞奇军11980-2-20信息管理计算机88297151 020104胡国强11980-11-7信息管理计算机88297151 020105薛冰11980-7-29水利工程水利系88297152 020201秦盈飞01981-3-10电子商务经济系88297161 020202董含静01980-9-25电子商务经济系88297062 020203陈伟11980-8-7电子商务经济系88297171 020204陈新江11980-7-20房建水利系88297171 create database学生成绩数据库 create table Student ( 学号Char(6)not null, 姓名Char(8)not null, 性别Bit not null, 出生日期smalldatetime, 专业Char(10), 所在系Char(10), 联系电话Char(11)null ) 课程表(Course) 课程号课程名教师开课学期学时学分 101计算机原理陈红2453 102计算方法王颐3453 103操作系统徐格2604 104数据库原理及应用应对刚3755 105网络基础吴江江4453 106高等数学孙中文1906 107英语陈刚1906 108VB程序设计赵红韦3705

弯曲扭转实验

弯曲实验 一.实验目的: 1.了解应变片、应变仪的基本工作原理。 2.学习电测法测定应力的基本原理和方法。 3.确定弯曲梁横截面上的正应力大小,并与理论值进行比较。 4.学习实验数据处理及作图方法,确定弯曲梁横截面上的应力分布规律。 5.测量简支梁的挠度,并与理论值进行比较。 二.实验设备: 1.XL3418型多功能实验台一套 2.XL2101型程控静态电阻应变仪一台 3.XL2116A型测力仪一台,XL1155-1t型应变式传感器一只。 4.挠度计、百分表 三.试验原理: 1)参阅材料力学、工程力学课程的教材及其他相关材料。 2)弯曲梁实验装置如图: 图示AB梁为两端铰支的四点弯曲矩形截面钢梁,在距两端支座为a处,分别作用等量 的力。梁的AB段为纯弯曲,其弯矩为。为了实测正应力,在梁的AB段内分别沿横截面表面均匀粘贴5~7个电阻应变片。当梁受到载荷F作用时,可从电阻片的变形测得各点的应变值ε。在比例极限范围内,应力与应变之间存在着正比关系,即σ=E·ε。因而通过测得应变值便可计算出该点正应力的数值。 CD梁为两端铰支的三点弯曲矩形截面钢梁,在距两端支座为a1处,作用有载荷F。在距支撑点X距离远处分别沿横截面表面均匀粘贴5~7个电阻应变片,其弯矩为 。为了实测正应力,当梁受到载荷F作用时,可从电阻片的

变形测得各点的应变值ε。在比例极限范围内,应力与应变之间存在着正比关系,即σ=E·ε。因而通过测得应变值便可计算出该点正应力的数值。 关于应变片和应变测量电路的原理,参见静态电阻应变仪。(请自己编写) 四.实验步骤 1.量尺寸 根据实验需要(三点弯曲、四点弯曲或纯弯曲实验),量取弯曲梁的相关尺寸,以及加力点、支撑点的距离。 2.将挠度仪和百分表安装被测梁上,调整百分表零点。 3.将应变片导线分别接到应变仪的桥路上(注意应变片编号与应变仪通道编号的关系)。 4.打开应变仪电源开关,当程序结束后,按下“自动平衡”键使应变仪各通道清零。 5.打开测力计电源开关,确定档位(SCLY-2数字测力计选20KN档,XL2116A测力仪选N档)。在确认没有给弯曲梁加力的情况下,按下“清零”键。 6.逐级加载,每增加0.5KN记录一次应变仪各测点的读数以及百分表读数。载荷加至4KN后,卸载。 7.根据应变仪读数和百分表读数分别计算出各点读数差与算术平均值,然后计算应力值和挠度值。 8.根据实验数据处理要求,绘制弯曲梁横截面上的应力分布图。 五.实验记录 1.梁的有关数据: 梁的宽度 b= 高度 h= 梁的有效长度 L S= 挠度的有效长度L e= 加力点到支撑点A的距离a= 加力点到支撑点B的距离a= 加力点到支点C的距离 a1= 支点C到应变片的距离 X= 弹性模量 E=

实验六存储过程设计

嘉应学院计算机学院 2012年 12月12日 一、实验目的 通过实验掌握SQL SERVER存储过程的基本设计方法。 二、实验原理 存储过程是保存起来的可以接受和返回用户提供的参数的 Transact-SQL 语句的集合,它被编译并存储为一个单一的数据库对象,可用存储过程实现批处理。 可以创建一个过程供永久使用,或在一个会话中临时使用(局部临时过程),或在所有会话中临时使用(全局临时过程)。 游标(Cursor)它使用户可逐行访问由数据库返回的结果集。使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。基本语法: create procedure 存储过程名 (参数表 ) as t_sql语句的集合 t_sql语句除SQL语句外,还可包括声明变量,流控制语句及游标等。 (注意:t_sql语句在不同的数据库系统中,语法不同)

三、实验环境 操作系统:Windows Server 2003 、Windows 7 编译环境:SQL Server Enterprise Manager 数据库管理系统:Microsoft SQL Server 2005 四、实验步骤及内容 1. 了解T_SQL语法 (1)变量 A.局部变量 例如:declare @v_sno nvarchar(20), @v_grade float /* 声明了两个局部变量 */ B.全局变量 如:@@error, @@fetch_status C.表变量 声明表类型变量的语句将该变量初始化为一个具有指定结构的空表。 例如: declare @Mytab table (id int primary key, books varchar(15) ) insert @Mytab values(1,'9901') insert @Mytab values(2,'9902')

6实验六 存储过程

实验六存储过程 一、实验目的 (1)掌握T-SQL流控制语句。 (2)掌握创建存储过程的方法。 (3)掌握存储过程的执行方法。 (4)掌握存储过程的管理和维护。 二、实验内容 1、创建简单存储过程 (1)创建一个名为stu_pr的存储过程,该存储过程能查询出051班学生的所有资料,包括学生的基本信息、学生的选课信息(含未选课同学的信息)。要求在创建存储过程前请判断该存储过程是否已创建,若已创建则先删除,并给出“已删除!”信息,否则就给出“不存在,可创建!”的信息。 if exists(select*from sysobjects where name='stu_pr'and type='P') begin drop procedure stu_pr print'已删除!' end else print'不存在,可创建!' create procedure stu_pr as select distinct*from Student s left join SC on s.Sno=SC.Sno left join Course c on https://www.wendangku.net/doc/6b17022302.html,o=https://www.wendangku.net/doc/6b17022302.html,o where Classno='051'

执行: exec stu_pr 2、创建带参数的存储过程 (1)创建一个名为stu_proc1的存储过程,查询某系、某姓名的学生的学号、姓名、年龄,选修课程名、成绩。系名和姓名在调用该存储过程时输入,其默认值分别为“%”与“林%”。执行该存储过程,用多种参数加以测试。 if exists(select*from sysobjects where name='stu_proc1'and type='P') begin drop procedure stu_proc1 print'已删除!' end else print'不存在,可创建!'

材料力学扭转实验

§1-2 扭转实验 一、实验目的 1、测定低碳钢的剪切屈服点τs,抗扭强度τb。 2、测定铜棒的抗扭强度τb。 3、比较低碳钢和铜棒在扭转时的变形和破坏特征。 二、设备及试样 1、伺服电机控制扭转试验机(自行改造)。 2、0.02mm游标卡尺。 3、低碳钢φ10圆试件一根,画有两圈圆周线和一根轴向线。 4、铜棒铁φ10圆试件一根。 三、实验原理及方法 塑性材料试样安装在伺服电机驱动的扭转试验机上,以6-10o/min的主动夹头旋转速度对试样施加扭力矩,在计算机的显示屏上即可得到扭转曲线(扭矩-夹头转角图线),如下图为低碳钢的部分扭转曲线。试样变形先是弹性性的,在弹性阶段,扭矩与扭转角成线性关系。 弹性变形到一定程度试样会出现屈服。扭转曲线 扭矩首次下降前的最大扭矩为上屈服扭矩T su; 屈服段中最小扭矩为下屈服扭矩T sl,通常把下 屈服扭矩对应的应力值作为材料的屈服极限τs, 即:τs=τsl= T sl/W。当试样扭断时,得到最大 扭矩T b,则其抗扭强度为τb= T b/W 式中W为抗扭截面模量,对实心圆截面有 W=πd03/16。 铸铁为脆性材料,无屈服现象,扭矩 -夹头转角图线如左图,故当其扭转试样 破断时,测得最大扭矩T b,则其抗扭强 度为:τb= T b/W 四、实验步骤 1、测量试样原始尺寸分别在标距两端 及中部三个位置上测量的直径,用最小直 径计算抗扭截面模量。 2、安装试样并保持试样轴线与扭转试验机转动中心一致。 3、低碳钢扭转破坏试验,观察线弹性阶段、屈服阶段的力学现象,记录上、下屈服点扭矩值,试样扭断后,记录最大扭矩值,观察断口特征。 4、铜棒扭转破坏试验,试样扭断后,记录最大扭矩值,观察断口特征。 五、实验数据处理 1、试样直径的测量与测量工具的精度一致。 2、抗扭截面模量取4位有效数字。 3、力学性能指标数值的修约要求同拉伸实验。 六、思考题 1、低碳钢扭转时圆周线和轴向线如何变化?与扭转平面假设是否相符?

实验七 存储过程及应用完整版含截图

实验七存储过程及应用 1.实验目的 1、理解存储过程的概念。 2、掌握存储过程的使用方法。 2.实验要求 1.建立如下的存储过程(基于前面实验建立的表和插入的数据,并为每个存储过程设计返回的状态值): (1)按要求设计完成如下功能的存储过程。 ①查询平均分数在x到y范围内的学生信息。 说明: 该存储过程有两个参数; 要求查询的学生信息包括学号、姓名、院系名称和平均分数。 ②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩。 (2)自行再分别设计一个完成查询和完成操作功能的存储过程(在实验报告中要准确描述功能需求)。 (3)在客户端以存储过程和输入SQL语句的方式分别执行相同的查询或操作,比较使用和不使用存储过程的区别。 3、实验过程 (1)①查询平均分数在x到y范围内的学生信息 create procedure cc711@x smallint,@y smallint as select学生.学号,学生.姓名,院系.名称,学生.平均成绩 from学生join院系on学生.院系=院系.编号 where学生.平均成绩between@x and@y EXECUTE cc71160,90

②更新操作,以学号、课程编号和考试成绩作参数更新指定学生和课程的考试成绩,并返回该学生的平均成绩 create procedure mcc712@xh nchar(8),@kcbh nchar(8),@cj int as update选课set成绩=@cj where学号=@xh and课程编号=@kcbh declare@pjcj int select@pjcj=AVG(成绩)from选课where学号=@xh return@pjcj declare@avg int execute@avg=mcc7122,5,98 print'更新后平均成绩:'+str(@avg,6)

Python 实验8 函数1

实验8 函数(一)实验目的: 1、理解自定义函数过程的定义与调用方法; 2、掌握自定义函数的定义与调用方法; 3、理解函数中的参数的作用; 实验内容: 1、编写一函数Fabonacci(n),其中参数n代表第n 次的迭代。While循环 def fib(n): if n==1 or n==2: return 1 a=1 b=1 i=2 while True: c=a+b a=b b=c i+=1 #第i次迭代,也就就是第i个数 if i==n: return c break def main(): n=input("Enter a number of generation:") print fib(n) main() 或者用for循环 def fib(n): a=1 b=1 c=0 if n==1 or n==2: return 1 else: for i in range(3,n+1): c=a+b a=b b=c return c def main(): n=input("enter n:") print fib(n) main() 2、编写一函数Prime(n),对于已知正整数n,判断该数就是否为素数,如果就是素数,返回True,否则返回 False。 def prime(n): if n<2: return False a=0 for i in range(1,n+1): if n%i==0: a+=1 if a>2: return False else: return True def main(): n=input("Enter a number:") print prime(n) main() Or: def prime(n): if n<2: return False if n==2: return True for i in range(2,n): if n%i==0: return False return True def main(): n=input("Enter a number:") print prime(n) main()

实验6 数据库实验——存储过程和触发器

实验6 存储过程与触发器 一、实验目的 1、加深与巩固对存储过程与触发器概念的理解。 2、掌握触发器的简单应用。 3、掌握存储过程的简单应用。 二、实验内容 一)存储过程: 1、创建一存储过程,求l+2+3+…+n,并打印结果。 CREATE PROCEDURE addresult AS DECLARE @n int=10,/*最后一个数*/ @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 2.调用上面的addresult存储过程,打印l十2+3+…+10的结果。EXEC addresult

3、修改上述存储过程为addresult1,使得@n为输入参数,其具体值由用户调用此存储过程时指定。 CREATE PROCEDURE addresult1 @n int=10 /*最后一个数*/ AS DECLARE @i int=0, @result int=0 /*结果*/ BEGIN WHILE(@i<=@n) BEGIN SET @result=@result+@i SET @i=@i+1 END PRINT'1+2+3+、、、+n的结果就是:' PRINT @result RETURN(@result) END GO 4、调用上面修改后的addresult1存储过程,打印l+2+3+…+100的结果。 EXEC addresult1 100 5.修改上述存储过程为addresult2,将@n参数设定默认值为10,并改设@sum为输出参数,让主程序能够接收计算结果。

实验4创建和使用存储过程

实验4创建和使用存储过程 4.1 实验目的 (1)理解存储过程的功能和特点。 (2)学会使用Transact-SQL编写存储过程的方法。 (3)学会如何使用SSMS创建存储过程。 (4)理解可以使用存储过程来完成对数据库的操作。 4.2 实验内容 (1)创建带输入参数的存储过程。 (2)执行所创建的存储过程。 (3)删除所有新创建的存储过程。 4.3.1 创建带输入参数的存储过程 在查询命令窗口中输入创建存储过程的CREATE PROCEDURE语句。 这里创建一个带输入参数的存储过程Stu_Proc1,其中的输入参数用于接收课程号,默认值为c01,然后在SC表中查询该课成绩小于70的学生学号,接着在Student表中查找这些学生的基本信息,包括学号、姓名、性别和系信息, 4.3.2 执行所创建的存储过程 在查询分析器里运行存储过程,输出运行结果。 EXECUTE Stu_Proc1 'c01'

CREATE PROCEDURE Stu_Proc2 @dept char(20) AS select student.sno, sname, https://www.wendangku.net/doc/6b17022302.html,o.credit from student join sc on student.sno=sc.sno join course on https://www.wendangku.net/doc/6b17022302.html,o=https://www.wendangku.net/doc/6b17022302.html,o where student.sdept=@dept 4.3.3 删除新建的存储过程 在查询命令的窗口中输入DROP PROCEDURE语句和所有新创建的存储过程名。DROP PROCEDURE Stu_Proc1

4.3.4 查询学生的学号、姓名、修的课程号、课程名、课程学分,将学生所在系作为输入参数,执行此存储过程,并分别指定一些不同的输入参数值。 4.3.5 查询指定系的男生人数,其中系为输入参数,人数用输出参数返回。

扭转实验报告

浙江大学材料力学实验报告 (实验项目:扭转) 1. 验证扭转变形公式,测定低碳钢的切变模量G 。; 2. 测定低碳钢和铸铁的剪切强度极限b τ。 3. 比较低碳钢和铸铁试样受扭时的变形规律及其破坏特性。 二、设备及试样: 1. 扭转试验机,如不进行破坏性试验,验证变形公式合测定G 的实验也可在小型扭转试验 机装置上完成; 2. 扭角仪; 3. 游标卡尺; 4. 试样,扭装试样一般为圆截面。 三、实验原理和方法: 1、测定切变模量G A 、机测法:0p T l G I φ= ,其中b δ φ=,δ为百分表读数,p I 为圆截面的极惯性矩; 选取初扭矩To 和比例极限内最大试验扭矩Tn,从To 到Tn 分成n 级加载,每级扭矩增量为 T ?,每一个扭矩Ti 都可测出相应的扭角φi ,与扭矩增量T ?对应的扭角增量是 1i i i φφφ-?=-,则有0 i p i T l G I φ?= ?,i=1,2,3,…n,取Gi 的平均值作为材料的切变模量即: 1 i G G n = ∑,i=1,2,3,…n ; B 、电测法:t r t T T G W W γε= =,应变仪读数为r ε,t W 为抗扭截面系数; 选取初扭矩To 和比例极限内最大试验扭矩Tn,从To 到Tn 分成n 级加载,每级扭矩增量为T ?,每一个扭矩Ti 都可测出相应的读数εi ,与扭矩增量T ?对应的读数增量是1i i i εεε-?=-,则有i t i T G W ε?= ?,i=1,2,3,…n,取Gi 的平均值作为材料的切变模量即: 1 i G G n =∑, i=1,2,3,…n 2、测定低碳钢和铸铁的剪切强度极限b τ

数据库技术与应用实验八

实验8 存储过程和触发器 1.实验目的 (1)掌握通过SQL Server管理平台和Transact-SQL语句CREATE PROCEDURE 创建存储过程的方法和步骤。 (2)掌握使用Transact-SQL语句EXECUTE执行存储过程的方法。 (3)掌握通过SQL Server管理平台和Transact-SQL语句ALTER PROCEDURE 修改存储过程的方法。 (4)掌握通过SQL Server管理平台和Transact-SQL语句DROP PROCEDURE 删除存储过程的方法。 (5)掌握通过SQL Server管理平台和Transact-SQL语句CREATE TRIGGER 创建触发器的方法和步骤。 (6)掌握引发触发器的方法。 (7)掌握使用SQL Server管理平台或Transact-SQL语句修改和删除触发器。(8)掌握事务、命名事务的创建方法,了解不同类型的事务的处理情况。2.实验内容及步骤 (1)在查询设计器中输入以下代码,创建一个利用流控制语句的存储过程letters_print,该存储过程能够显示26个小写字母。 CREATE PROCEDURE letters_print AS DECLARE @count int SET @count=0 WHILE @count<26 BEGIN PRINT CHAR(ASCII('a')+ @count) SET @count=@count +1 END 单击查询分析器的“执行查询”按钮,查看studentsdb数据库的存储过程是否有letters_print。 使用EXECUTE命令执行letters_print存储过程。 (2)输入以下代码,创建存储过程stu_info,执行时通过输入姓名,可以查询该姓名对应的学生的各科成绩。 CREATE PROCEDURE stu_info @name varchar(40) AS SELECT a.学号,姓名,课程编号,分数 FROM student_info a INNER JOIN grade ta ON a.学号= ta.学号 WHERE 姓名= @name 使用EXECUTE命令执行存储过程stu_info,其参数值为“马东”。 如果存储过程stu_info执行时没有提供参数,要求能按默认值查询(设姓名为“刘卫平”),如何修改该过程的定义? (3)使用studentsdb数据库中的student_info表、curriculum表、grade表。 ①创建一个存储过程stu_grade,查询学号为0001的学生的姓名、课程名称、分数。

实验八 函数含答案

实验八函数 【目的与要求】 1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。 2.了解主调函数和被调函数之间的参数传递方式。 【上机内容】 【一般示例】 【例1】将打印18个"*"组成星形线定义为一个返回值和形参列表都为空的函数,通过主函数调用它。 #include void Star(void) //画星形线。函数没有返回值,形参列表也为空 { int i; for(i=1;i<=18;i++) printf("*"); //18个"*"组成星形线 printf("\n"); return ; //返回值类型为void,return后不带表达式,此句可省略 } int main() { Star( ); //单独的函数调用语句,实参表为空,但必须保留括号 printf("I love C language!\n"); Star( ); return 0; } 【例2】调用prime 函数以每行5个素数的格式输出100到200之间的所有素数。

#include #include int prime(int m) //判断素数函数定义 { int i,k,f=1 ; //函数内定义3个变量 if (m==1) //形参若为1 f=0 ; //形参若为1,非素数 k=(int)sqrt(m); for (i=2; i<=k;i++) if (m%i==0) //m被某除数整除 f=0 ; //则不是素数 return f ; //用return语句返回 } //函数体结束 int main( ) { int i,count=0; for (i=101;i<200;i=i+2) //用i作为循环控制变量,从101开始,步长为2 if (prime(i)) //对每一个i,调用prime函数判断它是否为素数 { printf("%5d",i); //如果是素数,输出该素数i count++ ; //素数个数加1 if (count%5==0 ) //每输出5个素数换一行 printf("\n"); }

扭转实验

试验二扭转实验 一、实验目的 1.观察试样在扭转力偶作用下试样受力和变形的行为。观察材料的破坏方式。 2.测定材料的剪切屈服极限及剪切强度极限。 3.熟悉扭转试验机的工作原理及使用方法。 二、仪器设备 扭转试验机:用以作扭转破坏实验。 游标卡尺: 三、实验原理 1.试件 采用圆形截面试件,如图所示,在试件表面画上一条纵线,以便观察试件的扭转变形。 2.扭转试验机的工作原理 扭转试验机如图。在机体上有一个基本固定的夹头,用两平面和夹紧螺栓固定扭转试样的一端。基座上有一个能水平移动的电动减速装置,其左端是一个可旋转的夹头,以夹持试样的另一端。当电动减速器转动时,带动活动夹头转动,而使试样的一端相对于另一端发生了转动,故试件受扭而产生变形。 扭转试验机 作用于试样的扭转力矩,通过与固定夹头相连的称重机构而平衡,同时又带动荷载指针转动而指示出所受扭转力矩的大小。它还带动绘图仪的画笔左右移动,这个移动的扭转力矩坐标在记录纸上与纸的长度方向相垂直。 活动夹头的转动量代表了试样一端相对于另一端的转动,即扭转角。扭转角的大小由活动夹头上的刻度线来指示。同时还通过转动传感器将转角信号输入到绘图仪中,带动绘图仪纸筒转动送出记录纸,在记录纸的长度方向构成转角坐标。 在实验过程中,随着试件扭转变形的增加,试样所受的扭转力矩也随之变化,绘图仪就画 出扭转力矩—扭转角的实验曲线。

在扭转力矩示荷盘的右下方,有一个量程旋钮用以改变扭转力矩的测量量程。其测量范围有100N·m、200 N·m、500 N·m、1 000 N·m。当把旋钮转动到指定的量程时,示荷盘上的刻度标示值随之变化。以利于直接读取。在示荷盘左边的侧面上有一个转动轮,往上或往下转动可调整示荷盘指针的零点(一般情况下不要去转动它)。 扭转实验时的变形速度,可由改变电动机的转速来决定。由于本机采用可控硅直流电机,调速可在一个很大的范围内无级调整。 调速由机器操纵面板的开关和旋钮来控制。控制面板如图,面板各开关,旋钮的功能如下所述。电源开关:按下“开”,接通整机电源;按“关”,断开整机电源: 活动夹头转动速度设置如下。 快速设置:速度设置开关扳于0~360°/min ,表示活动夹头转动速度在0~360°/min 的范围内变化,具体的速度由速度调节钮的转动来决定。 慢速设置:速度设置开关搬于0~36°/min 之间变化。具体的速度由速度调节钮的转动量来决定。 电机开关按钮:电机的转动由三个按钮决定,“正”为正转,“反”为反转,“停”为不转。改变电机转向时,应先按“停”然后再换回。 记录仪开关:此开关用于开关记录仪,当一切准备就绪后即可打开记录仪。用完关闭,以免电机转动空走纸。 3.扭转实验原理 试件承受扭矩时,材料处于纯剪切应力状态,是拉伸以外的又一重要应力状态,常用扭转实验来研究不同材料在纯剪切应力状态下的机械性质。 低碳钢试件在发生扭转变形时,其T -φ曲线如图所示,类似低碳钢拉伸实验,可分为四个阶段:弹性阶段、屈服阶段、强化阶段和断裂阶段,相应地有三个强度特征值:剪切比例极限、剪切屈服极限和剪切强度极限。对应这三个强度特征值的扭矩依次为T p 、T s 、T b 。 在比例极限内,T 与φ成线性关系,材料完全处于弹性状态,试件横截面上的剪应力沿半 控制台面板

实验五存储过程

--(一)存储过程 --1、.对学生课程数据库,编写三个存储过程,分别完成下面功能: --1)统计某一门课的成绩分布情况,即按照各分数段统计人数。 use StuDB go create procedure tongji as select cno,count(case when grade<60 then 1 end)不及格, count(case when grade<70 and grade>=60 then1 end)及格, count(case when grade<80 and grade>=70 then1 end)中, count(case when grade<90 and grade>=80 then1 end)良, count(case when grade<=100 and grade>=90 then 1 end)优 from sc group by cno go

exec tongji go --2)将学生选课成绩从百分制改为等级制(即A、B、C、D、E五级)。 create procedure dengji as select sc.*,等级评价= case when grade<60 then'E' when grade>=60 and grade<70 then'D' when grade>=70 and grade<80 then'C' when grade>=80 and grade<90 then'B' when grade>=90 and grade<=100 then'A' end from sc go exec dengji go --2、对SPJ数据库,创建一个存储过程 ins_s_count,功能为根据提供的供应商号,供应商名,供应商所在地等信息, --往S表中插入数据,并返回插入该记录之

数据库函数、存储过程实验报告

南京信息工程大学数据库系统实验(实习)报告实验(实习)名称数据库系统实验4 实验(实习)日期2016-6-7 得分指导教师顾韵华 系计软院专业计科年级2014级班次计科 3 班姓名仇彤学号20141308071 一、实验目 1、掌握T-SQL函数及其调用方法。 2、掌握存储过程的定义及执行方法。 3、掌握有参存储过程的定义及执行方法。 4、掌握C#访问数据库的方法。 二、实验内容 1、使用系统函数(DA TEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习") 2、编写T-SQL程序,利用系统转换函数,检索总订购商品数在10~19的客户姓名。 3、定义函数RectArea,计算一个长方形的面积(长、宽作为函数的参数)。 4、在SPDG数据库中定义函数,根据商品编号,查询该商品的名称;(函数名为QryGoods)。 5、在SPDG数据库中定义存储过程GetSPBH,返回所有商品编号,并使用EXEC语句执行存储过程。 6、在SPDG数据库中定义存储过程KH_NJ_Qry,返回江苏南京的客户编号、姓名、及其订购商品的编号、商品名称和数量,并使用EXEC语句执行存储过程。 7、在SPDG数据库中定义存储过程SP_FOOD_Qry,返回食品类商品编号、商品名称及其订购客户编号、姓名、订购数量,并使用EXEC语句执行存储过程。 8、定义存储过程SP_Total,查询指定商品编号的总订购数。并执行该存储过程。 9、定义存储过程SP_TotalCost,查询指定商品编号的总订购金额。并执行该存储过程。 10、定义存储过程SP_Name_Qry,查询指定商品名称的商品信息。并执行该存储过程。 11、定义存储过程SP_Name_Qry1,查询指定商品名称的商品信息;若存在,输出1;否则,输出0。并执行该存储过程。 12、定义存储过程SP_Name_Qry2,查询指定商品名称的商品信息;若存在,用输出参数传出1;否则传出0。 三、实验过程与结果 1、使用系统函数(DATEDIFF(d,date_expr1,date_expr2)),计算今天距离“2020-1-1”还剩多少天。(P299"思考与练习") 设计的SQL语句如下: print datediff(d,getdate(),'2020-1-1') 执行结果:

相关文档
相关文档 最新文档