1.某软盘有40个磁道,磁头从一个磁道移至另一个磁道需要5ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为10个磁道,每块的旋转延迟时间及传输时间分别为100ms和25ms,则读取一个100块的文件需要(24)时间。
(24)A.17500msB.15000msC.5000msD.25000ms
答案:A
解析:读取一个块的时间为:寻道延迟+旋转延迟+传送时间。
所以传输100块文件需要的时间为:(10*5+100+25)*100=17500
2.某指令流水线由5段组成,各段所需要的时间如下图所示。
连续输入10条指令时的吞吐率为___(6)___。
(6)A.10/70Δt B.10/49Δt C.10/35Δt D.10/30Δt
解析:(6)C。只要你会画时空图就知道怎么做了。
==表示正执行第一条指令,~~表示正执行第二条指令
每段--+--+--+--+--+--+--+--+--+--+--+时间轴
△t== ~~ |---3△t---|
3△t == == == ~~ ~~ ~~ | |
△t == ~~| |
2△t == == |~~ ~~ |
△t ==| ~~|
第一条指令完成时间是8△t 。可以看出由于指令重叠,此后每3△t 完成一条指令(即+号)。所以,后9条指令完成时间是9*3△t。所以它完成10个任务所用的时间为:8△t +9*3△t = 35△t
吞吐率=n/Tk ,n为任务数,Tk是完成n个任务所用的时间。因些吞吐率为:10/35△t。
3.与逆波兰式ab+-c*d-对应的中缀表达式是 (45) 。
(45)A. a-b-c*d B. -(a+b)* c-d C. -a+b*c-d D. (a+b)* (-c-d)
解析:B。逆波兰式不需要括号,将运算对象写在前面,而把运算符号写在后面。
先看一个中缀表达式:1+(2*(4-2))%5,它的逆波兰式(后缀表达式)为:1242-*5%。
根椐这个规律,可以明白:-(a+b)*c-d正好与ab+-c*d-相配。
4.两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是___(35)___个。
(35)A.25 B.30 C.50 D.60
答案:C,即50。
解析:
设程序中原有故障总数是 B0
测试组一发现的故障总数是 B1
测试组二发现的故障总数是 B2
其中两组发现的相同故障数目是BC
则B0=(B1*B2)/BC
即:=(25*30)/15=50
5.
已知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q为类O的派生类,其继承方式如下所示:
class P:protected O {…}
class Q:public O {…}
在关于方法F1的描述中正确的是(1)在关干方法F2的描述中正确的是(2)。在关于方法F3的描述中正确的是(3)。
(1)A.方法Fl无法被访问
B.只有在类O内才能访问方法F1
C.只有在类P内才能访问方法F1
D.只有在类Q内才能访问方法F1
(2)A.类O、P和Q的对象都可以访问方法F2
B.类P和Q的对象都可以访问方法F2
C.类O和Q的对象都可以访问方法F2
D.只有在类P内才能访问方法F2
(3)A.类O、P和Q的对象都可以访问方法F3
B.类O、P和Q的对象都不可以访问方法F3
C.类O的对象可以访问方法F3,但类P的对象不能访问方法F3
D.类P的对象可以访问方法F3,但类Q的对象不能访问方法F3
解析:类实际上就是由一组描述对象属性或状态的数据项和作用在这些数据项上的操作(或称为方法、成员函数等)构成的封装体。类的定义由关键字class打头,后跟类名,类名之后的括号内是类体,最后以“;”结束。
6.对于下面的文法G[S],_____是其句子(从S出发开始推导)。
G[S]:S→M|(S,M) M→P|MP P→a|b|c|…|x|x|z
A.((a,O)) B.((fac,bb),g) C.(abc) D.(c,(da))
答案:B(第44题)
解析:通过First集就可以判断了