视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
2009下半年软件设计师试题及答案(全部试题)
2025-10-03 15:18:06 责编:小OO
文档
2009下半年软件设计师试题

●         以下关于CPU的叙述中,错误的是(1)。 

(1) A.CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制

B.程序计数器PC除了存放指令地址,也可以临时存储算术/逻辑运算结果

C.CPU中的控制器决定计算机运行过程的自动化

D.指令译码器是CPU控制器中的部件

●         以下关于CISC(Complex Instruction Set Computer,复杂指令集计算机)和RISC(Reduced Instruction Set Computer,精简指令集计算机)的叙述中,错误的是(2)。

(2) A.在CISC中,其复杂指令都采用硬布线逻辑来执行

B.采用CISC技术的CPU,其芯片设计复杂度更高

C.在RISC中,更适合采用硬布线逻辑执行指令

D.采用RISC技术,指令系统中的指令种类和寻址方式更少

●         浮点数的一般表示形式为N=2E×F,其中E为阶码,F为尾数。以下关于浮点表示的叙述中,错误的是(3)。两个浮点数进行相加运算,应首先(4)。

(3)A.阶码的长度决定浮点表示的范围,尾数的长度决定浮点表示的精度

B.工业标准IEEE754浮点数格式中阶码采用移码、尾数采用原码表示

C.规格化指的是阶码采用移码、尾数采用补码

D.规格化表示要求将尾数的绝对值限定在区间[0.5,1)

(4)A.将较大的数进行规格化处理           B.将较小的数进行规格化处理

C.将这两个数的尾数相加                  D.统一这两个数的阶码

●         以下关于校验码的叙述中,正确的是(5)。

(5)A.海明码利用多组数位的奇偶性来检错和纠错B.海明码的码距必须大于等于1

C.循环冗余校验码具有很强的检错和纠错能力D.循环冗余校验码的码距必定为1

●         以下关于Cache的叙述中,正确的是(6)。

(6)A.在容量确定的情况下,替换算法的时间复杂度是影响Cache命中率的关键因素

B.Cache的设计思想是在合理成本下提高命中率

C.Cache的设计目标是容量尽可能与主存容量相等

D.CPU中的Cache容量应大于CPU之外的Cache容量

●         网络安全体系设计可从物理线路安全、网络安全、系统安全、应用安全等方面来进行。其中,数据库容灾属于(7)。(7)A.物理线路安全和网络安全           B.物理线路安全和应用安全

C.系统安全和网络安全                  D.系统安全和应用安全

●         包过滤防火墙对数据包的过滤依据不包括(8)。

(8)A.源IP地址     B.源端口号          C.MAC地址      D.目的IP地址

●         某网站向CA申请了数字证书,用户通过(9)来验证网站的真伪。

(9)A.CA的签名     B.证书中的公钥  C.网站的私钥   D.用户的公钥

●         下列智力成果中,能取得专利权的是(10)。

A.计算机程序代码

B.游戏的规则和方法

C.计算机算法

D.用于控制测试过程的程序

●         软件权利人与被许可方签订一份软件使用许可合同。若在该合同约定的时间和地域范围内,软件权利人不得再许可任何第三人以此相同的方法使用该项软件,但软件权利人可以自己使用,则该项许可使用是(11)。

(11) A.独家许可使用   B.独占许可使用   C.普通许可使用   D.部分许可使用

●         多媒体中的“媒体”有两重含义,一是指存储信息的实体;二是指表达与传递信息的载体。(12)是存储信息的实体。

(12)A.文字、图形、磁带、半导体存储器   B.磁盘、光盘、磁带、半导体存储器

C.文字、图形、图像、声音                 D.声卡、磁带、半导体存储器

●         RGB8:8:8表示一帧彩色图像的颜色数为(13)种。

(13)A.23        B.28        C.224         D.2512

●         位图与矢量图相比,位图(14)。

(14)A.占用空间较大,处理侧重于获取和复制,显示速度快

B.占用空间较小,处理侧重于绘制和创建,显示速度较慢

C.占用空间较大,处理侧重于获取和复制,显示速度较慢

D.占用空间较小,处理侧重于绘制和创建,显示速度快

●         在采用结构化方法进行系统分析时,根据分解与抽象的原则,按照系统中数据处理的流程,用(15)来建立系统的逻辑模型,从而完成分析工作。

(15)A.ER图             B.数据流图  C.程序流程图   D.软件体系结构

●         面向对象开发方法的基本思想是尽可能按照人类认识客观世界的方法来分析和解决问题,(16)方法不属于面向对象方法。

(16)A.Booch        B.Coad          C.OMT         D.Jackson

●         确定构建软件系统所需要的人数时,无需考虑(17)。

(17)A.系统的市场前景                 B.系统的规模

C.系统的技术复杂性             D.项目计划

●         一个项目为了修正一个错误而进行了变更。但这个错误被修正后,却引起以前可以正确运行的代码出错。(18)最可能发现这一问题。

(18)A.单元测试     B.接受测试      C.回归测试     D.安装测试

●         风险预测从两个方面评估风险,即风险发生的可能性以及(19)。

(19)A.风险产生的原因                 B.风险监控技术

C.风险能否消除                    D.风险发生所产生的后果

●         许多程序设计语言规定,程序中的数据都必须具有类型,其作用不包括(20)。

(20)A.便于为数据合理分配存储单元

B.便于对参与表达式计算的数据对象进行检查

C.便于定义动态数据结构

D.便于规定数据对象的取值范围及能够进行的运算

●         以下关于C/C++语言指针变量的叙述中,正确的是(21)。

(21)A.指针变量可以是全局变量也可以是局部变量

B.必须为指针变最与指针所指向的变量分配相同大小的存储空间

C.对指针变量进行算术运算是没有意义的

D.指针变量必须由动态产生的数据对象来赋值

●         将高级语言源程序翻译为机器语言程序的过程中常引入中间代码。以下关于中间代码的叙述中,错误的是(22)。

(22)A.不同的高级程序语言可以产生同一种中间代码

B.使用中间代码有利于进行与机器无关的优化处理

C.使用中间代码有利于提高编译程序的可移植性

D.中间代码与机器语言代码在指令结构上必须一致

●         操作系统是裸机上的第一层软件,其他系统软件(如(23)等)和应用软件都是建立在操作系统基础上的。下图①②③分别表示(24)。

(23)A.编译程序、财务软件和数据库管理系统软件

B.汇编程序、编译程序和Java解释器

C.编译程序、数据库管理系统软件和汽车防盗程序

D.语言处理程序、办公管理软件和气象预报软件

(24)A.应用软件开发者、最终用户和系统软件开发者

B.应用软件开发者、系统软件开发者和最终用户

