21、下图所示为一个非确定有限自动机(NFA),S0为初态,S3为终态。该NFA识别的字符串( )。
A、不能包含连续的字符“0”
B、不能包含连续的字符“1”
C、必须以“101”开头
D、必须以“101”结尾
参考答案:D
答案解析:
从定义上可以看出,DFA是NFA的特例
DFA与NFA在识别能力上是相同的
对于每一个NFA M,存在一个DFA M’,使得L(M)=L(M’)
由于NFA与DFA的不同,DFA易于程序实现,NFA易于词法规则的人工设计
那么在设计编程语言时,就需要将NFA转化为等价的DFA,而对于每一个NFA M,存在一个DFA M’,使得L(M)=L(M’)
任何一个NFA都可以转换为等价的DFA
本题考查NFA有限自动机相关问题。
针对这类问题,可以采取找出对应反例的形式表示。
S0是初态,S3是终态,识别出从S0为初态到S3为终态的路径。
可以看到无论如何到达S3终态都需要经过S1-S2,即末尾必须存在”101“结尾的。
对于A和B选项不能包含连续字符的”0“和“1”,我们可以看到在S0初态中,有1个字符串0和1自循环,是可以包含连续的”0“和”1“的,所以错误。
对于C选项必须以“101”开头,说法错误,可以任意10的字符开头。
22、在单处理机计算机系统中有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态,P2为就绪状态,P3等待打印机,P4等待扫描仪。此时,若P1释放了扫描仪,则进程P1、P2、P3、P4的状态分别为( )。
A、等待、运行、等待、就绪
B、运行、就绪、等待、就绪
C、就绪、就绪、等待、运行
D、就绪、运行、等待、就绪
参考答案:A
答案解析:
考查三态模型相关问题。
就绪→运行
运行→就绪
运行→等待
等待→就绪
在题干提示有相关进程P1,P2,P3,P4,两个资源打印机和扫描仪,三个状态:运行,就绪,等待。
首先题干已经明确说明P1处于运行态,释放了扫描仪,此时P1还有打印机没有运行完成,应该仍处于运行状态。
对于P2而言,单处理机计算机系统只允许拥有1个运行状态,P1此时还未运行完成,未分配对应的CPU,仍处于就绪态。
对于P3而言,等待打印机,处于等待状态,此时没有关于打印机的资源释放,仍处于等待状态。
对于P4而言,等待扫描仪,处于等待状态,有相关的扫描仪资源释放,应该得到相应的资源发生,从等待状态变成了就绪状态。
23、进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为(1),空③和空④处应分别为(2), 空⑤和空⑥处应公别为(3)(1)
A、V(S1)和P(S2)P(S3)
B、V(S1)和V(S2)V(S3)
C、P(S1)和P(S2)V(S3)
D、P(S1)和V(S2)V(S3)
(2)
A、V(S3)和P(S3)
B、V(S4)和P(S3)
C、P(S3)和P(S4)
D、V(S4)和P(S4)
(3)
A、V(S6)和P(S5)
B、V(S5)和P(S6)
C、P(S5)和V(S6)
D、P(S5)和V(S5)
参考答案:D、B、A
答案解析:
本题考查P,V操作前驱图相关问题。
对于这种问题,根据箭头的指向判断相应的PV操作,先理清楚前趋图中的逻辑关系:P1没有前驱,P2的前驱是P1,P3的前驱是P2,P4的前驱是P2,P5的前驱是P3,P6的前驱是P4,P5。
前驱就是指只有在前驱进程完成后,该进程才能开始执行。
由图可知,这里进程之间有6条有向弧,分别表示为P1→P2,P2→P3,P2→P4,P3→P5,P4→P6,P5→P6,各个进程间的逻辑关系,那么我们需要设定6个信号量(S1、S2、S3、S4、S5、S6),利用PV操作来控制这些过程。
对于进程P1,完成之后,需要通知P2,所以在P1执行了之后,实现了V(S1)操作。
对于进程P2,开始之前需要申请资源S1,实现P(S1),P2执行完成之后,需要通知P3和P4,实现两个V操作,分别是V(S2)和V(S3)
对于进程P3,开始之前需要申请资源S2,实现P(S2),P3执行完成之后,需要通知P5,实现V操作,为V(S4)
对于进程P4,开始之前需要申请资源S3,实现P(S3),P4执行完成之后,需要通知P6,实现V操作,为V(S5)
对于进程P5,开始之前需要申请资源S4,实现P(S4),P5执行完成之后,需要通知P6,实现V操作,为V(S6)
对于进程P6,开始之前需要申请资源S5和S6,实现两个P操作,分别为P(S5)和P(S6)
24、在磁盘上存储数据的排列方式会影响I/O服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2…R10存放在同一个磁道上,记录的排列顺序如下表所示。
假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间为(1);若对存储数据的排列顺序进行优化,处理10个记录的最少时间为(2)。
(1)
A、30ms
B、60ms
C、94ms
D、102ms
(2)
A、30ms
B、60ms
C、102ms
D、94ms
参考答案:D、A
答案解析:
分析本题
25、以下关于增量模型优点的叙述中,不正确的是( )。
A、强调开发阶段性早期计划
B、第一个可交付版本所需要的时间少和成本低
C、开发由增量表示的小系统所承担的风险小
D、系统管理成本低、效率高、配置简单
参考答案:D
答案解析:
26、以下关于敏捷统一过程(AUP) 的叙述中,不正确的是( )。
A、在大型任务上连续
B、在小型活动上迭代
C、每一个不同的系统都需要一套不同的策略、约定和方法论
D、采用经典的UP阶段性活动,即初始、精化、构建和转换
参考答案:C
答案解析:
敏捷统一过程(AUP)采用“在大型上连续”以及在“小型上迭代”的原理来构建软件系统。采用经典的UP阶段性活动(初始、精化、构建和转换),提供了一系列活动,能够使团队为软件项目构想出一个全面的过程流。在每个活动里,一个团队迭代了使用敏捷,并将有意义的软件增量尽可能快地交付给最终用户。
27、在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境行移到另一环境的能力有关的一组属性,其子特性不包括( )。
A、适应性
B、易测试性
C、易安装性
D、易替换性
参考答案:B
答案解析:
28、在软件开发过程中,系统测试阶段的测试目标来自于( )阶段。
A、需求分析
B、概要设计
C、详细设计
D、软件实现
参考答案:A
答案解析:
测试的目标是从需求分析开始。从需求开始时就已经确定了产品的功能、用户场景、用户使用的功能。
29、信息系统的文档是开发人员与用户交流的工具。在系统规划和系统分析阶段,用户与系统分析人员交流所使用的文档不包括( )。
A、可行性研究报告
B、总体规划报告
C、项目开发计划
D、用户使用手册
参考答案:D
答案解析:
本题考查软件开发工程需求分析相关问题。
用户与系统分析人员交流所使用的文档可以包括以下:
用户使用手册是详细描述软件的功能、性能和用户界面,使用户了解到如何使用该软件的说明书,一般是开发完成之后交付给客户的。
30、如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要(1)个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为(2)。
input A,n
for i = 2 to n
key = A[i]
j = i-1
while j > 0 and A[j]>key
A[j+1]=A[j]
j = j-1
A[j+1] = key
(1)
A、1
B、2
C、3
D、4
(2)
A、2
B、1
C、3
D、4
参考答案:A、C
答案解析:
针对于伪代码而言,我们具体能够根据其关系判断,做得应该是将一组数据,按照从小到大的顺序进行排序的过程,实质是属于插入排序的算法。
首先对于第一个问题,要实现语句覆盖,至少需要多少个测试用例,我们只需要一组数据就能够得到不断重复排序后的输出结果。