搜档网
当前位置:搜档网 › SQLServer2005触发器操作试验报告

SQLServer2005触发器操作试验报告

SQLServer2005触发器操作试验报告
SQLServer2005触发器操作试验报告

工程数据库设计与应用实验报告

实验四创建触发器的基本操作

学号: 1030412612 班级:计算机1206 姓名:王成义

成绩指导教师:戴月明

一、实验目的

通过实验熟练掌握创建触发器的方法,掌握如何新建触发器、修改及使用触发器的方法。

二、实验内容

1、创建一个触发器:修改学生表里的姓名,同步更新成绩表里的姓名。

2、创建第二个触发器:删除学生表中的某个学生,同步删除成绩里的该学生的成绩记录。

三、实验完成情况

1、创建一个名为truS的触发器,当修改学生表里的姓名,同步更新成绩表里的姓名。

if(object_id('truS','TR')isnotnull)

droptrigger truS

go

CREATETRIGGER truS

ON S

FORUPDATE

AS

IFUPDATE(Sname)

BEGIN

SETNOCOUNTON;

UPDATE SC

SET Sname=i.Sname

FROM SC sc,Deleted d,Inserted i--注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一条记录”。

WHERE sc.Sid=d.Sid--(select Sname from insertted) where SC.Sid=(select Sid from inserted)

END

GO

操作结果如图:

(图1)

(图2)

(图3)

(图4)

2、创建一个名为trdS的触发器,当删除学生表中的某个学生,同步删除成绩里的该学生的成绩记录。

if(object_id('trdS','TR')isnotnull)

droptrigger trdS

go

CREATETRIGGER trdS

ON S

FORDELETE

AS

BEGIN

SETNOCOUNTON;

DELETE SC

FROM SC sc,Deleted d--注意Deleted 与Inserted分别表示触发事件的表“旧的一条记录”和“新的一

条记录”。

WHERE sc.Sid=d.Sid--(select Sname from insertted) where SC.Sid=(select Sid from inserted)

END

GO

操作结果如图:

(图5)

(图6)

(图7)

四、心得体会

通过此次试验,我掌握了创建触发器的方法,掌握了如何新建触发器、修改及使用触发器的方法。同时对工程数据库设计有了一个深入的理解。

图的遍历操作实验报告

. .. . .. .. 实验三、图的遍历操作 一、目的 掌握有向图和无向图的概念;掌握邻接矩阵和邻接链表建立图的存储结构;掌握DFS及BFS对图的遍历操作;了解图结构在人工智能、工程等领域的广泛应用。 二、要求 采用邻接矩阵和邻接链表作为图的存储结构,完成有向图和无向图的DFS 和BFS操作。 三、DFS和BFS 的基本思想 深度优先搜索法DFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后选择一个与Vo相邻且没被访问过的顶点Vi访问,再从Vi出发选择一个与Vi相邻且没被访问过的顶点Vj访问,……依次继续。如果当前被访问过的顶点的所有邻接顶点都已被访问,则回退到已被访问的顶点序列中最后一个拥有未被访问的相邻顶点的顶点W,从W出发按同样方法向前遍历。直到图中所有的顶点都被访问。 广度优先算法BFS的基本思想:从图G中某个顶点Vo出发,首先访问Vo,然后访问与Vo相邻的所有未被访问过的顶点V1,V2,……,Vt;再依次访问与V1,V2,……,Vt相邻的起且未被访问过的的所有顶点。如此继续,直到访问完图中的所有顶点。 四、示例程序 1.邻接矩阵作为存储结构的程序示例

#include"stdio.h" #include"stdlib.h" #define MaxVertexNum 100 //定义最大顶点数 typedef struct{ char vexs[MaxVertexNum]; //顶点表 int edges[MaxVertexNum][MaxVertexNum]; //邻接矩阵,可看作边表int n,e; //图中的顶点数n和边数e }MGraph; //用邻接矩阵表示的图的类型 //=========建立邻接矩阵======= void CreatMGraph(MGraph *G) { int i,j,k; char a; printf("Input VertexNum(n) and EdgesNum(e): "); scanf("%d,%d",&G->n,&G->e); //输入顶点数和边数 scanf("%c",&a); printf("Input Vertex string:"); for(i=0;in;i++) { scanf("%c",&a); G->vexs[i]=a; //读入顶点信息,建立顶点表 }

MATLAB基本操作实验报告

南昌航空大学 数学与信息科学学院 实验报告 课程名称:数学实验 实验名称: MATLAB基本操作 实验类型:验证性■综合性□ 设计性□ 实验室名称:数学实验室 班级学号: 10 学生姓名:钟 X 任课教师(教师签名): 成绩: 实验日期: 2011-10- 10

