触发器作业

合集下载

(完整版)触发器时序逻辑电路习题答案

(完整版)触发器时序逻辑电路习题答案

第4章 触发器4.3 若在图4.5电路中的CP 、S 、R 输入端,加入如图4.27所示波形的信号,试画出其Q 和Q 端波形,设初态Q =0。

SRCP图4.27 题4.3图解:图4.5电路为同步RS 触发器,分析作图如下:S RQ4.5 设图4.28中各触发器的初始状态皆为Q =0,画出在CP 脉冲连续作用下个各触发器输出端的波形图。

Q 11CPQ 3CPCPQ 2Q 6Q 4Q 5CP图4.28 题4.5图解:Q Q nn 111=+ Q Q n n 212=+ Q Q nn 313=+Q Q n n 414=+ Q Q n n 515=+ Q Q nn 616=+Q 1CP Q 2Q 3Q 4Q 5Q64.6 试写出 图4.29(a)中各触发器的次态函数(即Q 1 n+1 、 Q 2 n+1与现态和输入变量之间的函数式),并画出在图4.29(b )给定信号的作用下Q 1 、Q 2的波形。

假定各触发器的初始状态均为Q =0。

1A BCP>1D C1=1A BQ 1Q 2Q 2(a)BA(b)图4.29题4.6图解:由图可见:Q B A AB Q n n 111)(++=+ B A Q n ⊕=+12B A Q 2Q 14.7 图4.30(a )、(b )分别示出了触发器和逻辑门构成的脉冲分频电路,CP 脉冲如图4.30(c )所示,设各触发器的初始状态均为0。

(1)试画出图(a )中的Q 1、Q 2和F 的波形。

(2)试画出图(b )中的Q 3、Q 4和Y 的波形。

Y(b )(c )CPQ 1Q 2(a )图4.30 题4.7图解: (a )Q Q nn 211=+ QQ nn 112=+ Q F 1CP ⊕= R 2 = Q 1 低电平有效CPQ 1Q 2F(b )Q Q Q n n n 4313=+ Q Q Q n n n 4314=+ Q Q Y nn43=CP 3= CP 上降沿触发 CP 4= CP 下降沿触发CPQ 3Q 4Y4.8 电路如图4.31所示,设各触发器的初始状态均为0。

触发器 作业

触发器 作业

触发器和存储过程作业
1. 创建触发器,当在进货信息添加一条记录,对应修改油品储量信息表中的储量信息,添加数据实验。

2. 创建触发器,当在销售信息添加一条记录,对应修改会员信息表中的总消费额,添加数据实验。

3. 定义存储过程,参数为工作号,计算该员工本月的销售额。

并调用此存储过程,参数为王红。

4.定义存储过程,实现通过存储过程插入会员信息。

调用存储过程,参数为你本人信息。

5. 定义存储过程,参数为年份,统计每种油品本年的利润。

调用存储过程,参数为2015年。

sql触发器习题[精华]

sql触发器习题[精华]

SQL触发器习题(一)实验任务一:1、创建触发器在学生信息管理系统中,学生信息表包含列“学号”、“姓名”、“性别”、“出生年月”、“班级号”;班级信息表中包含列“班级号”、“班级名称”、“人数”;课程信息表包含列“课程代号”、“课程名称”;学生成绩表包含列“学号”、列“课程代号”、列“成绩”,已用约束保证成绩的范围为0~100分。

(用附录中的脚本创建)--1)在student上创建INSERT触发器stu_insert,要求在student 表中插入记录时(要求每次只能插入一条记录),这个触发器都将更新class表中的class_nun列。

并测试触发器stu_insert。

create trigger stu_inserton student for insertasif @@rowcount>1beginRAISERROR('You cannot insert more than one student at a time.', 16, 1)ROLLBACK TRANreturn--注意此处的return语句不能省略,因为在触发器脚本中的ROLLBACK TRAN语句之后还存在语句,那么将会执行这些语句,而为了其后的语句不执行,必须加入return语句endupdate classset class_num=class_num+1where class_id=(select class_id from inserted)print 'class表中数据更新成功'go--测试1insert into studentselect '0601012','丽','女','1986-07-11', '0601' union all select '0601013','梅','女','1988-02-07', '0601'--测试2insert into student values('0602011','文','女','1986-09-21', '0602')--2)修改题1中创建的INSERT触发器stu_insert,要求在student 表中插入记录时(允许插入多条记录),这个触发器都将更新class表中的class_nun列。

触发器作业

触发器作业

设计一个触发器,该触发器仅允许dbo用户可以删除employee3266表内数据,否则出错。

