201111软设上午真题

第 1 题

若某条无条件转移汇编指令采用直接寻址,则该指令的功能是将指令中的地址码送入(  )。

 

  • (A) PC(程序计数器)
  • (B) AR(地址寄存器)
  • (C) AC(累加器)
  • (D) ALU(算逻运算单元)

答案与解析

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

    本题主要考查寄存器的相关内容。
    程序计数器是用于存放下一条指令所在单元的地址的地方。在程序执行前,必须将程序的起始地址,即程序的一条指令所在的内存单元地址送入程序计数器,当执行指令时,CPU将自动修改程序计数器的内容,即每执行一条指令程序计数器增加一个量,使其指向下一个待指向的指令。程序的转移等操作也是通过该寄存器来实现的。
    地址寄存器一般用来保存当前CPU所访问的内存单元的地址,以方便对内存的读写操作。
    累加器是专门存放算术或逻辑运算的一个操作数和运算结果的寄存器
    ALU是CPU的执行单元,主要负责运算工作。

第 2 题

若某计算机系统的I/O接口与主存采用统一编址,则输入输出操作是通过(  )指令来完成的。
 

  • (A) 控制
  • (B) 中断
  • (C) 输入输出
  • (D) 访存

答案与解析

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

    I/O接口与主存采用统一编址,即将I/O设备的接口与主存单元一样看待,每个端口占用一个存储单元的地址,其实就是将主存的一部分划出来作为I/O地址空间。
    访存指令是指访问内存的指令,显然,这里需要访问内存,才能找到相应的输入输出设备,因此需要使用访存指令。
    而控制类指令通常是指程序控制类指令,用于控制程序流程改变的指令,包括条件转移指令、无条件转移指令、循环控制指令、程序调用和返回指令、中断指令等。

第 3 题

在程序的执行过程中,Cache与主存的地址映像由(  )。

 

  • (A) 专门的硬件自动完成
  • (B) 程序员进行调度
  • (C) 操作系统进行管理
  • (D) 程序员和操作系统共同协调完成

答案与解析

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

    Cache与主存的地址映像需要专门的硬件自动完成,使用硬件来处理具有更高的转换速率。

第 4 题

总线复用方式可以(  )。

 

  • (A) 提高总线的传输带宽
  • (B) 增加总线的功能
  • (C) 减少总线中信号线的数量
  • (D) 提高CPU利用率

答案与解析

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

    总线复用,顾名思义就是一条总线实现多种功能。常见的总线复用方式有总线分时复用,它是指在不同时段利用总线上同一个信号线传送不同信号,例如,地址总线和数据总线共用一组信号线。采用这种方式的目的是减少总线数量,提高总线的利用率。

第 5 题

在CPU的寄存器中,(  )对用户是完全透明的。
 

  • (A) 程序计数器
  • (B) 指令寄存器
  • (C) 状态寄存器
  • (D) 通用寄存器

答案与解析

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

    指令寄存器用来存放当前正在执行的指令,对用户是完全透明的。
    状态寄存器用来存放计算结果的标志信息,如进位标志、溢出标志等,程序员可以利用状态标志进行判断和跳转。
    通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果,程序员可以利用通用寄存器存取数据。
    程序计数器用来存放下一条将要执行指令的地址,程序员可以利用程序计数器寻址。

第 6 题

CPU中译码器的主要作用是进行(  )。
 

  • (A) 地址译码
  • (B) 指令译码
  • (C) 数据译码
  • (D) 选择多路数据至ALU

答案与解析

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

    在计算机中,通常都是二进制代码,如果我们要将一个信息放到计算机中去表述,就都需要将其编码为二进制代码,在编码时,每一种二进制代码,都赋予了特定的含义,即都表示了一个确定的信号或者对象。而译码就是编码的逆过程。
    CPU中的译码器的主要作用是对指令进行译码。

第 7 题

利用(  )可以获取某FTP服务器中是否存在可写目录的信息。
 

  • (A) 防火墙系统
  • (B) 漏洞扫描系统
  • (C) 入侵检测系统
  • (D) 病毒防御系统

答案与解析

  • 试题难度:一般
  • 知识点:信息安全>其他网络安全控制技术
  • 试题答案:[['B']]
  • 试题解析:

    防火墙是位于两个(或多个)网络间,实施网络间访问控制的一组组件的集合,它是一套建立在内外网络边界上的过滤封锁机制。防火墙的主要功能有:过滤掉不安全服务和非法用户;控制对特殊站点的访问;提供了监视Internet安全和预警的方便端点。
    漏洞扫描系统通常是指基于漏洞数据库,通过扫描等手段,对指定的远程或者本地计算机系统的安全脆弱性进行检测,发现可利用的漏洞的,利用漏洞扫描系统可以获取某FTP服务器中是否存在可写目录的信息。
    入侵检测是防火墙的合理补充,帮助系统对付网络攻击,扩展了系统管理员的安全管理能力(包括安全审计、监视、进攻识别和响应),提高了信息安全基础结构的完整性。它从计算机网络系统中的若干关键点收集信息,并分析这些信息,看网络中是否有违反安全策略的行为和遭到袭击的迹象。入侵检测被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测,从而提供对内部攻击、外部攻击和误操作的实时保护。
    病毒防御系统是一个用来防止黑客、病毒、木马的防御系统。

第 8 题

通过内部发起连接与外部主机建立联系,由外部主机控制并盗取用户信息的恶意代码为(  )。
 

  • (A) 特洛伊木马
  • (B) 蠕虫病毒
  • (C) 宏病毒
  • (D) CIH病毒

答案与解析

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

    特洛伊木马一种秘密潜伏的能够通过远程网络进行控制的恶意程序,它使控制者可以控制被秘密植入木马的计算机的一切资源和行为。
    蠕虫病毒是一种常见的利用网络进行复制和传播的病毒。病毒发作时会在屏幕上出现一条类似虫子的东西,胡乱吞吃屏幕上的字母并将其改形。
    宏病毒是一种寄存在文档或模板的宏中的病毒。一旦打开这样的文档,其中的宏就会被执行,宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。
    CIH病毒是一种能够破坏计算机系统硬件的恶性病毒,有时还会破坏计算机的BIOS。

第 9 题

从认证中心CA获取用户B的数字证书,该证书用(  )作数字签名;从用户B的数字证书中可以获得B的公钥。
 

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