一、实验目的 1、熟悉MATLAB基本命令与操作 2、熟悉MATLAB作图的基本原理与步骤 3、学会用matlab软件做图 二、实验用仪器设备、器材或软件环境 计算机MATLAB软件 三、实验原理、方案设计、程序框图、预编程序等 问题1:在区间【0,2π】画sinx 实验程序: >> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y) 问题2:在【0,2π】用红线画sinx,用绿圈画cosx,实验程序:

>> x=linspace(0,2*pi,30); >> y=sin(x); >> z=cos(x); >> plot(x,y,'r',x,z,'co') >> 问题3:在【0,π】上画y=sinx的图形。 实验程序: >> ezplot('sin(x)',[0,pi]) >> 问题4:在【0,π】上画x=cos3t,y=sin3t星形图形。

实验程序: >> ezplot('cos(t).^3','sin(t).^3',[0,pi]) >> 问题5:[-2,0.5],[0,2]上画隐函数 实验程序: >> ezplot('exp(x)+sin(x*y)',[-2,0.5,0,2]) >> 问题6:在[-2,2]范围内绘制tanh的图形。实验程序: >> fplot('tanh',[-2,2])

实验六 触发器实验报告

实验五 触发器实验报告 [实验目的] 1. 理解Oracle 触发器的种类和用途 2. 掌握行级触发器的编写 [预备知识] 1. PL/SQL 程序设计 [实验原理] 1. 建立触发器 CREA TE [OR REPLACE] TRIGGER <触发器名> BEFORE|AFTER INSERT|DELETE|UPDA TE OF <列名> ON <表名> [FOR EACH ROW] WHEN (<条件>) ON 子句中的名称识别与数据库触发器关联的数据库表 触发器事件指定了影响表的 SQL DML 语句 ( INSERT 、 DELETE 或 UPDA TE) AFTER 指定了触发器在处理完成后触发 BEFORE 指定了触发器在处理完成前触发 默认情况下,触发器每个表触发一次 FOR EACH ROW 选项指定触发器每行触发一次(即触发器为行级触发器) 要使触发器触发,WHEN 子句中布尔型表达式的值必须判定为 TRUE 可以将 REPLACE 添加到 CREA TE 语句以自动删除和重建触发器 2. 行级触发器中引用表数据 在行级触发器中,使用伪记录来表示旧数据:old 和新数据:new 引用示例::new.customer_name, :old.customer_name 3. 行级触发器中的谓词 在一个多条件触发的触发器中,使用谓词可以区分当前触发的操作的类型:触发事件 :old :new Insert 无定义,所有字段都是NULL 该语句完成后插入的值 Update 更新前该行的旧值 更新后该行的值 Delete 删除前该行的值 无定义,所有字段

触发器实验报告

实验3 触发器及其应用 一、实验目的 1、掌握基本RS、JK、D和T触发器的逻辑功能 2、掌握集成触发器的逻辑功能及使用方法 3、熟悉触发器之间相互转换的方法 二、实验原理 触发器具有两个稳定状态,用以表示逻辑状态“1”和“0”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存贮器件,是构成各种时序电路的最基本逻辑单元。 1、基本RS触发器 图5-8-1为由两个与非门交叉耦合构成的基本RS触发器,它是无时钟控制低电平直接触发的触发器。基本RS触发器具有置“0”、置“1”和“保持”三种功能。通常称S为置“1”端,因为S=0(R=1)时触发器被置“1”;R为置“0”端,因为R=0(S=1)时触发器被置“0”,当S=R=1时状态保持;S=R=0时,触发器状态不定,应避免此 种情况发生,表5-8-1为基本RS触发器的功能表。 基本RS触发器。也可以用两个“或非门”组成,此时为高电平触发有效。 表5-8-1 图5—8—1 基本RS触发器 2、JK触发器 在输入信号为双端的情况下,JK触发器是功能完善、使用灵活和通用性较强的一种触发器。本实验采用74LS112双JK触发器,是下降边沿触发的边沿触发器。引脚功能及逻辑符号如图5-8-2所示。 JK触发器的状态方程为 Q n+1=J Q n+K Q n J和K是数据输入端,是触发器状态更新的依据,若J、K有两个或两个以上输入端时,组