create trigger employeedeleteon employee3266for deleteasif exists(select *from deleted)beginif user!='dbo'beginprint '你无权删除!'rollbackendenddrop trigger employeedelete测试:(以sa用户)delete from employee3266where employeeno='E2005001'测试:(以其他用户)sp_addlogin 'wf','wf'/*——————登录名密码*/sp_adduser 'wf','wf'grant all privilegeson employee3266to wf;/*退出DBMS,重新以wf身份登入DBMS,执行删除操作*/delete from employee3266where employeeno='E2005001'在ordermaster3266表中创建触发器,插入数据时要先检查employee3266表中是否存在和ordermaster3266表同样值的业务员编号,如果不存在则不允许插入。

create trigger OrderMasterIns on OrderMaster3266for insertasif not exists(select b.saleNofrom employee3266 a,inserted b,ordermaster3266 cwhere b.saleno=a.employeeNo)beginprint '插入数据错误!'rollbackend检验:insert OrderMaster3266 values('200806135578','C20050001','E2009008',0.00,'20080612','20080615','I000000010')请完成下面实验内容:(1) 创建触发器,该触发器仅允许“dbo”用户可以删除Employee表内数据。

最新触发器练习题

最新触发器练习题

触发器练习题一、填空题1、触发器具有 个稳定状态,在输入信号消失后,它能保持 。

2、在基本RS 触发器中,输入端D R 或D R 能使触发器处于 状态,输入端D S 或D S 能使触发器处于 状态。

3、同步RS 触发器状态的改变是与 信号同步的。

4、在CP 脉冲和输入信号作用下,JK 触发器能够具有 、 、 、和 的逻辑功能。

5、对于JK 触发器,当CP 脉冲有效期间,若J=K=0时,触发器状态 ;若K J =时,触发器 或 ;若J=K=1时,触发器状态 。

6、与主从触发器相比, 触发器的抗干扰能力较强。

7、对于JK 触发器,若J=K ,则可完成 触发器的逻辑功能。

8、对于JK 触发器,若K J =,则可完成 触发器的逻辑功能。

二、判断题1、触发器有两个稳定状态,一个是现态,一个是次态。

( )2、触发器有两个稳定状态,在外界输入信号的作用下,可以从一个稳定状态转变为另一个稳定状态。

( )4、同步D 触发器的Q 端和D 端的状态在任何时刻都是相同的。

( )5、同一逻辑功能的触发器,其电路结构一定相同。

( )6、仅具有反正功能的触发器是T 触发器。

( )三、选择题1、对于触发器和组合逻辑电路,以下( )的说法是正确的。

A 、两者都有记忆能力B 、两者都无记忆能力C 、只有组合逻辑电路有记忆能力D 、只有触发器有记忆能力2、对于JK 触发器,输入J=0、K=1,CP 脉冲作用后,触发器的1+n Q 应为( )。

A 、0B 、1C 、可能是0,也可能是1D 、与n Q 有关3、JK 触发器在CP 脉冲作用下,若使n n Q Q =+1,则输入信号应为( )。

A 、1==K JB 、Q K Q J ==,C 、Q K Q J ==,D 、0==K J4、具有“置0” “置1” “保持” “翻转”功能的触发器叫( )。

A 、JK 触发器B 、基本RS 触发器C 、同步D 触发器 D 、同步RS 触发器5、边沿控制触发的触发器的触发方式为( )。

第五章 触发器典型例题

第五章 触发器典型例题

第五章触发器典型例题分析例1:选择题1.为了使时钟控制的RS触发器的次态为1,RS的取值应为()。

A. RS=00B. RS=01C. RS=10D. RS=112.为了使触发器克服空翻与振荡,应采用()。

A.CP高电平触发B.CP低电平触发C.CP低电位触发D.CP边沿触发3.逻辑电路如图所示,当A=“0”,B=“1”时,脉冲来到后触发器( )。

A.具有计数功能B.保持原状态C.置“0”D. 置“1”答案 1.B 2. D 3.A例2:设主从J-K触发器的原状态为1,按照下图所给出的J、K、CP输入波形,画出触发器Q端的工作波形。

解:此题信号K的某些跳变与CP脉冲的跳变发生在同一时刻,这是初学者容易感到疑惑的地方,所以要注意到,画Q次态波形时应看CP脉冲下降沿前一刻的J、K值。

画波形时,从第1个CP脉冲开始分析,看它的下降沿前的J、K为何值,再依据J-K触发器真值表所述的功能,确定Q的次态,也就是CP脉冲下降沿触发以后Q的新状态。

例如图(a)中第1个CP 脉冲下降沿前一刻,J、K同为1,经CP脉冲触发后Q必然翻转,所以在第1个CP脉冲下降沿后Q由1变为0。