答案与解析

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

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

第 10 题

(  )指可以不经著作权人许可,不需支付报酬,使用其作品。
 

  • (A) 合理使用
  • (B) 许可使用
  • (C) 强制许可使用
  • (D) 法定许可使用

答案与解析

  • 试题难度:一般
  • 知识点:法律法规与标准化>侵权判断
  • 试题答案:[[A]]
  • 试题解析:

    合理使用是指可以不经著作权人许可,不需支付报酬,使用其作品;许可使用是指在获得著作权人许可后使用其作品;强制许可使用也称为强制许可或非自愿许可,是指国务院专利行政部门依照法律规定,可以不经专利权人的同意,直接允许申请人实施专利权人的发明或实用新型专利的一种行政措施;法定许可使用是指法律明文规定,可以不经著作权人许可,以特定的方式有偿使用他人已经发表的作品的行为,并且这种使用应当尊重著作权人的其他各项人身利和财产权。

第 11 题

 王某是M国际运输有限公司计算机系统管理员。任职期间,王某根据公司的业务要求开发了“海运出口业务系统”,并由公司使用,随后,王某向国家版权局申请了计算机软件著作权登记,并取得了《计算机软件著作权登记证书》。证书明确软件名称是“海运出口业务系统Vl.0”,著作权人为王某。以下说法中,正确的是(  )。
 

  • (A) 海运出口业务系统Vl.0的著作权属于王某
  • (B) 海运出口业务系统Vl.0的著作权属于M公司
  • (C) 海运出口业务系统Vl.0的著作权属于王某和M公司
  • (D) 王某获取的软件著作权登记证是不可以撤消的

答案与解析

  • 试题难度:一般
  • 知识点:法律法规与标准化>知识产权人确定
  • 试题答案:[[B]]
  • 试题解析:

    本题主要考查职位作品的著作权归属问题。
    如果开发者在单位或组织中任职期间,所开发的软件若符合以下条件的,则软件著作权应归单位或组织所有:
    (1)针对本职工作中明确规定的开发目标所开发的软件;
    (2)开发出的软件属于从事本职工作活动的结果;
    (3)使用了单位或组织的资金、专用设备、未公开的信息等物质、技术条件,并由单位或组织承担责任的软件。

第 12 题

计算机通过MIC(话筒接口)收到的信号是(  )。
 

  • (A) 音频数字信号
  • (B) 音频模拟信号
  • (C) 采样信号
  • (D) 量化信号

答案与解析

  • 试题难度:一般
  • 知识点:多媒体基础>多媒体技术基本概念
  • 试题答案:[[B]]
  • 试题解析:

    通过话题传入计算机的是我们人类的声音,而这种声音信号是一种连续的模拟信号,而非离散的数字信号,在接收到模拟信号以后,经过采样、量化等工作将模拟信号转换为数字信号在计算机中处理。

第 13 题

(  )既不是图像编码也不是视频编码的国际标准。
 

  • (A) JPEG
  • (B) MPEG
  • (C) ADPCM
  • (D) 261

答案与解析

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

    JPEG即联合图像专家组,是一种支持8位和24位色彩的压缩位图格式,是目前一种非常流行的图像文件格式。
    MPEG即动态图像专家组,也是一种非常流行的图像、视频编码标准,它具体包含MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等子标准。
    ADPCM是自适应差分脉冲编码调制的简称,常使用于数字通信系统中,既不是图像编码也不是视频编码的国际标准。
    H.261又称为P*64K标准,其中P为64Bb/s的取值范围,是1到30的可变参数,它最初是针对在ISDN上实现电话会议应用特别是面对面的可视电话和视频会议而设计的。

第 14 题

多媒体制作过程中,不同媒体类型的数据收集、制作需要不同的软、硬件设备和技术手段,动画制作一般通过(  )进行。

  • (A) 字处理软件
  • (B) 视频卡
  • (C) 声卡
  • (D) 图形/图像软件

答案与解析

  • 试题难度:容易
  • 知识点:多媒体基础>多媒体技术基本概念
  • 试题答案:[[D]]
  • 试题解析:字处理软件是处理文字的一种工具,常见的有操作系统自带的文本处理软件。
    视频卡也叫视频采集卡,是将模拟摄像机、录像机等设备输出的视频信号等输出的视频数据或者视频音频的混合数据输入电脑,并转换成电脑可辨别的数字信号的一种硬件。
    声卡即音频卡,是实现声波/数字信号相互转换的一种硬件,是多媒体技术中最基本的组成部分。
    图形/图像软件是对图形、图像进行处理的软件,如Photoshop等。

第 15 题

确定软件的模块划分及模块之间的调用关系是(  )阶段的任务。
 

  • (A) 需求分析
  • (B) 概要设计
  • (C) 详细设计
  • (D) 编码

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>概要设计与详细设计
  • 试题答案:[[B]]
  • 试题解析:

    需求分析阶段的任务主要是要解决系统做什么的问题,即弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。
    概要设计的主要任务是把需求分析得到的结果转换为软件结构和数据结构,即将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面、确定数据的结构特性、以及数据库的设计等。
    详细设计是在概要设计的基础上更细致的设计,它包括具体的业务对象设计、功能逻辑设计、界面设计等工作。详细设计是系统实现的依据,需要更多地考虑设计细节。
    编码即编写程序代码,具体实现系统。

第 16 题

利用结构化分析模型进行接口设计时,应以(  )为依据。

  • (A) 数据流图
  • (B) 实体--关系图
  • (C) 数据字典
  • (D) 状态--迁移图

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>需求分析相关概念
  • 试题答案:[[A]]
  • 试题解析:数据流图是结构化分析模型需求分析阶段得到的结果,描述了系统的功能,在进行接口设计时,应以它为依据。

第 17 题

下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的值表示完成活动所需要的时间,则关键路径长度为(  )。


 

  • (A) 20
  • (B) 19
  • (C) 17
  • (D) 16

答案与解析

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

    本题主要考查求关键路径。从开始顶点到结束顶点的最长路径为关健路径(临界路径),关键路径上的活动为关键活动。
    在本题中找出的最长路径是A->B>D->I->J->L,其长度为3+5+2+2+8=20,而其它任何路径的长度都比这条路径小,因此我们可以知道关键路径的长度为20。

第 18 题

