201105软设上午真题

第 1 题

在CPU中用于跟踪指令地址的寄存器是(  )。

  • (A) 地址寄存器(AR)
  • (B) 数据寄存器(MDR)
  • (C) 程序计数器(PC)
  • (D) 指令寄存器(IR)

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>CPU的组成(运算器与控制器)
  • 试题答案:[['C']]
  • 试题解析:

    本题主要考查寄存器的相关内容。
    程序计数器是用于存放下一条指令所在单元的地址的地方。在程序执行前,必须将程序的起始地址,即程序的一条指令所在的内存单元地址送入程序计数器,当执行指令时,CPU将自动修改程序计数器的内容,即每执行一条指令程序计数器增加一个量,使其指向下一个待指向的指令。程序的转移等操作也是通过该寄存器来实现的。因此CPU中跟踪指令地址的是程序计数器(PC)。
    指令寄存器一般用来保存当前正在执行的一条指令。
    数据寄存器主要是用来保存操作数和运算结果等信息的,其目的是为了节省读取操作数所需占用总线和访问存储器的时间。
    地址寄存器一般用来保存当前CPU所访问的内存单元的地址,以方便对内存的读写操作。

第 2 题

指令系统中采用不同寻址方式的目的是(  )。
 

  • (A) 提高从内存获取数据的速度
  • (B) 提高从外存获取数据的速度
  • (C) 降低操作码的译码难度
  • (D) 扩大寻址空间并提高编程灵活性

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>寻址方式
  • 试题答案:[[D]]
  • 试题解析:

        寻址是指寻找操作数的地址或下一条将要执行的指令地址。数据和指令一般都需要存放在一些存储器的存储单元中,存储器对这些存储单元进行编号,这些编号就是数据和指令的地址,如果在应用中需要用到这些数据或指令时,就通过它们的地址到存储器中去寻找,这就是寻址。
        假如某主机的主存容量可达1MB,而指令中的地址码字段最长仅16位,只能直接访问主存的一小部分,而无法访问到整个主存空间,而采用不同的寻址方式可以实现对整个主存空间的访问。就是在字长很长的大型机中(地址码字段足够长),即使指令中能够拿出足够的位数来作为访问整个主存空间的地址,但为了灵活、方便地编制程序,也需要对地址进行必要的变换。
        综上所述,可知本题答案选D。

第 3 题

在计算机系统中采用总线结构,便于实现系统的积木化构造,同时可以(  )。

  • (A) 提高数据传输速度
  • (B) 提高数据传输量
  • (C) 减少信息传输线的数量
  • (D) 减少指令系统的复杂性

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>总线系统
  • 试题答案:[[C]]
  • 试题解析:

    总线是在计算机中连接两个或多个功能部件的一组共享的信息传输线,它的主要特征就是多个部件共享传输介质。它是构成计算机系统的骨架,是各个功能部件之间进行信息传输的公共通道,借助总线的连接,计算机各个部件之间可以传送地址、数据和各种控制信息。在计算机系统中采用总线结构,便于实现系统的积木化构造,同时可以有效减少信息传输线的数量。

第 4 题

原码表示法和补码表示法是计算机中用于表示数据的两种编码方法,在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以(  )。
 

  • (A) 保证运算过程与手工运算方法保持一致
  • (B) 简化计算机运算部件的设计
  • (C) 提高数据的运算速度
  • (D) 提高数据的运算精度

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>码制(原码/反码/补码/移码)
  • 试题答案:[[B]]
  • 试题解析:

        在计算机中,各类运算都等可以采用补码进行,特别是对于有符号数的运算。在计算机中设计补码的目的一是为了使符号位能与有效值部分一起参加运算,从而简化运算规则,使运算部件的设计更简单;二是为了使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。因此在计算机系统中常采用补码来表示和运算数据,原因是采用补码可以简化计算机运算部件的设计。

第 5 题

计算机中的浮点数由三部分组成:符号位S,指数部分E(称为阶码)和尾数部分M。在总长度固定的情况下,增加E的位数、减少M的位数可以(  )。

  • (A) 扩大可表示的数的范围同时降低精度
  • (B) 扩大可表示的数的范围同时提高精度
  • (C) 减小可表示的数的范围同时降低精度
  • (D) 减小可表示的数的范围同时提高精度

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>浮点数的表示
  • 试题答案:[[A]]
  • 试题解析:浮点数的表述形式如下:
    N=M×rE
    其中r是浮点数阶码的底,与尾数的基数相同,通常r=2.E和M都是带符号的定点数,E叫做阶码,M叫做尾数。浮点数的一般格式如图所示,浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为Es,阶码的大小反应了在数N中小数点的实际位置;尾数的符号位为Ms,它也是整个浮点数的符号位,表示了该浮点数的正、负。

                                                         图2-13 浮点数的一般格式
    浮点数的大小由阶码部分决定,而其精度由尾数部分决定,因此增加E的位数、减少M的位数可以扩大可表示的数的范围同时降低精度。

     

第 6 题

某计算机系统由下图所示的部件构成,假定每个部件的千小时可靠度都为R,则该系统的千小时可靠度为(  )。

  • (A) R+2R/4
  • (B) R+R2/4
  • (C) R(1-(1-R)2)
  • (D) R(1-(1-R)2)2

答案与解析

  • 试题难度:容易
  • 知识点:计算机组成与体系结构>可靠性与可用性
  • 试题答案:[[D]]
  • 试题解析:

    本题考查系统可靠性。
    计算机系统是一个复杂的系统,而且影响其可靠性的因素也非常繁复,很难直接对其进行可靠性分析。若采用串联方式,则系统可靠性为每个部件的乘积R=R1×R2×R3×…×Rn;若采用并联方式,则系统的可靠性为R=1-(1-R1)×(1-R2)×(1-R3)×…×(1-Rn)。
    在本题中,既有并联又有串联,计算时首先我们要分别计算图中两个并联后的可靠度,它们分别为1-(1-R)2,然后是三者串联,根据串联的计算公式,可得系统的可靠度为R×(1-(1-R)2)×(1-(1-R)2)= R(1-(1-R)2)2。因此本题答案选D。

第 7 题

用户A从CA获得用户B的数字证书,并利用(  )验证数字证书的真实性。

  • (A) B的公钥
  • (B) B的私钥
  • (C) CA的公钥
  • (D) CA的私钥

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>数字证书
  • 试题答案:[[C]]
  • 试题解析:

    本题主要考查数字证书的相关知识。
    数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,就好比日常生活中个人身份证一样。数字证书是由一个权威机构证书授权中心(CA)发行的。最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。其中证书授权中心的数字签名是用它自己的私钥完成的,而它的公钥也是公开的,大家可以通过它的公钥来验证该证书是否是某证书授权中心发行的,以达到验证数字证书的真实性。因此本题答案选C。

第 8 题

宏病毒一般感染以(  )为扩展名的文件。
 

  • (A) EXE
  • (B) COM
  • (C) DOC
  • (D) DLL

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>计算机病毒与木马
  • 试题答案:[[C]]
  • 试题解析:

    宏病毒是一种脚本病毒,它的最主要特征是它是一种寄存在文档或模板的宏中的计算机病毒。宏病毒主要感染文件有 Word、Excel 的文档。并且会驻留在Normal面板上。宏病毒的前缀是:Macro,第二前缀是:Word、Excel其中之一。如:Macro.Word.WhiteScreen、美丽莎(Macro.Melissa)等。
    在本题中,题目给出的4个选项中,扩展名为DOC的一般为Word文档,因此容易感染宏病毒。

第 9 题

