2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号75_第1页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号75_第2页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号75_第3页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号75_第4页
2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)试卷号75_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、住在富人区的她2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题当UML状态图用于对系统、类或用例的动态方面建模时,通常是对( )建模。以下UML状态图中,假设活动的状态是A,事件b=0发生并且a5,发生条件是c状态到d状态的转换条件的是( ),D变为活动的状态,有关状态图的叙述中,不正确的是( )。问题1选项A.系统的词汇B.反应型对象C.活动流程D.对象快照问题2选项A.一旦状态A的exit动作完成,或如果当前执行do动作,则终止执行B.一旦状态A和B的所有动作完成C.一旦正在进行的状态A完

2、成D.一旦状态B的exit动作完成问题3选项A.动作可以在状态内执行,也可以在状态转换时执行B.当触发转换的事件发生并且转换没有指定的监护条件时,对象将离开当前状态,并且其do动作终止C.when (b=5)称为时间事件D.状态由事件触发【答案】第1题:B第2题:B第3题:D【解析】当对系统、类或用例的动态方面建模时,通常是对反应型对象建模,第一空选择B选项。状态图通常包含简单状态和组合状态、转换(事件和动作)。状态是指对象的生命周期中某个条件或者某个状态,在此期间对象将满足某些条件、执行某些活动或等待某些事件,是对象执行了一系列活动的结果,当某个事件发生后,对象的状态将发生变化。嵌套在另外一

3、个状态中的状态称为子状态(本题中的A、B为子状态),含有子状态的状态称为组合状态(也叫作超状态,C是组合状态)。状态C完成才会在when b=5a5时,让D进入激活状态,当前状态为A,当A完成时进入状态B,状态B完成后才完成组合状态C。因此第二空应该选择B选项,需要状态A和B都完成。转换是两个状态之间的一种关系,表示对象将在源状态中执行一定的动作,并在某个特定事件发生而且某个特定的警戒(监护)条件满足时进入目标状态。动作是一个可执行的原子操作,是不可中断的,其执行时间可以忽略不计。转换由事件触发,而不是状态由事件触发,第三空D选项描述错误。2.单选题下列关于结构化分析方法的数据字典中加工逻辑的

4、叙述中,不正确的是( )。问题1选项A.对每一个基本加工,应该有一个加工逻辑B.加工逻辑描述输入数据流变换为输出数据的加工规则C.加工逻辑必须描述实现加工的数据结构和算法D.结构化语言,判定树和判定表可以用来表示加工逻辑【答案】C【解析】本题是对数据字典中加工逻辑相关概念的考查。数据字典包含4类条目:数据流、数据项、数据存储和基本加工。其中基本加工条目是用来说明DFD中基本加工的处理逻辑的,由于下层的基本加工是由上层加工分解而来,只要有了基本加工的说明就可理解其他加工。对每一个基本加工,都应该有一个加工逻辑来说明。A选项描述正确。加工描述了输入数据流到输出数据流之间的编号,也就是输入数据流经过

5、什么处理后变成了输出数据流。加工逻辑对其进行说明,也就是描述了改过程的加工规则,B选项描述正确。加工逻辑是位于需求分析阶段,此时具体的数据结构和算法并没有进行设计,C选项描述错误。本题选择C选项。常用的加工逻辑描述方法有结构化语言、判定表和判定树三种,D选项描述正确。3.单选题在运行时将调用和响应调用所需执行的代码加以结合的机制是( )。问题1选项A.强类型B.弱类型C.静态绑定D.动态绑定【答案】D【解析】本题考查的是面向对象基本概念。程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。静态绑定是指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代

6、码结合的过程称之为静态绑定。本题描述的动态绑定,选择D选项。4.单选题Python 语言的特点不包括()。问题1选项A.跨平台、开源B.编译型C.支持面向对象程序设计D.动态编程【答案】B【解析】本题考查python相关问题。python语义的特点:跨平台、开源、简单易学、面向对象、可移植性、解释性、开源、高级语言、可扩展性、丰富的库、动态编程等等综上所述B选项错误,python不是编译型语言,而是解释型语言。5.单选题对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中()问题1选项A.一定存在有向弧B.一定不存在有向弧C.必定存在从Vi到Vj的路径D.必定存在从Vj到

7、Vi的路径【答案】B【解析】本题考查拓扑序列的相关问题。对于拓扑序列,需要按照有向弧的指向,明确其先后顺序,例如:存在一条Vi指向Vj的有向弧,那么在拓扑序列中Vi需要写出Vj前面,其次对于属于同一层次或者毫无关联的两个结点可以不用在意先后顺序。根据题干描述,对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,我们试着对以下选项进行分析:A、一定存在有向弧,说法错误,不一定存在,Vi和Vj可以是并列的,并不一定要存在Vi到Vj的有向弧。B、一定不存在有向弧,说法正确,如果存在有向弧,那么Vj是需要在顶点Vi之前的,则与题干相悖,所以必定不存在。C、必定存在从Vi到Vj的路径,说法错

