一、单项选择题 2. 在选择通道方式中,优先级高的中高速设备(磁盘、磁带等)进行输入/输出传送时,适合其采用的数据宽度是
。
A.可变长块 B.定长块 C.单字节 D.单字加可变长块
A B C D
A
[解析] 在选择通道方式中,设备优先级、速度与数据宽度的关系如表5-8所示。
表5-8 设备优先级、速度与数据宽度的关系表
设备
优先级
数据宽度
高速设备(高速磁盘等)
定长块
中高速设备(磁盘、磁带等)
高
可变长块
低速设备
高
单字加定长块
低速设备(打印机、输入机等)
单字节
27. C语言属于
程序设计范型,该范型将软件程序归结为数据结构、算法过程或函数的设计与确定,程序的执行被看做是各过程调用的序列。
A B C D
B
[解析] 程序设计范型是指程序设计的体裁。目前代表性的程序设计范型主要有过程式程序设计范型、函数式程序设计范型、面向逻辑的程序设计范型和面向对象程序设计范型,如表 5-10所示。
表5-10 程序设计范型说明表
类型
说明
例子
过程式程序设计范型
将软件程序归结为数据结构、算法过程或函数的设计与确定,程序的执行被看做是各过程调用的序列
Pascal语言、C语言
函数式程序设计范型
将程序看做是“描述输入与输出之间的关系”的一个数学函数
Lisp语言
面向逻辑的程序设计范型
将程序设计归结为列举事实、定义逻辑关系等
Prolog语言
面向对象程序设计范型
将程序归结为一系列对象类,通过继承关系、消息传递等联结起来的结构
33. ISO/IEC 9126软件质量模型中第一层定义了6个质量特性,并为各质量特性定义了相应的质量子特性。子特性
属于可维护性质量特性。
A B C D
D
[解析] 根据《GB/T16260-1996(idt ISO/IEC9126:1991)信息技术软件产品评价质量特性及其使用指南》规定,软件的质量特性包括功能性、可靠性、易用性、效率、可维护性、可移植性等 6个方面,每个方面都包含若干个子特性,见表5-11。
表5-11 软件的质量特性
质量特性
子特性
功能性
适合性、准确性、互操作性、依从性、安全性
可靠性
成熟性、容错性、易恢复性
易用性
易理解性、易学性、易操作性
效 率
时间特性、资源特性
可维护性
易分析性、易改变性、稳定性、易测试性
可移植性
适应性、易安装性、遵循性、易替换性
本试题中,选项D的“稳定性”属于可维护性质量特性。选项A的“适合性”属于功能性质量特性。选项B的“易理解性”属于易用性质量特性。选项C的“成熟性”属于可靠性质量特性。
35. 某软件开发从详细设计到集成测试各阶段所需的工作量估计(按软件工程师人月数估计)如表5-1所示,这几个阶段分配的软件工程师和程序员人数如表5-2所示。假设编码与单元测试阶段,软件工程师的生产率是程序员的2倍。若在该项目的这几个阶段都增加一名软件工程师,并假定各个开发阶段串行工作,则这几个阶段可以缩短
个月完成任务。
表5-1 工作量估计表 表5-2 人员分配表
开发阶段
估计所需人月数
开发阶段
分组人数
详细设计
6
软件工程师
程序员
编码与单元测试
16
详细设计
2
0
集成测试
12
编码与单元测试
3
2
合计
34
集成测试
3
0
A B C D
B
[解析] 由表5-1可知,编码与单元测试阶段所花费的时间大约是15个月,即1名软件工程师需要15个月的时间才能完成。根据题目的假设:该阶段软件工程师的生产率是程序员的2倍,则 1名程序员需要花费30个月才能完成。
根据表5-1和表5-2给出的数据,可得到如表5-12所示的开发时间。
表5-12 开发信息表
开发阶段
估计所需人月数
分组人数
所需时间(月)
软件工程师
程序员
详细设计
6
2
0
6/2=3
编码与单元测试
16
3
2
16/(3+1)=4
集成测试
12
3
0
12/3=4
合计
34
3+4+1=11
若按照表5-2的人员配置总共需要11个月才能完成这3个阶段的工作。若在每个阶段都增加1名软件工程,则得到如表5-13所示的开发时间。此时只需8.2个月就可以完成这3个阶段的工作,因此可以将工作缩短11-8.2=2.8个月。
表5-13 人员配置表
开发阶段
估计所需人月数
分组人数
所需时间(月)
软件工程师
程序员
详细设计
6
3
0
6/3=2
编码与单元测试
16
4
2
16/(4+1)=3.2
集成测试
12
4
0
12/4=3
合计
34
2+3.2+4=8.2
37. 某工程计划如图5-5所示,由于任务A延迟了一天,为保证该工程按时完成,应将任务
缩短一天,使成本增加最少。表5-3列出了各任务每缩短一天所需增加的成本。
5-3某工程任务与每缩短一天所需增加的成本表
任务
每缩短一天需要增加的成本
任务
每缩短一天需要增加的成本
A
4
E
2.5
B
6
F
2.5
C
3
G
5
D
2
A B C D
D
[解析] 关键路径是一个相关任务序列,该序列具有最大总和的最可能工期。关键路径决定了项目最早可能完成的时间。对于图5-5,其关键路径为:A→B→E→G,共需23天。 由于图5-5中任务A延误了一天,只有缩短处于关键路径上的任务的完成时间,才可能保证工程按时完成。查表5-3中所列的数据可知,将任务A、B、E、G缩短一天所增加的成本分别为:4、6、2.5和5,因此选择将任务正缩短一天,是使成本增加最小的方法。
己知3个类O、P和Q,类O中定义了一个私有方法F1、一个公有方法F2和一个受保护的方法F3;类P和类Q是类O的派生类,其继承方式如下所示。 关于方法F1的描述中正确的是 41 ;关于方法F2的描述中正确的是 42 ;关于方法F3的描述中正确的是 43 。43.
A.类O、P和Q的对象都可以访问方法F3 B.类O、P和Q的对象都不可以访问方法F3 C.类O和Q的对象都可以访问方法F3,但类P的对象不能访问方法F3 D.类P和Q的对象都可以访问方法F3,但类Q的对象不能访问方法F3 A B C D
B
[解析] 解答此类试题的一般思路是掌握类的各种继承方式及它们的访问权限。
面向对象技术解决软件复用的途径之一是采用继承机制。在继承关系中存在着基类和派生类两种类型,访问控制方式主要有public(公有派生)、protected(保护派生)和private(私有派生)。基类中成员的访问权限在派生类中的继承关系如表5-14所示。
表5-14 访问权限的继承关系表
派生性质
在基类中的访问权限
在派生类中的访问权限
Public(公有派生)
public
public
protected
protected
private
不可访问
Protected(保护派生)
public
protected
protected
protected
private
不可访问
Private(私有派生)
public
private
protected
private
private
不可访问
根据试题中相关描述,以及“class P:protected O {…};”和“class Q:public O {…};”语句,结合表5-14的继承关系可知,类P、Q的成员函数及其访问控制如表5-15所示。
表5-15 类P、Q的成员函数及其访问控制表
类名
成员函数
访问控制
类名
成员函数
访问控制
P
F1
private
Q
F1
private
F2
protected
F2
public
F3
protected
F3
protected
由试题的关键信息“类O中定义了一个私有方法F1”可知,方法F1是基类O的private(私有)成员。同时通过表5-15可知,类P、Q继承了F1方法,但其访问权限是private,结合表5-14最后一行的继承关系可得,只有在基类O的内部成员才能访问方法F1,而派生类P、Q的内部成员是不可访问方法F1的。因此(41)空缺处的正确答案是选项B。
由于方法F2是基类O中定义的一个公有方法,由此可知基类O的对象可以访问方法F2,因此(42)空缺处选项D的描述是错误的。
通过表5-15可知,类Q继承了F2方法,其访问权限也是public,因此派生类Q的对象可以访问方法F2。
在表5-15中类P对方法F2的访问权限是protected,结合表5-14第4行的继承关系可得,派生类P的对象是不可访问方法F2的,只有在派生类P的的内部成员才可以访问方法F2。因此(42)空缺处的正确答案是选项C。
同理,由于方法F2是基类O中定义的一个受保护的方法,通过表5-15可知,派生类P、Q对F3方法的访问权限均是protected,结合表5-14第5行的继承关系可得,基类O和派生类P、Q的对象都不能可访问方法F3,只有在类O、P、Q的内部成员才可以访问方法F3。因此问题(43)的正确答案是选项B。
某商场的部门、员工和商品3个实体之间的关系如图5-7所示。假设每个部门有若干名员工,每种商品只能由一个部门负责销售。如果用户要求得到如表5-7所示的结果,则需要 52 ,并增加关系模式 53 。如果要求查询某部门负责销售的商品,则需要 54 。 表5-4 部门信息表 表5-5 商品信息表
部门号
名称
电话
商品号
名称
单价
库存量
001
家电部
1001
30023
微机
4800
26
002
百货部
1002
30024
打印机
1650
7
003
食品部
1003
…
…
…10
…
30101
毛巾
3.8
106
30102
牙刷
288
…
…
…
…
表5-6 具体信息表 表5-7 具体关系表
员工号
姓名
住址
员工号
姓名
部门号
月销售额
E001
王军
南京路
E001
王军
001
528900
E002
李晓斌
淮海路
E002
李晓斌
001
368000
E021
杨烨
江西路
…
…
…
…
E026
田波
西藏路
E021
杨烨
002
12500
E028
李晓斌
西藏路
…
…
…
…
E029
刘丽华
淮海路
E028
李晓斌
003
82500
E030
李彬彬
唐山路
…
…
…
…
…
…
…
58. 用动态规划方法求解0/1背包问题时,将“用前i个物品来装容量是X的背包”的0/1背包问题记为 KNAP(1,i,X),设f
i (X)是KNAP(1,i,X)最优解的效益值,第j个物品的重量和放入背包后取得效益值分别为W
j 和巧P
j (j=1~n)。则依次求解f0(X)、f1(X)、…、f
n (X)的过程中使用的递推关系式为
。
A.fi (X)=min{fi-1 (X),fi-1 (X)+pi } B.fi (X)=min{fi-1 (X),fi-1 (X-wi )+pi } C.fi (X)=max{fi-1 (X),fi-1 (X-wi )+pi } D.fi (X)=max{fi-1 (X-wi ),fi-1 (X)+pi }
A B C D
C
[解析] 利用贪心法可以解决普通背包问题(即允许将物品的一部分装入背包),此时使用“优先选取单位重量效益最大的物品”的量度标准可以获得问题最优解,但是贪心法不能用来求解 0/1背包问题。 利用动态规划求解0/1背包问题时,按照题目中约定的记号。KNAP(1,i,X)的最优解来自且仅来自于以下两种情况之一: ①第i个物品不装入背包,此时最优解的值就是子问题KNAP(1,i-1,X)的最优解的效益值,即为fi-1 (X)。 ②第i个物品装入背包,此时最优解的值为第i个物品的效益值与子问题KNAP(1,i-1,X-Wi)的最优解效益值之和,即为fi-1 (X-wi )+pi 。 由以上分析可知,KNAP(1,i,X)最优解的值为以上两种情况中效益值的更大者,即fi (X)=max{fi-1 (X),fi-1 (X-wi )+pi }。
61. 已知N个数已存入数组A[1..M]的前N个元素中(N<M),为在A[i](
)之前插入一个新数,应先
,以挪出一个空闲位置插入该数。
A.从A[i]开始直到A[N],每个数向前移动一个位置 B.从A[i]开始直到A[1],每个数向后移动一个位置 C.从A[N]开始直到A[i],每个数向后移动一个位置 D.从A[1]开始直到A[i],每个数向后移动一个位置
A B C D
C
[解析] 本题考查用顺序方式存储线性表元素的插入运算特点。数组A[1..M]元素的布局如图5-8所示。
对于选项A,从A[i]开始直到A[N]的每个数向前移动一个位置,使A[i-1]的值被改为A[i]的值,A[i]的值被改为A[i+1]的值,依此类推,A[N-1]的值为A[N]的值,相当于挪出来的空闲位置为A[N],显然不符合新元素插入在A[i]之前的要求。
对于选项B,从A[i]开始直到A[1]的每个数向后移动一个位置,会将A[i+1]原来的值覆盖,挪出的空闲位置为A[1],显然不符合新元素插入在A[i]之前(即A[i-1]之后)的要求。
对于选项C,从A[N]开始直到A[i]的每个数向后移动一个位置,使A[N]的值移入A[N+1],A[N-1]的值移入A[N],依此类推,A[i]的值移入A[i+1],这样挪出来的空闲位置为A[i],完成了将新元素插入在 A[i-1]之后(即A[i]之前)的操作要求。
对于选项D,从A[1]开始直到A[i]的每个数向后移动一个位置,使A[2]的值被改为与A[1]相同,使 A[3]的值被改为与A[2]相同,依此类推,A[i]的值等于A[i-1],即完成该操作后,元素A[1]到A[i]的值都相同(等于A[1])。
SOX is an alternative 71 for XML. It is useful for reading and creating XML content in a 72 editor. It is then easily transformed into proper XML. SOX was created because developers can spend a great deal of time with raw XML. For many of us, the popular XML 73 have not reached a point where their tree views, tables and forms can completely substitute for the underlying 74 language. This is not surprising when one considers that developers still use a text view, albeit enhanced, for editing other languages such as Java. SOX uses 75 to represent the structure of an XML document, which eliminates the need for closing tags and a number of quoting devices. The result is surprisingly clear.