在IE浏览器中,安全级别最高的区域设置是(  )。
 

  • (A) Internet
  • (B) 本地Intranet
  • (C) 可信任站点
  • (D) 受限站点

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>其它
  • 试题答案:[[D]]
  • 试题解析:

    在IE浏览器中,安全级别最高的区域设置是受限站点。
    其中Internet区域设置适用于Internet网站,但不适用于列在受信任和受限制区域的网站;本地Intranet区域设置适用于在Intranet中找到的所有网站;可信任站点区域设置适用于你信任的网站;而受限站点区域设置适用于可能会损坏你计算机或文件的网站,它的安全级别最高。

第 10 题

下列关于软件著作权中翻译权的叙述不正确的是:翻译权是指(  )的权利。

 

  • (A) 将原软件从一种自然语言文字转换成另一种自然语言文字
  • (B) 将原软件从一种程序设计语言转换成另一种程序设计语言
  • (C) 软件著作权人对其软件享有的以其它各种语言文字形式再表现
  • (D) 对软件的操作界面或者程序中涉及的语言文字翻译成另一种语言文字

答案与解析

  • 试题难度:一般
  • 知识点:法律法规与标准化>保护范围与对象
  • 试题答案:[[B]]
  • 试题解析:

    软件著作权中翻译权属于软件著作财产权,是指将原软件从一种自然语言文字转换成另一种自然语言文字的权利,而不是指将原软件从一种程序设计语言转换成另一种程序设计语言。

第 11 题

某软件公司研发的财务软件产品在行业中技术领先,具有很强的市场竞争优势。为确保其软件产品的技术领先及市场竞争优势,公司采取相应的保密措施,以防止软件技术秘密的外泄。并且,还为该软件产品冠以“用友”商标,但未进行商标注册。此情况下,公司仅享有该软件产品的(  )。

 

  • (A) 软件著作权和专利权
  • (B) 商业秘密权和专利权
  • (C) 软件著作权和商业秘密权
  • (D) 软件著作权和商标权

答案与解析

  • 试题难度:一般
  • 知识点:法律法规与标准化>保护范围与对象
  • 试题答案:[[C]]
  • 试题解析:

        软件著作权是指软件的开发者或者其他权利人依据有关著作权法律的规定,对于软件作品所享有的各项专有权利。它不需要申请即可拥有。
        软件专利权是指通过申请专利对软件的设计思想进行保护的一种方式,而非对软件本身进行的保护,我国在专利保护上,实行先申请制度,即谁申请在先,谁就享有该专利权,本题中由于公司没有申请专利,因此不具有专利权。
        软件商标权是指商标主管机关依法授予商标所有人对其注册商标受国家法律保护的专有权,在我国,商标权的获得必须履行商标注册程序,而且实行申请在先原则,即谁先申请,谁拥有该商标权。本题中由于公司没有申请商标权,因此不具有商标权。
        商业秘密一般是指不为公众所知悉,能为权利人带来经济利益,具有实用性并经权利人采取保密措施的技术信息和经营信息。
        综上所述,我们可知公司仅享有该软件产品的软件著作权和商业秘密权。

第 12 题

以下编码方法中,(  )属于熵编码。
 

  • (A) 哈夫曼编码
  • (B) 小波变换编码
  • (C) 线性预测编码
  • (D) PCM

答案与解析

  • 试题难度:一般
  • 知识点:多媒体基础>数据压缩技术
  • 试题答案:[[A]]
  • 试题解析:本题主要考查编码方法。
    根据解码后数据与原始数据是否完全一致可以分为两大类:一类是熵编码、冗余压缩法,也称无损压缩法、无失真压缩法;二是熵压缩法,也称有损压缩法、有失真压缩法。其中熵编码的一个重要特征就是解码后数据与原始数据完全一致,要达到这种效果,显然,那么压缩比就较低。这种方法一般适用于文本、数据的压缩,当然,如果要求有高质量的视音频的话,也可以采用这种方式压缩。常见的熵编码方法有LZ编码(Lempel-Zev编码)、行程编码、哈夫曼编码(Huffman编码)。而小波变换编码、线性预测编码、PCM、DPCM都是有损压缩。
    哈夫曼编码是一种可变长的编码方式,该方法完全依据字符出现的概率来构造异字头的平均长度最短的码字。
    小波变换编码的原理是因为大多数语音和图像信号倾向于非均匀频谱,即只集中在某一时间段的某一频段,小波包基表示信号时正好有这种自适应性,可通过选定一个阈值将这此时间段和频段的相应系数保留编码而丢弃其他时间段和频段上的小幅值的系数;另外,小波包基的每次分解都把信号分成低频和高频两部分,而多数的语音和图像信号的统计特性表明大幅值的系数往往集中在低频区内,这样可给那些小幅值系数分配很少的比特数,甚至可以不传输或存储,从而压缩了数据。
    线性预测编码中被预测的信号各样值都是此前样值的线性组合的预测编码。
    PCM(脉冲编码调制)是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。

第 13 题

CIF视频格式的图像分辨率为(  )。
 

  • (A) 352x240
  • (B) 352x288
  • (C) 640x480
  • (D) 320x240

答案与解析

  • 试题难度:较难
  • 知识点:多媒体基础>其它
  • 试题答案:[[B]]
  • 试题解析:

    CIF是Common Intermediate Format的简称,即常用的标准化图像格式。在H.323协议簇中,规定了视频采集设备的标准采集分辨率CIF = 352×288像素。

第 14 题

由ISO制定的MPEG系列标准中,(  )是多媒体内容描述接口标准。

  • (A) MPEG-1
  • (B) MPEG-2
  • (C) MPEG-4
  • (D) MPEG-7

答案与解析

  • 试题难度:一般
  • 知识点:多媒体基础>常见多媒体标准
  • 试题答案:[[D]]
  • 试题解析:

    MPEG即活动图像专家组,MPEG组织制定的各个标准都有不同的目标和应用,目前已提出的标准有MPEG-1、MPEG-2、MPEG-4和MPEG-7。
    MPEG-1标准用于传输1.5Mbps数据传输率的数字存储媒体运动图像及其伴音的编码。
    MPEG-2主要用于实现视/音频服务与应用互操作的可能性,是针对标准数字电视和高清晰度电视在各种应用下的压缩方案和系统层的详细规定。
    MPEG-4将众多的多媒体应用集成于一个完整的框架内,旨在为多媒体通信及应用环境提供标准的算法及工具,从而建立起一种能被多媒体传输、存储、检索等应用领域普遍采用的统一数据格式。
    MPEG-7 标准被称为“多媒体内容描述接口”,为各类多媒体信息提供一种标准化的描述,这种描述将与内容本身有关,允许快速和有效的查询用户感兴趣的资料。MPEG-7的目标是支持多种音频和视觉的描述,包括自由文本、N维时空结构、统计信息、客观属性、主观属性、生产属性和组合信息。对于视觉信息,描述将包括颜色、视觉对象、纹理、草图、形状、体积、空间关系、运动及变形等。

第 15 题

包含8个成员的开发小组的沟通路径最多有(  )条。
 

  • (A) 28
  • (B) 32
  • (C) 56
  • (D) 64

答案与解析

  • 试题难度:一般
  • 知识点:项目管理>沟通管理
  • 试题答案:[[A]]
  • 试题解析:

    在知道小组成员后,求沟通路径可按公式n x (n-1)/2求解,那么题目告诉我们开发小组有8个成员,即存在的沟通路径为8 x (8-1)/2=28条。

第 16 题

模块A直接访问模块B的内部数据,则模块A和模块B的耦合类型为(  )。
 

  • (A) 数据耦合
  • (B) 标记耦合
  • (C) 公共耦合
  • (D) 内容耦合

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>耦合性
  • 试题答案:[[D]]
  • 试题解析:

        本题主要考查耦合的基本内容。
        耦合是指两个或两个以上的模块相互依赖于对方的一个量度。它可以分为非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合及内容耦合等。
        当一个模块直接修改或操作另一个模块的数据或者直接转入另一个模块时,就发生了内容耦合。所以本题的答案选D。

