2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15

上传人:博****1 文档编号:509000454 上传时间:2022-09-16 格式:DOCX 页数:24 大小:145.86KB
返回 下载 相关 举报
2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15_第1页
第1页 / 共24页
2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15_第2页
第2页 / 共24页
2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15_第3页
第3页 / 共24页
2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15_第4页
第4页 / 共24页
2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15》由会员分享,可在线阅读,更多相关《2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)套卷15(24页珍藏版)》请在金锄头文库上搜索。

1、2022年软考-软件设计师考前提分综合测验卷(附带答案及详解)1. 单选题某表达式的语法树如下图所示,其后缀式(逆波兰式)是( )。问题1选项A.abcd-+*B.ab-c+d*C.abc-d*+D.ab-cd+*【答案】C【解析】本题考查的是后缀表达式(逆波兰式)相关知识。根据后缀表达式(逆波兰式)的定义,对图示的语法树做后序遍历即可,结果为abc-d*+,本题选择C选项。2. 案例题阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。【说明】凸多边形是指多边形的任意两点的连线均落在多边形的边界或内部。相邻的点连线落在多边形边界上,称为边;不相邻的点连线落在多边形内部,称为弦

2、。假设任意两点连线上均有权重,凸多边形最优三角剖分问题定义为:求将凸多边形划分为不相交的三角形集合,且各三角形权重之和最小的剖分方案。每个三角形的权重为三条边权重之和。假设N个点的凸多边形点编号为V1,V2,VN,若在VK处将原凸多边形划分为一个三角形V1VkVN,两个子多边形V1,V2,Vk和Vk,Vk+1,VN,得到一个最优的剖分方案,则该最优剖分方案应该包含这两个子凸边形的最优剖分方案。用mij表示带你Vi-1,Vi,Vj构成的凸多边形的最优剖分方案的权重,Sij记录剖分该凸多边形的k值。则其中:W(Vi-1VkVj)=Wi-1,kWk,jWj,i-1为三角形Vi-1VkVj的权重,Wi

3、-1,k,Wk,j,Wj,i-1分别为该三角形三条边的权重。求解凸多边形的最优剖分方案,即求解最小剖分的权重及对应的三角形集。C代码includestdio.hdefine N 6 /凸多边形规模int mN1 N1; /mij表示多边形Vi-1到Vj最优三角剖分的权值int SN1 N1; /Sij记录多边形Vi-1到Vj最优三角剖分的k值int WN1 N1; /凸多边形的权重矩阵,在main函数中输入/*三角形的权重a,b,c,三角形的顶点下标*/int get_ triangle_weight(int a,int b,int c) return WabWbcWca;/*求解最优值*/v