甘特图(Gantt图)不能(  )。
 

  • (A) 作为项目进度管理的一个工具
  • (B) 清晰地描述每个任务的开始和截止时间
  • (C) 清晰地获得任务并行进行的信息
  • (D) 清晰地获得各任务之间的依赖关系

答案与解析

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

    甘特图是一种能清晰描述每个任务的开始和截止时间,能有效获得任务并行进行的信息的项目进度管理工具。

第 19 题

以下关于风险管理的叙述中,不正确的是(  )。

 

  • (A) 仅根据风险产生的后果来对风险排优先级
  • (B) 可以通过改变系统性能或功能需求来避免某些风险
  • (C) 不可能去除所有风险,但可以通过采取行动来降低或者减轻风险
  • (D) 在项目开发过程中,需要定期地评估和管理风险

答案与解析

  • 试题难度:容易
  • 知识点:项目管理>风险管理
  • 试题答案:[[A]]
  • 试题解析:

    对风险排优先级是根据风险的曝光度来进行的,曝光度等于风险的产生后果乘以风险发生的概率。

第 20 题

 若C程序的表达式中引用了未赋初值的变量,则(  )。

 

  • (A) 编译时一定会报告错误信息,该程序不能运行
  • (B) 可以通过编译并运行,但运行时一定会报告异常
  • (C) 可以通过编译,但链接时一定会报告错误信息而不能运行
  • (D) 可以通过编译并运行,但运行结果不一定是期望的结果

答案与解析

  • 试题难度:一般
  • 知识点:程序设计语言基础>错误管理
  • 试题答案:[['D']]
  • 试题解析:

    在C程序中,若在某个表达式中引用了未赋初值的变量,那么程序是可以通过编译并运行的,因为程序中并没有语法方面的错误,只是运行的结果可能与我们期望的结果不一致。

第 21 题

若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为(  )。

 

  • (A) base+((i-1)M+j-1)K
  • (B) base+((i-1)N+j-1)K
  • (C) base+((j-1)M+i-1)K
  • (D) base+((j-1)N+i-1)K

答案与解析

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

    题目告诉我们是按列存储,那么在存储元素arr[i,j]以前,应该存放了j-1列,而每一列中有M个元素(即数组的行数),那么应该有(j-1)*M个元素,而在第j列中,存放元素arr[i,j]以前,应该有i-1个元素被存放,因此,在存放元素arr[i,j]以前总共有(j-1)*M+i-1个元素被存放,而每个元素占用K个存储单元,因此本题答案选C。

第 22 题

某企业生产流水线M共有两位生产者,生产者甲不断地将其工序上加工的半成品放入半成品箱,生产者乙从半成品箱取出继续加工。假设半成品箱可存放n件半成品,采用PV操作实现生产者甲和生产者乙的同步可以设置三个信号量S、S1和S2,其同步模型如下图所示。

信号量S是一个互斥信号量,初值为(  );S1、S2的初值分别为(  )。

  • (A) 0
  • (B) 1
  • (C) n
  • (D) 任意正整数
  • (A) n、0
  • (B) 0、n
  • (C) 1、n
  • (D) n、1

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>信号量与PV操作
  • 试题答案:[[B],[A]]
  • 试题解析:

    本题主要考查PV操作实现同步与互斥。在本题中,题目告诉我们甲乙俩人互斥使用半成品箱这个共有资源,且只有一个半成品箱,那么互斥信号量的初值就应该为1。而从题目给出的同步模型图,我们可以看出,信号量S1是生产者甲的私有信号量,而S2是生产者乙的私有信号量,题目告诉我们半成品箱可存放n件半成品,那么初始状态时,S1的值应该为n,表示生产者甲最多只能生产n个半成品放入半成品箱,就需要生产者乙来协调工作。而S2的值为0,表示开始时半成品箱中没有半成品。

第 23 题

若某文件系统的目录结构如下图所示,假设用户要访问文件f1.java,且当前工作目录为Program,则该文件的全文件名为(  ),其相对路径为(  )。

  • (A) f1.java
  • (B) \DocumentUava-prog\f1.java
  • (C) D:\Program\Java-prog\f1.java
  • (D) \Program\Java-prog\f1.java
  • (A) Java-prog\
  • (B) \Java-prog\
  • (C) Program\Java-prog
  • (D) \Program\Java-prog\

答案与解析

  • 试题难度:一般
  • 知识点:操作系统>树形目录结构(绝对路径与相对路径)
  • 试题答案:[[C],[A]]
  • 试题解析:

    绝对路径就是从根目录开始一直到该目录的全程的路径,这样说可能太抽象,就这个题目来说:D:\Program\Java-prog\f1.java就是文件f1.java的绝对路径,即全文件名。
    相对路径就是相对于当前目录的路径,在本题中当前目录是Program,而你要访问文件f1.java,那么只需在命令行里输入Java-prog\就可以了。

第 24 题

假设磁盘每磁道有18个扇区,系统刚完成了10号柱面的操作,当前移动臂在13号柱面上,进程的请求序列如下表所示。若系统采用SCAN(扫描)调度算法,则系统响应序列为(  );若系统采用CSCAN(单向扫描)调度算法,则系统响应序列为(  )。

>- (A) ⑦⑩①②④③⑨⑧⑤⑥ >- (B) ①⑦⑩②③④⑥⑤⑧⑨ >- (C) ⑦⑩①②④③⑥⑤⑧⑨ >- (D) ①⑦⑩②③④⑧⑨⑥⑤ >- (A) ⑦⑩①②④③⑨⑧⑤⑥ >- (B) ①⑦⑩②③④⑥⑤⑧⑨ >- (C) ⑦⑩①②④③⑥⑤⑧⑨ >- (D) ①⑦⑩②③④⑧⑨⑥⑤ **答案与解析** - 试题难度:一般 - 知识点:操作系统>磁盘管理 - 试题答案:[[A],[C]] - 试题解析:

SCAN调度算法也叫“电梯”算法,磁头固定从外向内然后从内向外沿柱面运动。如此往复,遇到所请求的柱面时立即为其服务。
在本题中,题目告诉我们系统刚完成了10号柱面的操作,当前移动臂在13号柱面上,说明目前磁头正由小柱面号向大柱面号方向移动,那么根据SCAN调度的原则,接着应该响应柱面号为15的请求,而在题目中给出了三个柱面号为15的请求,但其中①和⑦是磁头号8,而7的扇区号为1,因此应该先响应进程⑦,而⑩是用磁头号为10,其扇区号为4,因此接着要响应进程⑩,然后再响应进程①,接着就要出来柱面号为20的进程,分别为②和④,它们的扇区号相同,而进程②的磁头号为6,进程④的磁头号为10,因此应该先响应②;再接着应该响应柱面号为30的进程,当磁头在这个方向上移动时,也无进程需要出来,因此只有当磁头由大柱面号向小柱面号方向移动时,再来出来其它进程,处理的次序应该要根据柱面号从大到小,因此是⑨⑧⑤⑥。
而采用CSCAN(单向扫描)调度算法,它的磁头是单向移动的,也就是当磁头从内向外移动到最外面时,磁头放到最内,然后再从内向外扫描。因此采用这种方式得到的响应序列应该是⑦⑩①②④③⑥⑤⑧⑨。

第 25 题

某程序设计语言规定在源程序中的数据都必须具有类型,然而,(  )并不是做出此规定的理由。
 

  • (A) 为数据合理分配存储单元
  • (B) 可以定义和使用动态数据结构
  • (C) 可以规定数据对象的取值范围及能够进行的运算
  • (D) 对参与表达式求值的数据对象可以进行合法性检查

答案与解析

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

    要求源程序中的数据必须具有类型的目的主要有以下几个方面:
    第一是方便为数据合理分配存储单元;第二是规定了数据类型,就知道了其占用的字节数,从而也就规定了数据对象的取值范围及能够进行的运算;第三是对参与表达式求值的数据对象可以进行合法性检查,比如浮点数就不能进行自加操作。

第 26 题

以下关于喷泉模型的叙述中,不正确的是(  )。

 

  • (A) 喷泉模型是以对象作为驱动的模型,适合于面向对象的开发方法
  • (B) 喷泉模型克服了瀑布模型不支持软件重用和多项开发活动集成的局限性
  • (C) 模型中的开发活动常常需要重复多次,在迭代过程中不断地完善软件系统
  • (D) 各开发活动(如分析、设计和编码)之间存在明显的边界

答案与解析

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

    喷泉模型主要用于描述面向对象的开发过程。喷泉一词体现了面向对象开发过程的迭代和无间隙特征。迭代意味着模型中的开发活动常常需要多次重复,每次重复都会增加或明确一些目标系统的性质,但却不是对先前工作结果的本质性改动。无间隙是指在开发活动(如分析、设计、编程)之间不存在明显的边界,而是允许各开发活动交叉、迭代地进行。

第 27 题

 若全面采用新技术开发一个大学记账系统,以替换原有的系统,则宜选择采用(  )进行开发。
 

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

答案与解析

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

    本题主要考查各开发模型的基本特征,适用场合。
    瀑布模型严格遵循软件生命周期各阶段的顺序进行软件开发,适用于需求非常明确的的场合,而在本题中,题目告诉我们是用新技术开发一个新系统来替代老系统,属于二次开发,需求应该非常明确,因此适合采用瀑布模型。

第 28 题

 将每个用户的数据和其他用户的数据隔离开,是考虑了软件的(  )质量特性。
 

  • (A) 功能性
  • (B) 可靠性
  • (C) 可维护性
  • (D) 易使用性

答案与解析

  • 试题难度:较难
  • 知识点:软件工程>软件质量特性
  • 试题答案:[[A]]
  • 试题解析:

    功能性是指与功能及其指定的性质有关的一组软件质量;可靠性是指衡量在规定的一段时间内和规定条件下维护性能水平的一组软件质量;可维护性是指与软件维护的难易程度相关的一组软件属性;易使用性是指与使用难易程度及规定或隐含用户对使用方式所做的评价相关的属性。
    综上所述,可以知道将每个用户的数据和其他用户的数据隔离开,是考虑了软件的功能性质量特性。

第 29 题

 在软件评审中,设计质量是指设计的规格说明书符合用户的要求。设计质量的评审内容不包括(  )。

 

  • (A) 软件可靠性
  • (B) 软件的可测试性
  • (C) 软件性能实现情况
  • (D) 模块层次

答案与解析

  • 试题难度:一般
  • 知识点:软件工程>软件质量保证(评审)
  • 试题答案:[[D]]
  • 试题解析:

    设计质量评审的内容主要有:软件需求规格说明、软件可靠性、软件是否具有可修改性、可扩充性、可互换性、可移植性、可测试行和可重用性及软性性能的实现情况等。

第 30 题

针对应用在运行期的数据特点,修改其排序算法使其更高效,属于(  )维护。
 

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

答案与解析

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

    改正性维护也叫正确性维护,是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动。
    适应性维护是指为了适应变化了的环境而修改软件的活动。
    完善性维护是指为了扩充或完善原有软件的功能或性能而修改软件的活动。
    预防性维护是指为了提高软件的可维护性和可靠性、为未来的进一步改进打下基础而修改软件的活动。
    综上所述,可知针对应用在运行期的数据特点,修改其排序算法使其更高效属于完善性维护。

第 31 题

 下图所示的逻辑流实现折半查找功能,最少需要(  )个测试用例可以覆盖所有的可能路径。

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

答案与解析

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

    折半查找是在一组有序的数(假设为递增顺序)中查找一个数的算法,其思想是:将待查找的数与数组中间位置mid的数进行比较,若相等,则查找成功;若大于中间位置的数,则在后半部分进行查找;若小于中间位置的数,则在前半部分进行查找。直到查找成功,返回所查找的数的位置,或者失败,返回-1。设计一个查找成功的测试用例,可以覆盖除了return-1之外的所有语句和路径;设计一个查找失败的测试用例,可以覆盖除了return mid之外的所有语句和路径。因此,最少需要2个测试用例才可以覆盖所有路径。

第 32 题

在某班级管理系统中,班级的班委有班长、副班长、学习委员和生活委员,且学生年龄在15~25岁。若用等价类划分来进行相关测试,则(  )不是好的测试用例。
 

  • (A) (队长,15)
  • (B) (班长,20)
  • (C) (班长,15)
  • (D) (队长,12)