第 17 题

下列关于风险的叙述不正确的是:风险是指(  )。

 

  • (A) 可能发生的事件
  • (B) 一定会发生的事件
  • (C) 会带来损失的事件
  • (D) 可能对其进行干预,以减少损失的事件

答案与解析

  • 试题难度:一般
  • 知识点:项目管理>风险管理
  • 试题答案:[[B]]
  • 试题解析:

        本题主要考查我们对风险概念的理解。
        目前,对风险大致有两种定义:一种定义强调了风险表现为不确定性;而另一种定义则强调风险表现为损失的不确定性。其中广义的定义是:风险表现为损失的不确定性,说明风险产生的结果可能带来损失、获利或是无损失也无获利。
        从风险的定义我们不难看出,风险是可能发生的事件,而且是会带来损失的事件,人为对其干预,可能会减少损失。

第 18 题

下列关于项目估算方法的叙述不正确的是(  )。

 

  • (A) 专家判断方法受到专家经验和主观性影响
  • (B) 启发式方法(如COCOMO模型)的参数难以确定
  • (C) 机器学习方法难以描述训练数据的特征和确定其相似性
  • (D) 结合上述三种方法可以得到精确的估算结果

答案与解析

  • 试题难度:一般
  • 知识点:项目管理>软件项目估算
  • 试题答案:[[D]]
  • 试题解析:

    项目估算的常用方法主要有专家判断法、启发式法和机器学习法等。
    专家判断法是指向学有专长、见识广博并有相关经验的专家进行咨询、根据他们多年来的实践经验和判断能力对计划项目作出预测的方法。很显然,采用这种方法容易受到专家经验和主观性的影响。
    启发式方法使用一套相对简单、通用、有启发性的规则进行估算的方法,它具有参数难以确定、精确度不高等特点。
    机器学习方法是一种基于人工智能与神经网络技术的估算方法,它难以描述训练数据的特征和确定其相似性。
    而无论采用哪种估算方法,估算得到的结果都是大概的,而不是精确的。

第 19 题

下图是一个软件项目的活动图,其中顶点表示项目里程碑,边表示包含的活动,边上的权重表示活动的持续时间,则里程碑(  )在关键路径上。

  • (A) 1
  • (B) 2
  • (C) 3
  • (D) 4

答案与解析

  • 试题难度:容易
  • 知识点:项目管理>Gant图与Pert图
  • 试题答案:[[B]]
  • 试题解析:

    本题主要考查关键路径求解的问题。
    从开始顶点到结束顶点的最长路径为关健路径(临界路径),关键路径上的活动为关键活动。
    在本题中找出的最长路径是Start->2->5->7->8->Finish,其长度为8+15+15+7+20=65,而其它任何路径的长度都比这条路径小,因此我们可以知道里程碑2在关键路径上。

第 20 题

算术表达式采用逆波兰式表示时不用括号,可以利用(  )进行求值。与逆波兰式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

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>后缀表达式
  • 试题答案:[[B],[C]]
  • 试题解析:

    逆波兰式也叫后缀表达式,即将运算符写在操作数之后的表达式,它不需使用括号,在将算术表达式转换为逆波兰式表示时,需要分配2个栈,一个作为临时存储运算符的栈S1(含一个结束符号),一个作为输入逆波兰式的栈S2(空栈)。
    而逆波兰式ab-cd+*转换为中缀表达式的过程为:ab-cd+* = (ab-)*(cd+) = (a-b)*(cd+) = (a-b)*(c+d)。因此本题答案选C。

第 21 题

若一种程序设计语言规定其程序中的数据必须具有类型,则有利于(  )。
①在翻译程序的过程中为数据合理分配存储单元
②对参与表达式计算的数据对象进行检查
③定义和应用动态数据结构
④规定数据对象的取值范围及能够进行的运算
⑤对数据进行强制类型转换
 

  • (A) ①②③
  • (B) ①②④
  • (C) ②④⑤
  • (D) ③④⑤

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>程序设计语言的数据成分
  • 试题答案:[['B']]
  • 试题解析:

        一种程序设计语言规定其程序中的数据必须具有类型,好处如下:
        (1)有利于在翻译程序的过程中为数据合理分配存储单元,因为程序设计语言为不同的数据类型规定了其所占的存储空间,如果数据类型确定,其所占的存储空间也是确定的。
        (2)有利于对参与表达式计算的数据对象进行检查,因为知道数据的数据类型,我们就可以根据类型来判断该数据是否可以参与某表达式计算,如自加、自减的操作数不允许是浮点数,这只要根据数据的类型就能判断某操作数,是否能进行自加、自减运算。
        (3)有利于规定数据对象的取值范围及能够进行的运算,根据数据类型,我们可以数据的存储空间,也同时能知道数据的表示范围,如C语言中的整型数据,它占两个字节(16位),能表示的数据范围就是-216至216-1。
        综上所述,可知本题的正确答案选B。

第 22 题

