【答案22】: 答案:A 【解析】
本题考查程序语言基础知识。后缀式(逆波兰式)是波兰逻辑学家卢卡西维奇发明的一种表示表达式的方法。这种表示方式把运算符写在运算对象的后面,例如,把a+b写成ab+,所以也称为后缀式。借助栈可以方便地对后缀式进行求值。方法为先创建一个初始为空的栈,用来存放运算数。对后缀表达式求值时,从左至右扫描表达式,若遇到运算数,就将其入栈,若遇到运算符,就从栈顶弹出需要的运算数并进行运算,然后将结果压入栈顶,如此重复,直到表达式结束。若表达式无错误,则最后的运算结果就存放在找顶并且是栈中唯一的元素。
【答案23】: 答案:C 【解析】
试题(23)的正确的答案为C。因为信号量S1是一个互斥信号量,表示半成品箱B1当前有无工人(生产者)使用,所以初值为1。信号量S5也是一个互斥信号量,表示成品箱B2当前有无工人或检验员使用,所以初值为1。
【答案24】: 答案:D 【解析】
试题(24)的正确的答案为D。信号量S2表示半成品箱B1的容量,故S2的初值为n。当工人P1不断地将其工序上加工的半成品放入半成品箱B1时,应该先测试半成品箱是否有空位,故工人P1使用P(S2),当工人P2从半成品箱取一件半成品时,半成品箱B1就空出一个空位,故工人P2使用V(S2)释放空间。同理,信号量S4表示成品箱B2的容量,故S4的初值为m。当工人P2完成一件产品放入成品箱B2时,应该先测试成品箱是否有空位,故工人P2使用P(S4)f当检验员P3从成品箱取一件产品检验时,成品箱B2就空出一个空位,故检验员P3使用V(S4)释放空间。
36
【答案25】: 答案:D 【解析】
试题(25)的正确的答案为D。在块设备输入时,假定从磁盘把一块数据输入到缓冲区的时间为T,缓冲区中的数据传送到用户工作区的时间为M,而系统处理(计算)的时间为C,如图
(a)所示。当第一块数据送入用户工作
区后,缓冲区是空闲的就可以传送第二块数据。这样第一块数据的处理C1与第二块数据的输入T2是可以并行的,依次类推,如图(b)所示。系统对每一块数据的处理时间为Max(C,T)+M
。
因
为
,
当
T>C
时
,
处
理
时
间
为
M+T;
当
T
【答案26】: 答案:C 【解析】
试题(26)的正确的答案为C。双缓冲工作方式基本方法是在设备输入时,先将数据输入到缓冲区1,装满后便转向缓冲区2。此时系统可以从缓冲区1中提取数据传送到用户区,最后由
系
统
对
数
据
进
行
处
理
,
如
图
(c)
所
示
。
双缓冲可以实现对缓冲区中数据的
输入T和提取M,与CPU的计算C,三者并行工作,如图(d)所示。从图中可以看出,双缓冲进一步加快了I/O的速度,提高了设备的利用率。在双缓冲时,系统处理一块数据的时间可以粗略地认为是Max(C,T)。如果CT,则可使系统不必等待设备输入。本题每一块数据的处理时间为
10,釆用双缓冲需要花费的时间为
37
15*10+5+1=156。
【答案27】: 答案:D 【解析】
R2资源有3个,已分配2个,P3申请1个R2资源可以得到满足,故进程P3可以运行完毕释放其占有的资源。这样可以使得P1、P2都变为非阻塞节点,得到所需资源运行完毕,因此,该进程资源图是可化简的。
【答案28】: 答案:C 【解析】
在同一进程中的各个线程都可以共享该进程所拥有的资源,如访问进程地址空间中的每一个虚地址;访问进程所拥有的已打开文件、定时器、信号量机构等,但是不能共享进程中某线程的栈指针。
【答案29】: 答案:B 【解析】
本题考査软件开发过程模型的基础知识。瀑布模型将开发阶段描述为从一个阶段瀑布般地转换到另一个阶段的过程。原型模型中,开发人员快速地构造整个系统或者系统的一部分以理解或澄清问题。螺旋模型将开发活动和风险管理结合起来,以减小风险。喷泉模型开发过程模型以用户需求为动力,以对象为驱动,适合于面向对象的开发方法。在这几种开发过程模型中,原型模型不适宜大规模软件的开发。
【答案30】: 答案:D
38
【解析】
本题考查软件开发过程模型的基础知识。根据题干描述,合适的开发过程模型为喷泉模型。
【答案31】: 答案:D 【解析】
本题考查软件质量的基础知识。ISO/IEC软件质量模型由三个层次组成第一层是质量特性,第二层是质量子特性,第三层是度量指标。易使用性是指与为使用所需的努力和由一组规定或隐含的用户对这样使用所做的个别评价有关的一组属性。其子特性包括易理解性、易学性、易操作性。
【答案32】: 答案:B 【解析】
本题考查软件设计的基础知识。子系统结构设计中,重点关注如何划分模块,子系统之间以及模块之间的数据和调用关系,模块结构质量等这些粗粒度的问题;而对每个模块内部进行设计时,才需要考虑采用的数据结构以及处理的算法。
【答案33】: 答案:D 【解析】
本题考查结构化分析方面的基础知识。在结构化分析中,用数据流图对软件功能建模,加工是数据流的一个重要要素,可以用多种方式描述,如流程图、NS盒图等,其中决策树和决策表适于用来表示加工中涉及多个逻辑条件的情况。
【答案34】: 答案:B 【解析】
本题考查软件工程过程及软件工具的基础知识。逆向工程从源代码得到软件系统的规格说明
39
和设计信息,属于软件维护阶段行为,因此逆向工程工具属于软件维护工具。
【答案35】: 答案:B 【解析】
本题考查软件测试的基础知识。画出该代码的流程图,如下
要满足条件覆
盖,要求三个判断框的Y和N至少要经过一次,即1Y2Y;1Y2N;1N3Y;1N3N,至少需要4个测试用例。McCabe度量法是一种基于程序控制流的复杂性度量方法,环路复杂性为V(G)=m-n+2,图中m=9,n=7,V(G)=9-7+2=4。
【答案36】: 答案:D 【解析】
本题考查软件测试的基础知识。画出该代码的流程图,如下
40