软件设计师经典100题
1、中断向量提供的是( )。
A.中断源的设备地址
B.中断服务程序的入口地址
C.传递数据的起始地址
D.主程序的断点地址
答案:
B
解析:
本题是对中断的概念考查。
中断是这样一个过程: 在CPU执行程序的过程中,由于某一个外部的或CPU内部事件的发生,使CPU暂时中止正在执行的程序,转去处理这一事件(即执行中断服务程序),当事件处理完毕后又回到原先被中止的程序,接着中止前的状态继续向下执行。这一过程就称为中断。
其中对于中断源的识别标志,是可用来形成相应的中断服务程序的入口地址或存放中断服务程序的首地址,也称为中断向量。其他选项为干扰项。本题选择B选项。
2、不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做( )。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定在编译时进行,叫做( );而( )则在运行时进行,即一个给定的过程调用和执行代码的结合直到调用发生时才进行。
A.继承
B.多态
C.动态绑定
D.静态绑定
A.继承
B.多态
C.动态绑定
D.静态绑定
A.继承
B.多态
C.动态绑定
D.静态绑定
答案:
第1题:B
第2题:D
第3题:C
解析:
本题考查面向对象中的基本概念。
在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态(polymorphism)。在使用多态的时候,用户可以发送一个通用的消息,而实现的细节则由接收对象自行决定。这样,同一消息就可以调用不同的方法。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,叫做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。
动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类的一个特例,所以,父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。
3、对于正规式0*(10*1)*0*,其正规集中字符串的特点是( )。
A.开头和结尾必须是0
B.1必须出现偶数次
C.0不能连续出现
D.1不能连续出现
答案:
B
解析:
本题考查程序语言基础知识。
闭包运算符“*”将其运算对象进行若干次连接,因此0*表示若干个0构成的串,而(10*1)*则表示偶数个1构成的串。
4、若用n个权值构造一棵最优二叉树(哈夫曼树),则该二叉树的结点总数为( )。
A.2n
B.2n-1
C.2n+1
D.2n+2
答案:
B
解析:
本题考查数据结构基础知识。
二叉树具有以下性质:度为2的结点(双分支结点)数比度为0(叶子结点)数正好少1,并且最优二叉树中只有度为2和0的结点,因此,其结点总数为2n-1。
5、李某在某软件公司兼职,为完成该公司交给的工作,做出了一项涉及计算机程序的发明。李某认为该发明是自己利用业余时间完成的,可以个人名义申请专利。关于此项发明的专利申请权应归属( )。
A.李某
B.李某所在单位
C.李某兼职的软件公司
D.李某和软件公司约定的一方
答案:
C
解析:
职务发明是指执行本单位的任务和主要利用本单位的物质条件所完成的发明创造。我国专利法第6条第一款规定:“执行本单位的任务或者主要是利用本单位的物质技术条件所完成的发明创造为职务发明创造。职务发明创造申请专利的权利属于该单位;申请被批准后,该单位为专利权人。”本题题干描述中为职务发明,因此专利权属于公司所有。
6、某项目组拟开发一个大规模系统,且具备了相关领域及类似规模系统的开发经验。下列过程模型中,( )最适合开发此项目。
A.原型模型
B.瀑布模型
C.V模型
D.螺旋模型
答案:
B
解析:
本题主要考查我们对各开发模型的理解。
瀑布模型具有可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审等优点。但瀑布模型过于理想化,而且缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求。
原型模型一般是基于需求不容易明确这一事实:并非所有的需求在系统开发之前都能准确地说明和定义。因此,它不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法。快速原型法适用于需求不够明确的项目。
V模型一种典型的测试模型,该模型强调开发过程中测试贯穿始终。
螺旋模型综合了瀑布模型和演化模型的优点,并在此基础上还增加了风险分析。采用螺旋模型时,软件开发沿着螺旋线自内向外旋转,每转一圈都要对风险进行识别和分析,并采取相应的对策。
本题描述的是一个大型项目,那么对文档的要求应该相应较高,而且具备了相关领域及类似规模系统的开发经验,那么系统的需求应该较明确,综合考虑,应该采用瀑布模型。
7、在CPU中用于跟踪指令地址的寄存器是( )。
A.地址寄存器(AR)
B.数据寄存器(MDR)
C.程序计数器(PC)
D.指令寄存器(IR)
答案:
C
解析:
本题主要考查寄存器的相关内容。
程序计数器是用于存放下一条指令所在单元的地址的地方。在程序执行前,必须将程序的起始地址,即程序的一条指令所在的内存单元地址送入程序计数器,当执行指令时,CPU将自动修改程序计数器的内容,即每执行一条指令程序计数器增加一个量,使其指向下一个待指向的指令。程序的转移等操作也是通过该寄存器来实现的。因此CPU中跟踪指令地址的是程序计数器(PC)。
指令寄存器一般用来保存当前正在执行的一条指令。
数据寄存器主要是用来保存操作数和运算结果等信息的,其目的是为了节省读取操作数所需占用总线和访问存储器的时间。
地址寄存器一般用来保存当前CPU所访问的内存单元的地址,以方便对内存的读写操作。
8、包含8个成员的开发小组的沟通路径最多有( )条。
A.28
B.32
C.56
D.64
答案:
A
解析:
在知道小组成员后,求沟通路径可按公式n x (n-1)/2求解,那么题目告诉我们开发小组有8个成员,即存在的沟通路径为8 x (8-1)/2=28条。
9、下列关于风险的叙述不正确的是( )。
A.可能发生的事件
B.一定会发生的事件
C.会带来损失的事件
D.可能对其进行干预,以减少损失的事件
答案:
B
解析:
本题主要考查我们对风险概念的理解。
目前,对风险大致有两种定义:一种定义强调了风险表现为不确定性;而另一种定义则强调风险表现为损失的不确定性。其中广义的定义是:风险表现为损失的不确定性,说明风险产生的结果可能带来损失、获利或是无损失也无获利。
从风险的定义我们不难看出,风险是可能发生的事件,而且是会带来损失的事件,人为对其干预,可能会减少损失。
10、下图是一个软件项目的活动图,其中顶点表示项目里程碑,边表示包含的活动,边上的权重表示活动的持续时间,则里程碑( )在关键路径上。
A.1
B.2
C.3
D.4
答案:
B
解析:
本题主要考查关键路径求解的问题。
从开始顶点到结束顶点的最长路径为关健路径(临界路径),关键路径上的活动为关键活动。
在本题中找出的最长路径是Start->2->5->7->8->Finish,其长度为8+15+15+7+20=65,而其它任何路径的长度都比这条路径小,因此我们可以知道里程碑2在关键路径上。
11、算术表达式采用逆波兰式表示时不用括号,可以利用( )进行求值。与逆波兰式ab-cd+*对应的中缀表达式是( )。
A.数组
B.栈
C.队列
D.散列表
A.a-b+c*d
B.(a-b)*c+d
C.(a-b)*(c+d)
D.a-b*c+d
答案:
第1题:B
第2题:C
解析:
逆波兰式也叫后缀表达式,即将运算符写在操作数之后的表达式,它不需使用括号,在将算术表达式转换为逆波兰式表示时,需要分配2个栈,一个作为临时存储运算符的栈S1(含一个结束符号),一个作为输入逆波兰式的栈S2(空栈)。
而逆波兰式ab-cd+*转换为中缀表达式的过程为:ab-cd+* = (ab-)*(cd+) = (a-b)*(cd+) = (a-b)*(c+d)。因此本题答案选C。
12、某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统的字长为32位,磁盘上的物理块依次编号为:0、1、2、…,那么4096号物理块的使用情况在位示图中的第( )个字中描述;若磁盘的容量为200GB,物理块的大小为1MB,那么位示图的大小为( )个字。
A.129
B.257
C.513
D.1025
A.600
B.1200
C.3200
D.6400
答案:
第1题:A
第2题:D
解析:
位示图法是为管理磁盘空闲存储空间而提出的一种方法,该方法是在外存上建立一张位示图来记录文件存储器的使用情况。每一位仅对应文件存储器上的一个物理块,取值0和1分别表示空闲和占用。
在本题中,题目告诉我们字长32位,即一个字可以表示32个物理块得使用情况,而物理块依次编号为:0、1、2、…,那么第4096号物理块的使用情况应该在位示图中的第129个字中描述,因为(4096+1)/32等于128余1,所以这一位应属于第129个字的第一位,其中4096+1的这个1是因为编号是从0开始计数的,所以才加1。
由于磁盘的容量为200GB,每个物理块的大小为1MB,那么总共有200GB/1MB=200 x1024个物理块,需要200 x1024位来表示,因此位示图中字的个数=200 x1024/32=6400个。
13、在软件维护阶段,为软件的运行增加监控设施属于( )维护。
A.改正性
B.适应性
C.完善性
D.预防性
答案:
C
解析:
根据引起软件维护的原因不同,软件维护通常可分为以下四种类型:
改正性维护。是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动。该类维护一般占总维护工作量的25%。
适应性维护。是指为了适应变化了的环境而修改软件的活动。该类维护一般占总维护工作量的20%。
完善性维护。是指为了扩充或完善原有软件的功能或性能而修改软件的活动。该类维护一般占总维护工作量的50%。
预防性维护。是指为了提高软件的可维护性和可靠性、为未来的进一步改进打下基础而修改软件的活动。该类维护一般占总维护工作量的5%。
而本题所描述的为软件的运行增加监控设施属于完善性维。
14、给定关系模式R,U= {A,B,C},F={AB→C,C→B}。关系R( ),且分别有( )。
A.只有1个候选关键字AC
B.只有1个候选关键字AB
C.有2个候选关键字AC和BC
D.有2个候选关键字AC和AB
A.1个非主属性和2个主属性
B.2个非主属性和1个主属性
C.0个非主属性和3个主属性
D.3个非主属性和0个主属性
答案:
第1题:D
第2题:C
解析:
本题主要考查函数依赖的基础知识。
关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为候选码。
但这里大家要注意,如果一个关系有多个不同的主码时,那么这些主码组合在一起就是候选码,也就是说一个关系的主码只能选一个,而候选码可以有多个,这就好选总统一样,候选人可以多个,但最终的总统只能有一个,当然也有些地方的候选人就只有一个,候选码也一样,也有可能只有一个,在这种情况下,候选码就是主码。
主属性和非主属性是互补的,一个关系模式中的属性不是主属性就是非主属性。组成候选码的属性就是主属性,其它的就是非主属性,所以要判断关系模式中的属性是主属性还是非主属性,首先要求解出其候选码。
在本题中,从题目给出的函数依赖关系我们可以看出,AB能推导出C,即能推导出所有的属性;而C能推导出B,同样,AC也能推导出所有的属性,因此AB与AC都是该关系的候选码。所以该关系中的属性都是主属性,没有非主属性。
15、在程序的执行过程中,Cache与主存的地址映像由( )。
A.专门的硬件自动完成
B.程序员进行调度
C.操作系统进行管理
D.程序员和操作系统共同协调完成
答案:
A
解析:
Cache与主存的地址映像需要专门的硬件自动完成,使用硬件来处理具有更高的转换速率。
16、 无向图中一个顶点的度是指图中与该顶点相邻接的顶点数。若无向图G中的顶点数为n,边数为e,则所有顶点的度数之和为( )。
A.n*e
B.n e
C.2n
D.2e
答案:
D
解析:
在无向图中,一条边连接两个顶点,即如果存在一条边,那么与这条边相关的两个顶点的度都为加1,那么总的度就应该加2,因此,如果图中有n条边,那么所有顶点的度数之和就应该为2e。
17、内存单元按字节编址,地址0000A000H~0000BFFFH共有( )个存储单元。
A.8192K
B.1024K
C.13K
D.8K
答案:
D
解析:
本题考查计算机中的存储部件组成
内存按字节编址,地址从0000A000H到0000BFFFH时,存储单元数为0000BFFFH -0000A000H +1H=00002000H,转换为二进制后为0010 0000 0000 0000即213,即8K个存储单元。
18、一条指令的执行过程可以分解为取指、分析和执行三步,在取指时间t取指=3△t、分析时间t分析=2△t、执行时间t执行=4△t的情况下,若按串行方式执行,则10条指令全部执行完需要( )△t;若按流水线的方式执行,则10条指令全部执行完需要( )△t。
A.40
B.70
C.90
D.100
A.20
B.30
C.40
D.45
答案:
第1题:C
第2题:D
解析:
串行执行时,每条指令都需三步才能执行完,没有重叠。总的执行时间为:(3+2+4)△t×10=90△t。
按流水线方式执行,系统在同一时刻可以进行第k条指令的取指,第k+1条指令的分析,第k+2条指令的执行,所以效率大大提高了。我们平时用的流水线计算公式是:第一条指令顺序执行时间+(指令条数-1)*周期,而周期与三个步骤时间最长的一段保持一致,因此本题的计算结果为:9+(10-1)*4=45。
19、甲和乙要进行通信,甲对发送的消息附加了数字签名,乙收到该消息后利用( )验证该消息的真实性。
A.甲的公钥
B.甲的私钥
C.乙的公钥
D.乙的私钥
答案:
A
解析:
数字签名技术是对非对称加密技术与信息摘要的综合应用。通常的做法是:先对正文产生信息摘要,之后使用发送者A的私钥对该信息摘要进行加密,这就完成了签名。当接收者B收到签了名的摘要以后,会对摘要使用发送者A的公钥进行解密(认证),若能认证,则表明该信息确实是由A发送的。这就是数字签名技术。
20、模块A执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能,则该模块具有( )内聚。
A.顺序
B.过程
C.逻辑
D.功能
答案:
C
解析:
内聚是指模块内部各元素之间联系的紧密程度,模块的内聚类型通常可以分为7种,根据内聚度从高到低排序分别如下:
功能内聚:完成一个单一功能,各个部分协同工作,缺一不可。
顺序内聚:处理元素相关,而且必须顺序执行。
通信内聚:所有处理元素集中在一个数据结构的区域上。
过程内聚:处理元素相关,而且必须按特定的次序执行。
瞬时内聚:所包含的任务必须在同一时间间隔内执行(如初始化模块)。
逻辑内聚:完成逻辑上相关的一组任务。
偶然内聚:完成一组没有关系或松散关系的任务。
21、对于逻辑表达式“x and y or not z”,and、or、not分别是逻辑与、或、非运算,优先级从高到低为not、and、or,and、or为左结合,not为右结合,若进行短路计算,则( )。
A.x为真时,整个表达式的值即为真,不需要计算y和z的值
B.x为假时,整个表达式的值即为假,不需要计算y和z的值
C.x为真时,根据y的值决定是否需要计算z的值
D.x为假时,根据y的值决定是否需要计算z的值
答案:
C
解析:
本题主要考查逻辑与、或运算。
逻辑与运算需要考虑两个操作数的值,对于本题的运算优先级,最后计算的是逻辑或运算,而逻辑或只要第一个操作数为真,那么整个计算结果即为真,这种情况下无需考虑其第二个操作数的值。
对于逻辑或的两端分别为(x and y)和(not z),如果前者为真,则不用计算其他表达式,只有当x为真且y也为真时,整个表达式不需要计算(not z)部分,因此本题的答案选C。
22、下图所示为一个有限自动机(其中,A是初态、C是终态),该自动机所识别的字符串的特点是( )。
A.必须以11结尾的0、1串
B.必须以00结尾的0、1串
C.必须以01结尾的0、1串
D.必须以10结尾韵0、1串
答案:
C
解析:
被有限自动机所识别是指从初态开始到终态结束,所输入的字符串能够按顺序地执行下去,若到某个状态不能往下走得到下一个字符,则认为不能识别。
在本题中,从初态A出发,不管经过多少个1和0之后,只能是处在A、B、C三种状态中的一种,所以在(0|1)*后,只能是处在A、B、C三种状态中的一种,不管是在那个状态,输入0后,都会处在状态B,然后输入1,都会转换到状态C,因此与本题有限自动机等价的正规式是(0|1)*01,即该自动机所识别的字符串的特点是必须以01结尾的0、1串。
23、以下关于数据流图的叙述中,不正确的是( )。
A.每条数据流的起点或终点必须是加工
B.必须保持父图与子图平衡
C.每个加工必须有输入数据流,但可以没有输出数据流
D.应保持数据守恒
答案:
C
解析:
本题主要考查数据流图的平衡原则。
对于数据流图,必须要保持父图与子图平衡,且每个加工必须要有输入数据流和输出数据流,而每条数据流都至少有一端是加工,而且还要能保持数据守恒(即相关数据流经过加工后得到相应的输出数据流)。
24、某软件项目的活动图如下所示。图中顶点表示项目里程碑,连接顶点的边表示包含的活动,则里程碑( )在关键路径上,活动FG的松弛时间为( )。
A.B
B.C
C.D
D.I
A.19
B.20
C.32
D.24
答案:
第1题:C
第2题:B
解析:
关键路径是图中从起点到终点长度最长的那条路径,而关键路径的长度则是整个项目的工期。在本题中,路径START-D-F-H-FINISH的长度为48,是最长的一条路径,因此其是关键路径,因此D点是关键路径上的里程碑。
要求活动的松弛时间,就要求出活动的最早开始时间和最晚开始时间,其最晚开始时间减去最早开始时间,就是活动的松弛时间。对于活动FG,其最早开始时间是10+8=18,而最晚开始时间48-7-3=38,因此该活动的松弛时间是20。
25、语言L={ambn | m >= 0, n >= 1}的正规表达式是( )。
A.aa*bb*
B.a*bb*
C.aa*b*
D.a*b*
答案:
B
解析:
由于m的值大于等于0,因此a的个数可能没有,也可能是多个,与之对应的是a*,而n的值是大于等于1的,因此至少有一个b,那么与之对应的就是bb*,所以本题答案选B。
26、算术表达式(a-b)*c+d的后缀式是( )(-、+、*表示算术的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
A.a b c d - * +
B.a b – c d * +
C.a b – c * d +
D.a b c – d * +
答案:
C
解析:
本题要求通过中缀表达式,求后缀式(也称为逆波兰)。解答这类问题,可以借助于二叉树。因为中缀表达式对应于一颗二叉树的中序遍历,前缀表达式对应于二叉树的前序遍历,后缀表达式对应于二叉树的后序遍历。所以在本题中,需要先把二叉树构造处理。将表达式(a-b)*c+d构造成二叉树,如图所示。
将此树进行后序遍历,得到:ab-c*d+。
27、某系统中仅有5个并发进程竞争某类资源,且都需要3个该类资源,那么至少有( )个该类资源,才能保证系统不会发生死锁。
A.9
B.10
C.11
D.15
答案:
C
解析:
本题主要考查进程死锁的问题。
题目告诉我们有5个并发进程,且都需要3个资源,那么最坏的情况就是,每个进程都获得了比需要少一个的资源,即5个进程都分配了2个资源,如果这个时候,系统还有多的一个资源,那么无论分给那个进程,都不会死锁,这个时候是11个资源。因此系统只要有11个资源,那么无论怎么分配资源都不会死锁。
28、在13个元素构成的有序表M[1..13]中进行折半查找(向下取整),若找到的元素为M[4],则被比较的元素依次为( )。
A.M[7]、 M[3]、M[5]、M[4]
B.M[7]、M[5]、M[4]
C.M[7]、M[6]、M[4]
D.M[7]、M[4]
答案:
A
解析:
整个查找的过程为:
(1+13)/2=7,因此首先与第7元素比较,由于要查找的元素在其前面,因此用(1+7-1)/2=3,然后与第3个元素比较,由于待查找在其后面,因此用(3+1+6)/2=5,因此接下来与第5个元素进行比较,最后再与第4个元素比较,找到了M[4]。
29、拓扑排序是将有向图中所有顶点排成一个线性序列的过程,并且该序列满足:若在AOV网中从顶点Vi到Vj有一条路径,则顶点Vì必然在顶点Vj之前。对于下面所示的有向图,( )是其拓扑序列。
A.1234576
B.1235467
C.2135476
D.2134567
答案:
C
解析:
本题考查数据结构中的拓扑排序。
拓扑排序通俗一点来讲,其实就是依次遍历没有前驱结点的结点。而某一时刻没有前驱结点的结点有可能存在多个,所以一个图的拓扑排序可能有多个。
以本题为例,1号结点与2号结点都没有前驱结点,所以拓扑排序的第一个元素可以是1,也可以是2。当1与2都访问完了,便可访问3号结点,3号结点访问完了,便可访问5号结点,访问完5号结点,可访问4号,或是7号结点。
所以拓扑排序结果为:(12)35(47)6。括号中有多个数字,则代表在这多个数字的顺序可以变化。
这样,具体的拓扑排序结果为:1235476、1235746、2135476、2135746。
30、 地址编号从80000H到BFFFFH且按字节编址的内存容量为( )KB,若用16K*4bit的存储器芯片构成该内存共需( )片。
A.128
B.256
C.512
D.1024
A.8
B.16
C.32
D.64
答案:
第1题:B
第2题:C
解析:
从80000H到BFFFFH有BFFFFH-80000H+1个地址单元,即40000H个地址单元。若按字节编址,有218个字节,即256KB。若用16K*4bit的存储芯片,需要(256K*1B)/(16K*4bit)=(256K*8bit)/(16K*4bit)=(256K*2*4bit)/(16K*4bit) = 32片芯片。
31、以下关于传值调用与引用调用的叙述中,正确的是( )。
①在传值调用方式下,可以实现形参和实参间双向传递数据的效果
②在传值调用方式下,实参可以是变量,也可以是常量和表达式
③在引用调用方式下,可以实现形参和实参间双向传递数据的效果
④在引用调用方式下,实参可以是变量,也可以是常量和表达式
A.①③
B.①④
C.②③
D.②④
答案:
C
解析:
传值调用最显著的特征就是被调用的函数内部对形参的修改不影响实参的值。引用调用是将实参的地址传递给形参,使得形参的地址就是实参的地址,函数中对形参的修改会导致原实参值的改变,因此可以实现实参与形参之间数据的双向传递。
在传值调用中,实参可以是变量,也可以是常量和表达式,而在传址调用中,实参不能是常量。
32、 进程资源图如图(a)和(b)所示,其中:图(a)中( );图(b)中( )。
A.P1是非阻塞节点,P2是阻塞节点,所以该图不可以化简,是死锁的
B.P1、P2都是阻塞节点,所以该图不可以化简,是死锁的
C.P1、P2都是非阻塞节点,所以该图可以化简,是非死锁的
D.P1是阻塞节点,P2是非阻塞节点,所以该图不可以化简、是死锁的
A.P1、P2、P3都是非阻塞节点,该图可以化简,是非死锁的
B.P1、P2、P3都是阻塞节点,该图不可以化简,是死锁的
C.P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,是非死锁的
D.P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,是死锁的
答案:
第1题:B
第2题:C
解析:
第1题:
由(a)图可知R1资源共有2个,分别被进程P1和P2占用;R2资源有3个,P1占用1个,P2占用2个。而此时进程P1与P2的资源都未完全得到满足。他们都在申请资源,而R1和R2已经没有资源可以使用了,导致两个进程都进入了死锁状态。
由(b)图可知,R1的2个资源已经分别被P1和P3所占用,R2的3个资源已经占用了2个,此时P2还需要一个R1资源但没有空闲,进入阻塞,而当进程P1和P3请求占用R2的时候,无论分配给哪一方都可以使两个进程都满足所需的资源,从而可以化简,P2也可得所需的R1资源。因此P1和P3是非阻塞节点,P2是阻塞节点。
第2题:
33、( )设计模式能使一个对象的状态发生改变时通知所有依赖它的监听者。( )设计模式限制类的实例对象只能有一个。适配器(Adapter)设计模式可以用于( )。用于为一个对象添加更多功能而不使用子类的是( )设计模式
A.责任链
B.命令
C.抽象工厂
D.观察者
A.原型
B.工厂方法
C.单例
D.生成器
A.将已有类的接口转换成和目标接口兼容
B.改进系统性能
C.将客户端代码数据转换成目标接口期望的合适的格式
D.使所有接口不兼容类可以一起工作
A.桥接
B.适配器
C.组合
D.装饰器
答案:
第1题:D
第2题:C
第3题:A
第4题:D
解析:
观察者模式(有时又被称为发布-订阅Subscribe>模式、模型-视图View>模式、源-收听者Listener>模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。
单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。
适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。
装饰者模式。装饰模式是在不必改变原类文件和使用继承的情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
34、计算机中提供指令地址的程序计数器PC在( )中。
A.控制器
B.运算器
C.存储器
D.I/O设备
答案:
A
解析:
本题是对CPU组成相关概念的考查。
存储器和I/O设备是计算机中的其他组成部分,与程序计数器PC无关。
CPU可以分为运算器和控制器两个部分。
运算器包括:算术逻辑单元ALU、累加寄存器AC、数据缓冲寄存器DR。状态条件寄存器PSW归属有争议,既可以属于运算器,也可以属于控制器。
控制器包括:程序计数器PC、指令寄存器IR、指令译码器ID、时序部件。
PC是控制器中的子部件。本题选择A选项。
35、甲、乙两个申请人分别就相同内容的计算机软件发明创造,向国务院专利行政部门提出专利申请,甲先于乙一日提出,则( )。
A.甲获得该项专利申请权
B.乙获得该项专利申请权
C.甲和乙都获得该项专利申请权
D.甲和乙都不能获得该项专利申请权
答案:
A
解析:
本题考查知识产权的归属。
对于专利权而言,是谁先申请则属于谁。已知甲先于乙一日提出,故专利权归属与甲。
正确答案选择A选项。
36、按照我国著作权法的权利保护期,以下权利中,( )受到永久保护。
A.发表权
B.修改权
C.复制权
D.发行权
答案:
B
解析:
本题考查著作权的保护期限问题。
著作权中修改权、署名权、保护作品完整权都是永久保护的。
故本题正确答案选择B选项。
37、结构化分析方法中,数据流图中的元素在( )中进行定义。
A.加工逻辑
B.实体联系图
C.流程图
D.数据字典
答案:
D
解析:
本题考查软件工程的数据流图和数据字典。
数据字典会对数据流图中元素进行定义说明。用数据字典来对数据流图的元素进行解释说明,故本题正确答案选择D选项。
38、良好的启发式设计原则上不包括( )。
A.提高模块独立性
B.模块规模越小越好
C.模块作用域在其控制域之内
D.降低模块接口复杂性
答案:
B
解析:
1、模块化设计要求高内聚、低耦合,模块独立体现的就是高内聚低耦合。A选项正确。
2、在结构化设计中,系统由多个逻辑上相对独立的模块组成,在模块划分时需要遵循如下原则:
(1)模块的大小要适中。系统分解时需要考虑模块的规模,过大的模块可能导致系统分解不充分,其内部可能包括不同类型的功能,需要进一步划分,尽量使得各个模块的功能单一;过小的模块将导致系统的复杂度增加,模块之间的调用过于频繁,反而降低了模块的独立性。不是越小越好。B选项错误。
(2)模块的扇入和扇出要合理。模块的扇入指模块直接上级模块的个数。模块的直属下级模块个数即为模块的扇出。
(3)深度和宽度适当。深度表示软件结构中模块的层数,如果层数过多,则应考虑是否有些模块设计过于简单,看能否适当合并。宽度是软件结构中同一个层次上的模块总数的最大值,一般说来,宽度越大系统越复杂,对宽度影响最大的因素是模块的扇出。在系统设计时,需要权衡系统的深度和宽度,尽量降低系统的复杂性,减少实施过程的难度,提高开发和维护的效率。需要控制模块接口的复杂性。D选项正确。
3、尽力使模块的作用域在其控制域之内。模块控制域:这个模块本身以及所有直接或间接从属于它的模块的集合。模块作用域:指受该模块内一个判定所影响的所有模块的集合。C选项正确。
39、如下所示的软件项目活动图中,顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天), 则完成该项目的最短时间为( )天。在该活动图中,共有( )条关键路径。
A.17
B.19
C.20
D.22
A.1
B.2
C.3
D.4
答案:
第1题:D
第2题:B
解析:
第1题:
本题考查项目管理知识。
正确答案选择D、B。
40、假设系统中有三个进程P1、P2和P3,两种资源R1、R2。如果进程资源图如图①和图②所示,那么( )。
A.图①和图②都可化简
B.图①和图②都不可化简
C.图①可化简,图②不可化简
D.图①不可化简,图②可化简
答案:
C
解析:
本题考查的是进程资源图的分析。
图①当前状态下:
R1:已分配2个,剩余1个。
R2:已分配3个,剩余0个。
P1:已获得1个R1,1个R2,无其他资源需求,可化简,化简后释放当前1个R1,1个R2。
P2:已获得1个R2,仍需2个R1,此时R1资源不足,P2是阻塞结点。等待P1释放后可化简。
P3:已获得1个R1,1个R2,仍需1个R2,此时R2资源不足,P3是阻塞结点。等待P1释放后可化简。
图②当前状态下:
R1:已分配3个,剩余0个。
R2:已分配2个,剩余0个。
P1:已获得1个R1,仍需1个R2,此时R2资源不足,P1是阻塞结点。
P2:已获得1个R1,1个R2,仍需1个R1,此时R1资源不足,P2是阻塞结点。
P3:已获得1个R1,1个R2,仍需1个R2,此时R2资源不足,P3是阻塞结点。
所有结点均阻塞,无法化简。
本题只有C选项描述是正确的。
41、假设系统有n(n≥5)个进程共享资源R,且资源R的可用数为5。若采用PV操作,则相应的信号量S的取值范围应为( )。
A.-1~n-1
B.-5~5
C.-(n-1)~1
D.-(n-5)~5
答案:
D
解析:
本题考查的PV操作中信号量的分析。
PV信息量的取值表示资源数,最大值为初始可用资源5;
当信号量取值小于0时,可表示排队进程数,此时n个进程,最大排队数为n-5,信号量最小取值为-(n-5)。本题选择D选项。
希赛点拨:
资源数是5,被进程使用。没进程使用的时候,资源数是5,来一个进程使用,就是5-1,再来一个进程使用就是(5-1)-1,以此类推,当有n个进程使用时,就是5-n,也就是-(n-5)。
42、软件可靠性是指系统在给定的时间间隔内、在给定条件下无失效运行的概率。若MTTF和MTTR分别表示平均无故障时间和平均修复时间,则公式( )可用于计算软件可靠性。
A.MTTF/(1+MTTF)
B.1/(1+MTTF)
C.MTTR/(1+MTTR)
D.1/(1+MTTR)
答案:
A
解析:
本题考查的是计算机性能指标的概念。
可靠性可以用MTTF/(1+MTTF)来度量。本题选择A选项。
MTBF/(1+MTBF)可以用来度量可用性。
1/(1+MTTR)可以用来度量可维护性。没有MTTR/(1+MTTR)的表示。
43、进行面向对象系统设计时,针对包中的所有类对于同一类性质的变化;一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。这属于( )设计原则。
A.共同重用
B.开放-封闭
C.接口分离
D.共同封闭
答案:
D
解析:
本题考查面向对象的设计原则。
共同封闭原则:包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任何影响。面向对象设计的原则之一。
共同重用原则:面向对象编程术语,指一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么也就相当于重用了包中的所有类。
开放-封闭原则:对扩展开放,对修改封闭。
接口隔离原则:使用多个专门的接口比使用单一的总接口要好。
故本题选择D选项。
44、函数foo()、hoo()定义如下,调用函数hoo()时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式。设有函数调用foo(5),那么“print(x)”执行后输出的值为( )。
A.24
B.25
C.30
D.36
答案:
A
解析:
本题考查的是函数调用过程(值调用与引用调用相关知识)。
根据题干描述的调用过程,hoo()第一个参数是传值调用,第二个参数是引用调用,因此,在hoo()中对a的修改最终会影响到原foo()函数中传递的参数x,也就是最终x打印的值。
根据hoo()函数过程,x初始传参为原args=5,此时x=x-1=4(注意这里的x是局部变量,只在hoo()使用),a初始传参为原x=6,此时a=a*x=6*4=24,最终全局变量x值为24。(注意这里的原x是全局变量,在hoo()参数中可以理解为别名为a,现x是局部变量,也就是之前求取的4)。
本题选择A选项。
45、某有限自动机的状态转换图如下图所示,该自动机可识别( )。
A.1001
B.1100
C.1010
D.0101
答案:
B
解析:
本题考查的是有限自动机相关知识。
A选项从s0出发,1001到达s1,没有到达终态s2,不能被自动机识别。
B选项从s0出发,1100成功到达终态s2,可以被自动机识别。本题选择B选项。
C选项从s0出发,1010到达s0,没有到达终态s2,不能被自动机识别。
D选项从s0出发,0101到达s1,没有到达终态s2,不能被自动机识别。
46、某高校信息系统设计的分E-R图中,人力部门定义的职工实体具有属性:职工号、姓名、性别和出生日期;教学部门定义的教师实体具有属性:教师号、姓名和职称。这种情况属于( ),在合并E-R图时,( )解决这一冲突。
A.属性冲突
B.命名冲突
C.结构冲突
D.实体冲突
A.职工和教师实体保持各自属性不变
B.职工实体中加入职称属性,删除教师实体
C.教师也是学校的职工,故直接将教师实体删除
D.将教师实体所有属性并入职工实体,删除教师实体
答案:
第1题:C
第2题:B
解析:
第1题:
本题是对数据库概念设计的考查。
关于冲突的概念:
A选项属性冲突。同一属性可能会存在于不同的分E-R图,由于设计人员不同或是出发点不同,对属性的类型、取值范围和数据单位等可能会不一致。
B选项命名冲突。相同意义的属性在不同的分E-R图中有着不同的命名,或是名词相同的属性在不同的分E-R图中代表着不同的意义。
C选项结构冲突。同一实体在不同的分E-R图中有不同的属性,同一对象在某一分E-R图中被抽象为实体,而在另一分E-R图中又被抽象为属性,需要统一。本题属于结构冲突,选择C选项。
D选项没有实体冲突的说法。
第2题:
根据题干来看,因为存在冲突,需要某些操作去解决,所以A选项保持不变无法解决问题。C选项直接删除教师实体,会丢失教师中的职称属性。D选项并入的方式,会重复记录姓名属性。只有B选项相对合适一些,将职称属性加入职工实体,然后删除教师实体,过程中还需要对属性名称进行统一调整。本题选择B选项。
47、假设关系R<U, F>, U={A,B,C,D},F= {A→BC,AC→D,B→D},那么在关系R中( )。
A.不存在传递依赖,候选关键字A
B.不存在传递依赖,候选关键字AC
C.存在传递依赖A→D,候选关键字A
D.存在传递依赖B→D,候选关键字C
答案:
C
解析:
本题考查的是候选键相关内容。
根据函数依赖,首先找到入度为0的属性集合A,又根据A→BC,这里根据amstrong公理中的分解规则,可以得到A→B,A→C,同时存在B→D,此时有传递函数依赖A→D,可以通过A遍历全图,因此候选键为A。本题选择C选项。
48、以下关于Huffman (哈夫曼)树的叙述中,错误的是( )。
A.权值越大的叶子离根结点越近
B.Huffman(哈夫曼)树中不存在只有一个子树的结点
C.Huffman(哈夫曼)树中的结点总数一定为奇数
D.权值相同的结点到树根的路径长度一定相同
答案:
D
解析:
本题考查的是哈夫曼树相关知识。
根据哈夫曼树的构造过程,权值越大的叶子结点选择越靠后也就离根越近,A选项描述正确。
每一次构造都会选择两个权值,所以哈夫曼树中不存在只有一个子树的结点,B选项描述正确。
二叉树存在一个特定度为0的结点(叶子结点)记作n0,度为2的结点记作n2,满足n2+1= n0。哈夫曼树只有度为0和度为2的结点,二者必定差值为1,因此,结点总数即二者之和n0+n2=(n2+1)+n2=2n2+1时,必定为奇数,所以C选项正确。
对于D选项,权值相同的结点可能会因为构造的形态不同,导致构造结果不一样,权值不一样,所以描述是错误的。本题选择错误的描述,因此选择D选项。
49、在线性表L中进行二分查找,要求L( )。
A.顺序存储,元素随机排列
B.双向链表存储,元素随机排列
C.顺序存储,元素有序排列
D.双向链表存储,元素有序排列
答案:
C
解析:
本题考查二分查找相关知识。
二分查找的前提条件是顺序存储,且有序排列。本题选择C选项。
50、某有向图如下所示,从顶点v1出发对其进行深度优先遍历,可能得到的遍历序列是( );从顶点v1出发对其进行广度优先遍历,可能得到的遍历序列是( )。
①v1 v2 v3 v4 v5
②v1 v3 v4 v5 v2
③v1 v3 v2 v4 v5
④v1 v2 v4 v5 v3
A.①②③
B.①③④
C.①②④
D.②③④
A.①②
B.①③
C.②③
D.③④
答案:
第1题:D
第2题:B
解析:
第1题:
本题考查图的遍历操作。
根据图示:
第一空,作为深度遍历,v1-v2,下一个遍历的结点,一定是有v2指向的v4或v5,序列①不符合要求。因此本题排除①后,选择D选项。
第2题:
作为广度遍历,v1下一个访问的一定时期邻接顶点v2或v3,这2个顶点访问结束后,才能往后进行遍历,因此只有序列①③符合要求 ,此处选择B选项。
51、对数组A=(2,8,7,1,3,5,6,4)用快速排序算法的划分方法进行一趟划分后得到的数组A为( )(非递减排序,以最后一个元素为基准元素)。进行一趟划分的计算时间为( )。
A.(1,2,8,7,3,5,6,4)
B.(1,2,3,4,8,7,5,6)
C.(2,3,1,4,7,5,6,8)
D.(2,1,3,4,8,7,5,6)
A.O(1)
B.O(lgn)
C.O(n)
D.O(nlgn)
答案:
第1题:C
第2题:C
解析:
第1题:
本题考查的是排序算法。
本题根据快速排序的过程,首先选定基准元素为最后一个元素(题干给出的要求),下面进行排序过程:
(1)基准元素4与另一端待排第一个元素2进行比较,满足非递减,不需要交换;
(2)基准元素4与另一端待排第一个元素8进行比较,不满足非递减,交换位置,此时序列为(2,4,7,1,3,5,6,8);
(3)基准元素4与另一端待排第一个元素6进行比较,满足非递减,不需要交换;
(4)基准元素4与另一端待排第一个元素5进行比较,满足非递减,不需要交换;
(5)基准元素4与另一端待排第一个元素3进行比较,不满足非递减,交换位置,此时序列为(2,3,7,1,4,5,6,8);
(6)基准元素4与另一端待排第一个元素7进行比较,不满足非递减,交换位置,此时序列为(2,3,4,1,7,5,6,8);
(7)基准元素4与另一端待排第一个元素1进行比较,不满足非递减,交换位置,此时序列为(2,3,1,4,7,5,6,8)。
综上,本题第一空选择C选项。
因为一趟划分的过程会与整个序列n个元素进行比较,因此一趟划分的时间复杂度为O(n),第二空选择C选项。
52、在浏览器的地址栏中输入xxxyftp.abc.can.cn,在该URL中( )是要访问的主机名。
A.xxxyftp
B.abc
C.can
D.cn
答案:
A
解析:
本题考查的是URL格式。
一个标准的URL格式如下:
协议://主机名.域名.域名后缀或IP地址(:端口号)/目录/文件名。
本题xxxyftp是主机名,选择A选项。
53、在CPU内外常需设置多级高速缓存(Cache),其主要目的是( )。
A.扩大主存的存储容量
B.提高CPU访问主存数据或指令的效率
C.扩大存储系统的存量
D.提高CPU访问外存储器的速度
答案:
B
解析:
在CPU内外的高速缓存是用来解决CPU与内存之间速度、容量不匹配的问题,与外存无关,可以提高CPU访问主存数据或指令的效率,所以B选项正确,D选项错误。
Cache不属于主存,与主存容量无关,所以A选项错误。
Cache容量相对于其他存储层次,量级较小,不能扩大存储系统的存量,所以C选项错误。
54、ISO/IEC软件质量模型中,易使用性是指与使用所需的努力和由一组规定或隐含的用户对这样使用所作的个别评价有关的一组属性,其子特性不包括( )。
A.易理解性
B.易学性
C.易分析性
D.易操作性
答案:
C
解析:
易用性的自特性包括易理解性、易学性、易操作性,其中C选项易分析性属于可维护性的子特性。
55、对于如下所示的有向图,其邻接矩阵是一个( )的矩阵。采用邻接链表存储时,顶点1的表结点个数为2,顶点5的表结点个数为0,顶点2和3的表结点个数分別为( )。
A.5×5
B.5×7
C.7×5
D.7×7
A.2.1
B.2.2
C.3.4
D.4.3
答案:
第1题:A
第2题:B
解析:
第1题:
根据邻接矩阵的定义,行列数都为结点个数,结点数为5,因此邻接矩阵行列数均为5,即5×5的矩阵。
根据邻接表的定义,一个顶点的表结点个数为其邻接顶点的个数,顶点2有2个邻接顶点,顶点3有2个邻接顶点。
56、某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)²)R,则该系统的构成方式是( )。
A.3个部件串联
B.3个部件并联
C.前两个部件并联后与第三个部件串联
D.第一个部件与后两个部件并联构成的子系统串联
答案:
C
解析:
A选项可靠度为R×R×R;
B选项可靠度为1-(1-R)×(1-R)×(1-R);
C选项可靠度为(1-(1-R)×(1-R))×R;
D选项可靠度为R×(1-(1-R)×(1-R))。
综合4个选项来看,符合题干描述的是C选项。
57、以下关于RISC(精简指令系统计算机)技术的叙述中,错误的是( )。
A.指令长度固定、指令种类尽量少
B.指令功能强大、寻址方式复杂多样
C.增加寄存器数目以减少访存次数
D.用硬布线电路实现指令解码,快速完成指令译码
答案:
B
解析:
本题错误的描述是B选项,RISC寻址方式比较单一,多寄存器寻址。其他描述都是正确的。
58、以编译方式翻译C/C++源程序的过程中,( )阶段的主要任务是对各条语句的结构进行合法性分析。
A.词法分析
B.语义分析
C.语法分析
D.目标代码生成
答案:
C
解析:
词法分析阶段依据语言的词法规则,对源程序进行逐个字符地扫描,从中识别出一个个“单词”符号,主要是针对词汇的检查。
语法分析的任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位,如“表达式”“语句”和“程序”等。语法规则就是各类语法单位的构成规则,主要是针对结构的检查。
语义分析阶段分析各语法结构的含义,检查源程序是否包含语义错误,主要针对句子含义的检查。
本题描述的是语法分析。
59、某文件系统采用位示图(bitmap)记录磁盘的使用情况。若计算机系统的字长为64 位,磁盘的容量为1024GB,物理块的大小为4MB,那么位示图的大小需要( )个字。
A.1200
B.2400
C.4096
D.9600
答案:
C
解析:
计算机字长为64位,那么利用位示图表示时每个字能够表示64个物理块的存储情况;
磁盘的容量为1024GB,物理块的大小为4MB,则共有1024GB/4MB=(256×1024)个物理块。(注意单位转换)
256×1024个物理块,每64个物理块占用一个字,所以需要256×1024/64=4096个字。
60、若某文件系统的目录结构如下图所示,假设用户要访问文件book2.doc,且当前工作目录为MyDrivers,则该文件的绝对路径和相对路径分别为( )。
A.MyDrivers\user2\和\user2\
B.\MyDrivers\user2\和\user2\
C.\MyDrivers\user2\和user2\
D.MyDrivers\user2\和user2\
答案:
C
解析:
绝对路径从根目录\开始,本题book2.doc的绝对路径为\MyDrivers\user2\;相对路径从当前目录下一级开始,本题book2.doc的相对路径为user2\。
61、招聘系统要求求职的人年龄在20岁到60岁之间(含),学历为本科、硕士或者博士,专业为计算机科学与技术、通信工程或者电子工程。其中( )不是好的测试用例。
A.(20,本科,电子工程)
B.(18,本科,通信工程)
C.(18,大专,电子工程)
D.(25,硕士,生物学)
答案:
C
解析:
在设计测试用例时,一个好的无效等价类,应该只从一个角度违反规则。C选项有2个维度错误,不能直接定位到错误的位置。
62、以下设计模式中,( )模式使多个对象都有机会处理请求,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理为止,从而避免请求的发送者和接收者之间的耦合关系;( )模式提供一种方法顺序访问一个聚合对象中的各个元素, 且不需要暴露该对象的内部表示。这两种模式均为( )。
A.责任链(Chain of Responsibility)
B.解释器(Interpreter)
C.命令(Command)
D.迭代器(Iterator)
A.责任链(Chain of Responsibility)
B.解释器(Interpreter)
C.命令(Command)
D.迭代器(Iterator)
A.创建型对象模式
B.结构型对象模式
C.行为型对象模式
D.行为型类模式
答案:
第1题:A
第2题:D
第3题:C
解析:
责任链模式(Chain of Responsibility):通过给多个对象处理请求的机会,减少请求的发送者与接收者之间的耦合。将接收对象链接起来,在链中传递请求,直到有一个对象处理这个请求。
迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。
命令模式(Command):将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作。
解释器模式(Interpreter):给定一种语言,定义它的文法表示,并定义一个解释器,该解释器用来根据文法表示来解释语言中的句子。
责任链模式和迭代器模式都是行为型对象模式。
63、给定关系R(A,B,C,D,E)和关系S(A,C,E,F,G),对其进行自然连接运算R⋈S后其结果集的属性列为( )。
A.R.A,R.C,R.E,S.A,S.C,S.E
B.R.A,R.B,R.C,R.D,R.E,S.F,S.G
C.R.A,R.B,R.C,R.D,R.E,S.A,S.C,S.E
D.R.A,R.B,R.C,R.D,R.E,S.A,S.C,S.E,S.F,S.G
答案:
B
解析:
自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性列,并且在结果集中将重复属性列去掉。
自然连接的结果默认以左侧R为主,右侧关系S去除重复列A、C、E。因此最终结果为R的5个属性列A、B、C、D、E,以及S的非重复列F、G。答案为B选项。
64、当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪。 这称为分布式数据库的( )。
A.共享性
B.自治性
C.可用性
D.分布性
答案:
C
解析:
在分布式数据库系统中,共享性是指数据存储在不同的结点数据共享;自治性是指每个结点对本地数据都能独立管理;可用性是指当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪;分布性是指在不同场地上的存储。
65、TCP和UDP协议均提供了( )能力。
A.连接管理
B.差错校验和重传
C.流量控制
D.端口寻址
答案:
D
解析:
TCP和UDP均提供了端口寻址功能。
UDP是一种不可靠的、无连接的协议,没有连接管理能力,不负责重新发送丢失或出错的数据消息,也没有流量控制的功能。
66、CPU在执行指令的过程中,会自动修改( )的内容,以使其保存的总是将要执行的下一条指令的地址。
A.指令寄存器
B.程序计数器
C.地址寄存器
D.指令译码器
答案:
B
解析:
CPU执行指令的过程中,会自动修改PC的内容,PC是程序计数器,用来存放将要执行的下一条指令,本题选择B选项。
对于指令寄存器(IR)存放即将执行的指令,指令译码器(ID)对指令中的操作码字段进行分析和解释,地址寄存器(AR),不是我们常用的CPU内部部件,其作用是用来保存当前CPU所要访问的内存单元或I/O设备的地址。
67、DES是( )算法。
A.公开密钥加密
B.共享密钥加密
C.数字签名
D.认证
答案:
B
解析:
对于非对称加密又称为公开密钥加密,而共享密钥加密指对称加密。常见的对称加密算法有:DES,三重DES、RC-5、IDEA、AES,因此本题选择B选项。
68、某航空公司拟开发一个机票预订系统, 旅客预订机票时使用信用卡付款。付款通过信用卡公司的信用卡管理系统提供的接口实现。若采用数据流图建立需求模型,则信用卡管理系统是( )。
A.外部实体
B.加工
C.数据流
D.数据存储
答案:
A
解析:
数据流图中的基本图形元素包括数据流、加工、数据存储和外部实体。其中,数据流、加工和数据存储用于构建软件系统内部的数据处理模型,而外部实体表示存在于系统之外的对象,用来帮助用户理解系统数据的来源和去向。外部实体包括:人/物、外部系统、组织机构等。
69、对布尔表达式进行短路求值是指:无须对表达式中所有操作数或运算符进行计算就可确定表达式的值。对于表达式“a or ((c< d) and b)”,( )时可进行短路计算。
A.d为true
B.a为true
C.b为true
D.c为true
答案:
B
解析:
根据本题题干“a or (( c<d ) and b )”,最后计算的是or,对于或运算,只要有一个为真则结果为真,不需要进行后面的计算,因此当a为true时,可进行短路计算,直接得到后面的结果。
70、某企业拟开发一个企业信息管理系统,系统功能与多个部门的业务相关。现希望该系统能够尽快投入使用,系统功能可以在使用过程中不断改善。则最适宜采用的软件过程模型为( )。
A.瀑布模型
B.原型模型
C.演化(迭代)模型
D.螺旋模型
答案:
C
解析:
本题要求尽快投入使用,并可以在使用过程中不断完善,对于原型模型和演化(迭代)模型,演化模型更合适,原型模型更适用于需求不明确时用以获取需求。
71、( )多态是指操作(方法)具有相同的名称、且在不同的上下文中所代表的含义不同。
A.参数
B.包含
C.过载
D.强制
答案:
C
解析:
参数多态:应用广泛、最纯的多态。
包含多态:同样的操作可用于一个类型及其子类型。包含多态一般需要进行运行时的类型检查。
强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数或操作符的要求。
过载多态:同一个名(操作符﹑函数名)在不同的上下文中有不同的类型。
本题应该选择C选项过载多态。
72、下图所示为一个不确定有限自动机(NFA)的状态转换图。该NFA可识别字符串( )。
A.0110
B.0101
C.1100
D.1010
答案:
A
解析:
本题因为是不确定的有限自动机,中间内容有多种可能,但由图可以看到,从初态0开始,首字符只能为0,到终态结束之前,尾字符也只能为0,根据选项可以排除,本题选择A选项。
73、在分布式数据库中,( )是指用户或应用程序不需要知道逻辑上访问的表具体如何分块存储。
A.逻辑透明
B.位置透明
C.分片透明
D.复制透明
答案:
C
解析:
本题考查的是分布式数据库相关知识。
分片透明:是指用户不必关心数据是如何分片的,它们对数据的操作在全局关系上进行,即关心如何分片对用户是透明的,因此,当分片改变时应用程序可以不变。分片透明性是最高层次的透明性,如果用户能在全局关系一级操作,则数据如何分布,如何存储等细节自不必关心,其应用程序的编写与集中式数据库相同。
复制透明:用户不用关心数据库在网络中各个节点的复制情况,被复制的数据的更新都由系统自动完成。在分布式数据库系统中,可以把一个场地的数据复制到其他场地存放,应用程序可以使用复制到本地的数据在本地完成分布式操作,避免通过网络传输数据,提高了系统的运行和查询效率。但是对于复制数据的更新操作,就要涉及对所有复制数据的更新。
位置透明:是指用户不必知道所操作的数据放在何处,即数据分配到哪个或哪些站点存储对用户是透明的。
局部映像透明性(逻辑透明)是最低层次的透明性,该透明性提供数据到局部数据库的映像,即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言,数据模型和操纵语言的转换是由系统完成的。因此,局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。
本题提到不需要了解具体如何分块存储,如果描述为不需要了解物理存储或存储位置,则为位置透明,而涉及如何分块存储,应该为分片透明。对于分布式数据库,分片是一种大局性的划分,而物理上的存储位置则更为低层,所以对于如何分块存储,强调更多的是分片而不是物理位置。
74、设有关系模式R(A1,A2,A3,A4,A5,A6),函数依赖集F={A1→A3,A1 A2→A4,A5 A6→A1,A3 A5→A6,A2 A5→A6}。关系模式R的一个主键是( ), 从函数依赖集F可以推出关系模式R( )。
A.A1A4
B.A2A5
C.A3A4
D.A4A5
A.不存在传递依赖,故R为1NF
B.不存在传递依赖,故R为2NF
C.存在传递依赖,故R为3NF
D.每个非主属性完全函数依赖于主键,故R为2NF
答案:
第1题:B
第2题:D
解析:
本题看起来逻辑很复杂,但解题相对比较简单。根据函数依赖集,可以简单分析,在本题中唯一入度为0的属性为A2,因此,A2一定属于候选键集合,在选项中只有B选项符合要求。
第二空,根据第一空可知R的一个主键为A2A5,由函数依赖集F可知,存在A2A5→A6,A5A6→A1,A1→A3,这里存在传递函数依赖,故A、B选项均不正确,C选项本身不正确,存在非主属性对候选键的传递函数依赖,是不满足3NF的。因此本题选择D选项。
也可将完整的依赖图示绘制出来判断本题A2A5为候选键,并且每个非主属性完全函数依赖于主键。
75、栈的特点是后进先出,若用单链表作为栈的存储结构,并用头指针作为栈顶指针,则( )。
A.入栈和出栈操作都不需要遍历链表
B.入栈和出栈操作都需要遍历链表
C.入栈操作需要遍历链表而出栈操作不需要
D.入栈操作不需要遍历链表而出栈操作需要
答案:
A
解析:
本题用单链表作为栈的存储结构,因为栈的操作是先进后出,因此无论是入栈还是出栈,都只对栈顶元素操作,而在单链表中用头指针作为栈顶指针,此时无论是出栈还是入栈,都只需要对头指针指向的栈顶指针操作即可,不需要遍历链表。
76、可以构造出下图所示二叉排序树(二叉检索树、二叉查找树)的关键码序列是( )。
A.10 13 17 19 23 27 31 40 65 91
B.23 40 91 17 19 10 31 65 27 13
C.23 19 40 27 17 13 10 91 65 31
D.27 31 40 65 91 13 10 17 23 19
答案:
B
解析:
二叉排序树的构造过程:
若查找二叉树为空树,则以新结点为查找二叉树;
将要插入结点键值与插入后父结点键值比较,就能确定新结点是父结点的左子结点,还是右子结点,直到将序列中的所有元素(关键码)全部插入。
根据排序二叉树的构造过程,可知A选项的根节点为10,D选项的根节点为27,因此可以排除。对于C选项,构造根节点的子结点,可知19为其左孩子结点,与图不符。本题只有B选项可以构造出图示的排序二叉树。
77、图G的邻接矩阵如下图所示(顶点依次表示为v0、v1、v2、v3、v4、v5),G是( )。对G进行广度优先遍历(从v0开始),可能的遍历序列为( )。
A.无向图
B.有向图
C.完全图
D.强连通图
A.v0、v1、v2、v3、v4、v5
B.v0、v2、v4、 v5、v1、v3
C.v0、v1、v3、v5、v2、v4
D.v0、v2、v4、v3、v5、v1
答案:
第1题:B
第2题:A
解析:
由邻接矩阵可知,对于结点V0和V1之间,只存在弧V0→V1,而没有弧V1→V0,因此图G不属于无向图,也不属于完全图。
强连通图:在有向图G中如果对于每一对顶点Vi,Vj,从顶点Vi到顶点Vj和从顶点Vj到顶点Vi都存在路径,则称图为强连通图。本题不满足该条件。
因此本题第一空应该选择B选项有向图。
对于第二空,图的广度遍历过程:从图中的某个顶点V触发,在访问了V之后一次访问V的各个未被访问的邻接点,然后分别从这些邻接点出发,依次访问它们的邻接点,并使“先被访问的顶点的邻接点”先于“后被访问的顶点的邻接点”被访问,直到图中所有已被访问的顶点的邻接点都被访问到。本题从V0出发,一次访问其邻接点V1、V2,只有A选项符合条件。
78、使用( )命令可以释放当前主机自动获取的IP地址。
A.ipconfig/all
B.ipconfig/reload
C.ipconfig/release
D.ipconfig/reset
答案:
C
解析:
ipconfig/all能为DNS和WINS服务器显示它已配置且所要使用的附加信息(如IP地址等),并且显示内置于本地网卡中的物理地址。
ipconfig/release也只能在向DHCP服务器租用其IP地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用IP地址便重新交付给DHCP服务器。
/reset和/reload为干扰项,ipconfig不支持这两个参数。
79、浮点数的表示分为阶和尾数两部分。两个浮点数相加时,需要先对阶,即( )(n为阶差的绝对值)。
A.将大阶向小阶对齐,同时将尾数左移n位
B.将大阶向小阶对齐,同时将尾数右移n位
C.将小阶向大阶对齐,同时将尾数左移n位
D.将小阶向大阶对齐,同时将尾数右移n位
答案:
D
解析:
对阶时,小数向大数看齐;对阶是通过阶码小的尾数右移实现的。
80、计算机运行过程中,遇到突发事件,要求CPU暂时停止正在运行的程序,转去为突发事件服务,服务完毕,再自动返回原程序继续执行,这个过程称为( ),其处理过程中保存现场的目的是( )。
A.阻塞
B.中断
C.动态绑定
D.静态绑定
A.防止丢失数据
B.防止对其他部件造成影响
C.返回去继续执行原程序
D.为中断处理程序提供数据
答案:
第1题:B
第2题:C
解析:
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
81、攻击者通过发送一个目的主机已经接收过的报文来达到攻击目的,这种攻击方式属于( )攻击。
A.重放
B.拒绝服务
C.数据截获
D.数据流分析
答案:
A
解析:
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击可以由发起者,也可以由拦截并重发该数据的敌方进行。
82、数据字典是结构化分析的一个重要输出。数据字典的条目不包括( )。
A.外部实体
B.数据流
C.数据项
D.基本加工
答案:
A
解析:
数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素作出详细的说明,使用数据字典为简单的建模项目。其条目有数据流、数据项、数据存储、基本加工等。
83、( )是一种函数式编程语言。
A.Lisp
B.Prolog
C.Python
D.Java/C++
答案:
A
解析:
LISP是一种通用高级计算机程序语言,长期以来垄断人工智能领域的应用。LISP作为因应人工智能而设计的语言,是第一个声明式系内函数式程序设计语言,有别于命令式系内过程式的C、Fortran和面向对象的Java、C#等结构化程序设计语言。
84、将高级语言源程序翻译为可在计算机上执行的形式有多种不同的方式,其中( )。
A.编译方式和解释方式都生成逻辑上与源程序等价的目标程序
B.编译方式和解释方式都不生成逻辑上与源程序等价的目标程序
C.编译方式生成逻辑上与源程序等价的目标程序,解释方式不生成
D.解释方式生成逻辑上与源程序等价的目标程序,编译方式不生成
答案:
C
解析:
编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。将某一种程序设计语言写的程序翻译成等价的另一种语言的程序的程序,称之为编译程序。
85、假设现在要创建一个Web应用框架,基于此框架能够创建不同的具体Web应用,比如博客、新闻网站和网上商店等;并可以为每个Web应用创建不同的主题样式,如浅色或深色等。这一业务需求的类图设计适合采用( )模式(如下图所示)。其中( )是客户程序使用的主要接口,维护对主题类型的引用。此模式为( ),体现的最主要的意图是( )。
A.观察者(Observer)
B.访问者(Ⅴisitor)
C.策略(Strategy)
D.桥接(Bridge)
A.WebApplication
B.Blog
C.Theme
D.Light
A.创建型对象模式
B.结构型对象模式
C.行为型类模式
D.行为型对象模式
A.将抽象部分与其实现部分分离,使它们都可以独立地变化
B.动态地给一个对象添加一些额外的职责
C.为其他对象提供一种代理以控制对这个对象的访问
D.将一个类的接口转换成客户希望的另外一个接口
答案:
第1题:D
第2题:A
第3题:B
第4题:A
解析:
桥接模式是一种结构型软件设计模式。Bridge模式基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。将类的抽象部分和它的实现部分分离开来,使它们可以独立地变化。
86、设有n阶三对角矩阵A,即非零元素都位于主对角线以及与主对角线平行且紧邻的两条对角线上,现对该矩阵进行按行压缩存储,若其压储空间用数组B表示,A的元素下标从0开始,B的元素下标从1开始。已知A[0,0]存储在B[1],A[n-1,n-1]存储在B[3n-2],那么非零元素A[i,j](0≤i<n,0≤j<n,|i-j|≤1)存储在B[( )]。
A.2i+j-1
B.2i+j
C.2i+j+1
D.3i-j+1
答案:
C
解析:
将i=0,j=0和i=n-1,j=n-1分别代入4个选项中,使其分别满足结果1和3×n-2的为正确答案。
87、计算机运行过程中,CPU需要与外设进行数据交换。采用( )控制技术时,CPU与外设可并行工作。
A.程序查询方式和中断方式
B.中断方式和DMA方式
C.程序查询方式和DMA方式
D.程序查询方式、中断方式和DMA方式
答案:
B
解析:
程序控制(查询)方式:CPU需要不断查询I/O是否完成,因此一直占用CPU。
程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。
DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。CPU只负责初始化,不参与具体传输过程。
本题DMA和程序中断方式,是可以让外设与CPU并行的。
88、下列攻击行为中,属于典型被动攻击的是( )。
A.拒绝服务攻击
B.会话拦截
C.系统干涉
D.修改数据命令
答案:
C
解析:
A选项拒绝服务(DOS): 对信息或其它资源的合法访问被无条件地阻止。
B选项会话拦截:未授权使用一个已经建立的会话。
D选项修改数据命令:截获并修改网络中传输的数据命令。
ABD为主动攻击。
C选项系统干涉:指的是攻击者获取系统访问权,从而干涉系统的正常运行,一般可以归于被动攻击。
89、以下关于防火墙功能特性的叙述中,不正确的是( )。
A.控制进出网络的数据包和数据流向
B.提供流量信息的日志和审计
C.隐藏内部IP以及网络结构细节
D.提供漏洞扫描功能
答案:
D
解析:
D选项不是防火墙的功能特性。
90、假设某消息中只包含7个字符{a,b,c,d,e,f,g},这7个字符在消息中出现的次数为{5,24,8,17,34,4,13},利用哈夫曼树(最优二叉树)为该消息中的字符构造符合前缀编码要求的不等长编码。各字符的编码长度分别为( )。
A.a:4,b:2,c:3,d:3,e:2,f:4,g:3
B.a:6,b:2,c:5,d:3,e:1,f:6,g:4
C.a:3,b:3,c:3,d:3,e:3,f:2,g:3
D.a:2,b:6,c:3,d:5,e:6,f:1,g:4
答案:
A
解析:
构造哈夫曼树有两种形式,能够找到符合选项的只有一种,如下所示:
91、两个递增序列A和B的长度分别为m和n(m<n且m与n接近),将二者归并为一个长度为m+n的递增序列。当关系为( )时,归并过程中元素的比较次数最少。
A.a1<a2<…<am-1<am<b1<b2<…<bn-1<bn
B.b1<b2<…<bn-1<bn<a1<a2<…<am-1<am
C.a1<b1<a2<b2<…<am-1<bm-1<am<bm<bm+1<…<bn-1<bn
D.b1<b2<…<bm-1<bm<a1<a2<…<am-1<am<bm+1<…<bn-1<bn
答案:
A
解析:
对于本题,求解归并比较次数最少。可分为3种情况:
1)A[m]数值全小于B[n],取A[1]<B[1],R[1]=A[1],接下来比较A[2]与B[1],R[2]=A[2] …直到取完A[m],A[m]<B[1],R[m]=A[m],将B序列复制到R[K],(m+1)~(m+n)的位置,完成归并排序,此时,共比较m次;
2)A[m]数值全大于B[n],取B[1]<A[1],R[1]=B[1],接下来直到取完B[n],将A[m]序列复制到(n+1)~(n+m)的位置,完成归并排序,此时,共比较n次,题干指出m<n,因此第一种情况比较次数较少;
3)A[m]数值与B[n]数值大小交叉,则归并排序过程,对于R[1]~R[k]位置上数值的确定会比较>=1次,最终复制剩余序列时,长度也会小于m(因为交叉排序,有部分序列会经过比较插入结果数列),此时复制序列所缩减的比较次数会体现在前面交叉排序的过程中,总的比较次数会较大。
因此,比较次数最少的情况是第一种A[m]数值全小于B[n]。
92、测试网络连通性通常采用的命令是( )。
A.Netstat
B.Ping
C.Msconfig
D.Cmd
答案:
B
解析:
Ping是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。利用“ping”命令可以检查网络是否连通,可以很好地帮助我们分析和判定网络故障。
Netstat用于显示网络相关信息。
Msconfig用于Windows配置。
Cmd称为命令提示符,是在操作系统中进行命令输入的工作提示符。
93、根据《中华人民共和国商标法》,下列商品中必须使用注册商标的是( )。
A.医疗仪器
B.墙壁涂料
C.无糖食品
D.烟草制品
答案:
D
解析:
目前根据我国法律法规的规定必须使用注册商标的是烟草类商品。《中华人民共和国烟草专卖法》(1991年6月29日通过,1992年1月1日施行)第二十条规定:“卷烟、雪茄烟和有包装的烟丝必须申请商标注册,未经核准注册的,不得生产、销售。禁止生产、销售假冒他人注册商标的烟草制品。”《中华人民共和国烟草专卖法实施条例》(1997年7月3日施行)第二十四条规定:“卷烟、雪茄烟和有包装的烟丝,应当使用注册商标;申请注册商标,应当持国务院烟草专卖行政主管部门的批准生产文件,依法申请注册。”
94、在采用结构化开发方法进行软件开发时,设计阶段接口设计主要依据需求分析阶段的( )。接口设计的任务主要是( )。
A.数据流图
B.E-R图
C.状态-迁移图
D.加工规格说明
A.定义软件的主要结构元素及其之间的关系
B.确定软件涉及的文件系统的结构及数据库的表结构
C.描述软件与外部环境之间的交互关系,软件内模块之间的调用关系
D.确定软件各个模块内部的算法和数据结构
答案:
第1题:A
第2题:C
解析:
软件设计必须依据对软件的需求来进行,结构化分析的结果为结构化设计提供了最基本的输入信息。从分析到设计往往经历以下流程:
(1)研究、分析和审查数据流图。根据穿越系统边界的信息流初步确定系统与外部接口。
(2)根据数据流图决定问题的类型。数据处理问题通常有两种类型:变换型和事务型。针对两种不同的类型分别进行分析处理。
(3)由数据流图推导出系统的初始结构图。
(4)利用一些启发式原则来改进系统的初始结构图,直到得到符合要求的结构图为止。
(5)根据分析模型中的实体关系图和数据字典进行数据设计,包括数据库设计或数据文件的设计。
(6)在设计的基础上,依据分析模型中的加工规格说明、状态转换图进行过程设计。
所以接口设计的主要依据是数据流图,接口设计的任务主要是描述软件与外部环境之间的交互关系,软件内模块之间的调用关系。
95、在进行软件开发时,采用无主程序员的开发小组,成员之间相互平等;而主程序员负责制的开发小组,由一个主程序员和若干成员组成,成员之间没有沟通。在一个由8名开发人员构成的小组中,无主程序员组和主程序员组的沟通路径分别是( )。
A.32和8
B.32和7
C.28和8
D.28和7
答案:
D
解析:
无主程序员组进行沟通时,需要两两沟通,所以沟通路径数为:n×(n-1)/2=8×7÷2=28。
有主程序员组,有问题可以与主程序员沟通,由主程序员负责协调,所以除主程序员自己,其他7人,每人与主程序员建立一条沟通路径,一共7条沟通路径。
96、在仅由字符a、b构成的所有字符串中,其中以b结尾的字符串集合可用正规式表示为( )。
A.(b|ab)*b
B.(ab*)*b
C.a*b*b
D.(a|b)*b
答案:
D
解析:
正规式(a|b)*对应的正规集为{ε,a,b,aa,ab,…,所有由a和b组成的字符串},结尾为b。
97、某计算机系统页面大小为4K ,进程的页面变换表如下所示。若进程的逻辑地址为2D16H。该地址经过变换后,其物理地址应为( )。
A.2048H
B.4096H
C.4D16H
D.6D16H
答案:
C
解析:
页面大小为4K,说明页内地址有12位,所以16进制数中的D16H是页内地址,逻辑页号则为2。查表可知物理块号为4,所以物理地址为4D16H。
98、对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试,至少需要( )个测试用例。采用McCabe 度量法计算其环路复杂度为( )。
A.2和3
B.2和4
C.2和5
D.2和6
A.1
B.2
C.3
D.4
答案:
第1题:B
第2题:D
解析:
语句覆盖。被测程序的每个语句至少执行一次。是一种很弱的覆盖标准。
路径覆盖。覆盖所有可能的路径。图中不同的路径共有4条:
(1)语句1→判断1→语句2→判断2→判断3→语句5→语句6→判断1→结束;
(2)语句1→判断1→语句2→判断2→判断3→语句4→语句5→语句6→判断1→结束;
(3)语句1→判断1→语句2→判断2→语句3→语句6→判断1→结束;
(4)语句1→判断1→结束;
要满足语句覆盖的要求,只需要覆盖两条路径就能达到,所以语句覆盖2个用例即可。
路径覆盖需要把程序中的4条路径均覆盖一遍,需要4个用例。
McCabe度量法先画出程序图,然后采用公式V(G)=m-n+2计算环路复杂度,其中m是有向弧的数量,n是结点的数量。整个程序流程图转化为结点图之后,一共11个结点,13条边,根据环路复杂度公式有:13-11+2=4。
99、对于n个元素的关键字序列{k1,k2,…kn},当且仅当满足关系ki≤k2i且ki≤k2i+1{i=1.2…[n/2]} 时称其为小根堆(小顶堆)。以下序列中,( )不是小根堆。
A.16,25,40,55,30,50,45
B.16,40,25,50,45,30,55
C.16,25,39,41,45,43,50
D.16,40,25,53,39,55,45
答案:
D
解析:
选项中的序列是对堆作类似于层次遍历的操作所得的结果。将4个选项还原为堆时,其中D答案中第二个关键字小于第五个关键字,不满足小根堆的条件。
100、在Python语言中,语句x=( )不能定义一个元组。
A.(1,2,1,2)
B.1,2,1,2
C.tuple ()
D.(1)
答案:
D
解析:
元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义。
D选项改成(1,)才正确。
因为篇幅有限,这次分享就到这里了,需要PDF原版打印下来考的或者更多资源的小伙伴可以扫码加入备考交流区自取,最后祝大家都能考试顺利,早日上岸!!!