这样分析下去,直到最后一个CP脉冲为止。

故该题正确的Q端工作波形如图(b)所示。

例2 J-K触发器工作波形例3:设主从J-K 触发器的原状态为0,输入波形如下图所示,试画出Q 端的工作波形。

解:该例题增加了难度。

要求读者不但熟悉J-K 触发器的真值表,还应熟悉D R 、D R 的异步置0、置1的作用。

画波形时,应首先考虑D R 、D S 的值。

它们对触发器是属于一种电平触发,即不像CP 脉冲那样有上升沿与下降沿的区分。

只要D R (或D S )为0,无论是由0→1,还是由1→0,附近的CP 脉冲都不能起作用,视为无效,同样J 、K 也视为无效。

一旦D R =0(D =1),触发器Q 就为0;而只要D =0(D R =1),触发器Q 就为1。

只有当D R =D S =1时,才分析CP 、J 、K 对触发器Q 的作用。

利用PPT触发器制作互动习题

利用PPT触发器制作互动习题

利用PPT触发器制作互动习题
什么是触发器?
简单地说,触发器就是点击某一对象后能出现另一动画的功能,在互动习题中,一般就是点击某个答案后出现正误的判断或反馈。

怎样做触发器?
1、以我们课程中的习题为例,先用独立的文本框把题干和四个选项的内容分别填进去,然后再插入相对应的√和X符号:
2、点击选定其中第一个X符号,再依次点击:动画-添加动画-选择其中一种进入的动画如“缩放”,在右边出现的“动画窗格”中便看到添加成功一个绿色的动画效果,说明这是一个进入的动画:
3、点击动画窗格中的这个动画,在下拉菜单中依次点击:计时-触发器-单击下列对象时启动效果-在这里的下拉菜单中选择代表A选项的名字-确定:
4、这样便完成了一个简单触发器的添加,可以看到右上角动画窗格中多了触发器几个字,说明该动画效果已经成功链接到A选项了,这样A答案的触发器就完成了。

5、利用同样办法可以给B/C/D添加相关的触发器链接。

《信息化教学能力之五项修炼》教师团队
2017年6月20日。

第十二章 触发器习题及答案

第十二章  触发器习题及答案

第十二章 触发器习题及答案一、填空题1、 触发器有_____个稳态,存储8位二进制信息要______个触发器。

2、 一个基本RS 触发器在正常工作时,它的约束条件是R + S =1,则它不允许输入S =____且R =____的信号。

3、 触发发有两个互补的输出端Q 、Q ,定义触发器的1状态为Q=___________,0状态为_________可见,触发器的状态指的是______端的状态。

4、 一个基本RS 触发器在正常工作时,不允许输入R=S=1的信号,因此它的约束条件是___________。

5、 在一个CP 脉冲作用下,引起触发器两次或多次翻转的现象称为触发器的__________ ,触发方式为__________式或_____________的触发器不会出现这种现象。

6、 触发器是一种由门电路构成并具有两个稳定状态的电路,两个稳定状态分别用来表示和寄存二进制数码______和______。

7、按逻辑功能不同可分为_______触发器______触发器______触发器_____触发器和_____触发器等。

8、按电路结构不同,可分为______触发器,________触发器,________触发器,________触发器等。

9、描述触发器功能的方法有:__________、____________、__________、______________和________________。

10、电路在没有外加信息触发时保持某一状态不变,而这种状态叫____________。

11、防止空翻的触发器结构有_________________________。

12、触发器的基本性质有_____________________________________________。

13、从结构上看,时钟同步R-S 触发器是在R-S 触发器的基础上增加了____________构成的。

14、比结构上看主从结构的触发器是由主触发器和___________组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计一个触发器,该触发器仅允许dbo用户可以删除employee3266表内数据,否则出错。

create trigger employeedeleteon employee3266for deleteasif exists(select *from deleted)beginif user!='dbo'beginprint '你无权删除!'rollbackendenddrop trigger employeedelete测试:(以sa用户)delete from employee3266where employeeno='E2005001'测试:(以其他用户)sp_addlogin 'wf','wf'/*——————登录名密码*/sp_adduser 'wf','wf'grant all privilegeson employee3266to wf;/*退出DBMS,重新以wf身份登入DBMS,执行删除操作*/delete from employee3266where employeeno='E2005001'在ordermaster3266表中创建触发器,插入数据时要先检查employee3266表中是否存在和ordermaster3266表同样值的业务员编号,如果不存在则不允许插入。