4、oid triangle_partition()int i,r,k,j;int temp;/*初始化*/for(i=1;i /*r为子问题规模*/ for(i=1;k (2); mij= mij+mi+1j+get_triangle_weight(i-1,i,j); /*k=j*/ Sij=i; for(k=j+1;k /*计算 ij的最小代价*/ temp=mik+mk+1j+ge_triangle_ weight(i-1,k,j); if(3) /*判断是否最小值*/ mij=temp; Sij=k; /*输出剖分的三角形i,j:凸多边形的起始点下标*/void print_triangl

5、e(int i,int j)if(i=j) return;print_triangle(i,Sij);print_ triangle(4);print(“V%d- -V%d- -V%dn“,i-1,Sij,j);【问题1】(8分)根据题干说明,填充C代码中的空(1)(4)。【问题2】(7分)根据题干说明和C代码,该算法采用的设计策略为(5)。算法的时间复杂度为(6),空间复杂度为(7)(用O表示)【答案】【问题1】(8分)(1)i3)(7)O(n2)【解析】本题考查的是凸多边形最优三角剖分动态规划设计过程。本题算法难度较大,在没有理解算法过程的前提下,首先可以根据相关信息进行部分填空。首先根据

6、题干描述出现的将问题规模从k开始截断,此时其实就是“最优子结构”的说法,并且本题出现了递归式的应用,是典型的动态规划法的应用。又根据题目中的代码,出现了三层嵌套for循环,此时代码的时间复杂度为O(n3)。本题用到的辅助空间记录中间解有2个数组mij和Sij,都是二维数组,空间复杂度的量级为O(n2)。最后分析代码填空部分。第(1)空,r表示的是子问题规模,规模划分已知从r=2开始,子问题最大应该能够取到N,因此本空填写r=N或其等价表示形式。第(2)空缺失的是j的初始化赋值,本空较难。代码计算前边界为i,链长为r的链的后边界取值,结果为i+r-1,即本题填写j=i+r-1或其等价表示形式。第

7、(3)空缺失判断条件,此时注释明确说明此处判断最小值,判断后,mij值进行修改并修改为temp,也就是意味着mij此时记录的不是最优解(最小值),需要进行修正改为最小,即填写tempmij 或其等价表示形式(某一个数值比最小值还小,则修改最小值)。第(4)空缺失的是打印参数,结合代码上下文进行分析,上文打印print_triangle(i,Sij);即截断的前一部分编号,下面print_ triangle(4);打印的应该是截断的后一部分,即填写sij+1,j。3. 单选题在CPU中,用( )给出将要执行的下一条指令在内存中的地址。问题1选项A.程序计数器B.指令寄存器C.主存地址寄存器D.状

8、态条件寄存器【答案】A【解析】A选项程序计数器PC:存储下一条要执行指令的地址。本题选择A选项。B选项指令寄存器IR:存储即将执行的指令。C选项主存地址寄存器MAR:用来保存当前CPU所访问的内存单元的地址。D选项状态条件寄存器PSW:存状态标志与控制标志 。4. 单选题计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻址方式操作数的速度( )。问题1选项A.立即寻址最快,寄存器寻址次之,直接寻址最慢B.寄存器寻址最快,立即寻址次之,直接寻址最慢C.直接寻址最快, 寄存器寻址次之,立即寻址最慢D.寄存器寻址

9、最快,直接寻址次之,立即寻址最慢【答案】A【解析】有关于寻址方式查询速度:立即寻址是操作数直接在指令中,速度是最快的;寄存器寻址是将操作数存放在寄存器中,速度中间;直接寻址方式是指令中存放操作数的地址,速度最慢。5. 单选题用白盒测试技术对下面流程图进行测试,设计的测试用例如下表所示。至少采用测试用例( )才可以实现语句覆盖;至少采用测试用例( )才可以实现路径覆盖。问题1选项A.B.C.D.问题2选项A.B.C.D.)【答案】第1题:A第2题:D【解析】第1题:本题考查软件工程软件测试问题。根据测试用例:用例可以满足覆盖所有语句,满足语句覆盖。用例可以满足路径ace,用例可以满足路径abd,

10、用例可以满足路径abe,用例可以满足路径acd。所以满足路径覆盖需要测试用例。故正确答案选择A、D选项。第2题:6. 单选题以编译方式翻译C/C+源程序的过程中,类型检查在( )阶段处理问题1选项A.词法分析B.语义分析C.语法分析D.目标代码生成【答案】B【解析】词法分析阶段处理的错误:非法字符、单词拼写错误等。语法分析阶段处理的错误:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。静态语义分析阶段(即语义分析阶段)处理的错误:运算符与运算对象类型不合法等错误。本题选择语义错误。目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、变量取零时做除数、引用数组元

11、素下标越界等错误等。7. 单选题进行面向对象系统设计时,针对包中的所有类对于同一类性质的变化;一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。这属于( )设计原则。问题1选项A.共同重用B.开放-封闭C.接口分离D.共同封闭【答案】D【解析】本题考查面向对象的设计原则。共同封闭原则:包中的所有类对于同一种性质的变化应该是共同封闭的。一个变化若对一个封闭的包产生影响,则将对该包中的所有类产生影响,而对于其他包则不造成任何影响。面向对象设计的原则之一。共同重用原则:面向对象编程术语,指一个包中的所有类应该是共同重用的。如果重用了包中的一个类,那么也就相当于重

12、用了包中的所有类。开放-封闭原则:对扩展开放,对修改封闭。接口隔离原则:使用多个专门的接口比使用单一的总接口要好。故本题选择D选项。8. 单选题下列关于风险的叙述中,不正确的是( )。问题1选项A.风险是可能发生的事件B.如果能预测到风险,则可以避免其发生C.风险是可能会带来损失的事件D.对于风险进行干预,以期减少损失【答案】B【解析】风险是可能发生的事件,并且可能会带来损失,预测到风险后,可以进行干预以期减少损失,但是无法避免。B选项的描述是错误的。9. 单选题在软件设计阶段进行模块划分时,一个模块的( )。问题1选项A.控制范围应该在其作用范围之内B.作用范围应该在其控制范围之内C.作用范

13、围与控制范围互不包含D.作用范围与控制范围不受任何限制【答案】B【解析】本题是对模块设计原则的考查。模块控制域:这个模块本身以及所有直接或间接从属于它的模块的集合。模块作用域:指受该模块内一个判定所影响的所有模块的集合。模块的作用域应该在控制域范围之内,本题选择B选项。10. 单选题结构化分析方法中,数据流图中的元素在( )中进行定义。问题1选项A.加工逻辑B.实体联系图C.流程图D.数据字典【答案】D【解析】本题考查软件工程的数据流图和数据字典。数据字典会对数据流图中元素进行定义说明。用数据字典来对数据流图的元素进行解释说明,故本题正确答案选择D选项。11. 单选题进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空和空处应分别为( ) ,空

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

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

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