职业考证-软考-软件设计师考前自测提分卷36(含答案详解)

上传人:住在****他 文档编号:104421460 上传时间:2022-06-10 格式:DOCX 页数:7 大小:24.90KB
收藏 版权申诉 举报 下载
职业考证-软考-软件设计师考前自测提分卷36(含答案详解)_第1页
第1页 / 共7页
职业考证-软考-软件设计师考前自测提分卷36(含答案详解)_第2页
第2页 / 共7页
职业考证-软考-软件设计师考前自测提分卷36(含答案详解)_第3页
第3页 / 共7页
资源描述:

《职业考证-软考-软件设计师考前自测提分卷36(含答案详解)》由会员分享,可在线阅读,更多相关《职业考证-软考-软件设计师考前自测提分卷36(含答案详解)(7页珍藏版)》请在装配图网上搜索。

1、书山有路勤为径,学海无涯苦作舟! 住在富人区的她职业考证-软考-软件设计师考前自测提分卷(含答案详解)一.综合题(共10题)1.单选题( )是对稀疏矩阵进行压缩存储的方式。问题1选项A.二维数组和双向链表B.三元组顺序表和十字链表C.邻接矩阵和十字链表D.索引顺序表和双向链表【答案】B【解析】存储矩阵的一般方法是采用二维数组,其优点是可以随机地访问每一个元素,因而能够较容易地实现矩阵的各种运算。但对于稀疏矩阵而言,若用二维数组来表示,会重复存储了很多个0了,浪费空间,而且要花费时间来进行零元素的无效计算。所以必须考虑对稀疏矩阵进行压缩存储。稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表,常用

2、的三元组表的链式存储结构是十字链表。2.单选题以下信息交换情形中,采用异步传输方式的是( )。问题1选项A.CPU与内存储器之间交换信息B.CPU与PCI总线交换信息C.CPU与l/O接口交换信息D.I/O接口与打印设备间交换【答案】C【解析】本题考查的是I/O接口相关概念。CPU与I/O接口交换信息是异步传输的,C选项描述正确。3.单选题某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用( )关系,网店与商品之间适合采用( )关系。问题1选项A.关联B.依赖C.组合D.聚合问题2选项A.依赖B.关联C.组

3、合D.聚合【答案】第1题:D第2题:C【解析】本题考查UML类图的几种关系。关联关系:描述了一组链,链是对象之间的连接。依赖关系:一件事物发生改变影响到另一个事务。聚合关系:整体与部分生命周期不同的关系。组合关系:整体与部分生命周期相同的关系。对于购物车和商品而言,网上商店的购物车要能过跟踪顾客所选的的商品,记录下所选商品,还要能随时更新,可以支付购买,能给顾客提供很大的方便。购物车用于存放商品,购物车是整体,商品是部分,他们之间生命周期不同。属于聚合关系。对于网店和商品而言,网点里面包含商品,属于整体和部分生命周期相同的情况,属于组合关系。4.案例题阅读下列说明和Java代码,将应填入(n)

4、处的字句写在题纸的对应栏内。【说明】享元(flyweight)模式主要用于减少创建对象的数量,以低内存占用,提高性能。现要开发一个网络围棋程序允许多个玩家联机下棋。由于只有一台服务器,为节内存空间,采用享元模式实现该程序,得到如图6-1所的类图。图6-1 类图【Java代码】import java.util.*:enum PieceColor BLACK,WHITE棋子颜色class PiecePos棋子位置private intx;private int y;pubic PiecePos(int a,int b)x=a;y=b;public int getX( )return x;publi

5、c int getY( )return y; abstract class Piece棋子定义protected PieceColor mcolor;颜色protected Piecemopos mpos;位置public Piece(PieceColor,color PiecePos pos)m_color=color;mpos=pos;(1);class BlackPiece extends Piecepublic BlackPiece(PieceColor color,PiecePos pos)super(color,pos);public void draw ( ) System ou

6、t println(draw a blackpiece); class WhitePiece extends Piecepublic WhitePiece(PieceColor color,PiecePos pos)super(color,pos);public void draw( ) System.out.println(draw a white piece); class PieceBoard棋盘上已有的棋子private static final ArrayListm_arrayPiece=new ArrayListprivate String mblackName;黑方名称priva