8、误,不一定存在,Vi和Vj可以是两个毫无关联没有指向的关系,不会存在相关的路径。D、必定存在从Vj到Vi的路径,说法错误,如果存在Vj到Vi的路径,Vj就会出现在Vi前面6.单选题n个关键码构成的序列k1,k2, .Kn当且仅当满足下列关系时称其为堆。以下关键码序列中,() 不是堆。问题1选项A.15,25,21,53,73, 65,33B.15,25,21,33,73,65,53C.73,65,25,21,15,53,33D.73,65,25,33,53,15,21【答案】C【解析】本题考查堆排序的算法问题。堆分为大顶堆(根节点大于左孩子和右孩子节点)和小顶堆(根节点小于左孩子节点和右孩子节

9、点)。根据选项来看,共7个节点,应该是3层的满二叉树,符号堆的有A,B,D三个选项。仅有C选项73,65,25,21,15,53,33,73作为根节点,根大于其左孩子节点65和右孩子节点25都,是大顶堆的构造,第二层65作为左子树的根节点,大于了其左孩子节点21和右孩子节点15,符合大顶堆的构造;25作为右子树的根节点,却小于了其左孩子节点53和右孩子节点33,不符合大顶堆的构造了,故其不是堆。7.单选题甲乙丙三者分别就相同内容的发明创造,先后向专利管理部门提出申清,( )可以获得专利申请权。问题1选项A.甲乙丙均B.先申请者C.先试用者D.先发明者【答案】B【解析】本题考查的是知识产权人确定

10、的相关内容。对于专利权,谁先申请就给谁;同时申请则协商。8.单选题以下对于路由协议的叙述中,错误的是( )。问题1选项A.路由协议是通过执行一个算法来完成路由选择的一种协议B.动态路由协议可以分为距离向量路由协议和链路状态路由协议C.路由协议是一种允许数据包在主机之间传送信息的种协议D.路由器之间可以通过路由协议学习网络的拓扑结构【答案】C【解析】本题考查计算机网络路由协议。路由协议:是一种指定数据包转送方式的网上协议。Internet网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据。转发策略可以是人工指定的(通过静态路由、策略路由等方法)。在具有较小规模的网络中,人工指定转发策

11、略没有任何问题。但是在具有较大规模的网络中(如跨国企业网络、ISP网络),如果通过人工指定转发策略,将会给网络管理员带来巨大的工作量,并且在管理、维护路由表上也变得十分困难。为了解决这个问题,动态路由协议应运而生。动态路由协议可以让路由器自动学习到其他路由器的网络,并且网络拓扑发生改变后自动更新路由表。网络管理员只需要配置动态路由协议即可,相比人工指定转发策略,工作量大大减少,其中动态路由协议又分为距离向量路由协议和链路状态路由协议。工作原理:路由协议通过在路由器之间共享路由信息来支持可路由协议。路由信息在相邻路由器之间传递,确保所有路由器知道到其它路由器的路径。总之,路由协议创建了路由表,描

12、述了网络拓扑结构;路由协议与路由器协同工作,执行路由选择和数据包转发功能。9.单选题面向对象分析的第一项活动是( );面向对象程序设计语言为面向对象( )。问题1选项A.组织对象B.描述对象间的相互作用C.认定对象D.确定对象的操作问题2选项A.用例设计B.分析C.需求分析D.实现【答案】第1题:C第2题:D【解析】第1题:本题考查的是面向对象分析与设计相关内容。面向对象分析的活动有:认定对象(名词)、组织对象(抽象成类)、对象间的相互作用、基于对象的操作,第一项活动是认定对象,本题选择C选项。第2题:面向对象实现需要选择一种面向对象程序设计语言。第二空选择D选项。10.单选题针对月收入小于等

13、于3500元免征个人所得税的需求,现分别输入3499,3500和3501进行测试,则采用的测试方法( )。问题1选项A.判定覆盖B.边界值分析C.路径覆盖D.因果图【答案】B【解析】本题考查的是边界值覆盖的相关应用。常见黑盒测试方法包括因果图、有效等价类和边界值分析等。白盒测试包括语句覆盖、判断覆盖、条件覆盖、路径覆盖等。判断覆盖和路径覆盖都需要了解模块内部执行过程,与本题不符。因果图(又名因果图、石川图、鱼骨图),指的是一种发现问题“根本原因”的分析方法,常用在项目管理中,黑盒测试也可以使用该方法。11.单选题函数foo、hoo的含义如下所示,函数调用hoo(a,x)的两个参数分别采用引用调

