2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期

上传人:hs****ma 文档编号:468906381 上传时间:2023-10-22 格式:DOCX 页数:32 大小:140.67KB
返回 下载 相关 举报
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期_第1页
第1页 / 共32页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期_第2页
第2页 / 共32页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期_第3页
第3页 / 共32页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期_第4页
第4页 / 共32页
2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期》由会员分享,可在线阅读,更多相关《2022年软考-软件设计师考前拔高综合测试题(含答案带详解)第118期(32页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-软件设计师考前拔高综合测试题(含答案带详解)1. 案例题【说明】希尔排序算法又称最小增量排序算法,其基本思想是:步骤1:构造一个步长序列delta1、delta2、deltak,其中delta1=n/2,后面的每个delta是前一个的1/2 , deltak=1;步骤2:根据步长序列、进行k趟排序;步骤3:对第i趟排序,根据对应的步长delta,将等步长位置元素分组,对同一组内元素在原位置上进行直接插入排序。【C代码】下面是算法的C语言实现。(1)常量和变量说明data:待排序数组data,长度为n,待排序数据记录在data0、data1、datan-1中。n:数组a中的元素个

2、数。delta:步长数组。(2)C程序#includevoid shellsort(int data , int n) int *delta,k,i,t,dk,j; k=n; delta=(int *)nalloc(sizeof(int)*(n/2); if(i=0) do ( 1 ) ; deltai+=k; while ( 2 ) ; i=0; while(dk=deltai)0) for(k=deltai;k=0&t 【问题1】(8分)根据说明和c代码,填充c代码中的空(1) (4)。【问题2】(4分)根据说明和c代码,该算法的时间复杂度(5)O(n2) (小于、等于或大于)。该算法是否

3、稳定(6)(是或否)。【问题3】(3分)对数组(15、9、7、8、20、-1、 4)用希尔排序方法进行排序,经过第一趟排序后得到的数组为(7)。【答案】【问题1】(8分)(1)k=k/2(2)k1(3)datak【问题3】(3分)(7)(4,9,-1,8,20,7,15)【解析】问题1:希尔排序是一种经典的高效插入类排序算法。不稳定的排序算法,将每个步长划分为多个不连续的子序列,对每个子序列再次采用直接插入排序算法。如对某数组A=(a1,a2,a3.a10),在某趟排序时,若delta=3,则将A分成三个子序列,A1=(a1,a4,a7,a10),A2=(a2,a5,a8),A3=(a3,a6

4、,a9),然后分别在原位置上对A1、A2和A3进行直接插入排序处理。最后一趟排序中,delta=1,这样可以确保输出序列是有序的。delta 序列是希尔排序算法在具体实现的过程中定义的,本题在题干中已经给出,delta1 = n / 2 , 后面的每个delta是前面的1/2,最后一个deltak=1。根据题干,很容易得到空(1)为k=k/2,空(2)填k1。接下来的代码段是根据delta 值进行每一趟的排序,每趟排序是对不连续的每个子序列进行插入排序,因此,空(3)填datak问题2:希尔排序算法是一种不稳定的排序算法,时间复杂度约在O(n1.3)。问题3:对于数组(15、9、7、8、20、

5、-1、 4)用希尔排序方法进行排序,n=7,根据题干说明delta=n/2=3,A1(15,8,4),A2(9,20),A3(7,-1),每个子序列排序后得到A1(4,8,15),A2(9,20),A3(-1,7),还原得到(4,9,-1,8,20,7,15)2. 单选题以下关于软件设计原则的叙述中,不正确的是( )。问题1选项A.将系统划分为相对独立的模块B.模块之间的耦合尽可能小C.模块规模越小越好D.模块的扇入系数和扇出系数合理【答案】C【解析】考查关于软件设计原则。软件设计原则始终强调高内聚、低耦合的设计原则。具体包括:保持模块的大小适中尽可能减少调用的深度多扇入,少扇出。单入口,单出

6、口模块的作用域应该在模块之内功能应该是可以被预测的。综上所述,仅有C选项模块规模越小越好是不符合设计原则的。3. 单选题Regardless of how well designed, constructed, and tested a system or application may be, errors or bugs will inevitably occur. Once a system has been( ),it enters operations and support.Systems support is the ongoing technical support for u

7、ser, as well as the maintenance required to fix any errors, omissions,or new requirements that may arise. Before an information system can be( ), it must be in operation. System operation is the day-to-day, week-to-week, month-to-month, and year-t-year( )of an information systems business processes

8、and application programs.Unlike systems analysis, design, and implementation, systems support cannot sensibly be( )into actual phases that a support project must perform. Rather, systems support consists of four ongoing activities that are program maintenance, system recovery, technical support, and

9、 system enhancement.Each activity is a type of support project that is( )by a particular problem,event, or opportunity encountered with the implemented system.问题1选项A.designedB.implementedC.investigatedD.analyzed问题2选项A.supportedB.testedC.implementedD.constructed问题3选项A.constructionB.maintenanceC.execu

10、tionD.implementation问题4选项A.brokeB.formedC.composedD.decomposed问题5选项A.triggeredB.leadedC.causedD.produced【答案】第1题:B第2题:A第3题:C第4题:D第5题:A【解析】第1题: 无论系统或应用程序设计、构造和测试得多么完善,错误或故障总是会不可避免地出现。一旦一个系统实现了,这个系统就进入运行和支持阶段。 系统支持是对用户的不间断的技术支持以及改正错误、遗漏或者可能产生的新需求所需的维护。在信息系统可以被支持之前,它必须首先投入运行。系统运行是信息系统的业务过程和应用程序逐日的、逐周的、逐

11、月的和逐年的执行。 不像系统分析、设计和实现那样,系统支持不能明显地分解成一些系统支持项目必须执行的任务阶段。相反,系统支持包括4个进行中的活动,这些活动是程序维护、系统恢复、技术支持和系统改进。每个活动都是一类系统支持项目,这些活动由已经实现的系统遇到的特定问题、事件或机会触发。A、 设计B、 实施C、 调查D、 分析A、支持B、测试C、实施D、建造A、结构B、维护C、执行D、实施A、划分B、形成C、组成D、分解A、触发B、导致C、引起D、产生第2题:第3题:第4题:第5题:4. 单选题用C/C+语言为某个应用编写的程序,经过( )后形成可执行程序。问题1选项A.预处理、编译、汇编、链接B.

12、编译、预处理、汇编、链接C.汇编、预处理、链接、编译D.链接、预处理、编译、汇编【答案】A【解析】本题考查汇编语言的执行过程。对于编译型语言,处理过程为:预处理-编译-汇编-链接。故正确答案选择A选项。5. 单选题下列攻击类型中,( )是以被攻击对象不能继续提供服务为首要目标问题1选项A.跨站脚本B.拒绝服务C.信息篡改D.口令猜测【答案】B【解析】A选项:跨站脚本(cross-site scripting,XSS),一种安全攻击,其中,攻击者在看上去来源可靠的链接中恶意嵌入译码。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。不影响服务的提供。B选项:拒绝服务,对信息或其

13、它资源的合法访问被无条件地阻止,会让服务器拒绝提供服务。本题选择B选项。C选项:信息篡改,指主动攻击者将窃听到的信息进行修改(如删除和/或替代部分或者全部信息)之后再将信息传送给原本的接受者。与提供服务无关。D选项:口令猜测,攻击者攻击目标时常常把破译用户的口令作为攻击的开始。只要攻击者能猜测或者确定用户的口令,他就能获得机器或者网络的访问权,并能访问到用户能访问到的任何资源。与提供服务无关。6. 单选题()是 构成我国保护计算机软件著作权的两个基本法律文件。问题1选项A.计算机软件保护条例和软件法B.中华人民共和国著作权法和软件法C.中华人民共和国著作权法和计算机软件保护条例D.中华人民共和

14、国版权法和中华人民共和国著作权法【答案】C【解析】考查知识产权的保护范围和对象。对于软件著作权和软件作品受到中华人民共和国著作权法和计算机软件保护条例两个文件的保护7. 单选题最大尺寸和问题描述为,在n个整数(包含负数)的数组A中,求之和最大的非空连续子数组,如数组A= (-2, 11, -4,13, -5,-2) ,其中子数组B= (11, -4, 13)具有最大子段和20 (11-4+13=20) 。求解该问题时,可以将数组分为两个n/2个整数的子数组最大子段或或者在前半段,或者在后半段,或者跨越中间元素,通过该方法继续划分问题,直至最后求出最大子段和,该算法的时间复杂度为( )。问题1选项A.O(nlgn)B.O(n2)C.O(n2lgn)D.O(n3)【答案】A【解析】本题中将数组不断进行二分,这个过程的时间复杂度为O(log2n),划分后求解问题需要2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号