7、te String mwhiteName;白方名称public PieceBoard(String black,String white)m_blackName=black;m_whiteName=white;一步棋,在棋盘上放一颗棋子public void SetePiece(PieceColor color,PiecePos pos)(3)piece=null;if(colorPieceColor.BLACK)放黑子piecenew BlackPiece(color,pos);获取一颗黑子Systemoutprintln(mblackName在位置(posgetX( )+,+pos.get

8、Y( )+);(4) ;else放白子piecenew WhitePiece(color,pos);获取一颗白子Systemoutprintln(m whiteName在位置(posgetX0),+pos.getYO+);(5) ;m_arrayPiece.add(piece);【答案】(1)public abstract void draw( )(2)Piece(3)Piece(4)piece.draw( )(5)piece.draw( )【解析】对于第一空,可知该空需要填写的是 Piece类里面的方法,对于其方法在图中都无法找出,可以根据其实现类(BlackPiece和WhitePiece

9、类)来看,对应得是方法public void draw( ),又由于其在抽象类Piece里面,所以是抽象方法,需要加上关键词abstract,则为public abstract void draw( )对于第二空,可知该空填写的是动态数组Arraylist的泛型,里面填写得应该是对应的m_arrayPiece的类型,用类进行修饰,可知其属于Piece类,填写的应该是Piece对于第三空,可知该空填写的是对象创建的声明对象过程,格式应该为类名 对象名称=null,可知该对象piece对应的类是Piece(类名字母大写)对于第四空和第五空,根据注释来看,是放黑子和白子的过程,已知实例化该对象pie

10、ce,具体的放黑子和白子过程,都需要调用draw()方法来指向,故 第4空和第5空填写的应该都是piece.draw( )5.单选题以下关于软件维护的叙述中,正确的是( )。问题1选项A.工作量相对于软件开发而言要小很多B.成本相对于软件开发而言要更低C.时间相对于软件开发而言通常更长D.只对软件代码进行修改的行为【答案】C【解析】本题考查的是软件维护相关概念。软件开发一般为定长时间,而软件维护是指软件从开始使用至消亡的过程,属于软件生命周期中最长的阶段,工作量、成本也是最大的,可以对软件代码、软件软硬件等多种内容进行修改。本题只有C选项说法是正确的。6.单选题Designing object

11、 -oriented software is hard,and designing( )object -oriented software is even harder.You must find pertinent(相关的)objects,factor them into class at the right granularity,define class interfaces and inheritances,and establish key relationships among them.You design should be specific to the problem at

12、 hand but also( )enough to address future problems and requirements.You also want to avoid redesign,or at least minimize it.Experienced object -oriented designers will tell you that a reusable and flexible design is difficult if not impossible to get right the first time.Before a design is finished,

13、they usually try to reuse it several times,modifying it each time.Yet experienced object-oriented designers do make good designs.Meanwhile new designers are( )by the options available and tend to fall back on non-object-oriented techniques theyve used before.lt takes a long time for novices to learn

14、 what good object-oriented design is all about.Experienced designers evidently know something inexperienced ones dont.What is it?One thing expert designers know not to do is solve every problem from first principles.Rather, they reuse solutions that have worked for them in the past.When they find a

15、good( ).They use it again and again.Such experience is part of what makes them experts.Consequently,youll find( )patterns of classes and communicating objects in many object-oriented systems.问题1选项A.runnableB.rightC.reusableD.pertinent问题2选项A.clearB.generalC.personalizedD.customized问题3选项A.excitedB.sho

16、ckenC.surprisedD.overwhelmed问题4选项A.toolB.componentC.systemD.solution问题5选项A.recurringB.rightC.experiencedD.past【答案】第1题:C第2题:B第3题:D第4题:D第5题:A【解析】设计面向对象的软件很难,而设计(可复用的)面向对象软件就更难了。你必须找到合适的(相关的)对象,以适当的粒度将它们划分为类,定义类接口和继承,并在它们之间建立关键关系。你的设计应该针对眼前的问题,但(一般 )足以解决未来的问题和要求。你也要避免重新设计,或者至少最小化它。有经验的面向对象设计师会告诉你,一个可重用

17、和灵活的设计是很难第一次就“正确”的。在设计完成之前,他们通常会尝试多次重复使用,每次都是这样。然而,有经验的面向对象设计师确实能做出好的设计。同时,新的设计师们对可用的选项感到不安(第三题选项不知所措的意思),他们倾向于使用以前使用的非面向对象技术。电影要花很长时间才能了解好的面向对象的设计。经验丰富的设计师显然知道一些缺乏经验的东西。它是什么?有一件事专家设计师知道不能做的就是从第一原理解决每一个问题。相反,他们选择了过去对他们有效的解决方案。当他们找到一个好的(解决方案)。他们一次又一次地使用它。这样的经验是他们成为专家的部分原因。因此,您将在许多面向对象系统中找到第五题个类和通信对象的

18、模式。A. runnable可运行的B.right对的C. reusable可复用的D. pertinent中肯的,相关的A. clear清除B. general总则C. personalized个性化D.customized定制A. excited兴奋B. shocken 震惊C. surprised惊讶于D. overwhelmed不知所措A.tool工具B. component组成部分C. system系统D. solution解决方案A.recurring循环B.right是吗C.experienced经验丰富D.past过去7.单选题在TCP/IP协议栈中,远程登录采用的协议为( )

19、。问题1选项A.HTTPB.TELNETC.SMTPD.FTP【答案】B【解析】本题考查TCP/IP协议簇相关知识。HTTP是超文本传输协议,SMTP是邮件传输协议,FTP是文件传输协议,都与远程登录无关,只有B选项TELNET是远程登录服务的标准协议和主要方式。本题选择B选项。8.案例题阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。【说明】凸多边形是指多边形的任意两点的连线均落在多边形的边界或内部。相邻的点连线落在多边形边界上,称为边;不相邻的点连线落在多边形内部,称为弦。假设任意两点连线上均有权重,凸多边形最优三角剖分问题定义为:求将凸多边形划分为不相交的三角形集合,

20、且各三角形权重之和最小的剖分方案。每个三角形的权重为三条边权重之和。假设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-1,k,Wk,j,Wj,i-1分别为该三角形三条边的权重。求解凸多边形的最优剖分方案,即求解最小剖

21、分的权重及对应的三角形集。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;/*求解最优值*/void triangle_partition()int i,r,k,j;int temp;/*初始化

22、*/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_triangle(int i,int j)if(i=j) return;print_triangle(i,Sij)

23、;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)【解析】本题考查的是凸多边形最优三角剖分动态规划设计过程。本题算法难度较大,在没有理解算法过程的前提下,首先可以根据相关信息进行部分填空。首先根据题干描述出现的将问题规模从k开始截断,此时其实就是“最优子结构”的说法,并且本题出现了递归式的应用,