成“与”的关系。Q与Q为两个互补输出端。通常把Q=0、Q=1的状态定为触发器“0”状态;而把Q=1,Q=0定为“1”状态。 图5-8-2 74LS112双JK触发器引脚排列及逻辑符号 下降沿触发JK触发器的功能如表5-8-2 表 注:×—任意态↓—高到低电平跳变↑—低到高电平跳变 Q n(Q n)—现态Q n+1(Q n+1 )—次态φ—不定态 JK触发器常被用作缓冲存储器,移位寄存器和计数器。 3、D触发器 在输入信号为单端的情况下,D触发器用起来最为方便,其状态方程为 Q n+1=D n,其输出状态的更新发生在CP脉冲的上升沿,故又称为上升沿触发的边沿触发器, 触发器的状态只取决于时钟到来前D端的状态,D触发器的应用很广,可用作数字信号的寄存,移位寄存,分频和波形发生等。有很多种型号可供各种用途的需要而选用。如双 D 74LS74、四D 74LS175、六D 74LS174等。 图5-8-3 为双D 74LS74的引脚排列及逻辑符号。功能如表5-8-3。

图的遍历实验报告

实验四:图的遍历 题目:图及其应用——图的遍历 班级:姓名:学号:完成日期: 一.需求分析 1.问题描述:很多涉及图上操作的算法都是以图的遍历操作为基础的。试写一个程序,演示在连通的无向图上访问全部结点的操作。 2.基本要求:以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。 3.测试数据:教科书图7.33。暂时忽略里程,起点为北京。 4.实现提示:设图的结点不超过30个,每个结点用一个编号表示(如果一个图有n个结点,则它们的编号分别为1,2,…,n)。通过输入图的全部边输入一个图,每个边为一个数对,可以对边的输入顺序作出某种限制,注意,生成树的边是有向边,端点顺序不能颠倒。 5.选作内容: (1).借助于栈类型(自己定义和实现),用非递归算法实现深度优先遍历。 (2).以邻接表为存储结构,建立深度优先生成树和广度优先生成树,再按凹入表或树形打印生成树。 二.概要设计 1.为实现上述功能,需要有一个图的抽象数据类型。该抽象数据类型的定义为: ADT Graph { 数据对象V:V是具有相同特性的数据元素的集合,称为顶点集。 数据关系R: R={VR} VR={ | v,w v且P(v,w),表示从v到w得弧,谓词P(v,w)定义了弧的意义或信息} } ADT Graph 2.此抽象数据类型中的一些常量如下: #define TRUE 1 #define FALSE 0 #define OK 1 #define max_n 20 //最大顶点数 typedef char VertexType[20]; typedef enum{DG, DN, AG, AN} GraphKind; enum BOOL{False,True}; 3.树的结构体类型如下所示:

实验报告1windows的基本操作范例

实验名称:Windows的基本操作 一、实验目的 1.掌握桌面主题的设置。 2.掌握快捷方式的创建。 3.掌握开始菜单的组织。 4.掌握多任务间的数据传递——剪贴板的使用。 5.掌握文件夹和文件的创建、属性查看和设置。 6.掌握文件夹和文件的复制、移动和删除与恢复。 7.熟悉文件和文件夹的搜索。 8.熟悉文件和文件夹的压缩存储和解压缩。 二、实验环境 1.中文Windows 7操作系统。 三、实验内容及步骤 通过上机完成实验4、实验5所有内容后完成该实验报告 1.按“实验4--范例内容(1)”的要求设置桌面,将修改后的界面复制过来。 注:没有桌面背景图“Autumn”的,可选择其它背景图。 步骤:在桌面空白区域右击,选择菜单中的“个性化”,在弹出的窗口中点击“桌面背景”,在背景栏内选中“某一张图片”,单击“确定”。 修改后的界面如下图所示: 2.将画图程序添加到“开始”菜单的“固定项目列表”上。 步骤:右击“开始/所有程序/附件”菜单中的画图程序项,在弹出的快捷菜单中选“附到「开始」菜单”命令。 3.在D盘上建立以“自己的学号+姓名”为名的文件夹(如01108101刘琳)和其子文件 夹sub1,然后:

步骤:选定D:\为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“学号+姓名”;选定“ D:\学号+姓名”为当前文件夹,选择“文件/新建/文件夹”命令,并将名字改为“sub1” ①在C:\WINDOWS中任选2个TXT文本文件,将它们复制到“学号+姓名”文件夹中;步骤:选定“C:\WINDOWS”为当前文件夹,随机选取2个文件, CTRL+C复制,返回“D:\学号+姓名”的文件夹,CTRL+V粘贴 ②将“学号+姓名”文件夹中的一个文件移到其子文件夹sub1中; 步骤:选定“ D:\学号+姓名”为当前文件夹,选中其中任意一个文件将其拖拽文件到subl ③在sub1文件夹中建立名为“”的空文本文档; 步骤:选定“ D:\学号+姓名\ sub1”为当前文件夹,在空白处单击右键,选择“新建\文本文档”,把名字改为test,回车完成。 ④删除文件夹sub1,然后再将其恢复。 步骤:选定“ D:\学号+姓名”为当前文件夹,右键单击“sub1”文件夹,选择“删除”,然后打开回收站,右键单击“sub1”文件夹,在弹出的快捷菜单中选择“还原”。 4.搜索C:\WINDOWS\system文件夹及其子文件夹下所有文件名第一个字母为s、文件长 度小于10KB且扩展名为exe的文件,并将它们复制到sub1文件夹中。 步骤:选定“ C:\WINDOWS\system”为当前文件夹,单击“搜索”按钮,在左侧窗格选择“所有文件和文件夹”,在“全部或部分文件名”中输入“s*.exe”,在“大小”中,选择“0~10KB”。 5.用不同的方法,在桌面上创建名为“计算器”、“画图”和“剪贴板”的三个快捷方式, 它们应用程序分别为:、和。并将三个快捷方式复制到sub1文件夹中。 步骤:①在"开始"菜单的"所有程序"子菜单中找到"计算器",单击右键,在弹出的快捷菜单中选择“发送到\桌面快捷方式”。 ②在"开始"菜单的"所有程序"子菜单中找到"画图",将其拖至桌面空白处。 ③在桌面上单击右键,在弹出的快捷菜单中选择“新建\快捷方式”,在“创建快捷方式”

触发器实验报告

. . . . .. . 实验报告 课程名称:数字电子技术基础实验 指导老师: 周箭 成绩:__________________ 实验名称:集成触发器应用 实验类型: 同组学生姓名:__邓江毅_____ 一、实验目的和要求(必填) 二、实验内容和原理(必填) 三、主要仪器设备(必填) 四、操作方法和实验步骤 五、实验数据记录和处理 六、实验结果与分析(必填) 七、讨论、心得 实验内容和原理 1、D →J-K 的转换实验 设计过程:J-K 触发器和D 触发器的次态方程如下: J-K 触发器:n n 1 +n Q Q J =Q K +, D 触发器:Qn+1=D 若将D 触发器转换为J-K 触发器,则有:n n Q Q J =D K +。 实验结果: J K Qn-1 Qn 功能 0 0 0 0 保持 1 1 0 1 0 0 置0 1 0 1 1 0 1 翻转 1 0 1 0 1 置1 1 1 (上:Qn ,下:CP ,J 为高电平时) 2、D 触发器转换为T ’触发器实验 设计过程:D 触发器和T ’触发器的次态方程如下: D 触发器:Q n+1= D , T ’触发器:Q n+1=!Q n 若将D 触发器转换为T ’触发器,则二者的次态方程须相等,因此有:D=!Qn 。 实验截图: 专业:电卓1501 姓名:卢倚平 学号:3150101215 日期:2017.6.01 地点:东三404

实验名称:集成触发器应用实验 姓名: 卢倚平 学号: 2 (上:Qn ,下:!Qn )CP 为1024Hz 的脉冲。 3、J-K →D 的转换实验。 ①设计过程: J-K 触发器:n n 1 +n Q Q J =Q K +, D 触发器:Qn+1=D 若将J-K 触发器转换为D 触发器,则二者的次态方程须相等,因此有:J=D ,K=!D 。 实验截图: (上:Qn ,下:CP ) (上:Qn ,下:D ) 4、J-K →T ′的转换实验。 设计过程: J-K 触发器:n n 1 +n Q Q J =Q K +, T ’触发器:Qn+1=!Qn 若将J-K 触发器转换为T ’触发器,则二者的次态方程须相等,因此有:J=K=1 实验截图:

实验六 触发器实验报告

实验六触发器实验报告 触发器实验报告 [实验目的]1、理解Oracle触发器的种类和用途2、掌握行级触发器的编写 [预备知识]1、 PL/SQL程序设计 [实验原理]1、建立触发器 CREATE [OR REPLACE] TRIGGER <触发器名> BEFORE|AFTER INSERT|DELETE|UPDATE OF <列名> ON <表名> [FOR EACH ROW] WHEN (<条件>) ON 子句中的名称识别与数据库触发器关联的数据库表触发器事件指定了影响表的 SQL DML 语句 ( INSERT、 DELETE 或 UPDATE) AFTER 指定了触发器在处理完成后触发 BEFORE 指定了触发器在处理完成前触发默认情况下,触发器每个表触发一次 FOR EACH ROW 选项指定触发器每行触发一次(即触发器为行级触发器)要使触发器触发,WHEN 子句中布尔型表达式的值必须判定为 TRUE 可以将 REPLACE 添加到 CREATE 语句以自动删除和重建触发器2、行级触发器中引用表数据在行级触发器中,使用伪记录来表示旧数据:old和新数据:new 触发事件 :old :new Insert 无定义,所有字段都是NULL该语句完成后插入的值 Update 更新前该行的旧值更新后该行的值 Delete 删除前该行的值无定