C.最终用户、系统软件开发者和应用软件开发者D.最终用户、应用软件开发者和系统软件开发者

●         进程P1、P2、 P3和P4的前趋图如下:

        

若用PV操作控制这儿个进程并发执行的过程,则需要设置4个信号量S1、S2、S3和S4,且信号量初值都等于零。下图中a和b应分别填写(25),c和d应分别填写(26)。

(25)A.P(S1)P(S2)和 P(S3)       B.P(S1)P(S2)和 V(S1)

C.V(S1)V(S2)和P(S1)        D.V(S1)V(S2)和 V(S3)

(26)A.P(S1)P(S2)和P(S4)         B.P(S2)P(S3)和P(S4)

C.V(Sl)V(S2)和V(S4)         D.V(S2)V(S3)和 V(S4)

●         若系统正在将(27)文件修改的结果写回磁盘时系统发生崩溃,则对系统的影响相对较大。

(27)A.空闲块        B.目录          C.用户数据      D.用户程序

 ●         UNIX系统采用直接、一级、二级和三级间接索引技术访问文件,其索引结点有13个地址项(i_addr[0]~i_addr[12])。如果每个盘块的大小为1 KB,每个盘块号占4B,则进程A访问文件F中第112字节处的数据时,(28)。

(28)A.可直接寻址B.需要一次间接寻址C.需要二次间接寻址D.需要三次间接寻址

●         软件能力成熟度模型(CMM)的第4级(已管理级)的核心是(29)。

(29)A.建立基本的项目管理和实践来跟踪项目费用、进度和功能特性

B.组织具有标准软件过程

C.对软件过程和产品都有定量的理解和控制

D.先进的新思想和新技术促进过程不断改进

●         软件系统设计的主要目的是为系统制定蓝图,(30)并不是软件设计模型所关注的。

(30)A.系统总体结构  B.数据结构      C.界面模型      D.项目范围

●         ISO/IEC 9126软件质量模型中,可靠性质量特性包括多个子特性。一软件在故障发生后,要求在90秒内恢复其性能和受影响的数据,与达到此目的有关的软件属性为(31)子特性。

(31)A.容错性        B.成熟性        C.易恢复性      D.易操作性

●         某程序的程序图如下所示,运用McCabe度量法对其进行度量,其环路复杂度是(32)。

(32)A.2             B.3            C.4             D.5

●         系统开发计划用于系统开发人员与项目管理人员在项目期内进行沟通,它包括(33)和预算分配表等。(33)A.PERT图       B.总体规划     C.测试计划      D.开发合同

●         改正在软件系统开发阶段已经发生而系统测试阶段还没有发现的错误,属于(34)维护。

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

●         某系统重用了第三方组件(但无法获得其源代码),则应采用(35)对组件进行测试。

(35)A.基本路径覆盖  B.分支覆盖C.环路覆盖         D.黑盒测试

●         极限编程(XP)由价值观、原则、实践和行为四个部分组成,其中价值观包括沟通、简单性、(36)。

(36)A.好的计划        B.不断的发布C.反馈和勇气    D.持续集成

●         以下关于类和对象的叙述中,错误的是(37)。

(37)A.类是具有相同属性和服务的一组对象的集合

B.类是一个对象模板,用它仅可以产生一个对象

C.在客观世界中实际存在的是类的实例,即对象

D.类为属于该类的全部对象提供了统一的抽象描述

●         (38)是把对象的属性和服务结合成一个的系统单元,并尽可能隐藏对象的内部细节;(39)是指子类可以自动拥有父类的全部属性和服务;(40)是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。

(38)A.继承        B.多态        C.消息        D.封装

(39)A.继承        B.多态        C.消息        D.封装

(40)A.继承        B.多态        C.消息        D.封装

●         以下关于面向对象分析的叙述中,错误的是(41)。

(41)A.面向对象分析看重分析问题域和系统责任B.面向对象分析需要考虑系统的测试问题

C.面向对象分析忽略与系统实现有关的问题D.面向对象分析建立于实现的系统分析模型

●         以下关于面向对象设计的叙述中,错误的是(42)。

(42)A.高层模块不应该依赖于底层模块B.抽象不应该依赖于细节

C.细节可以依赖于抽象D.高层模块无法不依赖于底层模块

●         采用(43)设计模式可保证一个类仅有一个实例:采用(44)设计模式可将对象组合成树形结构以表示“部分-整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性;采用(45)设计模式可动态地给一个对象添加一些额外的职责。

(43)A.命令(Command)               B.单例(Singleton)

C.装饰(Decorate)                 D.组合(Composite)

(44)A.命令(Command)               B.单例(Singleton)

C.装饰(Decorate)                 D.组合(Composite)

(45)A.命令(Command)               B.单例(Singleton)

C.装饰(Decorate)                 D.组合(Composite)

●         下列UML类图表示的是(46)设计模式。该设计模式中,(47)。

     

(46)A.备忘录(Memento)  B.策略(Strategy)  C.状态(State)  D.观察者(Observer)

(47)A.一个Subject对象可对应多个Observer对象B.Subject只能有一个ConcreteSubject子类

C.Observer只能有一个ConcreteObserver子类D.一个Subject对象必须至少对应一个Observer对象

●         以下关于编译系统对某高级语言进行翻译的叙述中,错误的是(48)。

(48)A.词法分析将把源程序看作一个线性字符序列进行分析

B.语法分析阶段可以发现程序中所有的语法错误

C.语义分析阶段可以发现程序中所有的语义错误

D.目标代码生成阶段的工作与目标机器的体系结构相关

●         若一个程序语言可以提供链表的定义和运算,则其运行时的(49)。

(49)A.数据空间适合采用静态存储分配策略  B.数据空间必须采用堆存储分配策略

C.指令空间需要采用栈结构                   D.指令代码必须放入堆区

●         由某上下文无关文法M[S]推导出某句子的分析树如下所示,则错误的叙述是(50)。

 

(50)A.该文法推导出的句子必须以“a”开头   B.acabcbdcc是该文法推导出的一个句子

C.“S->aAcB”是该文法的一个产生式D.a、b、c、d属于该文法的终结符号集

●         假设有学生S(学号,姓名,性别,入学时间,联系方式),院系D(院系号,院系名称,电话号码,负责人)和课程C(课程号,课程名)三个实体,若一名学生属于一个院系,一个院系有多名学生;一名学生可以选择多门课程,一门课程可被多名学生选择,则图中(a)和(b)分别为(51)联系。假设一对多联系不转换为一个的关系模式,那么生成的关系模式(52)。

(51)A.1 *和1 *      B.1 *和* 1      C.1 *和* *      D.* 1和* *

(52)A.S中应加入关系模式D的主键     B.S中应加入关系模式C的主键