create trigger OrderMasterIns on OrderMaster3266for insertasif not exists(select b.saleNofrom employee3266 a,inserted b,ordermaster3266 cwhere b.saleno=a.employeeNo)beginprint '插入数据错误!'rollbackend检验:insert OrderMaster3266 values('200806135578','C20050001','E2009008',0.00,'20080612','20080615','I000000010')请完成下面实验内容:(1) 创建触发器,该触发器仅允许“dbo”用户可以删除Employee表内数据。

create trigger empdeton employee3266for deleteasif exists(select * from deleted)beginif user!='dbo' rollbackend测试一:exec sp_addlogin wfexec sp_adduser wfgrant all privilegeson employee3266to wf;deletefrom employee3266where employeeno='E2005001'测试二deletefrom employee3266where employeeno='E2005001'(2)创建触发器,保证Employee表中性别为”F”或”M”。

create trigger emp_sexon employee3266for insert,updateasif exists(select *from inserted where sex not in ('F','M'))rollback测试一:update employee3266 set sex='G'from employee3266where employeeno='E2005005'测试二:update employee3266 set sex='F'from employee3266where employeeno='E2005005'(3)创建触发器,要求当修改Employee表的员工生日或雇佣日期时必须保证出生日期在雇佣日期之前,且年龄不小于25岁,雇佣日期与出生日期必须间隔在20年之上。

create trigger employupton employee3266for updateasif update(birthday) or update(hiredate)begindeclare @birthday datetime,@hiredate datetimeselect @birthday=birthday,@hiredate=hiredatefrom deletedif year(getdate())-year(@birthday)<25rollbackelse if year(@hiredate)-year(@birthday)<20rollbackelsebeginselect @birthday=birthday,@hiredate=hiredatefrom insertedupdate employee3266 set birthday=@birthdayfrom employee3266 a,inserted bwhere a.employeeno=b.employeenoupdate employee3266 set hiredate=@hiredatefrom employee3266 a,inserted bwhere a.employeeno=b.employeenoendEnd测试一:update employee3266 set hiredate=1993-3-28from employee3266where employeeno='E2005002'测试二:update employee3266 set hiredate='1985-05-17'from employee3266where employeeno='E2005004'(4) 当更新Customer表中的customerNo列的值的时候,同时更新OrderMaster表中的customerNo列的值,并且一次只能更新一行。

create trigger cusupton customer3266for updateasif update(customerno)begindeclare @customerno1 char(9),@customerno2 char(9)declare cus_cur cursor forselect a.customerno,b.customernofrom deleted a,inserted bopen cus_curfetch cus_cur into @customerno1,@customerno2while(@@fetch_status=0)beginupdate customer3266 set customerno=@customerno2where customerno=@customerno1update ordermaster3266 set customerno=@customerno2where customerno=@customerno1fetch cus_cur into @customerno1,@customerno2endclose cus_curdeallocate cus_curendalter table OrderMaster3266 drop constraint fk_OrderMaster3266_customer3266 update customer3266 set customerno='C20080002'where customerno='C20050001'create trigger up_customeron customer3266for updateasif update (customerno)begindeclare @row_cnt intselect @row_cnt=count(*) from deletedif @row_cnt>1beginprint '此删除操作可能会删除多条人事表数据'rollback transactionendelsebeginupdate ordermaster3266 set customerno=inserted.customernofrom deleted,insertedwhere ordermaster3266.customerno=deleted.customernoendendalter table OrderMaster3266 drop constraint OrderMaster3266FK1update employee2689set employeeNo2689='C20080002'where employeeNo2689='C20050001'(5)创建触发器,当业务员总销售业绩超过100000元时,其薪水自动增加20%,当业务员总销售业绩超过50000元低于100000时,其薪水自动增加10%,当业务员总销售业绩低于10000时,其薪水自动减少10%。

create trigger salaryupton employee3266for updateasbegindeclare @totsum numeric(9,2),@employeeno char(8)declare emp_cur cursor forselect saleno,sum(ordersum)from ordermaster3266group by salenoopen emp_curfetch emp_cur into @employeeno,@totsumwhile(@@fetch_status=0)beginif @totsum>10000beginupdate employee3266 set salary=b.salary*1.2from employee3266 a,deleted bwhere a.employeeno=b.employeeno and a.employeeno=@employeenoendelse if @totsum<10000 and @totsum>5000beginupdate employee3266 set salary=b.salary*1.1from employee3266 a,deleted bwhere a.employeeno=b.employeeno and a.employeeno=@employeenoendelse if @totsum<1000beginupdate employee3266 set salary=b.salary*0.9from employee3266 a,deleted bwhere a.employeeno=b.employeeno and a.employeeno=@employeenoendendend(6) 创建触发器,将入职后三个月均没有业绩的业务科人员做离职处理,其信息拷贝到离职表中。

相关文档
最新文档