答案与解析

  • 试题难度:容易
  • 知识点:软件工程>黑盒测试
  • 试题答案:[[D]]
  • 试题解析:

    所谓等价类就是某个输入域的集合,对于一个等价类中的输入值来说,它们揭示程序中错误的作用是等效的。也就是说,如果等价类中的一个输入数据能检测出一个错误,那么等价类中的其他输入数据也能检测出同一个错误。
    在本题中一个设计用例包含两个输入条件,一个是班委,另一个是年龄,从四个选项来看,D选项中的两个输入都不是有效数据,如果用这个用例检测出了一个错误,那么也不能确定是由哪个输入条件引起的,因此其不是一个好的测试用例。

第 33 题

进行防错性程序设计,可以有效地控制(  )维护成本。
 

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

答案与解析

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

    改正性维护也叫正确性维护,是指在使用过程中发现了隐蔽的错误后,为了诊断和改正这些隐蔽错误而修改软件的活动。
    适应性维护是指为了适应变化了的环境而修改软件的活动。
    完善性维护是指为了扩充或完善原有软件的功能或性能而修改软件的活动。
    预防性维护是指为了提高软件的可维护性和可靠性、为未来的进一步改进打下基础而修改软件的活动。
    防错性的程序设计,可以减少在系统运行时发生错误,有效地控制正确性维护的成本。

第 34 题

采用面向对象开发方法时,对象是系统运行时基本实体。以下关于对象的叙述中,正确的是(  )。

 

  • (A) 对象只能包括数据(属性)
  • (B) 对象只能包括操作(行为)
  • (C) 对象一定有相同的属性和行为
  • (D) 对象通常由对象名、属性和操作三个部分组成

答案与解析

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

    对象通常由对象名、属性和操作三个部分组成,对象不一定都有相同的属性和行为。

第 35 题

一个类是(  )。在定义类时,将属性声明为private的目的是(  )。
 

  • (A) 一组对象的封装
  • (B) 表示一组对象的层次关系
  • (C) 一组对象的实例
  • (D) 一组对象的抽象定义
  • (A) 实现数据隐藏,以免意外更改
  • (B) 操作符重载
  • (C) 实现属性值不可更改
  • (D) 实现属性值对类的所有对象共享

答案与解析

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

    类与对象的关系是抽象与具体的关系,类是一组对象的抽象,而对象是类的实例。在定义类时,将属性声明为private,即只允许自身对其进行访问、修改等操作,而外界不可见,从而达到实现数据隐藏,以免意外更改的目的。

第 36 题

(  )设计模式允许一个对象在其状态改变时,通知依赖它的所有对象。该设计模式的类图如下图,其中,(  )在其状态发生改变时,向它的各个观察者发出通知。

 

  • (A) 命令( Command)
  • (B) 责任链(Chain of Responsibility)
  • (C) 观察者( Observer)
  • (D) 迭代器(Iterator)
  • (A) Subject
  • (B) ConcreteSubject
  • (C) Observer
  • (D) ConcreteObserver

答案与解析

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

    观察者模式的意图是:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
    在观察者模式类图中:
    Subject是抽象的被观察对象,了解其多个观察者,任意数量的观察者可以观察一个对象,提供一个接口用来绑定以及分离观察者对象。 
    Concrete Subject是具体被观察对象,存储具体观察者Concrete Observer有兴趣的状态。当其状态改变时,发送一个通知给其所有的观察者对象。
    Observer是抽象的观察者,定义一个更新接口,在一个被观察对象改变时应被通知。
    Concrete Observer是具体观察者,维护一个对Concrete Subject对象的引用。

第 37 题

在面向对象软件开发中,封装是一种(  )技术,其目的是使对象的使用者和生产者分离。
 

  • (A) 接口管理
  • (B) 信息隐藏
  • (C) 多态
  • (D) 聚合

答案与解析

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

    面向对象系统中的封装单位是对象,对象之间只能通过接口进行信息交流,对象外部不能对对象中的数据随意地进行访问。封装是一种信息隐藏技术,目的是使对象的定义和实现分离,这样,就能减少耦合,类内部的实现可以自由改变而不会影响其他的类或对象。

第 38 题

欲动态地给一个对象添加职责,宜采用(  )模式。
 

  • (A) 适配器(Adapter)
  • (B) 桥接(Bridge)
  • (C) 组合( Composite)
  • (D) 装饰器(Decorator)

答案与解析

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

    适配器模式将一个接口转换成为客户想要的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。
    桥接模式将抽象部分与实现部分分离,使得它们两部分可以独立地变化。
    组合模式组合多个对象形成树型结构以表示整体—部分的结构层次。
    装饰器模式动态地给一个对象增加其他职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。

第 39 题

(  )模式通过提供与对象相同的接口来控制对这个对象的访问。

 

  • (A) 适配器( Adapter)
  • (B) 代理(Proxy)
  • (C) 组合( Composite)
  • (D) 装饰器(Decorator)

答案与解析

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

    适配器模式将一个接口转换成为客户想要的另一个接口,适配器模式使接口不兼容的那些类可以一起工作。
    代理模式通过提供与对象相同的接口来控制对这个对象的访问。
    组合模式组合多个对象形成树型结构以表示整体—部分的结构层次。
    装饰器模式动态地给一个对象增加其他职责,就增加对象功能来说,装饰模式比生成子类实现更为灵活。

第 40 题

采用UML进行面向对象开发时,部署图通常在(  )阶段使用。
 

  • (A) 需求分析
  • (B) 架构设计
  • (C) 实现
  • (D) 实施

答案与解析

  • 试题难度:一般
  • 知识点:面向对象技术>UML图的定义
  • 试题答案:[[D]]
  • 试题解析:

    部署图描述了一个运行时的硬件结点,以及在这些结点上运行的软件组件的静态视图。 部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件。因此它是在实施阶段被使用。

第 41 题

业务用例和参与者一起描述(  ),而业务对象模型描述(  )。

 

  • (A) 工作过程中的静态元素
  • (B) 工作过程中的动态元素
  • (C) 工作过程中的逻辑视图
  • (D) 组织支持的业务过程
  • (A) 业务结构
  • (B) 结构元素如何完成业务用例
  • (C) 业务结构以及结构元素如何完成业务用例
  • (D) 组织支持的业务过程

答案与解析

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

    这里需要区分业务用例与用例(用例即系统)。业务用例其实是对用例思想的一种延续,只是改变了使用场合。用例是从使用者的角度定义“软件系统”的需求。而业务用例不研究“软件系统”需求,它关心是一个“业务组织”对外提供哪些服务,支持那些业务过程。业务用例描述的是业务参与者如何使用业务组织提供的服务的过程。因此业务用例其实是一种业务流程。
    业务对象模型是描述业务用例实现的对象模型,即业务结构以及结构元素如何完成业务用例。