C.D中应加入关系模式S的主键    D.C中应加入关系模式S的主键

●         软硬件故障常造成数据库中的数据破坏。数据库恢复就是(53)。

(53)A.重新安装数据库管理系统和应用程序

B.重新安装应用程序,并将数据库做镜像

C.重新安装数据库管理系统,并将数据库做镜像

D.在尽可能短的时间内,把数据库恢复到故障发生前的状态

●         设有员工实体Emp(员工号,姓名,性别,年龄,出生年月,联系方式,部门号),其中“联系方式”要求记录该员工的手机号码和办公室电话,部门号要求参照另一部门实体Dept的主码“部门号”。Emp实体中存在派生属性和多值属性:(54);对属性部门号应该进行(55)约束;可以通过命令(56)修改表中的数据。

(54)A.年龄和出生年月                  B.年龄和联系方式

      C.出生年月和联系方式           D.出生年月和年龄

(55)A.非空主键     B.主键          C.外键           D.候选键

(56)A.INSERT        B.DELETE    C.UPDATE     D.MODIFY

●         已知一个二叉树的先序遍历序列为①、②、③、④、⑤,中序遍历序列为②、①、④、③、⑤,则该二叉树的后序遍历序列为(57)。对于任意一棵二叉树,叙述错误的是(58)。

(57)A.②、③、①、⑤、④            B.①、②、③、④、⑤

C.②、④、⑤、③、①            D.④、⑤、③、②、①

(58)A.由其后序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列

B.由其先序遍历序列和后序遍历序列可以构造该二叉树的中序遍历序列

C.由其层序遍历序列和中序遍历序列可以构造该二叉树的先序遍历序列

D.由其层序遍历序列和中序遍历序列不能构造该二叉树的后序遍历序列

●         邻接矩阵和邻接表是图(网)的两种基本存储结构,对于具有n个顶点、e条边的图,(59)。

(59)A.进行深度优先遍历运算所消耗的时间与采用哪一种存储结构无关

B.进行广度优先遍历运算所消耗的时间与采用哪一种存储结构无关

C.采用邻接表表示图时,查找所有顶点的邻接顶点的时间复杂度为O(n*e)

D.采用邻接矩阵表示图时,查找所有顶点的邻接顶点的时间复杂度为O (n2)

●         单向链表中往往含有一个头结点,该结点不存储数据元素,一般令链表的头指针指向该结点,而该结点指针域的值为第一个元素结点的指针。以下关于单链表头结点的叙述中,错误的是(60)。

(60)A.若在头结点中存入链表长度值,则求链表长度运算的时间复杂度为O(1)

B.在链表的任何一个元素前后进行插入和删除操作可用一致的方式进行处理

C.加入头结点后,代表链表的头指针不因为链表为空而改变

D.加入头结点后,在链表中进行查找运算的时间复杂度为O(1)

●         对于长度为m (m>1)的指定序列,通过初始为空的一个栈、一个队列后,错误的叙述是(61)。

(61)A.若入栈和入队的序列相同,则出栈序列和出队序列可能相同

B.若入栈和入队的序列相同,则出栈序列和出队序列可以互为逆序

C.入队序列与出队序列关系为1:1,而入栈序列与出栈序列关系是l :n(n≥1)

D.入栈序列与出栈序列关系为1:1,而入队序列与出队序列关系是l :n(n≥1)

●         字符串采用链表存储方式时,每个结点存储多个字符有助于提高存储密度。若采用结点大小相同的链表存储串,则串比较、求子串、串连接、串替换等串的基本运算中,(62)。

(62)A.进行串的比较运算最不方便B.进行求子串运算最不方便

C.进行串连接最不方便D.进行串替换最不方便

●         某算法的时间复杂度表达式为T(n)=an2+bnlgn+cn+d,其中,n为问题的规模,a、b、c和d为常数,用O表示其渐近时间复杂度为(63)。

(63)A.O(n2)          B.O(n)          C.O(n1gn)        D.O(1)

●         以下关于快速排序算法的描述中,错误的是()。在快速排序过程中,需要设立基准元素并划分序列来进行排序。若序列由元素{12,25,30,45,52,67,85}构成,则初始排列为(65)时,排序效率最高(令序列的第一个元素为基准元素)。

()A.快速排序算法是不稳定的排序算法B.快速排序算法在最坏情况下的时间复杂度为O(nlgn)

C.快速排序算法是一种分治算法

D.当输入数据基本有序时,快速排序算法具有最坏情况下的时间复杂度

(65)A.45,12,30,25,67,52,85B.85,67,52,45,30,25,12C.12,25,30,45,52,67,85D.45,12,25,30,85,67,52

●         下列网络互连设备中,属于物理层的是(66),属于网络层的是(67)。

(66)A.中继器        B.交换机C.路由器        D.网桥

(67)A.中继器        B.交换机C.路由器        D.网桥

●         下图是HTML文件test.html在IE中的显示效果,实现图中①处效果的HTML语句是(68),实现图中②处效果的HTML语句是(69),实现图中③处效果的HTML语句是(70)。

(68)A.我的主页       B.我的主页

C.我的主页  D.

我的主页

(69)A.


  B.

C. D.

(70)A.Welcome  B.

    Welcome

C.Welcome                 D.Welcome

●   Why is (71) fun? What delights may its practitiopect as his reward? First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. Second is the pleasure of making things that are useful to other people. Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. Fourth is the joy of always learning,  which springs from the (72) nature of the task. In one way or another the problem is ever new, and its solver learns something:sometimes (73), sometimes theoretical, and sometimes both. Finally, there is the delight of working in such a tractable medium. The (74), like the poet, works only slightly removed from pure thought-stuff. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.

Yet the program (75), unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms.Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.

(71)A.programming     B.composing     C.working        D.writing

(72)A.repeating       B.basic         C.non-repeating  D.advance

(73)A.semantic        B.practical     C.lexical        D.syntactical

(74)A.poet            B.architect     C.doctor         D.programmer

(75)A.construct       B.code          C.size           D.scale

试题一(共15分)

阅读以下说明和数据流图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

    现准备为某银行开发一个信用卡管理系统CCMS,该系统的基本功能为:

    1.信用卡申请。非信用卡客户填写信用卡申请表,说明所要申请的信用卡类型及申请者的基本信息,提交CCMS。如果信用卡申请被银行接受,CCMS将记录该客户的基本信息,并发送确认函给该客户,告知客户信用卡的有效期及信贷限额;否则该客户将会收到一封拒绝函。非信用卡客户收到确认函后成为信用卡客户。

    2.信用卡激活。信用卡客户向CCMS提交激活请求,用信用卡号和密码激活该信用卡。激活操作结束后,CCMS将激活通知发送给客户,告知客户其信用卡是否被成功激活。

    3.信用卡客户信息管理。信用卡客户的个人信息可以在CCMS中进行在线管理。每位信用卡客户可以在线查询和修改个人信息。

    4.交易信息查询。信用卡客户使用信用卡进行的每一笔交易都会记录在CCMS中。信用卡客户可以通过CCMS查询并核实其交易信息(包括信用卡交易记录及交易额)。