义,所有字段都是NULL引用示例::new、 customer_name, :old、customer_name3、行级触发器中的谓词在一个多条件触发的触发器中,使用谓词可以区分当前触发的操作的类型:inserting,updating,deleting。 示例: IF Inserting THEN 语句 ; END IF; IF Updating THEN 语句 ; END IF; IF Deleting THEN 语句 ; END IF;4、触发器的限制 SELECT 语句必须是 SELECT INTO 语句或内部游标声明。 行级触发器不可以对触发表进行查询,包括其调用的子过程中。 不允许 DDL 声明和事务控制语句。 如果由触发器调用存储子过程,则存储子程序不能包括事务控制语句。 :old 和 :new 值的类型不能是 LONG 和 LONG RAW。 [实验内容]1、给Customer表增加一列Savings,类型为int,来存放每个顾客的存款总额。A LTER TABLE customer ADD (saving varchar2(30));select * from customer;2、更新Customer表,使得Savings字段的值正确。 3、在Account表上增加一个行级触发器,当对account的balance进行update和insert一个记录时同步修改Customer的Savings字段,保证数据的一致性。

数据结构实验图的基本操作

浙江大学城市学院实验报告 课程名称数据结构 实验项目名称实验十三/十四图的基本操作 学生姓名专业班级学号 实验成绩指导老师(签名)日期2014/06/09 一.实验目的和要求 1、掌握图的主要存储结构。 2、学会对几种常见的图的存储结构进行基本操作。 二.实验内容 1、图的邻接矩阵定义及实现: 建立头文件test13_AdjM.h,在该文件中定义图的邻接矩阵存储结构,并编写图的初始化、建立图、输出图、输出图的每个顶点的度等基本操作实现函数。同时建立一个验证操作实现的主函数文件test13.cpp(以下图为例),编译并调试程序,直到正确运行。 2、图的邻接表的定义及实现: 建立头文件test13_AdjL.h,在该文件中定义图的邻接表存储结构,并编写图的初始化、建立图、输出图、输出图的每个顶点的度等基本操作实现函数。同时在主函数文件test13.cpp中调用这些函数进行验证(以下图为例)。

3、填写实验报告,实验报告文件取名为report13.doc。 4、上传实验报告文件report13.doc到BB。 注: 下载p256_GraphMatrix.cpp(邻接矩阵)和 p258_GraphAdjoin.cpp(邻接表)源程序,读懂程序完成空缺部分代码。 三. 函数的功能说明及算法思路 (包括每个函数的功能说明,及一些重要函数的算法实现思路) 四. 实验结果与分析 (包括运行结果截图、结果分析等)

五.心得体会

程序比较难写,但是可以通过之前的一些程序来找到一些规律 (记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。) 【附录----源程序】 256: //p-255 图的存储结构以数组邻接矩阵表示, 构造图的算法。 #include #include #include #include typedef char VertexType; //顶点的名称为字符 const int MaxVertexNum=10; //图的最大顶点数 const int MaxEdgeNum=100; //边数的最大值 typedef int WeightType; //权值的类型 const WeightType MaxValue=32767; //权值的无穷大表示 typedef VertexType Vexlist[MaxVertexNum]; //顶点信息,定点名称 typedef WeightType AdjMatrix[MaxVertexNum][MaxVertexNum]; //邻接矩阵typedef enum{DG,DN,AG,AN} GraphKind; //有向图,有向网,无向图,无向网typedef struct{ Vexlist vexs; // 顶点数据元素 AdjMatrix arcs; // 二维数组作邻接矩阵 int vexnum, arcnum; // 图的当前顶点数和弧数 GraphKind kind; // 图的种类标志 } MGraph; void CreateGraph(MGraph &G, GraphKind kd)// 采用数组邻接矩阵表示法,构造图G {//构造有向网G int i,j,k,q; char v, w; G.kind=kd; //图的种类 printf("输入要构造的图的顶点数和弧数:\n"); scanf("%d,%d",&G.vexnum,&G.arcnum); getchar();//过滤回车 printf("依次输入图的顶点名称ABCD...等等:\n"); for (i=0; i

数电实验触发器及其应用