第 42 题

下图所示为一个有限自动机(其中,A是初态、C是终态),该自动机识别的语言可用正规式(  )表示。

 

  • (A) (0|1)*01
  • (B) 1010*1
  • (C) 1(0)01
  • (D) 1(0|10)1*

答案与解析

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

    被有限自动机所识别是指从初态开始到终态结束,所输入的字符串能够按顺序地执行下去,若到某个状态不能往下走得到下一个字符,则认为不能识别。
    在本题中,选项A能被识别。从初态A出发,不管经过多少个1和0之后,只能是处在A、B、C三种状态中的一种,所以在(0|1)*后,只能是处在A、B、C三种状态中的一种,不管是在那个状态,输入0后,都会处在状态B,然后输入1,都会转换到状态C,因此选项A能被该有限自动机所识别。
    同样的道理,我们可以知道其它选项的正规式不能被识别。

第 43 题

函数t、f的定义如下所示,其中,a是整型全局变量。设调用函数t前a的值为5,则在函数t中以传值调用(call by value)方式调用函数f时,输出为(  );在函数t中以引用调用( call by reference)方式调用函数f时,输出为(  )。

  • (A) 12
  • (B) 16
  • (C) 20
  • (D) 24
  • (A) 12
  • (B) 16
  • (C) 20
  • (D) 24

答案与解析

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

    传值调用中,形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变;而引用(传址)调用中,形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。本题中a是全局变量,因此会随着操作发生值的改变。
    在本题中,首先是采用传值调用,这个时候将变量a的值5传递给形参r,即r的值为5,那么a的值经过a=r+1后变成了6(r的值不变),而r的值经过r=r*2后变成了10,并返回,即在函数t中,变量x的值被赋值为10,那么在函数t中最后输出的时10+6=16。
    采用引用调用时,由于形参r指向的是实参a的存储空间,即r与a指向的是同一块存储单元,首先a的值为5,经过a=r+1后变成了6(r的值变为6),再经过r=r*2后变成了12,并返回,即在函数t中,变量x的值被赋值为12,那么在函数t中最后输出的时12+12=24。

第 44 题

将Students表的插入权限赋予用户UserA,并允许其将该权限授予他人,应使用的SQL语句为:
    GRANT(  )TABLE Students TO UserA(  );
 

  • (A) UPDATE
  • (B) UPDATEON
  • (C) INSERT
  • (D) INSERT ON
  • (A) FORALL
  • (B) PUBLIC
  • (C) WITH CHECK OPTION
  • (D) WITH GRANT OPTION

答案与解析

  • 试题难度:一般
  • 知识点:数据库系统>权限控制语句
  • 试题答案:[[D],[D]]
  • 试题解析:

    赋予用户权限命令的简单格式可以概括为:GRANT 权限ON 数据库对象TO 用户 WITH GRANT OPTION。 而WITH GRANT OPTION是可选项,表示用户可以将其权限通过GRANT语句授权给其它用户。因此本题的正确答案应分别是INSERT ON和WITH GRANT OPTION。

第 45 题

若有关系R (A,B,C,D)和S(C,D,E),则与表达式π3,4,74<5 (R×S))等价的SQL语句如下:
    SELECT (  ) FROM (  )WHERE (  );
 

  • (A) A,B,C,D,E
  • (B) C,D,E
  • (C) R.A, R.B,R.C, R.D, S.E
  • (D) R.C,R.D,S.E
  • (A) R
  • (B) S
  • (C) R,S
  • (D) RS
  • (A) D<C
  • (B) R.D<S.C
  • (C) R.D< R.C
  • (D) S.D< R.C

答案与解析

  • 试题难度:容易
  • 知识点:数据库系统>普通查询语句
  • 试题答案:[[D],[C],[B]]
  • 试题解析:

    R×S表示关系R与关系S的笛卡尔积,其结果是一个具有n(n的值由关系R与S的元组个数共同决定)行7列元素的二维表,σ4<5 (R×S)是选取表中第4列(R.D)元素值小于第5列(S.C)元素值的记录,然后对这个结果进行投影操作,即选取出第3(R.C)、4(R.D)、7(S.E)列组成一个新表。
    因此第53空的结果应该为R.C,R.D,S.E,而第54空是从关系表R和S中进行查找,查找的条件为R.D元素值小于S.C元素值,即R.D<S.C。

第 46 题

E-R图转换为关系模型时,对于实体E1与E2间的多对多联系,应该将(  )。

  • (A) E1的码加上联系上的属性并入E2
  • (B) E1的码加上联系上的属性独立构成一个关系模式
  • (C) E2的码加上联系上的属性独立构成一个关系模式
  • (D) E1与E2码加上联系上的属性独立构成一个关系模式

答案与解析

  • 试题难度:容易
  • 知识点:数据库系统>ER模型
  • 试题答案:[[D]]
  • 试题解析:

    本题主要考查E-R图转换为关系模式的规则。
    在多对多联系转换为关系模式时,应该将两个实体分别转换为一个关系模式,并将其联系也转换为一个独立的关系模式,该关系模式的属性包括联系本身的属性以及两实体的主键。因此本题的答案选D。

第 47 题

在KMP模式匹配算法中,需要求解模式串p的next函数值,其定义如下(其中,j为模式串中字符的序号)。对于模式串“abaabaca”,其next函数值序列为(  )。

  • (A) 01111111
  • (B) 01122341
  • (C) 01234567
  • (D) 01122334

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>字符串
  • 试题答案:[[B]]
  • 试题解析:

    KMP模式匹配算法通俗点说就是一种在一个字符串中定位另一个串的高效算法。其实我们在做这个题目时,也可以不需要知道KMP模式匹配算法,可以根据题目给出的定义式来求解。

    当j=1时,很显然next[1]=0。

    当j=2时,由于1<k<j,因此k无法取到合适值,因此next[2]=1。

    当j=3时,k的取值为2,那么等号左边的‘P1P2…PK-1’字符串就是P1,为字符串中的第一个字符 a,而右边就是P2,即字符串中的第二个字符b,显然,它们不相等,因此next[3]=1。

    当j=4时,k可以取值2或者3,取值为2时,等号左边为第一个字符a,而等号右边为 P3,也是字符a,因此相等,但这个时候我们还要判定当k取值为3时,等号左边为第一与第二个字符,即‘ab’,而右边为‘ba’,显然不相等,因此next[4]=2。

    同理我们可以求得当j=5,j=6的结果,本题正确答案选B。