图1-1和图1-2分别给出了该系统的顶层数据流图和0层数据流图的初稿。

【问题1】(3分)根据【说明】,将图1-1中的E1~E3填充完整。

【问题2】(3分)图1-1中缺少三条数据流,根据【说明】,分别指出这三条数据流的起点和终点。(注:数据流的起点和终点均采用图中的符号和描述)

【问题3】(5分)图1-2中有两条数据流是错误的,请指出这两条数据流的名称,并改正。(注:数据流的起点和终点均采用图中的符号和描述)

【问题4】(4分)  根据【说明】,将图1-2中P1~P4的处理名称填充完整。

试题二(共15分)

阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 

【说明】

某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下:

    (1)邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。

    (2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址  (如userl@123.com)。

    (3)一个用户可拥有一个地址薄,地址簿信息包括联系人编号、姓名、电话、单位、地址、邮件地址1、邮件地址2、邮件地址3等信息。地址薄中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。

(4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有己接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、己发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件只属于一封邮件,附件号仅在一封邮件内唯一。 

【问题1】(5分)    根据以上说明设计的E-R图如图2-1所示,请指出地址簿与用户、电子邮件帐号与邮件、邮件与附件之间的联系类型。

  

【问题2】(4分) 该邮件客户端系统的主要关系模式如下,请填补(a) ~ (c)的空缺部分。

用户(用户名,用户密码)

地址簿(  (a)  ,联系人编号,姓名,电话,单位地址,邮件地址1,邮件地址2,邮件地址3)

    邮件帐号(邮件地址,邮件密码,用户名)

邮件(  (b)  ,收件人地址,邮件状态,邮件主题,邮件内容,发送时间,接收时间)

附件(  (c)  ,附件号,附件文件名,附件大小)

【问题3】(6分)(1)请指出【问题2】中给出的地址簿、邮件和附件关系模式的主键,如果关系模式存在外键请指出。(2)附件属于弱实体吗?请用50字以内的文字说明原因。

试题三(共15分)

阅读下列说明和UML图,回答问题1至问题4,将解答填入答题纸的对应栏内。

【说明】

某企业为了方便员工用餐,餐厅开发了一个订餐系统(COS:Cafeteria Ordering System),企业员工可通过企业内联网使用该系统。

企业的任何员工都可以查看菜单和今日特价。

系统的顾客是注册到系统的员工,可以订餐(如果未登录,需先登录)、注册工资支付、预约规律的订餐,在特殊情况下可以覆盖预订。

餐厅员工是特殊顾客,可以进行备餐、生成付费请求和请求送餐,其中对于注册工资支付的顾客生成付费请求并发送给工资系统。

    菜单管理员是餐厅特定员工,可以管理菜单。

    送餐员可以打印送餐说明,记录送餐信息(如送餐时间)以及记录收费(对于没有注册工资支付的顾客,由送餐员收取现金后记录)。

    顾客订餐过程如下:

    1.顾客请求查看菜单;

    2.系统显示菜单和今日特价;

    3.顾客选菜;

    4.系统显示订单和价格;

    5.顾客确认订单;

6.系统显示可送餐时间;

    7.顾客指定送餐时间、地点和支付方式;

    8.系统确认接受订单,然后发送Email给顾客以确认订餐,同时发送相关订餐信息通  知给餐厅员工。

系统采用面向对象方法开发,使用UML进行建模。系统的顶层用例图和一次订餐的活动图初稿分别如图3-1和图3-2所示。

【问题1】(2分)根据【说明】中的描述,给出图3-1中A1和A2所对应的参与者。

【问题2】(8分)根据【说明】中的描述,给出图3-1中缺少的四个用例及其所对应的参与者。

【问题3】(4分)根据【说明】中的描述,给出图3-2中(1)~(4)处对应的活动名称或图形符号。

【问题4】(1分)指出图3-1中员工和顾客之间是什么关系,并解释该关系的内涵。

    

试题四(共15分)

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。

【说明】 

0-1背包问题可以描述为:有n个物品,对i=1,2,…,n,第i个物品价值为vi ,重量为wi(vi,和wi为非负数),背包容量为W(W为非负数),选择其中一些物品装入背包,使装入背包物品的总价值最大,即,且总重量不超过背包容量,即,其中,xi∈{0,1},xi=0表示第i个物品不放入背包,xi=1表示第i个物品  放入背包。

【问题1】(8分)用回溯法求解此0-1背包问题,请填充下面伪代码中(1)~(4)处空缺。

回溯法是一种系统的搜索方法。在确定解空间后,回溯法从根结点开始,按照深度优先策略遍历解空间树,搜索满足约束条件的解。对每一个当前结点,若扩展该结点己经不满足约束条件,则不再继续扩展。为了进一步提高算法的搜索效率,往往需要设计一个限界函数,判断并剪枝那些即使扩展了也不能得到最优解的结点。现在假设已经设计了BOUND(v,w,k,W)函数,其中v, w, k和W分别表示当前已经获得的价值、当前背包的重量、己经确定是否选择的物品数和背包的总容量。对应于搜索树中的某个结点,该函数值表示确定了部分物品是否选择之后,对剩下的物品在满足约束条件的前提下进行选择可能获得的最大价值,若该价值小于等于当前已经得到的最优解,则该结点无需再扩展。

下面给出0-1背包问题的回溯算法伪代码。

函数参数说明如下:

W:背包容量;n:物品个数;w:重量数组;v:价值数组;fw:获得最大价值时背包的重量;fp:背包获得的最大价值;X:问题的最优解。

变量说明如下:

cw:当前的背包重量;cp:当前获得的价值;k:当前考虑的物品编号;Y:当前已获得的部分解。

BKNAP(W,n,w,v,fw,fp,X)

1 cw ← cp ← 0

2  (1)  

3 fp ← -1

4 while true

5     while k≤n and cw+w[k] ≤W do

6                  (2)  

7                cp ← cp+v[k]

8                Y[k] ← 1

9                k ← k+1

10    if k>n then

11         if fp<cp then

12             fp ← cp

13             fw ← ew

14             k ← n

15             X ← Y

16    else Y(k) ← 0

17    while BOUND(cp,cw,k,W) ≤fp do

18         while k≠0 and Y(k) ≠1 do

19               (3)  

20         if k=0 then return

21         Y[k]←0

22         cw ← cw ← w[k]

23         cp ← cp ← v[k]

24       (4)  

【问题2】(7分)考虑表4-1的实例,假设有3个物品,背包容量为22。图4-1中是根据上述算法构造的搜索树,其中结点的编号表示了搜索树生成的顺序,边上的数字1/0分别表示选择/不选择对应物品。除了根结点之外,每个左孩子结点旁边的上下两个数字分别表示当前背包的重量和已获得的价值,右孩子结点旁边的数字表示扩展了该结点后最多可能获得的价值。为获得最优解,应该选择物品 (5) ,获得的价值为 (6) 。

        

对于表4-1的实例,若采用穷举法搜索整个解空间,则搜索树的结点数为 (7) ,而用了上述回溯法,搜索树的结点数为 (8) 。

试题五(共15分)阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如5-1所示:

【C++代码】

#include

#include

#include

using namespace std;

 

class AbstractFile{

protected:

    string name;   //文件或目录名称

public:

void printName(){cout<    virtual void addChild(AbstractFile *file)=0;  //给一个目录增加子目录或文件}

    virtual void removeChild(AbstractFile *file)=0;  //删除一个目录的子目录或文件

virtual list *getChildren()=0; //获得一个目录的子目录或文件

  };

 

class File:public AbstractFile{

public:

    File(string name) { (1) = name;}

    void addChild(AbstractFile *file){return;}

    void removeChild(AbstractFile *file){return;}

     (2) getChildren(){return (3) ;}

};

 

class Folder :public AbstractFile{

private:

list childList: //存储子目录或文件

public:

    Folder(string name){ (4) name;}

    void addChild(AbstractFile*file){childList.push_back(file);}

    void removeChild(AbstractFile*file){childList.remove(file);}

list*getChildren(){return (5) ;}

};

 

void main(){

    //构造一个树形的文件/目录结构

    AbstractFile *rootFolder=new Folder("c:\\\\ ");

    AbstractFile*compositeFolder=new Folder("composite");

    AbstractFile *windowsFolder=new Folder("windows");

    AbstractFile*file=new File("TestCompositejava");

rootFolder->addChild(compositeFolder);

rootFolder->addChild(windowsFolder);

compositeFolder->addChild(file);

试题六(共15分)阅读下列说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6-1所示:

【Java代码】import Java.util.ArrayList;  import java.util.List;

  (1) class AbstractFile{

    protected String name;

    public void printName(){System.out.println(name);}

    public abstract boolean addChild(AbstractFile file);

    public abstract boolean removeChild(AbstractF ile file);

public abstract List getChildren();

class File extends AbstractFile{

    public File(String name){this.name=name;}

    public boolean addChild(AbstractFile file){return false;}

    public boolean removeChild(AbstractFile file){return false;}

public List getChildren(){return  (2) ;}

class Folder extends AbstractFile{

private List childList;

    public Folder(String name){

          this.name=name;

        this.childList=new ArrayList();

      }

    public boolean addChild(AbstractFile file) { return childList.add(file);}

    public boolean removeChild(AbstractFile file){return childList.remove(file);}

    public (3)  getChildren(){return (4) ;}

 

public class Client{

    public static void main(String[] args){

        //构造一个树形的文件/目录结构

        AbstractFile rootFolder= new Folder("c:\\\\ ");

        AbstractFile compositeFolder=new Folder("composite");

        AbstractFile windowsFolder=new Folder("windows");

        AbstractFile file=new File("TestComposite.java");

        rootFolder.addChild(compositeFolder) ;

        rootFolder.addChild(windowsFolder);

        compositeFolder.addChild(file) ;

 

        //打印目录文件树

        printTree(rootFolder);

    }

    private static void printTree(AbslractFile ifile){

        ifile.printName();

List children=ifile.getChildreno:

        if(children==null) return;

        for (AbstractFile file:children) {

                (5) ;

          }

     }

该程序运行后输出结果为:

c:\

composite

TestComposite.java

Windows 

试题七(共15分)阅读以下说明和C程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】现有n(n<1000)节火车车厢,顺序编号为1,2,3,…,n,按编号连续依次从A方向的铁轨驶入,从B方向铁轨驶出,一旦车厢进入车站(Station)就不能再回到A方向的铁轨上;一旦车厢驶入B方向铁轨就不能再回到车站,如图7-1所示,其中Station为栈结构,初始为空且最多能停放1000节车厢。

下面的C程序判断能否从B方向驶出预先指定的车厢序列,程序中使用了栈类型STACK,关于栈基本操作的函数原型说明如下:

void InitStack(STACK *s):初始化栈。

void Push (STACK *s,int e):将一个整数压栈,栈中元素数目增1。

void Pop (STACK *s):栈顶元素出栈,栈中元素数目减1。

int Top (STACK s):返回非空栈的栈顶元素值,栈中元素数目不变。

int IsEmpty (STACK s):若是空栈则返回1,否则返回0。

【C程序】 

#include

/*此处为栈类型及其基本操作的定义,省略*/

  int main(){

      STACK station;

      int state[1000];

      int n;              /*车厢数*/

      int begin, i, j, maxNo; /*maxNo为A端正待入栈的车厢编号*/

      printf("请输入车厢数:");

      scanf("%d",&n);

      printf(“请输入需要判断的车厢编号序列(以空格分隔):”);

      if(n<1)return-1;

      for (i=0; i         scanf("%d",&state[i]);

       (1) ;          /*初始化栈*/

      maxNo=1;

      for(i=0; i<n; ){  /*检查输出序列中的每个车厢号state[i]是否能从栈中获取*/

        if( (2) ){    /*当栈不为空时*/

            if (state[i]=Top(station)) {    /*栈顶车厢号等于被检查车厢号*/

                printf("%d",Top(station));

                Pop(&station);i++;

              }

                  else

                if ( (3) ) {

                      printf(“error\\n”);

                        return 1;

                  }

                  else{

                        begin= (4) ;

                        for(j=begin+l;j <=state [i];j++){

                            Push(&station, j);

                          }

                      }

          }

        else{   /*当栈为空时*/

                  begin=maxNo;

                for(j=begin; j<=state[i];j++) {

                      Push(&station, j);

                  }

                  maxNo= (5) ;

        }

    }

    printf("OK");

    return 0;

2009年上半年软考软件设计师试卷

● 海明校验码是在 n 个数据位之外增设 k 个校验位,从而形成一个 k+n 位的新的码字,使新的码字的码距比较均匀地拉大。n与k的关系是(1)。

    (1)A.  2K—1 ≥n+k     B.  2n—1≤ n+k   C.   n =k           D.  n —1 ≤ k

    ● 假设某硬盘由5个盘片构成(共有8个记录面),盘面有效记录区域的外直径为30cm,内直径为10cm,记录位密度为250位/mm,磁道密度为16道/mm,每磁道分16个扇区,每扇区512字节,则该硬盘的格式化容量约为(2)MB。

               ● (3)是指按内容访问的存储器。

    (3)A. 虚拟存储器                      B. 相联存储器     C. 高速缓存(Cache)                D. 随机访问存储器

           ● 处理机主要由处理器、存储器和总线组成,总线包括(4)。

    (4)A. 数据总线、地址总线、控制总线  B. 并行总线、串行总线、逻辑总线

         C. 单工总线、双工总线、外部总线  D. 逻辑总线、物理总线、内部总线

             ● 计算机中常采用原码、反码、补码和移码表示数据,其中,±0 编码相同的是(5)。

    (5)A. 原码和补码            B. 反码和补码        C. 补码和移码             D. 原码和移码 

● 某指令流水线由 5段组成,第 1、3、5段所需时间为∆t,第2、4段所需时间分别为3∆t、2∆t,如下图所示,那么连续输入n条指令时的吞吐率(单位时间内执行的指令个数)TP 为 (6)。 

          

● 下面关于漏洞扫描系统的叙述,错误的是(7)。

    (7)A. 漏洞扫描系统是一种自动检测目标主机安全弱点的程序        B. 黑客利用漏洞扫描系统可以发现目标主机的安全漏洞        C. 漏洞扫描系统可以用于发现网络入侵者        D. 漏洞扫描系统的实现依赖于系统漏洞库的完善

            ● 网络安全包含了网络信息的可用性、保密性、完整性和网络通信对象的真实性。其中,数字签名是对(8)的保护。

    (8)A.   可用性    B.   保密性    C.   连通性    D.   真实性

              ● 计算机感染特洛伊木马后的典型现象是(9)。

    (9)A. 程序异常退出        B. 有未知程序试图建立网络连接      C. 邮箱被垃圾邮件填满  D.   Windows系统黑屏

             ● 关于软件著作权产生的时间,下面表述正确的是(10)。

    (10)A. 自作品首次公开发表时          B. 自作者有创作意图时

          C. 自作品得到国家著作权行政管理部门认可时          D. 自作品完成创作之日

            ● 程序员甲与同事乙在乙家探讨甲近期编写的程序,甲表示对该程序极不满意,要弃之重写,并将程序手稿扔到乙家垃圾筒。后来乙将甲这一程序稍加修改,并署乙发表。以下说法正确的是(11)。

    (11)A. 乙的行为侵犯了甲的软件著作权          B. 乙的行为没有侵犯甲的软件著作权,因为甲已将程序手稿丢弃

          C. 乙的行为没有侵犯甲的著作权,因为乙已将程序修改

          D. 甲没有发表该程序并弃之,而乙将程序修改后发表,故乙应享有著作权

           ●  PC机处理的音频信号主要是人耳能听得到的音频信号, 它的频率范围是(12)。

    (12)A. 300Hz~3400Hz        B. 20Hz~20KHz          C. 10Hz~20KHz          D. 20Hz~44KHz

              ● 多媒体计算机图像文件格式分为静态图像文件格式和动态图像文件格式,(13)属于静态图像文件格式。

    (13)A. MPG     B. AVS      C. JPG      D. AVI

               ● 计算机获取模拟视频信息的过程中首先要进行(14)。

    (14)A.   A/D变换    B. 数据压缩      C.   D/A变换   D. 数据存储

              ● 在采用面向对象技术构建软件系统时, 很多敏捷方法都建议的一种重要的设计活动是(15),它是一种重新组织的技术,可以简化构件的设计而无需改变其功能或行为。

    (15)A. 精化      B. 设计类      C. 重构     D. 抽象 

          ● 一个软件开发过程描述了“谁做”、 “做什么”、“怎么做”和“什么时候做” ,RUP用 (16) 来表述“谁做” 。

    (16)A. 角色      B. 活动        C. 制品     D. 工作流

               ● 某项目主要由A~I任务构成,其计划图(如下图所示)展示了各任务之间的前后关系以及每个任务的工期(单位:天),该项目的关键路径是 (17) 。在不延误项目总工期的情况下,任务A 最多可以推迟开始的时间是 (18) 天。

         (17)A.   A→G→I            B.   A→D→F→H→I               C.   B→E→G→I         D.   C→F→H→I

         (18)A. 0        B. 2        C. 5        D. 7

                   ● 软件风险一般包含(19)两个特性。

    (19)A. 救火和危机管理        B. 已知风险和未知风险          C. 不确定性和损失        D. 员工和预算

                 ● 函数调用时,基本的参数传递方式有传值与传地址两种,(20)。

    (20)A. 在传值方式下,形参将值传给实参          B. 在传值方式下,实参不能是数组元素

          C. 在传地址方式下,形参和实参间可以实现数据的双向传递

          D. 在传地址方式下,实参可以是任意的变量和表达式 

● 已知某高级语言源程序A 经编译后得到机器C 上的目标程序B,则(21)。

    (21)A. 对B 进行反编译,不能还原出源程序A

          B. 对B 进行反汇编,不能得到与源程序A 等价的汇编程序代码

          C. 对B 进行反编译,得到的是源程序A 的变量声明和算法流程

          D. 对A 和B 进行交叉编译,可以产生在机器C 上运行的动态链接库          

    ● 下面关于程序语言的叙述,错误的是(22)。

    (22)A. 脚本语言属于动态语言,其程序结构可以在运行中改变

          B. 脚本语言一般通过脚本引擎解释执行,不产生保存的目标程序

          C. php、JavaScript属于静态语言,其所有成分可在编译时确定

          D. C语言属于静态语言,其所有成分可在编译时确定          

    ● 在Windows XP 操作系统中,用户利用 “磁盘管理” 程序可以对磁盘进行初始化、建卷,(23)。通常将“C:\\Windows\\myprogram.exe”文件设置成只读和隐藏属性,便控制用户对该文件的访问,这一级安全管理称之为(24)安全管理。

    (23)A. 但只能使用  FAT 文件系统格式化卷          B. 但只能使用  FAT 32文件系统格式化卷

          C. 但只能使用  NTFS 文件系统格式化卷          D. 可以选择使用  FAT、FAT32 或  NTFS 文件系统格式化卷

    (24)A. 文件级    B. 目录级    C. 用户级    D. 系统级          

    ● 在移臂调度算法中,(25)算法可能会随时改变移动臂的运动方向。

    (25)A. 电梯调度和先来先服务

          B. 先来先服务和最短寻找时间优先

          C. 单向扫描和先来先服务

          D. 电梯调度和最短寻找时间优先            

● 设系统中有 R 类资源 m 个,现有 n 个进程互斥使用。若每个进程对 R 资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的a~e五种情况,(26)两种情况可能会发生死锁。对于这两种情况,若将 (27) ,则不会发生死锁。

    (26)A. a和b    B. b和c      C. c和d              D. c和e

    (27)A. n加1 或w加1            B. m加1 或w减1          C. m减1 或w加1            D. m减1 或w减1         

    ● 某文件系统采用链式存储管理方案,磁盘块的大小为1024字节。 文件Myfile.doc由 5 个逻辑记录组成,每个逻辑记录的大小与磁盘块的大小相等,并依次存放在 121、75、86、65 和 114 号磁盘块上。若需要存取文件的第 5120 逻辑字节处的信息,应该访问(28)号磁盘块。

    (28)A. 75         B. 85      C. 65      D. 114           

    ● 软件能力成熟度模型(CMM)将软件能力成熟度自低到高依次划分为 5 级。目前,达到CMM第3级(已定义级)是许多组织努力的目标,该级的核心是 (29) 。

    (29)A. 建立基本的项目管理和实践来跟踪项目费用、进度和功能特性

          B. 使用标准开发过程(或方)构建(或集成)系统

          C. 管理层寻求更主动地应对系统的开发问题          D. 连续地监督和改进标准化的系统开发过程          

    ●  RUP 在每个阶段都有主要目标,并在结束时产生一些制品。在 (30)结束时产生“在适当的平台上集成的软件产品” 。    (30)A. 初期阶段    B. 精化阶段    C. 构建阶段    D. 移交阶段            

● 根据ISO/IEC  9126软件质量度量模型定义,一个软件的时间和资源质量子特性属于(31)质量特性。

    (31)A. 功能性            B. 效率      C. 可靠性    D. 易使用性

    ●  McCabe度量法是通过定义环路复杂度,建立程序复杂性的度量,它基于一个程序模块的程序图中环路的个数。计算有向图 G 的环路复杂性的公式为:V(G)=m-n+2,其中 V(G)是有向图 G 中的环路个数,m是 G 中的有向弧数,n 是 G 中的节点数。下图所示程序图的程序复杂度是(32)。

   (32)A. 2        B. 3        C. 4        D. 5          

    ● 在开发信息系统时,用于系统开发人员与项目管理人员沟通的主要文档是(33)。

    (33)A. 系统开发合同          B. 系统设计说明书          C. 系统开发计划          D. 系统测试报告

    ● 软件工程每一个阶段结束前,应该着重对可维护性进行复审。在系统设计阶段复审期间,应该从 (34) 出发,评价软件的结构和过程。

    (34)A. 指出可移植性问题以及可能影响软件维护的系统界面          B. 容易修改、模块化和功能的目的

          C. 强调编码风格和内部说明文档          D. 可测试性         

    ● 当用分支覆盖法对以下流程图进行测试时,至少需要设计 (35) 个测试用例。

    (35) A. 4        B. 5        C. 6        D. 8          

● 某银行为了使其网上银行系统能够支持信用卡多币种付款功能而进行扩充升级,这需要对数据类型稍微进行一些改变,这一状况需要对网上银行系统进行(36)维护。

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

    ● 下面关于面向对象分析与面向对象设计的说法中,不正确的是(37)。

    (37)A. 面向对象分析侧重于理解问题          B. 面向对象设计侧重于理解解决方案

          C. 面向对象分析描述软件要做什么        D. 面向对象设计一般不关注技术和实现层面的细节         

    ● 在面向对象分析与设计中,(38)是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;(39)是系统内对象和系统外参与者的联系媒介; (40) 主要是协调上述两种类对象之间的交互。

    (38)A. 控制类    B. 边界类    C. 实体类    D. 软件类

    (39)A. 控制类    B. 边界类    C. 实体类    D. 软件类

    (40)A. 控制类    B. 边界类    C. 实体类    D. 软件类             

● 若类A仅在其方法Method1中定义并使用了类B的一个对象,类A其它部分的代码都不涉及类 B,那么类 A 与类 B 的关系应为 (41) ;若类 A 的某个属性是类 B的一个对象,并且类 A 对象消失时,类 B 对象也随之消失,则类 A 与类 B 的关系应为 (42)。

    (41)A. 关联    B. 依赖      C. 聚合      D. 组合

    (42)A. 关联    B. 依赖      C. 聚合      D. 组合             

    ● 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用 (43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用 (44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用 (45) 设计模式将该类的接口转换成我们希望的接口。

    (43)A. 命令(Command)      B. 适配器(Adapter)          C. 装饰(Decorate)     D. 享元(Flyweight)

    (44)A. 命令(Command)      B. 适配器(Adapter)         C. 装饰(Decorate)     D. 享元(Flyweight)

    (45)A. 命令(Command)      B. 适配器(Adapter)          C. 装饰(Decorate)     D. 享元(Flyweight)             

● 下图属于UML中的(46),其中,AccountManagement需要(47)。

    (46)A. 组件图        B. 部署图      C. 类图        D.对象图

    (47)A. 实现IdentityVerifier接口并被CreditCardServices调用

          B. 调用CreditCardServices实现的IdentityVerifier接口

          C. 实现IdentityVerifier接口并被Logger调用          D. 调用Logger实现的IdentityVerifier接口         

    ● 下图所示有限自动机的特点是 (48) 。

    (48)A. 识别的0、1串是以0开头且以1结尾          B. 识别的0、1串中1的数目为偶数

          C. 识别的0、1串中0后面必须是1          D. 识别的0、1串中1不能连续出现          

    ● 由a、b构造且仅包含偶数个a的串的集合用正规式表示为(49)。

    (49)A. (a*a)*b*                 B. (b* (ab*a)*)*          C. (a* (ba*)*b)*             D. (a|b)* (aa)*          

    ● 设某语言的语法规则用上下文无关文法G=(N,T,P,S)表示,其中N是非终结符号的集合,T是终结符号的集合,P 是产生式集合,S是开始符号,令V=N∪T,那么符合该语言的句子是 (50)。

    (50)A. 从S 出发推导的、仅包含T 中符号的符号串

          B. 从N 中符号出发推导的、仅包含T 中符号的符号串

          C. 从S 出发推导的、包含V 中符号的符号串          D. 从N 中符号出发推导的、包含V 中符号的符号串            

● 采用二维表格结构表达实体类型及实体间联系的数据模型是 (51) 。

    (51)A. 层次模型                                   B. 网状模型          C. 关系模型                                   D. 面向对象模型          

    ● 假设员工关系EMP(员工号,姓名,部门,部门电话,部门负责人,家庭住址,家庭成员,成员关系)如下表所示。如果一个部门可以有多名员工,一个员工可以有多个家庭成员,那么关系EMP属于(52),且(53)问题;为了解决这一问题,应该将员工关系EMP分解为 (54) 。

    (52)A. 1NF                B. 2NF               C. 3NF               D. BCNF

    (53)A. 无冗余、无插入异常和删除异常          B. 无冗余,但存在插入异常和删除异常

          C. 存在冗余,但不存在修改操作的不一致         D. 存在冗余、修改操作的不一致,以及插入异常和删除异常

    (54)

A.  EMP1(员工号,姓名,家庭住址)

                    EMP2(部门,部门电话,部门负责人)

                    EMP3(员工号,家庭成员,成员关系)

          B.  EMP1(员工号,姓名,部门,家庭住址)

                    EMP2(部门,部门电话,部门负责人)

                    EMP3(员工号,家庭成员,成员关系)

         C.   EMP1(员工号,姓名,家庭住址)

                    EMP2(部门,部门电话,部门负责人,家庭成员,成员关系)

         D.  EMP1(员工号,姓名,部门,部门电话,部门负责人,家庭住址)

                   EMP2(员工号,家庭住址,家庭成员,成员关系)                

● 关系R、S如下图所示,关系代数表达式π3,4,5(σ1<6<(R×S) )=(55),对关系R、S 进行自然连接后的属性列数和元组个数分别为 (56) 。

      

    (56)A. 3和0          B. 3和2           C. 6和0             D. 6和2        

● 下面关于查找运算及查找表的叙述,错误的是(57)。

    (57)A. 哈希表可以动态创建          B. 二叉排序树属于动态查找表

          C. 二分查找要求查找表采用顺序存储结构或循环链表结构

          D. 顺序查找方法既适用于顺序存储结构,也适用于链表结构          

    ● 下面关于图(网)的叙述,正确的是(58)。

    (58)A. 连通无向网的最小生成树中,顶点数恰好比边数多1

          B. 若有向图是强连通的,则其边数至少是顶点数的2倍

          C. 可以采用AOV 网估算工程的工期

          D. 关键路径是AOE 网中源点至汇点的最短路径          

    ● 下面关于二叉排序树的叙述,错误的是(59)。

    (59)A. 对二叉排序树进行中序遍历,必定得到结点关键字的有序序列

          B. 依据关键字无序的序列建立二叉排序树,也可能构造出单支树

          C. 若构造二叉排序树时进行平衡化处理,则根结点的左子树结点数与右子树结点数的差值一定不超过1

          D. 若构造二叉排序树时进行平衡化处理,则根结点的左子树高度与右子树高度的差值一定不超过1        

    ● 下面关于栈和队列的叙述,错误的是(60)。

    (60)A. 栈和队列都是操作受限的线性表

          B. 队列采用单循环链表存储时, 只需设置队尾指针就可使入队和出队操作的时间复杂度都为O(1)

          C. 若队列的数据规模n可以确定,则采用顺序存储结构比链式存储结构效率更高

          D. 利用两个栈可以模拟一个队列的操作,反之亦可             

● 下面关于二叉树的叙述,正确的是(61)。

    (61)A. 完全二叉树的高度h与其结点数n之间存在确定的关系

          B. 在二叉树的顺序存储和链式存储结构中,完全二叉树更适合采用链式存储结构

          C. 完全二叉树中一定不存在度为1的结点          D. 完全二叉树中必定有偶数个叶子结点          

    ● 设 L 为广义表,将 head(L)定义为取非空广义表的第一个元素,tail(L)定义为取非空广义表除第一个元素外剩余元素构成的广义表。若广义表L=((x,y,z),a,(u,t,w)),则从L中取出原子项y的运算是(62)。

    (62)A. head(tail(tail(L)))           B. tail(head(head(L)))          C. head(tail(head(L)))           D. tail(tail(head(L)))

    ● 现有16枚外形相同的硬币,其中有一枚比真币的重量轻的假币,若采用分治法找出这枚假币,至少比较(63)次才能够找出该假币。    (63)A. 3          B. 4        C. 5        D. 6          

● 以下的算法设计方法中,()以获取问题最优解为目标。

    ()A. 回溯方法    B. 分治法    C. 动态规划    D. 递推  

    ● 归并排序采用的算法设计方法属于(65)。

    (65)A. 归纳法      B. 分治法          C. 贪心法         D. 回溯方法          

● 一个 B 类网络的子网掩码为 255.255.224.0,则这个网络被划分成了(66)个子网。

    (66)A.   2        B.   4      C.   6      D.   8

               ● 在Windows系统中设置默认路由的作用是(67)。

    (67)A. 当主机接收到一个访问请求时首先选择的路由          B. 当没有其它路由可选时最后选择的路由

          C. 访问本地主机的路由          D. 必须选择的路由

    ●  HTML元素中,(68)属性用于定义超链接被鼠标点击后所显示的颜色。

    (68)A. alink   B. background   C. bgcolor    D. vlink         

    ●  HTML中标记用于定义表格的(69)。

    (69)A. 行                B. 列                C. 单元格              D. 标题        

    ● 以下不符合XML文档语法规范的是(70)。

    (70)A. 文档的第一行必须是XML文档声明          B. 文档必须包含根元素

          C. 每个开始标记必须和结束标记配对使用          D. 标记之间可以交叉嵌套            

●  For nearly  ten years,  the Unified Modeling Language  (UML) has been  the  industry standard  for  visualizing,  specifying,  constructing,  and  documenting  the  (71) of  a software-intensive system. As the (72)standard modeling language, the UML facilitates communication and reduces confusion among project  (73)The recent standardization of UML 2.0 has  further extended  the  language's scope and viability.  Its  inherent expressiveness allows  users  to (74)everything  from  enterprise  information  systems  and  distributed Web-based applications to real-time embedded systems. The UML  is not  limited  to modeling software. In fact,  it  is expressive enough  to model (75) systems, such as workflow in the legal system, the structure and behavior of a patient healthcare  system,  software  engineering  in  aircraft  combat  systems,  and  the  design  of hardware. To understand the UML, you need to form a conceptual model of the language, and this requires learning three major elements: the UML's basic building blocks, the rules that dictate how  those  building  blocks may  be  put  together,  and  some  common mechanisms  that  apply throughout the UML.

    (71)A. classes       B. components    C. sequences          D. artifacts

    (72)A. real          B. legal         C. de facto           D. illegal

    (73)A. investors     B. developers    C. designers         D. stakeholders

    (74)A. model         B. code          C. test               D. modify

    (75)A.non-hardware   B. non-software    C. hardware         D. software下载本文

显示全文
专题