某文件管理系统在磁盘上建立了位示图(bitmap),记录磁盘的使用情况。若系统的字长为32位,磁盘上的物理块依次编号为:0、1、2、…,那么4096号物理块的使用情况在位示图中的第(  )个字中描述;若磁盘的容量为200GB,物理块的大小为1MB,那么位示图的大小为(  )个字。
 

  • (A) 129
  • (B) 257
  • (C) 513
  • (D) 1025
  • (A) 600
  • (B) 1200
  • (C) 3200
  • (D) 6400

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>位示图
  • 试题答案:[[A],[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个。

第 23 题

系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w分别取下表中的值时,对于表中的①~⑥种情况,(  )可能会发生死锁。若将这些情况的m分别加上(  ),则系统不会发生死锁。

  • (A) ①②⑤
  • (B) ③④⑤
  • (C) ②④⑤
  • (D) ②④⑥
  • (A) 1、1和1
  • (B) 1、1和2
  • (C) 1、1和3
  • (D) 1、2和1

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>死锁资源数计算
  • 试题答案:[[C],[D]]
  • 试题解析:

        在本题中,第①种情况的系统资源数为3,而有2个进程互斥使用这3个资源,每个进程需要的资源最大值为2,那么无论怎么分配资源,都不会发生死锁。第②种情况的系统资源数为3,有3个进程互斥使用这3个资源,每个进程需要的资源最大值为2,如果每个进程都分配一个该类资源而又互相等待,这时就有可能产生死锁。第③种情况的系统资源数为5,而有2个进程互斥使用这5个资源,每个进程需要的资源最大值为3,那么无论怎么分配资源,都不会发生死锁。第④种情况的系统资源数为5,有3个进程互斥使用这3个资源,每个进程需要的资源最大值为3,如果有两个进程分配了两个资源,而剩余的一个该类资源分配给了第3个进程,这时就有可能产生死锁。对于第⑤种情况,如果三个进程都分配了2个资源而互相等待则会产生死锁。
        经过上面的分析我们可以知道,②④⑤可能会产生死锁,对于第②种情况,由于每个进程都分配一个该类资源,如果系统再多一个该类资源,系统将不会产生死锁。对于第④种情况,由于有两个进程分配了两个资源,而第3个进程只分配了1个资源,如果系统只增加一个资源的话,那么将增加的这个资源分配给第3个进程,这个时候系统仍然会发生死锁,只有增加两个资源系统才不会死锁。第⑤中情况与第②种情况一样,只需要增加一个资源就不会发生死锁。 

第 24 题

某系统采用请求页式存储管理方案,假设某进程有6个页面,系统给该进程分配了4个存储块,其页面变换表如下表所示,表中的状态位等于1/0分别表示页面在内存/不在内存。当该进程访问的页面2不在内存时,应该淘汰表中页号为(  )的页面。假定页面大小为4K,逻辑地址为十六进制3C18H,该地址经过变换后的页帧号为(  )。


>- (A) 0 >- (B) 3 >- (C) 4 >- (D) 5 >- (A) 2 >- (B) 5 >- (C) 8 >- (D) 12 **答案与解析** - 试题难度:一般 - 知识点:操作系统>页式存储与页面置换 - 试题答案:[["D"],["A"]] - 试题解析:

本题主要考查页式存储管理。
在分页存储管理时,将内存划分为大小相等的页面,每一页物理内存叫页帧,以页为单位对内存进行编号,该编号可作为页数组的索引,又称为页帧号。在淘汰页面时,应选择最近没被访问的页面进行淘汰,因此当该进程访问的页面2不在内存时,应该淘汰页号为5的页面。
另外,题目告诉我们页面大小为4K,即需要12位来表示其存储空间,而逻辑地址3C18H转换为二进制为0011 1100 0001 1000,其低12位为页内地址,而高4位为页号,即0011,转换为十进制后结果为3,查表可知,页号为3的页面对应的页帧号为2。

第 25 题

为了有效地捕获系统需求,应采用(  )。
 

  • (A) 瀑布模型
  • (B) V模型
  • (C) 原型模型
  • (D) 螺旋模型

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>开发模型
  • 试题答案:[[C]]
  • 试题解析:

    瀑布模型严格遵循软件生命周期各阶段的固定顺序进行软件开发,其优点是可强迫开发人员采用规范的方法;严格规定了各阶段必须提交的文档;要求每个阶段结束后,都要进行严格的评审;而其缺点是过于理想化,缺乏灵活性,无法在开发过程中逐渐明确用户难以确切表达或一时难以想到的需求。
    V模型是一种典型的测试模型,该模型强调开发过程中测试贯穿始终。
    原型模型基于这样一种客观事实:并非所有的需求在系统开发之前都能准确地说明和定义。因此,它不追求也不可能要求对需求的严格定义,而是采用了动态定义需求的方法。原型模型适用于需求不够明确的项目,它能有效地捕获系统需求。
    螺旋模型综合了瀑布模型和演化模型的优点,还增加了风险分析。采用螺旋模型时,软件开发沿着螺旋线自内向外旋转,每转一圈都要对风险进行识别和分析,并采取相应的对策。

第 26 题

关于过程改进,以下叙述中不正确的是(  )。
 

  • (A) 软件质量依赖于软件开发过程的质量,其中个人因素占主导作用
  • (B) 要使过程改进有效,需要制定过程改进目标
  • (C) 要使过程改进有效,需要进行培训
  • (D) CMMI成熟度模型是一种过程改进模型,仅支持阶段性过程改进而不支持连续性过程改进

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件过程改进
  • 试题答案:[[D]]
  • 试题解析:

        软件过程改进的实施对象是软件企业的软件过程,也就是软件产品的生产过程,其中还也包括软件维护之类的维护过程。
        在本题各选项的描述中,A、B、C都是正确的,D不正确。
        CMMI是Capability Maturity Model Integration的简称,即能力成熟度模型集成,它是在CMM的基础上发展起来的。CMMI是一种过程改进模型,它不仅支持阶段性过程改进,而且还支持连续性过程改进。

第 27 题

软件产品的可靠性并不取决于(  )。
 

  • (A) 潜在错误的数量
  • (B) 潜在错误的位置
  • (C) 软件产品的使用方式
  • (D) 软件产品的开发方式

答案与解析

  • 试题难度:较难
  • 知识点:计算机组成与体系结构>可靠性与可用性
  • 试题答案:[[D]]
  • 试题解析:

    可靠性指的是,软件产品与在规定的一段时间内和规定的条件下维持其性能水平有关的能力,是一个系统对于给定时间间隔内、在给定条件下无失效运作的概率。它的子特性包括:成熟性、容错性、易恢复性,对于软件可靠性与软件潜在错误的数量、位置有关,并且与软件产品的使用方式有关,对于软件产品的开发方式并不能决定软件产品的可靠性。

第 28 题

软件(  )是指一个系统在给定时间间隔内和给定条件下无失效运行的概率。
 

  • (A) 可靠性
  • (B) 可用性
  • (C) 可维护性
  • (D) 可伸缩性

答案与解析

  • 试题难度:一般
  • 知识点:计算机组成与体系结构>可靠性与可用性
  • 试题答案:[[A]]
  • 试题解析:

    软件的可靠性是指一个系统在给定时间间隔内和给定条件下无失效运行的概率。
    软件的可用性是指软件在特定使用环境下为特定用户用于特定用途时所具有的有效性。
    软件的可维护性是指与软件维护的难易程度相关的一组软件属性。
    软件的可伸缩性是指是否可以通过运行更多的实例或者采用分布式处理来支持更多的用户。

第 29 题

高质量的文档所应具有的特性中,不包括(  )。
 

  • (A) 针对性,文档编制应考虑读者对象群
  • (B) 精确性,文档的行文应该十分确切,不能出现多义性的描述
  • (C) 完整性,任何文档都应当是完整的、独立的,应该自成体系
  • (D) 无重复性,同一软件系统的几个文档之间应该没有相同的内容,若确实存在相同内容,则可以用“见文档节”的方式引用

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件文档
  • 试题答案:[[D]]
  • 试题解析:

        本题主要考查文档管理的相关内容。高质量的文档应具有针对性、精确性和完整性等特性。即文档编制应考虑读者对象群;文档的行文应该十分确切,不能出现多义性的描述;任何文档都应当是完整的、独立的,应该自成体系。
    选项D描述的显然不符合高质量文档的要求。

第 30 题

在软件维护阶段,为软件的运行增加监控设施属于(  )维护。
 

  • (A) 改正性
  • (B) 适应性
  • (C) 完善性
  • (D) 预防性

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件维护类型
  • 试题答案:[[C]]
  • 试题解析:

    根据引起软件维护的原因不同,软件维护通常可分为以下四种类型:
    改正性维护。是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动。该类维护一般占总维护工作量的25%。
    适应性维护。是指为了适应变化了的环境而修改软件的活动。该类维护一般占总维护工作量的20%。
    完善性维护。是指为了扩充或完善原有软件的功能或性能而修改软件的活动。该类维护一般占总维护工作量的50%。
    预防性维护。是指为了提高软件的可维护性和可靠性、为未来的进一步改进打下基础而修改软件的活动。该类维护一般占总维护工作量的5%。
    而本题所描述的为软件的运行增加监控设施属于完善性维。

第 31 题

下图所示的逻辑流,最少需要(  )个测试用例可实现语句覆盖。

  • (A) 1
  • (B) 2
  • (C) 3
  • (D) 5

答案与解析

  • 试题难度:较难
  • 知识点:软件工程>白盒测试用例
  • 试题答案:[[A]]
  • 试题解析:

        语句覆盖是一种白盒测试,它是指选择足够多的测试用例,使得运行这些测试用例时,被测程序的每个语句至少执行一次。显然,语句覆盖是一种很弱的覆盖标准。
        根据题目给出的逻辑图,程序的出口只有⑧,路径主要有①②⑧、①②③⑦②⑧、①②③④⑥③⑦②⑧及①②③④⑤⑥③⑦②⑧四条。那么很显然,路径①②③④⑤⑥③⑦②⑧覆盖了所有的语句,因此本题答案选A。

第 32 题

在改正当前故障的同时可能会引入新的故障,这时需要进行(  )。
 

  • (A) 功能测试
  • (B) 性能测试
  • (C) 回归测试
  • (D) 验收测试

答案与解析

  • 试题难度:容易
  • 知识点:软件工程>测试阶段任务及其他测试
  • 试题答案:[['C']]
  • 试题解析:

    回归测试是指修改了当前故障后,重新进行测试以确认修改没有引入新的错误或导致其他的错误。因此本题答案选C。

第 33 题

面向对象分析的第一步是(  )。
 

  • (A) 定义服务
  • (B) 确定附加的系统约束
  • (C) 确定问题域
  • (D) 定义类和对象

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>面向对象开发各阶段划分及任务
  • 试题答案:[[C]]
  • 试题解析:

    面向对象分析的任务是了解问题域所涉及的对象、对象间的关系和操作,然后构造问题的对象模型。问题域是指一个包含现实世界事物与概念的领域,这些事物和概念与所设计的系统要解决的问题有关。因此面向对象分析的第一步是要确定问题域。

第 34 题

下列关于一个类的静态成员的描述中,不正确的是(  )。

 

  • (A) 类的静态方法只能访问该类的静态数据成员
  • (B) 静态数据成员可被该类的所有方法访问
  • (C) 该类的对象共享其静态数据成员的值
  • (D) 该类的静态数据成员的值不可修改

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>面向对象的基本概念
  • 试题答案:[[D]]
  • 试题解析:

    类的静态成员与一般的类成员不同, 静态成员与对象的实例无关,只与类本身有关。它们一般用来实现类要封装的功能和数据,但不包括特定对象的功能和数据。静态成员和普通数据成员区别较大,体现在下面几点:   
    (1)普通数据成员属于类的一个具体的对象,只有对象被创建了,普通数据成员才会被分配内存。而静态数据成员属于整个类,即使没有任何对象创建,类的静态数据成员变量也存在。
    (2)外部访问类的静态成员只能通过类名来访问。
    (3)类的静态成员函数无法直接访问普通数据成员(可以通过类的指针等作为参数间接访问),而类的任何成员函数都可以访问类的静态数据成员。
    (4)类的静态方法只能访问该类的静态数据成员。  
    另外,静态成员和类的普通成员一样,也具有public、protected、private3种访问级别,也可以具有返回值及被修改等性质。

第 35 题

UML的设计视图包含了类、接口和协作,其中,设计视图的静态方面由(  )和(  )表现;动态方面由交互图、(  )表现。
 

  • (A) 类图
  • (B) 状态图
  • (C) 活动图
  • (D) 序列图
  • (A) 交互图
  • (B) 对象图
  • (C) 通信图
  • (D) 定时图
  • (A) 状态图和类图
  • (B) 类图和活动图
  • (C) 对象图和状态图
  • (D) 状态图和活动图

答案与解析

  • 试题难度:容易
  • 知识点:面向对象技术>UML图概述及分类
  • 试题答案:[[A],[B],[D]]
  • 试题解析:

    本题主要考查UML的设计视图。
    UML 2.0包括14种图,分别列举如下:
    (1)类图。描述一组类、接口、协作和它们之间的关系。在面向对象系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
    (2)对象图。描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
    (3)构件图。描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
    (4)组合结构图。描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。
    (5)用例图。描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。
    (6)顺序图。是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
    (7)通信图。也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。在UML 1.X版本中,通信图称为协作图(collaboration diagram)。
    (8)定时图。也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。
    (9)状态图。描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
    (10)活动图。将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。
    (11)部署图。描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。
    (12)制品图。描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。
    (13)包图。描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
    (14)交互概览图。是活动图和顺序图的混合物。
    其中类图、对象图、用例图(后期已划分为动态图)、组件图及配置图为静态图,其它的为动态图。

第 36 题

UML中关联的多重度是指(  )。

 

  • (A) 一个类中被另一个类调用的方法个数
  • (B) 一个类的某个方法被另一个类调用的次数
  • (C) 一个类的实例能够与另一个类的多少个实例相关联
  • (D) 两个类所具有的相同的方法和属性

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>UML图中的关系
  • 试题答案:[[C]]
  • 试题解析:

    在UML中,关联的多重度是指一个类的实例能够与另一个类的多少个实例相关联。它又称为重复度。多重度表示为一个整数范围n..m,整数n定义所连接的最少对象的数目,而m则为最多对象数(当不知道确切的最大数时,最大数用*号表示)。最常见的多重性有0..1、0..*、1..1和1..*。

第 37 题

在面向对象软件开发过程中,采用设计模式(  )。
 

  • (A) 以复用成功的设计
  • (B) 以保证程序的运行速度达到最优值
  • (C) 以减少设计过程创建的类的个数
  • (D) 允许在非面向对象程序设计语言中使用面向对象的概念

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>设计模式概述及分类
  • 试题答案:[[A]]
  • 试题解析:

    模式是一种问题的解决思路,它已经适用于一个实践环境,并且可以适用于其它环境。设计模式通常是对于某一类软件设计问题的可重用的解决方案,将设计模式引入软件设计和开发过程,其目的就在于要重用成功的软件开发经验。

第 38 题

设计模式(  )将抽象部分与其实现部分相分离,使它们都可以独立地变化。下图为该设计模式的类图,其中,(  )用于定义实现部分的接口。

  • (A) Bridge(桥接)
  • (B) Composite(组合)
  • (C) Facade(外观)
  • (D) Singleton(单例)
  • (A) Abstraction
  • (B) ConcreteImplementorA
  • (C) ConcreteImplementorB
  • (D) Implementor

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>设计模式的图
  • 试题答案:[[A],[D]]
  • 试题解析:

    本题主要考查常见的设计模式。
    在本题中,根据题目给出的图,我们不难看出该图描述的是桥接模式,它的显著特征是它将抽象部分与实现部分分离,使它们可以相互独立地变化。我们不难从题目给出的图中看出,左边的是抽象类接口,而右边都是实现类接口,显然实现了分离。抽象类接口的下面是抽象的扩充,而实现类接口的下面是具体实现,因此他们可以相互独立地变化。其中:
    Abstraction:抽象类,定义抽象类的接口。维护一个Implementor(实现抽象类)的对象。
    RefinedAbstraction:扩充的抽象类,扩充由Abstraction定义的接口。
    Implementor:实现类接口,定义实现类的接口,这个接口不一定要与Abstraction的接口完全一致,事实上这两个接口可以完全不同,一般的讲Implementor接口仅仅给出基本操作,而Abstraction接口则会给出很多更复杂的操作。
    ConcreteImplementor:具体实现类,实现Implementor定义的接口并且具体实现它。

第 39 题

以下关于Singleton(单例)模式的描述中,正确的是(  )。

  • (A) 它描述了只有一个方法的类的集合
  • (B) 它描述了只有一个属性的类的集合
  • (C) 它能够保证一个类的方法只能被一个唯一的类调用
  • (D) 它能够保证一个类只产生唯一的一个实例

答案与解析

  • 试题难度:容易
  • 知识点:面向对象技术>设计模式的应用场景
  • 试题答案:[[D]]
  • 试题解析:单例模式的意图是确保某个类只有一个实例,且能自行实例化,并向整个系统提供这个实例。单例模式模式的结构图如下。

    其中,Singleton即单例,提供一个instance(实例化)的方法,让客户可以使用它的唯一实例。内部实现只生成一个实例。

第 40 题

 (  )将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
 

  • (A) Adapter(适配器)模式
  • (B) Command(命令)模式
  • (C) Singleton(单例)模式
  • (D) Strategy(策略)模式

答案与解析

  • 试题难度:容易
  • 知识点:面向对象技术>设计模式的应用场景
  • 试题答案:[[A]]
  • 试题解析:

    本题也是考查设计模式。在做类题时,需要我们对各设计模式有一个正确的理解才能完成。
    适配器模式的意图就是将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
    命令模式的意图是将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。
    单例模式的意图是确保某个类只有一个实例,且能自行实例化,并向整个系统提供这个实例。
    策略模式的意图是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换,该模式使得算法可独立于使用它的客户而变化。

第 41 题

以下关于高级程序设计语言翻译的叙述中,正确的是(  )。
 

  • (A) 可以先进行语法分析,再进行词法分析
  • (B) 在语法分析阶段可以发现程序中的所有错误
  • (C) 语义分析阶段的工作与目标机器的体系结构密切相关
  • (D) 目标代码生成阶段的工作与目标机器的体系结构密切相关

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>编译器工作过程
  • 试题答案:[[D]]
  • 试题解析:

    在对用高级程序设计语言编写的程序进行执行时,首先是将源代码翻译成目标代码,然后在连接成可执行的二进制代码。因此在翻译阶段,目标代码生成阶段的工作与目标机器的体系结构密切相关。

第 42 题

下图所示为一个有限自动机(其中,A是初态、C是终态),该自动机可识别(  )。

  • (A) 0000
  • (B) 1111
  • (C) 0101
  • (D) 1010

答案与解析

  • 试题难度:容易
  • 知识点:程序设计语言基础>有限自动机
  • 试题答案:[[C]]
  • 试题解析:

        本题主要考查有限自动机。
        在本题中,A是初始状态,C是终止状态,通过选项中的字符串可以从初始状态到达终止状态,则说明该字符串能被题目中的自动机识别。也可以理解为依次输入选项中的字符串,可以在该自动机中找到相应的路径。
        对于选项A的字符串0000,在输入0后,从初始状态A转移到状态B,然后接着输入3个0,状态然后停留在B,而无法到达终态C,因此选项A不能被该自动机识别。
        同样的道理,我们可以找到字符串0101能被该自动机识别,在输入0后,状态跳转到B,输入1则由B转至C,再输入0,又由C转至B,最后输入1,由B转至终态C。

第 43 题

传值与传地址是函数调用时常采用的信息传递方式,(  )。
 

  • (A) 在传值方式下,是将形参的值传给实参
  • (B) 在传值方式下,形参可以是任意形式的表达式
  • (C) 在传地址方式下,是将实参的地址传给形参
  • (D) 在传地址方式下,实参可以是任意形式的表达式

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>传值与传址
  • 试题答案:[[C]]
  • 试题解析:

        在函数调用时,系统为形参准备空间,并把实参的值赋值到形参空间中,在调用结束后,形参空间将被释放,而实参的值保持不变,这就是传值传递方式。传值传递方式中实参与形参之间的数据传递是单向的,只能由实参传递给形参,因而即使形参的值在函数执行过程中发生了变化,也不会影响到实参值。在C语言中,当参数类型是非指针类型和非数组类型时,均采用传值方式。
        传地址方式把实参的地址赋值给形参,这样形参就可以根据地址值访问和更改实参的内容,从而实现双向传递。当参数类型是指针类型或数组类型时,均采用传地址方式。
        区别于参数传值方式和返回值传递方式,传地址方式具有以下明显的优势。
        (1)参数传值方式是主调函数与被调函数之间的单向数据传递方式,而参数的传地址方式则实现了二者之间的双向数据传递。
        (2)函数的返回值每次只能把一个数据项从被调函数传递到主调函数,而参数的传地址方式却可一次性地传递多个数据项到主调函数。

第 44 题

某医院数据库的部分关系模式为:科室(科室号,科室名,负责人,电话)、病患(病历号,姓名,住址,联系电话)和职工(职工号,职工姓名,科室号,住址,联系电话)。假设每个科室有一位负责人和一部电话,每个科室有若干名职工,一名职工只属于一个科室;一个医生可以为多个病患看病;一个病患可以由多个医生多次诊治。科室与职工的所属联系类型为(  ),病患与医生的就诊联系类型为(  )。对于就诊联系最合理的设计是(  ),就诊关系的主键是(  )。

  • (A) 1:1
  • (B) 1:n
  • (C) n:1
  • (D) n:m
  • (A) 1:1
  • (B) 1:n
  • (C) n:1
  • (D) n:m
  • (A) 就诊(病历号,职工号,就诊情况)
  • (B) 就诊(病历号,职工姓名,就诊情况)
  • (C) 就诊(病历号,职工号,就诊时间,就诊情况)
  • (D) 就诊(病历号,职工姓名,就诊时间,就诊情况)
  • (A) 病历号,职工号
  • (B) 病历号,职工号,就诊时间
  • (C) 病历号,职工姓名
  • (D) 病历号,职工姓名,就诊时间

答案与解析

  • 试题难度:容易
  • 知识点:数据库系统>关系模式相关概念
  • 试题答案:[['B'],['D'],['C'],['B']]
  • 试题解析:

    本题主要考查关系模式的基础知识。
    在本题中,题目告诉我们每个科室有一位负责人和若干名职工,而一名职工只属于一个科室,那么很容易我们就能知道科室与职工的所属联系类型为1:n。
    另外,题目告诉我们一个医生可以为多个病患看病,一个病患可以由多个医生多次诊治,所以病患与医生的就诊联系类型为多对多。
    根据题目意思,就诊应该是病患与医生之间的联系,他们之间的联系是多对多,因此其联系要转换为独立的关系模式时,应该包含病患和医生关系模式的主键及自身的一些属性,如就诊时间,就诊情况。而病患的主键是病历号,而职工关系模式的主键为职工号,因此就诊关系模式为就诊(病历号,职工号,就诊时间,就诊情况),而该关系模式的主键是(病历号,职工号,就诊时间),因为这才能唯一标识一条记录。至于主键为什么不是(病历号,职工号),是因为存在同一个病人多次看同一个医生的情况,所以(病历号,职工号)不能唯一标识一条记录。

第 45 题

给定关系模式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个主属性</u,f>

答案与解析

  • 试题难度:一般
  • 知识点:数据库系统>规范化理论基本概念
  • 试题答案:[['D'],['C']]
  • 试题解析:

        本题主要考查函数依赖的基础知识。
        关系中的某一属性或属性组的值能唯一的标识一个元组,而其任何真子集都不能再标识,则称该属性组为候选码。
        但这里大家要注意,如果一个关系有多个不同的主码时,那么这些主码组合在一起就是候选码,也就是说一个关系的主码只能选一个,而候选码可以有多个,这就好选总统一样,候选人可以多个,但最终的总统只能有一个,当然也有些地方的候选人就只有一个,候选码也一样,也有可能只有一个,在这种情况下,候选码就是主码。
        主属性和非主属性是互补的,一个关系模式中的属性不是主属性就是非主属性。组成候选码的属性就是主属性,其它的就是非主属性,所以要判断关系模式中的属性是主属性还是非主属性,首先要求解出其候选码。
        在本题中,从题目给出的函数依赖关系我们可以看出,AB能推导出C,即能推导出所有的属性;而C能推导出B,同样,AC也能推导出所有的属性,因此AB与AC都是该关系的候选码。所以该关系中的属性都是主属性,没有非主属性。

第 46 题

设下三角矩阵(上三角部分的元素值都为0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[]中(下标从1开始),则元素A[i,j](O≤i≤n,j≤i)存储在数组M的(  )中。
 
 

 

  • (A)
  • (B)
  • (C)
  • (D)

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>数组与矩阵
  • 试题答案:[[A]]
  • 试题解析:

    对于这个题目,我们可以这样理解,题目要求按行优先,其含义就是先存储完第一行,在开始存储第二行,然后再存储第三行的非0元素,依次类推。这样的话我们就发现了一个规律,第1行只有一个元素,
    第二行2个元素,
    第三行3个元素,
    第n行n个元素。
    这个规律是一个递增数列。那么元素A[i,j]是第几行第几列的元素呢?由于下标是从0开始的(这个要特别注意),那么下标为i的应该就是第i+1行,因此在存储下标为i的这行之前,应该存放了i行元素,其中第i行的元素个数为i个,那么在存放第i+1行之前,应该存放的元素个数总和为i(i+1)/2,。那么当存放到第i+1行时,在存放下标为j的元素前,同样的道理应该存放了j个元素,因此在存放元素A[i,j]之前,总共存放了的元素个数总和为i(i+1)/2+j,因此元素A[i,j]应该是第i(i+1)/2+j+1个要存放的元素,由于存放的数组M是从下标为1开始的。因此元素A[i,j]存储在数组M的M[i(i+1)/2+j+1]中。

第 47 题

对n个元素的有序表A[1..n]进行顺序查找,其成功查找的平均查找长度(即在查找表中找到指定关键码的元素时,所进行比较的表中元素个数的期望值)为(  )。

  • (A) n
  • (B) (n+1)/2
  • (C) log2 n
  • (D) n2

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>顺序查找
  • 试题答案:[[B]]
  • 试题解析:本题主要考查顺序查找。
    对于n个数据元素的表,若给定值key与表中第i个元素的关键字相等,则需进行n-i+1次关键字比较,即Ci=n-i+1。例如,当第n个元素的关键字为key时,需要比较1次(n-n+1=1),又如,当第1个元素为所求时,需要比较n次(n-1+1=n)。因此,查找成功时,顺序查找的平均查找长度为:

    其中Pi为每个元素的查找概率,假设所有元素的查找概率均相等,即,则在等概率情况下有:

     

第 48 题

在(  )中,任意一个结点的左、右子树的高度之差的绝对值不超过1。

  • (A) 完全二叉树
  • (B) 二叉排序树
  • (C) 线索二叉树
  • (D) 最优二叉树

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>树与二叉树的特性
  • 试题答案:[[A]]
  • 试题解析:

    本题主要考查一些特殊二叉树的性质。
    若二叉树中最多只有最下面两层的结点度数可以小于2,并且最下面一层的叶子结点都依次排列在该层最左边的位置上,则这样的二叉树称为完全二叉树,因此在完全二叉树中,任意一个结点的左、右子树的高度之差的绝对值不超过1。
    二叉排序树的递归定义如下:二叉排序树或者是一棵空树;或者是具有下列性质的二叉树:
    (1)若左子树不空,则左子树上所有结点的值均小于根结点的值;
    (2)若右子树不空,则右子树上所有结点的值均大于根结点的值;
    (3)左右子树也都是二叉排序树。
    在n个结点的二叉树链式存储中存在n+1个空指针,造成了巨大的空间浪费,为了充分利用存储资源,可以将这些空链域存放指向结点在遍历过程中的直接前驱或直接后继的指针,这种空链域就称为线索,含有线索的二叉树就是线索二叉树。
    最优二叉树即哈夫曼树。

第 49 题

设一个包含N个顶点、E条边的简单无向图采用邻接矩阵存储结构(矩阵元素A[i][j]等于1/0分别表示顶点i与顶点j之间有/无边),则该矩阵中的非零元素数目为(  )。
 

  • (A) N
  • (B) E
  • (C) 2E
  • (D) N+E

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>图的定义及存储
  • 试题答案:[[C]]
  • 试题解析:

    本题主要考查图的邻接矩阵存储结构。

    设G=(V,E)是具有n个顶点的图,其中V是顶点的集合,E是边的集合,那么邻接矩阵中的每个元素的定义如下:

    从这个定义我们可以知道,一条边在矩阵中有个1表示,比如顶点1和顶点2之间有一条边,那么矩阵元素A[1,2]和A[2,1]的值都是1.
    在本题中,题目告诉我们有E条边,那么其邻接矩阵中的非零元素数目应该为2E。

第 50 题

对于关键字序列(26,25,72,38,8,18,59),采用散列函数H(Key)=Key mod 13构造散列表(哈希表)。若采用线性探测的开放定址法解决冲突(顺序地探查可用存储单元),则关键字59所在散列表中的地址为(  )。
 

  • (A) 6
  • (B) 7
  • (C) 8
  • (D) 9

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>散列表(哈希)
  • 试题答案:[[D]]
  • 试题解析:

    根据题目给出的散列函数我们可以分别计算出关键字(26,25,72,38,8,18,59)对应的散列地址分别为(0,12,7,12,8,5,7)。
    开放定址处理冲突的基本思路是为发生冲突的关键字在散列表中寻找另一个尚未占用的位置,其解决冲突能力的关键取决于探测序列,在本题中,题目告诉我们采用顺序探查法,即增量为1的线性探测法,在该线性探测法中,设Hi (1≤i<m)为第i次在散列表中探测的位置,其中增量序列为{1,2,3,4,5,…,m-1}则有:
      Hi = (H (Key)+i)%m
    其中H (Key)为散列函数,m为散列表长度,i为增量序列。而本题中m=13。因此本题的散列表构造过程如下:
    (1)关键字26,25,72由散列函数H (key)得到没有冲突的散列地址而直接存入散列表中。
    (2)计算关键38的散列地址为12,发生冲突(与关键字25冲突),其第一次线性探测地址为(12+1)%13=0,但仍然发生冲突(与关键字26冲突),因此需要进行第二次线性探测,其地址为(12+2)%13=1,这时没有发生冲突,即将38存入地址为1的空间。
    (3)接着将关键字8,18计算其散列地址,由于没有冲突,即分别存入散列地址为8和5的空间中。
    (4)计算关键59的散列地址为7,发生冲突(与关键字72冲突),其第一次线性探测地址(7+1)%13=8,但仍然发生冲突(与关键字8冲突),因此需要进行第二次线性探测,其地址为(7+2)%13=9,这时没有发生冲突,即将59存入地址为9的存储空间。
    因此本题的答案选D。

第 51 题

要在8*8的棋盘上摆放8个“皇后”,要求“皇后”之间不能发生冲突,即任何两个“皇后”不能在同一行、同一列和相同的对角线上,则一般采用(  )来实现。
 

  • (A) 分治法
  • (B) 动态规划法
  • (C) 贪心法
  • (D) 回溯法

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>回溯法
  • 试题答案:[[D]]
  • 试题解析:

    回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法。回溯法求解的过程其实是搜索整个解空间,来找到最优的解。而“皇后”问题是一个典型的用回溯法求解的问题。

第 52 题

分治算法设计技术(  )。

  • (A) 一般由三个步骤组成:问题划分、递归求解、合并解
  • (B) 一定是用递归技术来实现
  • (C) 将问题划分为k个规模相等的子问题
  • (D) 划分代价很小而合并代价很大

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>分治法
  • 试题答案:[[A]]
  • 试题解析:

    分治的基本思想就是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小(但不一定规模相等)的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。
    所以分治算法设计技术主要包括三个步骤,分别是问题划分、递归求解、合并解。
    而对于分治法一般划分代价较大,划分之后子问题求解代价较小,分解后的问题求解,可以采用递归的方式,也可以以非递归的方式实现。

第 53 题

某算法的时间复杂度可用递归式表示,若用表示,则正确的是(  )。
 

  • (A)
  • (B)
  • (C)
  • (D)

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>时间复杂度与空间复杂度
  • 试题答案:[[A]]
  • 试题解析:
    【《软件设计师教程(第5版)》--P422页】
    根据主定理(定理8.1)进行推导。
    此递归式中,a=6,b=5,其中f(n)=O(nlogba-ε)=O(n),其中log56-ε=1,所以ε>0,因此本题符合规则(1)。
    因此对于递归式的时间复杂度,T(n)=O(nlogba),因此本题选择A选项。

第 54 题

用插入排序和归并排序算法对数组<3,1,4,1,5,9,6,5>进行从小到大排序,则分别需要进行(  )次数组元素之间的比较。
 

  • (A) 12,14
  • (B) 10,14
  • (C) 12,16
  • (D) 10,16

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>排序
  • 试题答案:[[A]]
  • 试题解析:

    插入排序的基本思想是逐个将待排序元素插入到已排序的有序表中。假设n个待排序元素存储在数组R[n+1]中(R[0]预留),则:
    (1)初始时数组R[1..1]中只包含元素R[1],则数组R[1..1]必定有序;
    (2)从i=2到n,执行步骤3;
    (3)此时,数组R被划分成两个子区间,分别是有序区间R[1..i-1]和无序区间R[i..n],将当前无序区间的第1个记录R[i]插入到有序区间R[1..i]中适当的位置上,使R[1..i]变为新的有序区间。
    在实现的过程中,设置监视哨R[0],并从R[i-1]到R[0]查找元素R[i]的插入位置
    那么用插入排序对数组<3,1,4,1,5,9,6,5>进行排序的过程为:
    原元素序列:  监视哨   (3),1,4,1,5,9,6,5
    第一趟排序:    1  (1,3),4,1,5,9,6,5    1插入时与3比较1次
    第二趟排序:    4  (1,3,4),1,5,9,6,5    4插入时与3比较1次
    第三趟排序:    1  (1,1,3,4),5,9,6,5    1插入时分别与4、3、1比较1次,共比较3次
    第四趟排序:    5  (1,1,3,4,5),9,6,5    5插入时与4比较1次
    第五趟排序:    9  (1,1,3,4,5,9),6,5    9插入时与5比较1次
    第六趟排序:    6  (1,1,3,4,5,6,9),5    6插入时与9和5分别比较1次,共比较2次
    第七趟排序:    5  (1,1,3,4,5,5,6,9)   5插入时与9,6,5分别比较1次,共比较3次。
    那么整个排序过程需要比较的次数为12次。
    归并排序的思想是将两个相邻的有序子序列归并为一个有序序列,然后再将新产生的相邻序列进行归并,当只剩下一个有序序列时算法结束。其基本步骤如下:
    (1)将n个元素的待排序序列中每个元素看成有序子序列,对相邻子序列两两合并,则将生成n/2个子有序序列,这些子序列中除了最后一个子序列长度可能小于2外,其他的序列长度都等于2;
    (2)对上述n/2个长度为2的子序列再进行相邻子序列的两两合并,则产生n/4个子有序序列,同理,只有最后一个子序列的长度可能小于4;
    (3)第i趟归并排序为,对上述n/i个长度为i的子序列两两合并,产生n/2i个长度为2i的子有序序列;
    (4)重复执行此步骤,直到生成长度为n的序列为止。
    那么用归并排序对数组<3,1,4,1,5,9,6,5>进行排序的过程为:
    原元素序列:  3,1,4,1,5,9,6,5
    第一趟排序: [1,3],[1,4],[5,9],[5,6]    比较4次
    第二趟排序: [1,1,3,4], [5,5,6,9]     前半部分比较3次,后半部分比较3次
    第三趟排序: [1,1,3,4,5,5,6,9]   5分别与1,1,3,4比较一次,共比较4次,后面的序列都不小于5,因此可以直接复制到结果序列。
    所以整个排序过程需要比较的次数为14次。

第 55 题

ARP协议属于(  )协议,它的作用是(  )。
 

  • (A) 物理层
  • (B) 数据链路层
  • (C) 网络层
  • (D) 传输层
  • (A) 实现MAC地址与主机名之间的映射
  • (B) 实现IP地址与MAC地址之间的变换
  • (C) 实现IP地址与端口号之间的映射
  • (D) 实现应用进程与物理地址之间的变换

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>常见TCP/IP协议基础
  • 试题答案:[[C],[B]]
  • 试题解析:

     ARP即地址解析协议,是工作在网络层的协议,它主要的作用是实现IP地址与MAC地址之间的变换。

第 56 题

下面关于集线器与交换机的描述中,错误的是(  )。

  • (A) 交换机是一种多端口网桥
  • (B) 交换机的各个端口形成一个广播域
  • (C) 集线器的所有端口组成一个冲突域
  • (D) 集线器可以起到自动寻址的作用

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>开放系统互连参考模型
  • 试题答案:[[D]]
  • 试题解析:

    集线器又称为Hub,是属于物理层连接网络线路的一种装置,常用于两个或多个网络结点之间物理信号的双向转发。由于电磁信号在网络传输媒体中进行传递时会衰减而使信号变得越来越弱,还会由于电磁噪音和干扰使信号发生畸变,因此需要在一定的传输媒体距离中使用中继器来对传输的数据信号整形放大后再传递。集线器是一个多端口的中继器,它的所有端口在同一个冲突域内。
    网桥是连接两个局域网的存储转发设备,用它可以完成具有相同或相似体系结构的网络系统的连接。
    交换机是一种多端口网桥,它是一种工作在数据链路层的设备(这里指的是二层交换机),不能划分网络层的广播,即它的各个端口形成一个广播域。

第 57 题

“三网合一”的三网是指(  )。
 

  • (A) 电信网、广播电视网、互联网
  • (B) 物联网、广播电视网、电信网
  • (C) 物联网、广播电视网、互联网
  • (D) 物联网、电信网、互联网

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>其它
  • 试题答案:[[A]]
  • 试题解析:

        “三网合一”的三网是指电信网、广播电视网、互联网。“三网融合”后,我们可用电视遥控器打电话,在手机上看电视剧,随需选择网络和终端,只要拉一条线、或无线接入即完成通信、电视、上网等功能。

第 58 题

要使4个连续的C类网络汇聚成一个超网,则子网掩码应该为(  )。

 

  • (A) 255.240.0.0
  • (B) 255.255. 0.0
  • (C) 255.255.252.0
  • (D) 255.255.255.252

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>子网划分与路由汇聚
  • 试题答案:[[C]]
  • 试题解析:

    本题主要考查网络汇聚的相关知识。
    我们可以知道C类地址的子网掩码为255.255.255.0,而四个子网需要用2位来表示,因此如果要将4个连续的C类网络汇聚成一个超网,只需将子网掩码第3个字节的最后两位都变成0即可,因此超网的子网掩码是255.255.252.0。

第 59 题

Ravi, like many project(  ),had studied the waterfall model of software development as the primary software life-cycle(  ).He was all set to use it for an upcoming project, his first assignment. However, Ravi found that the waterfall model could not be used because the customer wanted the software delivered in stages, something that implied that the system had to be delivered and built in(  )and not as(  ).
The situation in many other projects is not very different. The real world rarely presents a problem in which a standard process, or the process used in a previous project, is the best choice.To be the most suitable, an existing process must be(  )to the new problem.A development process, even after tailoring, generally cannot handle change requests.To accommodate change requests without losing control of the project, you must supplement the development process with a requirement change management process.
 

  • (A) customers
  • (B) managers
  • (C) users
  • (D) administrators
  • (A) activity
  • (B) procedure
  • (C) process
  • (D) progress
  • (A) parts
  • (B) modules
  • (C) software
  • (D) a whole
  • (A) parts
  • (B) modules
  • (C) software
  • (D) a whole
  • (A) modified
  • (B) used
  • (C) suited
  • (D) tailored

答案与解析

  • 试题难度:较难
  • 知识点:专业英语>专业英语
  • 试题答案:[[B],[C],[A],[D],[D]]
  • 试题解析:

        Ravi就像很多研究过以瀑布模型为软件生命周期过程的软件开发项目经理一样,他被安排使用瀑布模型去开发一个即将启动的项目,而且这是他的第一个任务。然而,Ravi发现不能在项目中使用瀑布模型,因为客户想要该软件分阶段交付,而不是作为一个整体交付。
        在很多其他的项目中也有类似的情况,现实生活中,本来就很少有能完全按标准来进行处理的问题,可能某标准处理前一个问题非常合适,但处理现在这个问题就不定适合了。最合适的方法就是对一个新的问题必须采用切合它自身的方法。为了适应变化的变更请求而不失去对项目的控制,你必须要支持项目的发展过程与一个需求变更管理过程。

results matching ""

    No results matching ""