阅读以下关于电梯模拟控制系统设计方案说明,回答下列问题。
[说明]王工在实验室负责自动电梯模拟控制系统设计,自动电梯模拟控制系统需要完成电梯运行控制算法、输入界面和输出界面三项主要任务。系统结构图如图1所示。
根据电梯运行流程,把电梯划分为停止状态、运行状态、开门状态和关门状态4种控制状态。停止状态是指电梯在没有任何请求情况下静止状态,而不是指电梯在运行过程中开门前停顿状况,本题忽略停顿状况,把电梯从运行状态直接迁移为开门状态。电梯根据控制状态迁移规则进行状态迁移,系统初始时,电梯处于停止状态。
问题1:电梯根据控制状态迁移规则进行迁移,其状态迁移图如图2所示。请根据下面状态转移条件,完成状态迁移图。可供选择状态转移条件:a.其他楼层有呼叫请求;b.无呼叫请求;c.乘客进入电梯或等待一段时间后;d.到达请求楼层;e.电梯所在楼层有呼叫请求。
问题2:电梯运行处理程序流程图如图3所示。请完成该流程图。
问题3:系统采用多级优先级中断结构,如图4所示。它要求CPU在执行完当前指令时转而对中断请求进行服务。设备A连接于最高优先级,设备B次之,设备C又次之。IRQx为中断请求信号,INTx为CPU发出中断响应信号
现假设:TDC为硬件中断周期时间;TM为一个指令执行周期时间;TA、TB、TC分别为A、B、C中断服务程序执行时间;TS、TR为保护现场和恢复现场所需时间。图5是中断处理过程示意图。
当三个设备同时发出中断请求时,依次处理设备A、B、C时间是多少?这种结构下中断饱和时间是多少?
正确答案及解析
正确答案
解析
问题1:(1)其他楼层有呼叫请求,或a; (2)到达请求楼层,或d; (3)乘客进入电梯或等待一段时间后,或c; (4)无呼叫请求,或b; (5)电梯所在楼层有呼叫请求,或e; (6)其他楼层有呼叫请求,或a。
问题2:(1)改变状态为开门 (2)当前层上移一层 (3)改变状态为开门 (4)改变状态为向下 (5)改变状态为向上
电梯各个状态处理过程是,根据电梯状态,调用相应控制状态处理程序来控制电梯运行。图3为电梯运行状态处理流程图。当进入电梯运行状态后,首先判断当前电梯运行方向。
程序处理逻辑如下:
1.当电梯向上运行时: (1)若当前层有内部请求,或外部有向上请求,或外部有向上和向下请求,则改变状态为开门,返回;否则,转(2); (2)若当前层上方有内外请求,则当前层上移一层,返回;否则,转(3); (3)若当前层有外部向下请求,则改变状态为开门状态,返回;否则,转(4); (4)若当前层下方有内外请求,则改变状态为向下,返回。
2.当电梯向下运行时: (1)若当前层有内部请求,或外部有向下请求,或外部有向上和向下请求,则改变状态为开门,返回;否则,转(2); (2)若当前层下方有内外请求,则当前层下移一层,返回;否则,转(3); (3)若当前层有外部向上请求,则改变状态为开门状态,返回;否则,转(4); (4)若当前层上方有内外请求,则改变状态为向上,返回。
问题3:tA=TM+TDC+TS+TA+TR; tB=TDC+TS+TB+TR; tC=TDC+TS+TC+TR; 中断饱和时间为:T=tA+tB+tC或T=TM+3TDC+3TS+TA+TB+TC+3TR
你可能感兴趣的试题
试题一(共 20 分)阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸对应栏内。【说明】设有二维整数数组(矩阵)A[1:m,1:n],其每行元素从左至右是递增,每列元素从上到下是递增。以下流程图旨在该矩阵中需找与给定整数 X 相等数。如果找不到则输出“false”;只要找到一个(可能有多个)就输出“True”以及该元素下标 i 和 j(注意数组元素下标从 1 开始)。例如,在如下矩阵中查找整数 8,则输出伟:True,4,12 4 6 94 5 9 106 7 10 128 9 11 13流程图中采用算法如下:从矩阵右上角元素开始,按照一定路线逐个取元素与给定整数 X 进行比较(必要时向左走一步或向下走一步取下一个元素),直到找到相等数或超出矩阵范围(找不到)。【流程图】
【问题】该算法时间复杂数是()
供选择答案:A.O(1) B.O(m+n) C.(m*n) D,O(m2+n2)
- 查看答案
阅读以下说明和流程图,填补流程图中空缺,将解答填入答题纸对应栏内。
[说明]
指定网页中,某个关键词出现次数除以该网页长度称为该关键词在此网页中词频。对新闻类网页,存在一组公共关键词。因此,每个新闻网页都存在一组词频,称为该新闻网页特征向量。
设两个新闻网页特征向量分别为:甲(a1,a2,...,ak)、乙(b1,b2,...,bk),则计算这两个网页相似度时需要先计算它们内积S=a1b1+a2b2+...+akbk。一般情况下,新闻网页特征向量维数是巨大,但每个特征向量中非零元素却并不多。为了节省存储空间和计算时间,我们依次用特征向量中非零元素序号及相应词频值来简化特征向量。为此,我们用(NA(i),A(i)|i=1,2,...,m)和(NB(j),B(j)|j=1,2,...,n)来简化两个网页特征向量。其中:NA(i)从前到后描述了特征向量甲中非零元素A(i)序号(NA(1)<NA(2)<...),NB(j)从前到后描述了特征向量乙中非零元素B(j)序号(NB(1)<NB(2)<...)。
下面流程图描述了计算这两个特征向量内积S过程。
- 查看答案
试题(15 分)阅读以下说明和流程图,填补流程图中空缺,将解答填入答题纸对应栏 内。【说明】设有整数数组 A[1:N](N>1),其元素有正有负。下面流程图在该数组 中寻找连续排列若干个元素,使其和达到最大值,并输出其起始下标 K、元素 个数 L 以及最大和值 M。例如,若数组元素依次为 3,-6,2,4,-2,3,-1,则输出 K=3,L=4,M=7。 该流程图中考察了 A[1:N]中所有从下标 i 到下标 j(j≥i)各元素之和 S,并动态地记录其最大值 M。【流程图】
注:循环开始框内应给出循环控制变量初值和终值,默认递增值为 1,格式为:循环控制变量=初值,终值
- 查看答案
阅读以下说明和流程图,填补流程图中空缺,将解答填入答题纸对应栏内。
[说明]
本流程图旨在统计一本电子书中各个关键词出现次数。假设已经对该书从头到尾依次分离出各个关键词{A(i)|i=1,…,n}(n>1)},其中包含了很多重复项,经下面流程处理后,从中挑选出所有不同关键词共m个{K(j)|j=1,…,m},而每个关键词K(j)出现次数为NK(j),j=1,…,m。
[流程图]
- 查看答案
阅读下列说明、C++代码和运行结果,填补代码中空缺,将解答填入答题纸对应栏内。
[说明]
对部分乐器进行建模,其类图如下图所示,包括:乐器(Instrument)、管乐器(Wind)、打击乐器(Percussion)、弦乐器(Stringed)、木管乐器(Woodwind)、铜管乐器(Brass)。
类图
下面是实现上述设计C++代码,其中音乐类(Music)使用各类乐器(Instrument)进行演奏和调音等操作。
using namespace std; enum Note(/*枚举各种音调*/ MIDDLE_C,C_SHARP,B_FLAT }; classInstrument{/*抽象基类,乐器*/ public: ______; //play函数接口 virtual voidadjust()=0; //adjust函数接口 }; class Wind ______{ public: void play(Note n) { cout<<"Wind.play() "<<n<<endl; } void adjust(){cout<<"Wind.adjust()"<<endl; } ); /*类Percussion和Stringed实现代码略*/ class Brass ______{ public: void play(Note n) {cout<<"Brass.play() "<<n<<endl; } void adjUSt(){cout<<"Brass.adjust()"<<endl;) }; classWoodwind:public Wind{ public: void play(Note n) { cout<<"Woodwind.play()"<<n<<endl; } }; class MusiC { public: voidtune(Instrument*i) { i->play(MIDDLE_C.; } voidadjust(Instrument*i){ i->adjust(); } void tuneAll(______ e[],int numIns){ /*为每个乐器定调*/ for(int i=0; i<numIns; i++){ this->tune(e[i]); this->adjust(e[i]); } } }; /*使用模板定义一个函数size,该函数将返回数组array元素个数,实现代码略*/ int main(){ Music*music=______ Music(); Instrument*orchestra[]={new Wind(),new Woodwind() }; music->tuneAll(orchestra,size(orchestra));/*size返回数组orchestra元素个数*/ for(int i=0;i<size(orchestra);i++) deleteorchestra[i]; delete music; }
本程序运行后输出结果为:
Wind.play()0 Wind.adjust() Woodwind.play()0 Wind.adjust()
- 查看答案