24、是典型的动态规划法的应用。又根据题目中的代码,出现了三层嵌套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或其等价表示形式。第(3)空缺失判断条件,此时注释明确说明此处判断最小值,判断后,mij值进行修改并修改为temp,也就

25、是意味着mij此时记录的不是最优解(最小值),需要进行修正改为最小,即填写tempmij 或其等价表示形式(某一个数值比最小值还小,则修改最小值)。第(4)空缺失的是打印参数,结合代码上下文进行分析,上文打印print_triangle(i,Sij);即截断的前一部分编号,下面print_ triangle(4);打印的应该是截断的后一部分,即填写sij+1,j。9.单选题浏览器开启无痕浏览模式时,( )仍然会被保存。问题1选项A.浏览历史B.搜索历史C.下载的文件D.临时文件【答案】C【解析】本题考查的是浏览器应用。在浏览器开启无痕浏览模式时,浏览历史、搜索历史和临时文件都不会被保存,只有下

26、载的文件可以被保存。本题选择C选项。10.单选题One is that of a software engineer and the other is a DevOps engineer. The biggest different is in their ( ). Software engineers focus on how well the computer software fits the needs of the client while a DevOps engineer has a broader focus that includes software development

27、, how the software is deployed and providing ( ) support through the cloud while the software is continually ( ).A software engineer creates computer programs for people to use based upon their security and function ability needs. A DevOps engineer also works on computer applications, but manages th

28、e building, deployment and operation as a( ) autormated process. Software engineers often work separately from the operations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if up grades are necessary or if

29、 more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software to smoothly function with automated processes. Both professions require knowledge of Computer programming languages.问题1选项A.focusB.processC.goalD.function问题2选项A

30、.developingB.deployingC.trainingD.operational问题3选项A.developedB.functionalC.constructedD.secure问题4选项A.singleB.wholeC.continuousD.independent问题5选项A.developB.integrateC.analyseD.maintain【答案】第1题:A第2题:D第3题:B第4题:C第5题:B【解析】本题考查英语专业知识。译文:一个是软件工程师,另一个是DevOps工程师。最大的不同在于他们的关注点。软件工程师关注计算机软件如何满足客户的需求,而DevOps工程师关

31、注的范围更广,包括软件开发、软件如何部署以及在软件持续运行时通过云提供操作支持。软件工程师根据人们的安全性和功能需求创建计算机程序供人们使用。DevOps工程师也处理计算机应用程序,但将构建、部署和操作作为一个连续的自动匹配过程进行管理。软件工程师通常与企业的运营部门分开工作。他们创建业务客户所需的软件,然后监控其软件产品的性能,以确定是否需要升级或是否需要更大的改进。DevOps工程师与业务的运营部门合作,并管理工作流,以集成软件,使其与自动化流程顺利运行。这两种职业都需要计算机编程语言的知识。选项翻译:A、focus 关注点 B、process 过程 C、goal 目标 D、function作用A、developing发展中的 B、deploying 使展开,部署 C、training 训练、培养 D、operational 操作的A、developed 先进的,发达的 B、functional 功能的 C、constructed 构件 D、secure 保护A、 single 单一的 B、 whole 完整的,全部的 C、continuous 连续的 D、independent 自主的,不相干的A、develop 发展 B、integrate 整合 C、analyse 分析 D、maintain 维持

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!