首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。 [说明] 传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、 StayOpen(保持打开)和
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。 [说明] 传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、 StayOpen(保持打开)和
admin
2010-01-15
63
问题
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1~问题2。
[说明]
传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、 StayOpen(保持打开)和Closing(正在关闭)5种状态。触发状态的转换事件有click、complete和timeout3种。事件与其相应的状态转换如图7-15所示。
下面的[C++代码1]与[C++代码2]分别用两种不同的设计思路对传输门进行状态模拟,请填补代码段中的空缺语句。
[C++代码1]
选项
答案
这是一道要求读者掌握状态转换图的程序设计与实现的综合题。本试题的解答思路如下。 根据(1)空缺处所在的程序段给出的注释信息“发生crick事件时进行状态转换”可知,(1)空缺处所在的方法为click,表示当发生crick事件时应该发生什么状态转换。找出传输门响应事件与其状态转换图(见图7-15)与crick事件相关的内容,并特别注意箭头所指的方向。由于发生click事件前的状态CLOSED、CLOSING分别跳转到状态OPENING,因此(1)空缺处所填写的内容是“state==CLOSED‖state==CLOSING”。 同理,由图7-15所示中的状态转换关系可知,发生click事件前的状态OPENING、STAYOPEN分别跳转到状态CLOSING,即(2)空缺处所填写的内容是“state==OPENING‖state==STAYOPEN”;发生 click事件前的状态OPEN跳转到状态STAYOPEN,即(3)空缺处所填写的内容是“state==OPEN”。 仔细阅读[C++代码2]程序段,由语句private DoorState state=CLOSED;可知,类Door的state成员变量用于记录类Door所处的状态,而state变量的类型为Doorstate*。由语句“virtual void click() {}”、“virtual void complete() {}”和“virtual void timeout() {}”可知,Doorstate中分别具有click、timeout和 complete方法用来响应对应的事件。根据(4)空缺处所在程序段“void Door∷click()”可得,(4)空缺处所填写的内容是“state->click()”。 同理,根据(5)空缺处所在程序段“void Door∷timeout()”可得,(5)空缺处所填写的内容是“state->timeout()”;根据(6)空缺处所在程序段“void Door∷complete()”可得,(6)空缺处所填写的内容是“state->complete()”。 根据(7)空缺处所在程序段给出的注释信息“定义一个基本的Closed状态”和语句“void DoorClosed∷click()”可知,(7)空缺处所填写的内容与传输门当前状态为CLOSED且发生Click事件时状态的迁移有关。结合如图7-16所示中的状态转换关系可知,在Click事件下CLOSED状态将迁移到 OPENING,因此(7)空缺处应该将传输门的状态设置为OPENING。由于Doorstate变量存储了当前其存储的传输门的实例,因此可直接调用其方法setState设置状态。同时考虑到传输门的状态采用类的实例变量表示,故(7)空缺处所填写的内容为“door->setState(door->OPENING)”。
解析
转载请注明原文地址:https://www.kaotiyun.com/show/6SDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
将高级语言程序翻译为机器语言程序的过程中,常引入中间代码,其好处是()。
CD上声音的采样频率为44.1kHz,样本精度为16b/s,双声道立体声,那么其未经压缩的数据传输率为(14)。
某公司内部使用wb.xyz.com.cn作为访问某服务器的地址,其畔wb是______。
对于测试中所发现错误的管理是软件测试的重要环节,以下关于错误管理原则的叙述正确的是()。
给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x。先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=l;high=n;while(high>low)ifA[low]+A[hig
给定包含n个正整数的数组A和正整数x,要判断数组A中是否存在两个元素之和等于x。先用插入排序算法对数组A进行排序,再用以下过程P来判断是否存在两个元素之和等于x。low=l;high=n;while(high>low)ifA[low]+A[hig
与XY(即X与Y不相同时,XY的结果为真)等价的逻辑表达式为________________。
一个程序的控制流图中有8个节点、12条边。在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需测试用例数的上限是________________。
下面为C语言程序,边界值问题可以定位在(45)。 int data(3), int i, for(i=1, i<=3, i++)data(i)=100
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
随机试题
纠正呼吸性酸中毒的主要措施是依靠
为研究学生的甲病,选择了患有该病的100名学生患者,并同时在同所医院选择了100名未患此病的学生,然后调查了学生的家庭情况、成长情况,以确定各种暴露因素,该研究属于()
患者,男,32岁。因患再生障碍性贫血需要输血,当输入红细胞悬液约200ml时,突然畏寒,发热,呕吐一次,尿呈酱油样,血压75/45mmHg(10.0/6.0kPa)。该患者最有可能发生的是
儿科成为独立分科的时代是
拍卖的报价是一种价格上行的报价方式。()
SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,语句INSERT、DELETEUPDATE实现的功能有()。
近年来,我国置身世界大发展大变革大调整中,不惑于纷乱现象,不畏于艰难险阻,以元首外交引领扩大全球朋友圈、以开放合作之姿谋求各国共同发展、力倡多边主义推动全球治理改革,不断开创中国特色大国外交新局面。这表明,中国特色大国外交是_____。①以维护各国共
“高原不倒千年骨,告慰炎黄有子孙”与“尽道隋亡为此河,至今千里赖通波”中的“高原”与“河”分别指的是我国的:
窗体上有一个名称为Command1的命令按钮,其事件过程如下:PrivateSubCommand1_Click()X="VisualBasicProgramming"a=Right(x,11)b=Mid(x,7,
Reliefworkerswereshockedbywhattheysaw.
最新回复
(
0
)