第 48 题

对于线性表(由n个同类元素构成的线性序列),采用单向循环链表存储的特点之一是(  )。

 

  • (A) 从表中任意结点出发都能遍历整个链表
  • (B) 对表中的任意结点可以进行随机访问
  • (C) 对于表中的任意一个结点,访问其直接前驱和直接后继结点所用时间相同
  • (D) 第一个结点必须是头结点

答案与解析

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

    采用单向循环链表存储的特点之一是从表中任意结点出发都能遍历整个链表,另外便于元素的元素节点的删除与插入。如需要对表中的任意节点进行随机访问需采用顺序存储结构。

第 49 题

 无向图中一个顶点的度是指图中与该顶点相邻接的顶点数。若无向图G中的顶点数为n,边数为e,则所有顶点的度数之和为(  )。
 

  • (A) n*e
  • (B) n e
  • (C) 2n
  • (D) 2e

答案与解析

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

    在无向图中,一条边连接两个顶点,即如果存在一条边,那么与这条边相关的两个顶点的度都为加1,那么总的度就应该加2,因此,如果图中有n条边,那么所有顶点的度数之和就应该为2e。

第 50 题

一棵满二叉树,其每一层结点个数都达到最大值,对其中的结点从l开始顺序编号,即根结点编号为1,其左、右孩子结点编号分别为2和3,再下一层从左到右的编号为4、5、6、7,依此类推,每一层都从左到右依次编号,直到最后的叶子结点层为止,则用(  )可判定编号为m和n的两个结点是否在同一层。

 

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

答案与解析

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

    如果是满二叉树,那么其第n层的结点数应该是第n-1层结点数的两倍,从根(第一层)开始,各层的结点数应分别是2n-1个,其中n为当前的层次,因此一颗x层的满二叉树,其总的结点数位2x-1个。而如果知道结点编号m,我们可以用log2m+1来求取该结点属于那一层,同样,对于编号为n的结点,所属层次为log2n+1,两者属于同一层次则应该满足log2m+1=log2n+1,因此B选项log2m=log2n符合要求。

第 51 题

(  )一是由权值集合{8,5,6,2}构造的哈夫曼树(最优二叉树)。

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

答案与解析

  • 试题难度:一般
  • 知识点:数据结构与算法基础>最优二叉树(哈夫曼树)
  • 试题答案:[[C]]
  • 试题解析:

    构造哈夫曼树的过程是首先从给出的权值集合中找出最小的两个权值,即2和5,用它们作为子结点构建一个父结点,其权值为7,然后将7放入权值集合中并将2和5去掉,再在集合中找出两个最小权值,即6和7,而7已经在我们构造的树中,然后用6和7作为子结点构建一个父结点,其权值为6+7=13,然后同样将13放入权值集合中并将6和7去掉,最好集合中只有8和13,将它们作为子结点构建一个父结点,就得到了C这棵哈夫曼树。

第 52 题

迪杰斯特拉(Dijkstra)算法用于求解图上的单源点最短路径。该算法按路径长度递增次序产生最短路径,本质上说,该算法是一种基于(  )策略的算法。
 

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

答案与解析

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

    分治法:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决;否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。

    动态规划法:这种算法也用到了分治思想,它的做法是将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题。

    贪心算法:它是一种不追求最优解,只希望得到较为满意解的方法。贪心算法一般可以快速得到满意的解,因为它省去了为找到最优解而穷尽所有可能所必须耗费的大量时间。贪心算法常以当前情况为基础做最优选择,而不考虑各种可能的整体情况,所以贪心算法不要回溯。

    回溯算法(试探法):它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。其实现一般要用到递归和堆栈。

    针对单源最短路径问题,由Dijkstra提出了一种按路径长度递增的次序产生各顶点最短路径的算法。若按长度递增的次序生成从源点s到其他顶点的最短路径,则当前正在生成的最短路径上除终点以外,其余顶点的最短路径均已生成(将源点的最短路径看做是已生成的源点到其自身的长度为0的路径)。这是一种典型的贪心策略,就是每递增一次,经对所有可能的源点、目标点的路径都要计算,得出最优。

    带权图的最短路径问题即求两个顶点间长度最短的路径。其中:路径长度不是指路径上边数的总和,而是指路径上各边的权值总和。

第 53 题

在有n个无序无重复元素值的数组中查找第i小的数的算法描述如下:任意取一个元素r,用划分操作确定其在数组中的位置,假设元素r为第k小的数。若i等于k,则返回该元素值;若i小于k,则在划分的前半部分递归进行划分操作找第i小的数;否则在划分的后半部分递归进行划分操作找第k-i小的数。该算法是一种基于(  )策略的算法。
 

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

答案与解析

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

    分治法:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决;否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。本题的算法思想是分治法的思想。
    动态规划法:这种算法也用到了分治思想,它的做法是将问题实例分解为更小的、相似的子问题,并存储子问题的解而避免计算重复的子问题。
    贪心算法:它是一种不追求最优解,只希望得到较为满意解的方法。贪心算法一般可以快速得到满意的解,因为它省去了为找到最优解而穷尽所有可能所必须耗费的大量时间。贪心算法常以当前情况为基础做最优选择,而不考虑各种可能的整体情况,所以贪心算法不要回溯。
    回溯算法(试探法):它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。其实现一般要用到递归和堆栈。

第 54 题

对n个元素值分别为-1、0或1的整型数组A进行升序排序的算法描述如下:统计A中-1、0和1的个数,设分别为n1、n2和n3,然后将A中的前n1个元素赋值为-1,第n1+1到nl+n2个元素赋值为0,最后n3个元素赋值为1。该算法的时间复杂度和空间复杂度分别为(  )。

 

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

