试卷详情

2016年上半年(上午)《软件设计师》真题

开始做题

试卷预览

单选题

以下关于图的遍历的叙述中,正确的是(  )。

查看答案开始考试

正确答案:C

本题解析:

图的遍历是指,从某一个顶点出发,沿着某条搜索路径对图中的所有顶点进行访问且仅访问一次的过程,所以回路不影响遍历,D选项错误。

这里的访问是沿着某条搜索路径,并不是任意的。A选项错误。

图的深度优先可以用于有向图,也可以用于无向图,B选项错误。

广度优先遍历的特点是尽可能横向搜索,即最先访问的顶点的邻接顶点也先被访问。为此,引入队列来保存,能够先进先出,即当一个顶点被访问后,就将其放入队中,当队头顶点出队时,就访问其未被访问的邻接顶点并让这些顶点入队。队列的特点是先进先出,广度优先刚好合适,C选项正确。

单选题

在13个元素构成的有序表A[1..13]中进行折半查找(或称为二分查找,向下取整)。那么以下叙述中,错误的是(  )。

查看答案开始考试

正确答案:B

本题解析:

B选项错误之处在于,要查找a[9]元素,第一次比较的是A[7](下标计算方法为:[1+13]/2=7),第2次比较的是A[10](下标计算方法为:[8+13]/2=10)。

注意:题目要求计算下标时,向下取整。

单选题

若一棵二叉树的高度(即层数)为h,则该二叉树(  )。

查看答案开始考试

正确答案:D

本题解析:

一颗高度为h的二叉树,结点数最多时,即为满二叉树。

而高度为h的满二叉树有2h-1个结点,所以一棵二叉树的高度(即层数)为h,则它最多有2h-1个结点。

单选题

设有二叉排序树(或二叉查找树)如下图所示,建立该二叉树的关键码序列不可能是(  )。

中级软件设计师,历年真题,2016年上半年(上午)《软件设计师》真题

查看答案开始考试

正确答案:C

本题解析:

本题考查的是二叉排序树的构造过程。

构造时,是按给出的关键字序列依次进行构造的。

本题由于C序列,在构造过程中,关键字23出现时直接作为根结点,接着输入17,比较后作为左子树根结点,然后输入的是27,此时,27比较后作为右子树的根结点,与题干图示的位置不符,因此C选项错误。

单选题

若给定的关系模式为R<u,fstyle="box-sizing:border-box;-webkit-user-drag:auto!important;user-select:text!important;">,U={A,B,C},F={AB→C,C→B},则关系R(  )。

查看答案开始考试

正确答案:B

本题解析:

将本题关系模式R的函数依赖关系表达为图示为:

中级软件设计师,历年真题,2016年上半年(上午)《软件设计师》真题

从图中可以看出,A的入度为零,所以他必然为候选关键字的一部分。

通过A与B组合,或A与C组合,均能遍历全图,所以候选关系字有:AB和AC,因此A、B、C均是主属性。

单选题

关系规范化在数据库设计的(  )阶段进行。

查看答案开始考试

正确答案:C

本题解析:

需求分析:分析用户的需求,包括数据、功能和性能需求;得到数据流图、数据字典和需求说明书。

概念设计:用数据模型明确地表示用户的数据需求。其反映了用户的现实工作环境,与数据库的具体实现技术无关。(E-R模型)。

逻辑设计:根据概念数据模型及软件的数据模型特性,按照一定的转换规则和规范化理论,把概念模型转换为逻辑数据模型,如层次模型、网状模型、关系模型等。关系规范化是在逻辑设计阶段进行。

物理设计:为一个确定的逻辑数据模型选择一个最适合应用要求的物理结构的过程。

单选题

数据的物理独立性和逻辑独立性分别是通过修改(  )来完成的。

查看答案开始考试

正确答案:D

本题解析:

物理独立性是指的内模式发生变化,只需要调整模式与内模式之间的映像,而不用修改应用程序,通过模式与内模式之间的映像来完成。

逻辑独立性是指的模式发生变化,只需要调整外模式与模式之间的映像,而不用修改应用程序,外模式与模式之间的映像来完成。

单选题

函数main(  )、f(  )的定义如下所示,调用函数f(  )时,第一个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式,main函数中“print(x)”执行后输出的值为(  )。

中级软件设计师,历年真题,2016年上半年(上午)《软件设计师》真题

查看答案开始考试

正确答案:D

本题解析:

本题考查传址与传值的相关知识,传值调用中,形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变;而引用(传址)调用中,形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。

可以使用手动执行程序的方式来进行。在主函数中,调用f(5,x)之后:

f()函数中的x=5,a=1。

x=2*x+1,则x=11。

a=a+x,则a=12。由于a是以传址的方式传入的参数,所以主函数中的x与其值相同,也为12。打印结果应为12。

单选题

因使用大量的对象而造成很大的存储开销时,适合采用(  )模式进行对象共享,以减少对象数量从而达到较少的内存占用并提升性能。

查看答案开始考试

正确答案:B

本题解析:

享元模式提供支持大量细粒度对象共享的有效方法。

组合模式(Composite):将对象组合成树型结构以表示“整体-部分”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。

迭代器模式(Iterator):提供一种方法来顺序访问一个聚合对象中的各个元素,而不需要暴露该对象的内部表示。

备忘录模式(Memento)在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,从而可以在以后将该对象恢复到原先保存的状态。

单选题

(  )设计模式最适合用于发布/订阅消息模型,即当订阅者注册一个主题后,此主题有新消息到来时订阅者就会收到通知。

查看答案开始考试

正确答案:C

本题解析:

观察者模式(有时又被称为发布-订阅Subscribe>模式、模型-视图View>模式、源-收听者Listener>模式或从属者模式):定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。本题应该选择观察者模式。

适配器模式(Adapter):将一个类的接口转换成用户希望得到的另一种接口。它使原本不相容的接口得以协同工作。

状态模式(State):允许一个对象在其内部状态改变时改变它的行为。

其他考生还关注了更多 +