14、用(call by reference)和值调用(call by value)方式传递,则函数调用foo(5)的输出结果为( )。问题1选项A.2,5B.2,15C.13,5D.13,15【答案】C【解析】根据题干给出的信息,foo(5),在该函数中,初始情况x=5,a=2。调用hoo(a,x)函数,此时a=2传给hoo函数中的x,并且由于是引用方式,此时x在hoo函数内的修改会影响原a的值(注意区别,hoo函数的x与foo函数的x是不用的局部变量)。同时x=5传给hoo函数中的y,并且是值调用方式,此时y在hoo函数内的修改是不会影响原x的值。接着分析hoo()函数,x的初始值为2,y初始值

15、为5。执行y=y+10=15,执行x=y-x=15-2=13,此时x的值会传回原foo函数的a,即a=x=13。返回foo函数进行分析,输出的a和x,取值分别为修改后的13和原数值5。本题选择C选项。12.单选题云计算有多种部署模型(Deployment Models)。若云的基础设施是为某个客户单独使用而构建的,那么该部署模型属于( )。问题1选项A.公有云B.私有云C.社区云D.混合云【答案】B【解析】A选项公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过 Internet 使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。B选项私有云(Private Clo

16、uds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。本题针对某个客户单独使用,属于B选项私有云。C选项社区云一般指社群云。社群云(Community cloud),也称社区云,是由几个组织共享的云端基础设施,它们支持特定的社群,有共同的关切事项,例如使命任务、安全需求、策略与法规遵循考量等。D选项混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云

17、被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。13.单选题某销售公司员工关系E(工号、姓名、部门名、电话、住址),商品关系C(商品号、商品名、库存数)和销售关系EC(工号、商品号、销售数、销售日期)。查询“销售部1”在2020年11月11日销售“HUWEI Mate40”商品的员工工号、姓名、部门名及其销售的商品名,销售数的关系代数表达式为1,2,3,7,8( ( ) ( ( ) ( ) ) )问题1选项A.3=销售部1(E)B.3=销售部1(C)C.3=销售部1(E)D.3=销售部1(C)问题2选项A.2,3(2=HUW

18、EI Mate40 (C)B.1,2(2= HUWEI Mate40 (C)C.2,3(2=HUWEI Mate40 (EC)D.1,2(2=HUWEI Mate40 (EC)问题3选项A.4=2020年11月11日(C)B.3=2020年11月11日(C)C.4=2020年11月11日(EC)D.3=2020年11月11日(EC)【答案】第1题:C第2题:B第3题:C【解析】本题考查的是关系代数相关知识内容。本题看起来逻辑非常复杂,涉及到了3个关系表的联合使用,但结合选项来看,可以快速找到正确答案。首先对于第一空,选择的对象一定是表E或表C,而此时C是没有部门名的,因此筛选对象一定是表E,其

19、次判断某个列的取值,需要用引号标注,排除错误格式A,本题选择的应该是C选项。接着对于第二空,选择的对象一定是表C或表EC,而此时EC是没有商品名的,因此筛选对象一定是表C,并且投影需要保留商品号和商品名,因此投影的列号是1和2,本题选择的应该是B选项。接着对于第二空,选择的对象一定是表C或表EC,而此时C是没有销售日期的,因此筛选对象一定是表EC,并且位于EC的第4列即列号为4,本题选择的应该是C选项。14.单选题进行面向对象系统设计时,在包的依赖关系图中不允许存在环,这属于( )原则。问题1选项A.单一责任B.无环依赖C.依赖倒置D.里氏替换【答案】B【解析】本题考查的是面向对象设计原则相关

20、内容。单一责任原则:设计目的单一的类。无环依赖原则:在包的依赖关系图中不允许存在环,即包之间的结构必须是一个直接的无环图形。本题描述的是B选项。依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。里氏替换原则:子类可以替换父类。15.单选题AES是一种()算法。问题1选项A.公钥加密B.流密码C.分组加密D.消息摘要【答案】C【解析】AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥。并且使用128位分组加密和解密数据。16.单选题Java语言符合的特征有( )和自动的垃圾回收处理采用即时编译采用静态优化编译对象在堆空间分配对象在栈空间分配问

21、题1选项A.B.C.D.【答案】A【解析】JAVA是解释型语言,可以生成中间代码后再边解释为目标代码边执行,也就是即时编译,可以根据运行机器优化代码,采用的是动态优化编译。所以的说法正确,的说法错误。Java 程序最初都是通过解释器(Interpreter)进行解释执行的,当虚拟机发现某个方法或代码块的运行特别频繁,就会把这些代码认定为“ 热点代码 ”(Hot Spot Code),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成本地机器码,并以各种手段尽可能地进行代码优化,这个过程就叫即时编译,运行时完成这个任务的后端编译器被称为即时编译器。JAVA的栈空间只存放基本类型、引

22、用类型变量和方法,而堆中存储实例对象。的说法正确,的说法错误。本题综合选择A选项。17.单选题下列协议中,可以用于文件安全传输的是( )。问题1选项A.FTPB.SFTPC.TFTPD.ICMP【答案】B【解析】本题考查的是TCP/IP协议簇相关知识。FTP文件共享是可靠但不安全的方式,TFTP文件共享是不可靠且不安全的。ICMP是Internet控制报文协议,与文件传输功能无关。在计算机领域,SSH文件传输协议(英语:SSH File Transfer Protocol,也称Secret File Transfer Protocol,中文:安全文件传送协议,英文:Secure FTP或字母缩

23、写:SFTP)是一数据流连接,提供文件访问、传输和管理功能的网络传输协议。只有SFTP涉及文件安全传输。本题选择B选项。18.单选题以下可以有效防治计算机病毒的策略是( )。问题1选项A.部署防火墙B.部署入侵检测系统C.安装并及时升级防病毒软件D.定期备份数据文件【答案】C【解析】部署防火墙:防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术,并不能有效的防范病毒。部署入侵检测系统:入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行

24、即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。是对一种网络传输的监视技术,并不能有效的防范病毒。安装并及时升级防病毒软件:针对于防病毒软件本身就是防范病毒最有效最直接的方式。定期备份数据文件:数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。是为了防止系统数据流失,不能有效的防范病毒。19.单选题数据库中的视图是一个虚拟表。若设计师为user表创建一个user1视图,那数据字典中保存的是( )。问题1选项A.user1查询语句B.user1视图定义C.user1查询结果D.所引

25、用的基本表的【答案】B【解析】本题考查的是视图相关概念。视图在数据字典中保存的是视图定义。本题选择B选项。20.单选题( )是一种需要通过周期性刷新来保持数据的存储器件。问题1选项A.SRAMB.DRAMC.FLASHD.EEPROM【答案】B【解析】DRAM:动态随机存取器存储器,又叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储媒介,通过周期性刷新来保持数据的存储器件,断电丢失。SRAM:静态随机存取器存储器,静态随机存取存储器是随机存取存储器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面

26、储存的数据就可以恒常保持。FLASH:闪存,特性介于EPROM和EEPROM之间,类似于EEPROM,也可以使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除。EEPROM:电擦除可编程的只读存储器,于EPROM相似,EEPROM中的内容既可以读出,也可以进行改写。21.单选题以下关于数据库两级映像的叙述中,正确的是( )。问题1选项A.模式/内模式映像实现了外模式到内模式之间的相互转换B.模式/内模式映像实现了概念模式到内模式之间的相互转换C.外模式/模式的映像实现了概念模式到内模式之间的相互转换D.外模式/内模式的映像实现了外模式到内模式之间的相互转换【答案】B【解析】本题考查数据库的

27、基本概念。数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。 正因为这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。(1)模式/内模式的映像。存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。(2)外模式/模式的映像。存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。22.单选题页面的标记对中( )用于表示网页代码的起始和终止。问题1选项A.B.C.D.【答案】A【解析】考查关于html相关知识。标签限定了文档的开始点和结束点,在它们之间是文档的头部和主体。标签就是我们常说的头部标签,在与之间是用来存放一个文档的头部元素的主

28、体标签,body 元素定义文档的主体。 标签位于文档的头部,不包含任何内容。 标签的属性定义了与文档相关联的名称/值对。 23.单选题某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用( )关系,网店与商品之间适合采用( )关系。问题1选项A.关联B.依赖C.组合D.聚合问题2选项A.依赖B.关联C.组合D.聚合【答案】第1题:D第2题:C【解析】本题考查UML类图的几种关系。关联关系:描述了一组链,链是对象之间的连接。依赖关系:一件事物发生改变影响到另一个事务。聚合关系:整体与部分生命周期不同的关系。组合

29、关系:整体与部分生命周期相同的关系。对于购物车和商品而言,网上商店的购物车要能过跟踪顾客所选的的商品,记录下所选商品,还要能随时更新,可以支付购买,能给顾客提供很大的方便。购物车用于存放商品,购物车是整体,商品是部分,他们之间生命周期不同。属于聚合关系。对于网店和商品而言,网点里面包含商品,属于整体和部分生命周期相同的情况,属于组合关系。24.单选题使用电子邮件客户端向服务器发送邮件的协议是( )。问题1选项A.SMTPB.POP3C.IMAP4D.MIME【答案】A【解析】A选项SMTP邮件传输协议。本题选择A选项。B选项POP3邮件收取协议。C选项IMAP4协议与POP3协议一样也是规定个

30、人计算机如何访问网上的邮件的服务器进行收发邮件的协议,但是IMAP4协议同POP3协议相比更高级。D选项MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。25.案例题阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单(如图6-1示例)中包含的可能是一个菜单项(直接对应某个功能),也可能是一个子菜单,现在采用组合(com

31、posite)设计模式实现层叠菜单,得到如图6-2所示的类图层叠菜单(如图6-1示例)暂缺 图6-2 类图import java.util.*;abstract class MenuComponent / 构成层叠菜单的元素(1) String name; / 菜单项或子菜单名称public viod printName() System.out.println(name); public (2) ;public abstract boolean removeMenuElement(MenuComponent element);public (3) ;class MenuItem extend

32、s MenuComponent public MenuItem(String name) =name; public boolean addMenuElement(MemuComponent element) return false; public boolean removeMenuElement(MenuComponent element) return false; public List getElement() return null; class Menu extends MemuComponent private (4);public Menu(String name) = n

33、ame;this.elementList = new ArrayList;public boolean addMenuElement(MenuComponent element)return elementList.add(element);public boolean removeMenuElement(MenuComponent element)return elementList.remove(element);public List getElement() return elementList;class CompositeTest public static void main(S

34、tring args) MenuComponent mainMenu = new Menu(“AB”); /此处字符不清晰,以“AB”代替原文MenuComponent subMenu = new Menu(“Chart”);MenuComponent element = new MenuItem(“On This Sheet”);(5);subMenu.addMenuElement(element);printMenus(mainMenu);private static void printMenus(MenuComponent ifile)ifile.printName();List ch

35、ildren = ifile.getElement();if(children = null) return; /打印for(MenuComponent element; children)printMenus(element);【答案】(1)protected(2)abstract boolean addMenuElement(MemuComponent element)(3)abstract List getElement()(4)ArrayList elementList(5)mainMenu.addMenuElement(subMenu)【解析】本题是典型的组合模式应用。首先根据类图中

36、name标注的为#(+表示public,-表示private,#表示protected),第(1)空对name的修饰应该是protected。然后根据抽象类和实现类的对应关系,可以补充第(2)(3)空,这两处缺失的方法根据下文代码进行补充,注意方法名必须用abstract修饰,并且注意抽象方法的写法没有具体方法体。其中第(2)空填写abstract boolean addMenuElement(MemuComponent element) ,第(3)空填写abstract List getElement()。第(4)空缺失了一个属性,此时根据下文的同名构造函数会发现,此处传参给了以及this.

37、elementList,name可以根据父类继承使用,而elementList需要定义,因此此处缺失的参数是elementList,类型根据后面的赋值类型进行定义,即第(4)空填写ArrayList elementList。第(5)空是对组合模式的应用拼装,根据下文可知打印需要调用mainMenu对象,而此时该对象是独立的,需要与其他菜单进行拼装,下文中subMenu拼装了element,此处需要将subMenu拼装到mainMenu,即第(5)空填写mainMenu.addMenuElement(subMenu)。26.单选题数据库中的视图是一个虚拟表。若设计师为user表创建一个user1

38、视图,那数据字典中保存的是( )。问题1选项A.user1查询语句B.user1视图定义C.user1查询结果D.所引用的基本表【答案】B【解析】本题考查的是视图相关概念。视图在数据字典中保存的是视图定义。本题选择B选项。27.单选题以下关于增量模型优点的叙述中,不正确的是( )。问题1选项A.强调开发阶段性早期计划B.第一个可交付版本所需要的时间少和成本低C.开发由增量表示的小系统所承担的风险小D.系统管理成本低、效率高、配置简单【答案】D【解析】增量模型作为瀑布模型的一个变体,具有瀑布模型的所有优点。此外,它还具有以下优点:第一个可交付版本所需要的成本和时间很少;开发由增量表示的小系统所承

39、担的风险不大:由于很快发布了第一个版本,因此可以减少用户需求的变更:运行增量投资,即在项目开始时,可以仅对一个或两个增量进行投资。增量模型有以下不足之处:如果没有对用户变更的要求进行规划,那么产生的初始量可能会造成后来增量的不稳定;如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布;管理发生的成本、进度和配置的复杂性可能会超出组织的能力。28.单选题设关系模式R(U,F), U=A1,A2, A3, A4,函数依赖集F=A1A2, A1A3,A2A4,关系R的候选码是( )。下列结论错误的是( )。问题1选项A.A1B.A2C.A1A2D.A1A3问题2选项A.A1

40、A2A3为F所蕴涵B.A1- A4为F所蕴涵C.A1A2A4为F所蕴涵D.A2A3为F所蕴涵【答案】第1题:A第2题:D【解析】本题考查候选键的求法和函数依赖的判断问题。第一问求候选键,采用图示法,能够遍历所有属性的即为候选键,首先应该找出入度为0的节点,只有A1,如果入度为0的节点,遍历不了所有节点,那么需要加入一些中间结点(既有入度又有出度)的结点进行遍历,以它们的组合键作为候选键。根据方法,找到入度为0的节点A1,可以发现第一步能够通过A1决定所有属性A2(A1A2),A3(A1A3),A4(A1A2,A2A4,传递律得A1A4)得出A1为候选键。第二问考查AmStrong公理进行求解相

41、关:A.A1A2A3为F所蕴涵,通过A1A2,A1A3,得出A1A2A3(合并规则)B.A1- A4为F所蕴涵,通过A1A2,A2A4,得出A1A4(传递律)C.A1A2A4为F所蕴涵,通过A2A4,A1A4(传递律),那么两者的结合键为A1A2A4自然能被F所蕴涵。D.A2A3为F所蕴涵,不能推导得出。29.单选题进程P有5个页面,页号为0-4,页面变换表及状态位、访问位和修改位的含义如下图所示,若系统给进程P分配了3个存储块,当访问的页面3不在内存时,应该淘汰表中页号为( )的页面问题1选项A.0B.1C.2D.4【答案】A【解析】被淘汰的页面首先必须在内存,也就是在0、2、4页面中进行选

42、择。优先淘汰访问位为0的页面,此时0、2、4页面访问位都为1,无法判断。进一步淘汰的是修改位为0的页面,此时符合要求淘汰的是0号页面,选择A选项。30.单选题归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度为0(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为( )。问题1选项A.分治B.动态规划C.贪心D.回溯问题2选项A.B.C.D.【答案】第1题:A第2题:C【解析】本题考查归并排序相关算法。归并排序(Merge Sort)

43、是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是运用分治法相关策略,其时间复杂度是由外层的n循环,与内层的归并过程log2n结合起来得到O(nlgn),归并排序没有所谓的最好和最坏排序算法,都为O(nlgn)31.单选题进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空和空处应分别为( ) ,空和空处应分别为(

44、) , 空和空处应公别为( )问题1选项A.V(S1)和P(S2)P(S3)B.V(S1)和V(S2)V(S3)C.P(S1)和P(S2)V(S3)D.P(S1)和V(S2)V(S3)问题2选项A.V(S3)和P(S3)B.V(S4)和P(S3)C.P(S3)和P(S4)D.V(S4)和P(S4)问题3选项A.V(S6)和P(S5)B.V(S5)和P(S6)C.P(S5)和V(S6)D.P(S5)和V(S5)【答案】第1题:D第2题:B第3题:A【解析】本题考查P,V操作前驱图相关问题。对于这种问题,根据箭头的指向判断相应的PV操作,先理清楚前趋图中的逻辑关系:P1没有前驱,P2的前驱是P1,

45、P3的前驱是P2,P4的前驱是P2,P5的前驱是P3,P6的前驱是P4,P5。前驱就是指只有在前驱进程完成后,该进程才能开始执行。由图可知,这里进程之间有6条有向弧,分别表示为P1P2,P2P3,P2P4,P3P5,P4P6,P5P6,各个进程间的逻辑关系,那么我们需要设定6个信号量(S1、S2、S3、S4、S5、S6),利用PV操作来控制这些过程。对于进程P1,完成之后,需要通知P2,所以在P1执行了之后,实现了V(S1)操作。对于进程P2,开始之前需要申请资源S1,实现P(S1),P2执行完成之后,需要通知P3和P4,实现两个V操作,分别是V(S2)和V(S3)对于进程P3,开始之前需要申

46、请资源S2,实现P(S2),P3执行完成之后,需要通知P5,实现V操作,为V(S4)对于进程P4,开始之前需要申请资源S3,实现P(S3),P4执行完成之后,需要通知P6,实现V操作,为V(S5)对于进程P5,开始之前需要申请资源S4,实现P(S4),P5执行完成之后,需要通知P6,实现V操作,为V(S6)对于进程P6,开始之前需要申请资源S5和S6,实现两个P操作,分别为P(S5)和P(S6)32.单选题通过在出口防火墙上配置( )功能可以阻止外部未授权用户访问内部网络。问题1选项A.ACLB.SNATC.入侵检测D.防病毒【答案】A【解析】本题考查的是网络防护相关概念。ACL一般指访问控制

47、列表。访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。本题描述的是ACL,其他选项与本题描述不符,选择A选项。33.单选题某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entry发生时,( )。 其中,tries问题1选项A.保持在Logging in状态B.若tries问题2选项A.状态B.转换C.监护条件D.转换后效果问题3选项A.状态B.转换C.转换后效果D.监护条件【答案】第1题:B第2题:C第3题:B【解析】本题

48、考查UML状态图的问题。通过状态图图示可知,假设活动状态是Logging in,那么当Valid Entry发生时,当限制条件【tries=3】会到达Logging Denied状态,当限制条件【tries3】Logged in状态。针对于第一问的描述,仅有B符合状态图的表示。tries3和tries+ +分别表示监护条件和转换,带有【】表示限制条件,没带【】的具体操作表示一个状态到另外一个状态的转换。34.单选题下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动( )不在关键路径上。活动BI和EG的松弛时间分别是( )

49、。问题1选项A.BDB.BIC.GHD.KL问题2选项A.0和1B.1和0C.0和2D.2和0【答案】第1题:B第2题:B【解析】考查项目管理计算问题。对于关键路径有两条分别是:ABDIJKL和AEGHKL两条关键路径,长度为20.针对第一问,不在关键路径上的活动是BI,其余的BD,GH,KL都在关键路径上。针对第二问,要求BI和EG的松弛时间,BI活动通过的路径有两条ABIJKL和ABIJL,其中两条路径的长度都为19,(如果有两条不同的路径应该选择最大的一条),用关键路径减去该路径的长度20-19=1,表示该活动的松弛时间。活动EG位于该关键路径AEGHKL上,没办法延误,即松弛时间为03

50、5.案例题生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将一个字符串变换为另一个字符串所需要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另一个字符。用字符数组str1和str2分别表示长度分别为len1和len2的字符串,定义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递归定义为:【C代码】下面是算法的C语言实现。(1)常量和变量说明A,B:两个字符数组d:二维数组i,j:循环变量temp:临时变量(2)C程序#include#define N 100char AN=CTGA;ch

51、ar BN=ACGCTA;int dNN;int min(int a, int b)return a (1) ;for(i=1;i (2) )dij=di-1j-1; else temp=min(di-1j+1, dij-1+1);dij=min(temp, (3) ); return (4) ;【问题1】(8分)根据说明和C代码,填充C代码中的空(1)(4)。【问题2】(4分)根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用O符号表示,两个字符串的长度分别用m和n表示)。【问题3】(3分)已知两个字符串A=CTGA和B=ACGCTA,根据说明和C代码,可得出这两个字符串的编

52、辑距离为(7)。【答案】问题1:(1) d0j=j (2)str1i-1=str2j-1 (3)di-1j-1 +1 (4) dlen1len2问题2:(5)动态规划法 (6)O(mn)问题3:(7)436.单选题关于螺旋模型,下列陈述中不正确的是( ),( )。问题1选项A.将风险分析加入到瀑布模型中B.将开发过程划分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符C.适合于大规模、复杂且具有高风险的项目D.可以快速的提供一个初始版本让用户测试问题2选项A.支持用户需求的动态变化B.要求开发人员具有风险分析能力C.基于该模型进行软件开发,开发成本低D.过多的迭代次数可能会增加开发成本,进而延迟

53、提交时间【答案】第1题:D第2题:C【解析】第一空选项中,可以快速提供一个初始版本给用户的是增量模型而不是瀑布模型。D选项描述错误。其他描述都是正确的。第二空选项中,在螺旋模型中过多的迭代次数会增加开发成本,C选项开发成本低的描述是错误的。其他描述都是正确的。37.单选题下图所示的二叉树表示的算术表达式是( )(其中的*、/、一表示乘、除、减运算)。问题1选项A.a*b/c- dB.a*b/(c-d)C.a*(b/c- d)D.a*(b-c/d)【答案】C【解析】本题考查算术表达式相关问题。算术表达式与树的中缀表达式类似,按照左根右的顺序,其中在算术表达式中符号位表示根。根据该二叉树的表示,我

54、们可以得知*为该树的总根,将左子树和右子树分隔开来。左边部分是a,右边部分是以-作为右子树的总根,左边是b/c,右边是d综合得出算术表达式应该为a*(b/c-d)38.单选题对于一个初始无序的关键字序列,在下面的排序方法中,( )第一趟排序结束后,一定能将序列中的某个元素在最终有序序列中的位置确定下来。直接插入排序冒泡排序简单选择排序堆排序快速排序归并排序问题1选项A.B.C.D.【答案】C【解析】选择类排序,每一轮会选择最值(最大值或最小值)与第一个位置进行交换,此时确定第一个元素位置。都满足要求。冒泡排序,每一轮会让最值相邻交换直至放到最终的位置,满足要求。快速排序,每一轮会根据基准元素划

55、分左右数组,此时基准元素的位置可以确定,因此也满足要求。其他排序方式每一轮只能确定元素的当前位置,不能确定该元素的最终位置。本题选择C选项。39.单选题以下关于软件维护的叙述中,正确的是( )。问题1选项A.工作量相对于软件开发而言要小很多B.成本相对于软件开发而言要更低C.时间相对于软件开发而言通常更长D.只对软件代码进行修改的行为【答案】C【解析】本题考查的是软件维护相关概念。软件开发一般为定长时间,而软件维护是指软件从开始使用至消亡的过程,属于软件生命周期中最长的阶段,工作量、成本也是最大的,可以对软件代码、软件软硬件等多种内容进行修改。本题只有C选项说法是正确的。40.单选题以下关于散

56、列表(哈希表),及其查找特点的叙述中,正确的是( )。问题1选项A.在散列表中进行查找时,只需要与待查找关键字及其同义词进行比较B.只要散列表的装填因子不大于1/2,就能避免冲突C.用线性探测法解决冲突容易产生聚集问题D.用链地址法解决冲突可确保平均查找长度为1【答案】C41.单选题面向对象设计时包含的主要活动是( )。问题1选项A.认定对象、组织对象、描述对象间的相互作用、确定对象的操作B.认定对象、定义属性、组织对象、确定对象的操作C.识别类及对象、确定对象的操作、描述对象间的相互作用、识别关系D.识别类及对象、定义属性、定义服务、识别关系、识别包【答案】D【解析】考查关于面向对象的开发阶

57、段。面向对象分析阶段:认定对象,组织对象,对象间的相互作用,基于对象的操作。面向对象设计阶段:识别类及对象、定义属性、定义服务、识别关系、识别包。面向对象程序设计:程序设计范型、选择一种OOPL。面向对象测试:算法层、类层、模板层、系统层。42.单选题如下图如下E-R图中,两个实体R1、R2之间有一个联系E,当E的类型为( )时必须将E转换成个独立的关系模式?问题1选项A.1:1B.1:*C.*:1D.*: *【答案】D【解析】本题考查的是E-R转换为关系模式的转换规则。其中1:1和1:*类型的联系可以归并到实体中,而 *:*联系必须单独转换为1个独立的关系模式。本题选择D选项。43.单选题为

58、了实现多级中断,保存程序现场信息最有效的方法是使用( )。问题1选项A.通用寄存器B.累加器C.堆栈D.程序计数器【答案】C【解析】本题考查的是中断相关概念。在中断过程中,程序现场信息保存在堆栈部分。本题选择C选项。通用寄存器、累加器、程序计数器都是属于CPU内部的子部件,与本题无关。44.单选题在求解某问题时,经过分析发现该问题具有最优子结构和重叠子问题性质。则适用( )算法设计策略得到最优解。若了解问题的解空间,并以广度优先的方式搜索解空间,则采用的是( )算法策略。问题1选项A.分治B.贪心C.动态规则D.回溯问题2选项A.动态规则B.贪心C.回溯D.分支限界【答案】第1题:C第2题:D

59、【解析】要想直接解决一个较大的问题,有时是相当困难的,分治法的设计思想是将一个难以解决的大问题分解成一些规模较小的相同问题,以便各个击破,分而治之。动态规划法与分治法类似,其基本思想也是将带求解问题分解为若干个子问题,先求解子问题再从这些子问题的解得到原问题的解。与分治法不同的是,适合用动态规划法求解的问题,经分解得到的子问题往往不是独立的。若用分治法来解这类问题,则相同的子问题会被求解多次,以至于最后解决原问题需要耗费指数级时间。此时用一个中间表记录重复子问题的解,可以避免大量的重复计算。这就是动态规划法的基本思路。动态规划法的应用场景一般会出现“最优子结构”的描述,并且针对重复子问题的计算

60、通过记录-查表,可以提高效率。本题第一空描述的是C选项动态规划法。贪心法也经常用于解决最优化问题,与之不同的是,贪心法在解决问题的策略上是仅根据当前已有的信息做出选择,而且一旦做出选择,无论未来如何都不会改变。也就是只考虑当前最优,不考虑全局最优。一般不涉及划分和求解重复子问题。回溯法可以系统地搜索一个问题的所有解或任意解。它在包含问题的解空间树中,按照深度优先的策略的策略,从根结点出发搜索解空间树。分支限界法类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法,但在一般情况下,分支限界法与回溯法的求解目标不同。分支限界法的求解目标是找出满足约束条件的一个解即可。由于求解目标不同,其探索

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论