答案与解析

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

    时间复杂度是指程序运行从开始到结束所需要的时间。通常分析时间复杂度的方法是从算法中选取一种对于所研究的问题来说是基本运算的操作,以该操作重复执行的次数作为算法的时间度量。一般来说,算法中原操作重复执行的次数是规模n的某个函数T(n)。由于许多情况下要精确计算T(n)是困难的,因此引入了渐进时间复杂度在数量上估计一个算法的执行时间。其定义如下:
    如果存在两个常数c和m,对于所有的n,当n≥m时有f(n)≤cg(n),则有f(n)=O(g(n))。也就是说,随着n的增大,f(n)渐进地不大于g(n)。例如,一个程序的实际执行时间为T(n)=3n3+2n2+n,则T(n)=O(n3)。
    在本题中,根据题目的描述,我们可以知道,遍历完整个数组中的元素,和修改数组中各元素的值都需要时间n,因此是2n,那么该算法的时间复杂度为O(n)。
    空间复杂度是指程序运行从开始到结束所需的辅助存储量,在本题中,只需要辅助存储量来存储统计的元素个数,因此其空间复杂度为O(1)。

第 55 题

设算法A的时间复杂度可用递归式表示,算法B的时间复杂度可用递归式表示,若要使得算法B渐进地快于算法A,则a的最大整数为(  )。
 

  • (A) 48
  • (B) 49
  • (C) 13
  • (D) 14

答案与解析

  • 试题难度:较难
  • 知识点:数据结构与算法基础>时间复杂度与空间复杂度
  • 试题答案:[[A]]
  • 试题解析:

    题目要求使得算法B渐进地快于算法A,即B的时间复杂度小于A的时间复杂度。
    对算法A进行简单的化简,令n=n/2,我们可以得到算法A的T(n)=49T(n/4)+11/4n2
    而算法B的T(n)=aT(n/4)+n2,而根据渐进的规则,算法A的时间复杂度应该为49T(n/4),而算法B的时间复杂度应该为aT(n/4),因此a的取值应该要小于49,本题只有A选项符合。

第 56 题

A类网络是很大的网络,每个A类网络中可以有(  )个网络地址。实际使用中必须把A类网络划分为子网,如果指定的子网掩码为255.255.192.0,则该网络被划分为(  )个子网。
 

  • (A) 210
  • (B) 212
  • (C) 220
  • (D) 224
  • (A) 128
  • (B) 256
  • (C) 1024
  • (D) 2048

答案与解析

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

    A类网络有三个字节的主机号部分,因此每个A类网络中可以有224个IP地址。将子网掩码255.255.192.0转换为二进制可得11111111.11111111.11000000.00000000,可知,在主机号部分拿出了10位作为网络号,因此可划分出210个子网,即1024个子网。

第 57 题

TCP是互联网中的(  )协议,使用(  )次握手协议建立连接。
 

  • (A) 传输层
  • (B) 网络层
  • (C) 会话层
  • (D) 应用层
  • (A) 1
  • (B) 2
  • (C) 3
  • (D) 4

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>TCP与UDP
  • 试题答案:[[A],[C]]
  • 试题解析:

    TCP即传输控制协议,是整个TCP/IP协议族中最重要的协议之一,它在IP协议提供的不可靠数据服务的基础上,采用了重发技术,为应用程序提供了一个可靠的、面向连接的、全双工的数据传输服务。TCP协议传输层的协议,一般用于传输数据量比较少,且对可靠性要求高的应用。
    TCP使用3次握手来建立连接,三次握手的过程如下:
    首先,主机A发送特有SYN的连接建立请求,其中包含了顺序号x;
    然后,当主机B接收到这个请求后,将回复连接请求,它将向主机A发送带有SYN确认TCP段,其中加入了主机B的顺序号y和确认后希望收到的顺序号为x+1的TCP段;
    接着,当主机A收到该回复后将再次发送一个确认段,此时就已经没有SYN标志,而顺序号为x+1,确认码为y+1,表示期望接收到主机B发来的顺序号为y+1的数据。
    至此,在主机A和主机B之间已经建立起一个TCP连接,双方可以开始进行通信了。

第 58 题

在Windows系统中,为排除DNS域名解析故障,需要刷新DNS解析器缓存,应使用的命令是(  )。

  • (A) ipconfig/renew
  • (B) ipconfig/flushdns
  • (C) netstat -r
  • (D) arp –a

答案与解析

  • 试题难度:一般
  • 知识点:计算机网络>网络故障诊断及常用命令
  • 试题答案:[[B]]
  • 试题解析:

    ipconfig/renew的含义是更新所有适配器的 DHCP 配置。该命令仅在具有配置为自动获取 IP 地址的适配器的计算机上可用。
    ipconfig/flushdns的含义是刷新并重设DNS解析器缓存。
    netstat –r用于显示核心路由表。
    arp –a用于查看ARP高速缓存中的内容。

第 59 题

 Extreme Programming (XP) is a discipline of software development with(  )of simplicity, communication, feedback and courage. Successful software development is a team effort - not just the development team, but the larger team consisting of customer, management and developers. XP is a simple process that brings these people together and helps them to succeed together. XP is aimed primarily at object-oriented projects using teams of a dozen or fewer programmers in one location. The principles of XP apply to any(  )project that needs to deliver quality software rapidly and flexibly.
An XP project needs a(  )customer to provide guidance. Customers, programmers, managers, are all working(  ) to build the system that’s needed. Customers - those who have software that needs to be developed - willlearn simple, effective ways to(  )what they need, to be sure that they are getting what they need, and to steer the project to success.
 

  • (A) importance
  • (B) keys
  • (C) roles
  • (D) values
  • (A) small-sized
  • (B) moderately-sized
  • (C) large-sized
  • (D) huge-sized
  • (A) part-time
  • (B) casual
  • (C) seldom
  • (D) full-time
  • (A) together
  • (B) by themselves
  • (C) separately
  • (D) alone
  • (A) tell
  • (B) know
  • (C) communicate
  • (D) feedback

答案与解析

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

    极限编程是一个专业软件开发方法,它包含简单,沟通,反馈和勇气四大价值观。成功的软件开发是一个团队努力的结果,而这个团队不只是开发团队,而是由客户,管理和开发人员一起组成的更大的团队。极限编程是一个简单的过程,为了成功而将一些人聚集在一起,它主要是针对十几个或更少人的项目团队的面向对象开发。原则上极限编程适用于任何需要迅速和灵活提供高质量的轻量级项目。
    一个极限编程项目需要客户的全程指导,而客户、程序员和项目经理都是必须的人员。客户是指那些有软件需要被急切发展的人,我们需要和他们建立有效的沟通方式来确定他们的需求,引导项目走向成功。

results matching ""

    No results matching ""