数电实验触发器及其应用 数字电子技术实验报告 实验三: 触发器及其应用 一、实验目的: 1、熟悉基本RS触发器,D触发器的功能测试。 2、了解触发器的两种触发方式(脉冲电平触发和脉冲边沿触发)及触发特点 3、熟悉触发器的实际应用。 二、实验设备: 1 、数字电路实验箱; 2、数字双综示波器; 3、指示灯; 4、74LS00、74LS74。 三、实验原理: 1、触发器是一个具有记忆功能的二进制信息存储器件,是构成多种时序 电路的最基本逻辑单元,也是数字逻辑电路中一种重要的单元电路。在数字系统和计算机中有着广泛的应用。触发器具有两个稳定状态,即“0”和“ 1 ”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态。触发器有集成触发器和门电路(主要是“与非门” )组成的触发器。 按其功能可分为有RS触发器、JK触发器、D触发器、T功能等触发器。触发方式有电平触发和边沿触发两种。 2、基本RS触发器是最基本的触发器,可由两个与非门交叉耦合构成。 基本RS触发器具有置“ 0”、置“ 1”和“保持”三种功能。基本RS触发器

也可以用二个“或非门”组成,此时为高电平触发有效。 3、D触发器在CP的前沿发生翻转,触发器的次态取决于CP脉冲上升沿n+1来到之前D端的状态,即Q = D。因此,它具有置“ 0”和“T两种功能。由于在CP=1期间电路具有阻塞作用,在CP=1期间,D端数据结构变RS化,不会影响触发器的输出状态。和分别是置“ 0”端和置“ 1” DD 端,不需要强迫置“ 0”和置“ 1”时,都应是高电平。74LS74(CC4013, 74LS74(CC4042均为上升沿触发器。以下为74LS74的引脚图和逻辑图。 馬LD 1CP 1云IQ LQ GM) 四、实验原理图和实验结果: 设计实验: 1、一个水塔液位显示控制示意图,虚线表示水位。传感器A、B被水浸沿时

数据结构实验报告图实验

邻接矩阵的实现 1. 实验目的 (1)掌握图的逻辑结构 (2)掌握图的邻接矩阵的存储结构 (3)验证图的邻接矩阵存储及其遍历操作的实现2. 实验内容 (1)建立无向图的邻接矩阵存储 (2)进行深度优先遍历 (3)进行广度优先遍历3.设计与编码MGraph.h #ifndef MGraph_H #define MGraph_H const int MaxSize = 10; template class MGraph { public: MGraph(DataType a[], int n, int e); ~MGraph(){ void DFSTraverse(int v); void BFSTraverse(int v); private: DataType vertex[MaxSize]; int arc[MaxSize][MaxSize]; }

int vertexNum, arcNum; }; #endif MGraph.cpp #include using namespace std; #include "MGraph.h" extern int visited[MaxSize]; template MGraph::MGraph(DataType a[], int n, int e) { int i, j, k; vertexNum = n, arcNum = e; for(i = 0; i < vertexNum; i++) vertex[i] = a[i]; for(i = 0;i < vertexNum; i++) for(j = 0; j < vertexNum; j++) arc[i][j] = 0; for(k = 0; k < arcNum; k++) { cout << "Please enter two vertexs number of edge: " cin >> i >> j; arc[i][j] = 1; arc[j][i] = 1; } }

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作 (4) :实验目的 (4) :实验任务和要求 (4) :实验步骤和结果 (5) :结果分析 (8) 实验二:图像的灰度变换和直方图变换 (9) :实验目的 (9) :实验任务和要求 (9) :实验步骤和结果 (9) :结果分析 (13) 实验三:图像的平滑处理 (14) :实验目的 (14) :实验任务和要求 (14) :实验步骤和结果 (14) :结果分析 (18) 实验四:图像的锐化处理 (19) :实验目的 (19) :实验任务和要求 (19) :实验步骤和结果 (19) :结果分析 (21)

实验一:数字图像的基本处理操作 :实验目的 1、熟悉并掌握MATLAB、PHOTOSHOP等工具的使用; 2、实现图像的读取、显示、代数运算和简单变换。 3、熟悉及掌握图像的傅里叶变换原理及性质,实现图像的傅里叶变换。:实验任务和要求 1.读入一幅RGB图像,变换为灰度图像和二值图像,并在同一个窗口内分 成三个子窗口来分别显示RGB图像和灰度图像,注上文字标题。 2.对两幅不同图像执行加、减、乘、除操作,在同一个窗口内分成五个子窗口来分 别显示,注上文字标题。 3.对一幅图像进行平移,显示原始图像与处理后图像,分别对其进行傅里叶变换, 显示变换后结果,分析原图的傅里叶谱与平移后傅里叶频谱的对应关系。 4.对一幅图像进行旋转,显示原始图像与处理后图像,分别对其进行傅里 叶变换,显示变换后结果,分析原图的傅里叶谱与旋转后傅里叶频谱的 对应关系。 :实验步骤和结果 1.对实验任务1的实现代码如下: a=imread('d:\'); i=rgb2gray(a); I=im2bw(a,; subplot(1,3,1);imshow(a);title('原图像'); subplot(1,3,2);imshow(i);title('灰度图像'); subplot(1,3,3);imshow(I);title('二值图像'); subplot(1,3,1);imshow(a);title('原图像'); 结果如图所示:

实验四 触发器 实验报告

实验四触发器实验报告 徐旭东 11180243 物理112班 一、实验目的 1. 熟悉并掌握R-S、D、J-K触发器的特性和功能测试方法。 2. 学会正确使用触发器集成芯片。 3. 了解不同逻辑功能FF相互转换的方法。 二、实验仪器及材料 1. 实验仪器设备:双踪示波器、数字万用表、数字电路实验箱 2. 器件 74LS00 二输入端四与非门 1片 74LS74 双D触发器 1片 74LS76 双J-K触发器 1片 三、实验内容步骤及记录 1. 基本RS触发器功能测试: 两个TTL与非门首尾相接构成的基本RS触发器的电路。如图5.1所示。

(1)试按下面的顺序在S R 端加信号: d S =0 d R =1 d S =1 d R =1 d S =1 d R =0 d S =1 d R =1 观察并记录触发器的Q 、Q _ 端的状态,将结果填入 下表4.1中,并说明在上述各种输入状态下,RS 执行的是什么逻辑功能? 表4.1 d S d R Q 逻辑功能 0 1 1 1 1 1 0 1 1 1 0 0 0 0 1 1 置1 保持 置0 保持 (2)当d S 、d R 都接低电平时,观察Q 、Q _ 端的状态,当d S 、d R 同时由低电平跳为高电平时,注意观察Q 、Q _ 端的状态,重复3~5次看Q 、Q _ 端的状态是否相同,以正确理解“不定” 状态的含义。 结论: 当d S 、d R 都接低电平时,Q 和Q _ 端的状态不定。 2. 维持- 阻塞型D 触发器功能测试 双D 型正边沿维持-阻塞型触发器74LS74的逻辑符号如图4.2所示。 图中d S 、d R 端为异步置1端,置0端(或称异步置位,复位端),CP 为时钟脉冲端。试按下面步骤做实验: (1)分别在d S 、d R 端加低电平,观察并记录Q 、Q _ 端的状态。 (2)令d S 、d R 端为高电平,D 端分别接高,低电平,用点动脉 冲作为CP ,观察并记录当CP 为0、 、1、 时Q 端状态的变化。 图4.1 基本RS 触发器电 图4.2D 逻辑符号

数字图像处理实验报告

目录 实验一:数字图像的基本处理操作....................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验二:图像的灰度变换和直方图变换............................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验三:图像的平滑处理....................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。实验四:图像的锐化处理......................................................................................... 错误!未定义书签。:实验目的 .............................................................................................................. 错误!未定义书签。:实验任务和要求..................................................................................................... 错误!未定义书签。:实验步骤和结果..................................................................................................... 错误!未定义书签。:结果分析................................................................................................................. 错误!未定义书签。

触发器的使用实验报告

实验II、触发器及其应用 一、实验目的 1、掌握基本RS、JK、D和T触发器的逻辑功能 2、掌握集成触发器的逻辑功能及使用方法 3、熟悉触发器之间相互转换的方法 二、实验原理 触发器具有两个稳定状态,用以表示逻辑状态“1”和“0”,在一定的外界信号作用下,可以从一个稳定状态翻转到另一个稳定状态,它是一个具有记忆功能的二进制信息存储器件,是构成各种时序电路的最基本逻辑单元。 1、基本RS触发器 如图1为两个与非门交叉耦合构成的基本RS触发器,它是无时钟控制低电平直接触发的触发器。基本RS触发器具有置“0”、置“1”和“保持”三种功能。通常称为置“1” 段,因为=0(=1)时触发器被置为“1”;为置“0”端,因为=0(=1)时触发器被置“0”,当==1时状态保持;==0时,触发器状态不定,应避免此种情况发生,表1为基本RS 触发器的状态表。 图1、基本RS触发器 表1、基本RS触发器功能表 输入输出 0 1 1 0 1 0 0 1 1 1 0 0 不定不定 基本RS 2、JK触发器

在输入信号为双端的情况下,JK触发器的功能完善、使用灵活和通用性较强的一种触发器。本实验采用74LS112双JK触发器,是下降沿出发的边沿触发器。引脚功能及逻辑符号如图2所示。 图2、74LS112双JK触发器引脚排列及逻辑符号 JK触发器的状态方程为:=J+ J和K是数据输入端,是触发器状态更新的依据,若J、K有两个或者两个以上输入端时,组成“与”的关系。和为两个互补输出端。通常把=0,=1的状态定为触发器“0” 状态;而把=1,=0定为“1”状态。下降沿触发JK触发器功能表如表2所示。 表2、JK触发器功能表 JK触发器常被用作缓冲存储器,移位寄存器和计数器。 3、D触发器 在输入信号为单端的情况下,D触发器用起来最为方便,其状态方程为=D,其输出状态的更新发生在CP脉冲的上升沿,故又称为上升沿触发的边沿触发器,触发器的状态只取决于时钟到来前D端的状态,D触发器的应用很广,可用作数字信号的寄存,移位寄存,分频和波形发生等。有很多种型号可供各种用途的需要而选用。如双D 74LS74、四D 74LS175、六D 74LS174等。 下图为双D774LS74的引脚排列及逻辑符号。功能表如表3.

图的基本操作 实验报告

实验五图的基本操作 一、实验目的 1、使学生可以巩固所学的有关图的基本知识。 2、熟练掌握图的存储结构。 3、熟练掌握图的两种遍历算法。 二、实验内容 [问题描述] 对给定图,实现图的深度优先遍历和广度优先遍历。 [基本要求] 以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列。 【测试数据】 由学生依据软件工程的测试技术自己确定。 三、实验前的准备工作 1、掌握图的相关概念。 2、掌握图的逻辑结构和存储结构。 3、掌握图的两种遍历算法的实现。 四、实验报告要求 1、实验报告要按照实验报告格式规范书写。 2、实验上要写出多批测试数据的运行结果。 3、结合运行结果,对程序进行分析。

五、算法设计 1、程序所需头文件已经预处理宏定义和结构体定义如下 #include #define MaxVerNum 100 struct edgenode { int endver; int inform; edgenode* edgenext; }; struct vexnode { char vertex; edgenode* edgelink; }; struct Graph { vexnode adjlists[MaxVerNum]; int vexnum; int arcnum; }; 2、创建无向图 void CreatAdjList(Graph* G) { int i,j,k; edgenode* p1; edgenode* p2; cout<<"请输入顶点数和边数:"<>G->vexnum>>G->arcnum; cout<<"开始输入顶点表:"<vexnum;i++) { cin>>G->adjlists[i].vertex; G->adjlists[i].edgelink=NULL; } cout<<"开始输入边表信息:"<arcnum;k++) { cout<<"请输入边对应的顶点:"; cin>>i>>j; p1=new edgenode; p1->endver=j; p1->edgenext=G->adjlists[i].edgelink; G->adjlists[i].edgelink=p1;

数据库存储器与触发器实验报告(互联网+)

南昌航空大学实验报告 二0一七年 5 月 3 日 课程名称:数据库概论实验名称:存储器与触发器 班级:xxx 姓名:xxx 同组人: 指导教师评定:签名: 一、实验环境 1.Windows2000或以上版本; 2.SQLServer2000或2005。 二、实验目的 1.掌握存储过程的创建,修改,使用,删除; 2.掌握触发器的创建,修改,使用,删除。 三、实验步骤及参考源代码 1.创建过程代码: CREATE PROCEDURE C_P_Proc(@ccna varchar(10),@cno char(4)OUTPUT,@cna varchar(10)OUTPUT,@pna varchar(20)OUTPUT,@num int OUTPUT) AS SELECT @cna=cna,@cno=https://www.sodocs.net/doc/d317320857.html,o,@pna=pna,@num=num FROM cp,customer,paper WHERE https://www.sodocs.net/doc/d317320857.html,o=https://www.sodocs.net/doc/d317320857.html,o AND paper.pno=cp.pno AND cna=@ccna;

6.执行存储过程C_P_Pro,实现对李涛,钱金浩等不同顾客的订阅信息查询execute C_P_Proc@name='李涛' execute C_P_Proc@name='钱金浩' 7,删除存储过程C_P_Prcc DROP PROCEDURE C_P_PROC (4)在DingBao数据库中针对PAPER创建插入触发器TR_PA PER_I、删除触发器TR_PAPER_D、修改触发器TR_PAPER_U。具体要求如下。

<1>对PAPER的插入触发器:插入报纸记录,单价为负值或为空时,设定为10元。 CREATE TRIGGER TR_PAPER_I ON paper FOR INSERT AS DECLARE @ippr FLOAT; declare @ipno int; SELECT @ippr=ppr,@ipno=pno from inserted begin if @ippr<0 or @ippr is NULL begin raiserror('报纸的单价为空或小于零!',16,1) update paper set ppr=10 where paper.pno=@ipno end

相关主题