版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、住在富人区的她2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题针对月收入小于等于3500元免征个人所得税的需求,现分别输入3499,3500和3501进行测试,则采用的测试方法( )。问题1选项A.判定覆盖B.边界值分析C.路径覆盖D.因果图【答案】B【解析】本题考查的是边界值覆盖的相关应用。常见黑盒测试方法包括因果图、有效等价类和边界值分析等。白盒测试包括语句覆盖、判断覆盖、条件覆盖、路径覆盖等。判断覆盖和路径覆盖都需要了解模块内部执行过程,与本题不符。因果图(又名因果图、石川图、鱼骨图),
2、指的是一种发现问题“根本原因”的分析方法,常用在项目管理中,黑盒测试也可以使用该方法。2.单选题AES是一种()算法。问题1选项A.公钥加密B.流密码C.分组加密D.消息摘要【答案】C【解析】AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥。并且使用128位分组加密和解密数据。3.单选题()是 构成我国保护计算机软件著作权的两个基本法律文件。问题1选项A.计算机软件保护条例和软件法B.中华人民共和国著作权法和软件法C.中华人民共和国著作权法和计算机软件保护条例D.中华人民共和国版权法和中华人民共和国著作权法【答案】C【解析】考查知识产权的保护范围和对象。对于软件著
3、作权和软件作品受到中华人民共和国著作权法和计算机软件保护条例两个文件的保护4.案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某中医医院拟开发一套线上抓药APP,允许患者凭借该医院医生开具的处方线上抓药,并提供免费送药上门服务。该系统的主要功能描述如下:(1)注册。患者扫描医院提供的二维码进行注册,注册过程中,患者需提供其病历号,系统根据病历号自动获取患者基本信息。(2)登录。已注册的患者可以登录系统进行线上抓药,未册的患者系统拒绝其登陆。(3)确认处方。患者登录后,可以查看医生开具的所有处方。患者选择需要抓药的处方和数量(需要抓几副药), 同时说明是否需要煎制
4、。选择取药方式:自行到店取药或者送药上门,若选择送药上门,患者需要提供提供收货人姓名、联系方式和收货地址。系统自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用。支付成功之后,处方被发送给药师进行药品配制。(4)处理处方。药师根据处方配置好药品,若患者要求煎制,药师对配置好的药品进行煎制。煎制完成,药师将对该处方设置已完成。若患者选择的是自行取药,取药后确认已取药。(5)药品派送。处方完成后,对于选择送药上门的患者,系统将给快递人员发送药品的配置信息,等待快递人员来取药;并给患者发送收获验证码。(6)送药上门。快递人员将配置好的药品送到患者指定的收货地址。患者收获时,向快递人员
5、出示收获验证码,快递人员使用该验证码确认药品已送到。【问题1】 (7分)根据说明中的描述,给出图3-1中A1 A3所对应的参与者名称和U1 U4处所对应的用例名称。【问题2】(5分)根据说明中的描述,给出图3-2中C1C5所对应的类名。【问题3】(3分)简要解释用例之间的include、extend 和generalize关系的内涵。【答案】因题干部分信息不明确,答案可能存在异议,本答案仅供参考。【问题1】A1:患者A2:快递员(学员反馈有相关描述,但当前未给出)A3:药师U1:确认处方U2:支付U3:微信支付U4:支付宝支付U3和U4可互换。【问题2】C1:支付方式C2;微信支付C3:支付宝
6、支付C4:处方C5:药品C2和C3可互换。【问题3】include(包含)包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。本系统中,确认药方过程中系统会自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用,所以确认药方包含支付过程。extend (扩展)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。generalize(泛化)泛化关系:当多个用例共同
7、拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。本系统中患者可以使用微信或支付宝等支付方式支付费用,即支付可以有不同种方式,包括微信支付、支付宝支付等,所以微信支付和支付宝支付是支付的特殊化,支付是二者的泛化。注:本题分值较少,写明定义即可,可以不结合本题实例进行说明。【解析】本题是典型的用例图和类图结合考查题型。因题干部分信息不明确,答案可能存在异议,本答案仅供参考。【问题1】根据题干描述,使用注册、登录功能的应该是患者,因此参与者A1为患者。根据题干
8、描述,患者登录以后,可以确认药方,本题U1的缺失,应该患者使用的确认药方的用例,即U1为确认药方。患者确认支付后,“处方被发送给药师进行药品配制”,因此使用处理药方功能的应该是药师,即参与者A3为药师。其中药方确认的过程中,包括选择处方和数量同时说明需要煎制,选择取药方式(自行到店取药或者送药上门),系统自动计算费用后患者进行支付(微信或支付宝等支付方式)。此处图示已有配送药品用例,因此,这里不适合填写选择取药方式-自行到店取药-送药上门这组泛化用例,应该填写支付-微信支付-支付宝支付,其中支付的泛化的父用例,微信支付和支付宝支付是其子用例,对应图示泛化关系U2-U3-U4,其中U2填写支付,
9、U3和U4分别填写微信支付、支付宝支付,二者位置可以互换。本题中A2线索不明确(学员反馈有“快递员”相关描述,但当前未给出),没有提到其他参与者,这里A2填写快递员。【问题2】类图分析中,与类名相关的一般是名词形式,再根据图示中的联系确认具体位置。此处C1-C2-C3有一组典型的泛化关系。根据上面的分析,图示中的泛化关系为支付-微信支付-支付宝支付。结合用例图,最终体现的泛化关系是支付,因此此处选择支付方式、微信支付、支付宝支付更合适。其中C1为支付方式,C2和C3为微信支付和支付宝支付,二者位置可互换。根据题干说明“支付成功之后,处方被发送给药师进行药品配制”在药师与支付方式中间,与二者相关
10、的为处方,即C4为处方。C5与处方相关,应该填写药品。【问题3】include(包含)包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。本系统中,确认药方过程中系统会自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用,所以确认药方包含支付过程。extend (扩展)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。generalize(泛化)泛化关系:当
11、多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。本系统中患者可以使用微信或支付宝等支付方式支付费用,即支付可以有不同种方式,包括微信支付、支付宝支付等,所以微信支付和支付宝支付是支付的特殊化,支付是二者的泛化。注:本题分值较少,写明定义即可,可以不结合本题实例进行说明。5.单选题系统可维护性是指维护人员理解、改正、改动和改进软件系统的难易程度,其评价指标不包括()。问题1选项A.可理解性B.可测试性C.可修改性D.一致性【答案】D【解析】本题
12、考查软件维护的问题。注意区别这里面的软件维护不是ISO/IEC软件质量保证的维护性,两者需要进行区别。在这里的软件维护的可维护性应该包括:可理解性,可测试性,可修改性。其中一致性属于可移植性的范畴。6.单选题Java语言符合的特征有( )和自动的垃圾回收处理采用即时编译采用静态优化编译对象在堆空间分配对象在栈空间分配问题1选项A.B.C.D.【答案】A【解析】JAVA是解释型语言,可以生成中间代码后再边解释为目标代码边执行,也就是即时编译,可以根据运行机器优化代码,采用的是动态优化编译。所以的说法正确,的说法错误。Java 程序最初都是通过解释器(Interpreter)进行解释执行的,当虚拟
13、机发现某个方法或代码块的运行特别频繁,就会把这些代码认定为“ 热点代码 ”(Hot Spot Code),为了提高热点代码的执行效率,在运行时,虚拟机将会把这些代码编译成本地机器码,并以各种手段尽可能地进行代码优化,这个过程就叫即时编译,运行时完成这个任务的后端编译器被称为即时编译器。JAVA的栈空间只存放基本类型、引用类型变量和方法,而堆中存储实例对象。的说法正确,的说法错误。本题综合选择A选项。7.单选题某销售公司员工关系E(工号、姓名、部门名、电话、住址),商品关系C(商品号、商品名、库存数)和销售关系EC(工号、商品号、销售数、销售日期)。查询“销售部1”在2020年11月11日销售“
14、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=HUWEI 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
15、月11日(EC)【答案】第1题:C第2题:B第3题:C【解析】本题考查的是关系代数相关知识内容。本题看起来逻辑非常复杂,涉及到了3个关系表的联合使用,但结合选项来看,可以快速找到正确答案。首先对于第一空,选择的对象一定是表E或表C,而此时C是没有部门名的,因此筛选对象一定是表E,其次判断某个列的取值,需要用引号标注,排除错误格式A,本题选择的应该是C选项。接着对于第二空,选择的对象一定是表C或表EC,而此时EC是没有商品名的,因此筛选对象一定是表C,并且投影需要保留商品号和商品名,因此投影的列号是1和2,本题选择的应该是B选项。接着对于第二空,选择的对象一定是表C或表EC,而此时C是没有销售日
16、期的,因此筛选对象一定是表EC,并且位于EC的第4列即列号为4,本题选择的应该是C选项。8.单选题用pip安装numpy模块的命令为( )。问题1选项A.pip numpyB.pip install numpyC.install numpyD.import num【答案】B【解析】本题考查的是命令相关内容。只有B选项符合命令中安装模块的语法,本题选择B选项。9.单选题以下关于数据库两级映像的叙述中,正确的是( )。问题1选项A.模式/内模式映像实现了外模式到内模式之间的相互转换B.模式/内模式映像实现了概念模式到内模式之间的相互转换C.外模式/模式的映像实现了概念模式到内模式之间的相互转换D.
17、外模式/内模式的映像实现了外模式到内模式之间的相互转换【答案】B【解析】本题考查数据库的基本概念。数据库系统在三级模式之间提供了两级映像:模式/内模式映像、外模式/模式映像。 正因为这两级映像保证了数据库中的数据具有较高的逻辑独立性和物理独立性。(1)模式/内模式的映像。存在于概念级和内部级之间,实现了概念模式到内模式之间的相互转换。(2)外模式/模式的映像。存在于外部级和概念级之间,实现了外模式到概念模式之间的相互转换。10.单选题云计算有多种部署模型(Deployment Models)。若云的基础设施是为某个客户单独使用而构建的,那么该部署模型属于( )。问题1选项A.公有云B.私有云C
18、.社区云D.混合云【答案】B【解析】A选项公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过 Internet 使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。B选项私有云(Private Clouds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。本题针对某个客户单独使用,属于B选项私有云。C选项社区云一般指社群云。社群云(Community cloud),也称社区云,是由几个组织共享的云端基础设施,它们支持特定的社群,有共同的关切事项,例如使命任务、安全需求、策略与法
19、规遵循考量等。D选项混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。11.单选题在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境行移到另一环境的能力有关的一组属性,其子特性不包括()。问题1选项A.适应性B.易测试性C.易安装性D.易替换性【答案】B【解析】考查ISO/IEC的几大质量特性。可移植性包括:适应性
20、、易安装性、一致性、易替换性。易测试性属于可维护性的范畴。12.单选题在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,则适合采用()模式。问题1选项A.策略(Strategy)B.访问者(Visitor)C.观察者(Observer)D.中介者(Mediator)【答案】A【解析】在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,收银软件系统的计入规则有:打折、返利、满减三种不同的策略,每种策略之间封装起来,可以相互替换,使它们可以独立的变换,属于典型的策略模式。13.单选题异常是指令执行过程中在处理器内部发
21、生的特殊事件,中断是来自处理器外部的请求事件。以下关于中断和异常的叙述中,正确的是( )。问题1选项A.“DMA传送结束”、“除运算时除数为0”都为中断B.“DMA传送结束”为中断,“除运算时除数为0”为异常C.“DMA传送结束”为异常、“除运算时除数为0”为中断D.“DMA传送结束”、“除运算时除数为0”都为异常【答案】B【解析】DMA处理过程由DMAC负责,传送后会给CPU发送通知,此时属于处理器外部事件,因此属于中断。异常指当前运行指令引起的中断事件。包括错误情况引起的故障,如除零算数错误,缺页异常;也包括不可恢复的致命错误导致的终止,通常是一些硬件错误。14.单选题绘制分层数据流图(D
22、FD)时需要注意的问题中,不包括()。问题1选项A.给图中的每个数据流、加工、数据存储和外部实体命名B.图中要表示出控制流C.一个加工不适合有过多的数据流D.分解尽可能均匀【答案】B【解析】绘制分层数据流图,应该严格遵循父子图平衡原则。这就规定了不能出现黑洞、灰洞和奇迹的三种状况,分解子图尽可能细致一些。所以对于:给图中的每个数据流、加工、数据存储和外部实体命名、一个加工不适合有过多的数据流、分解尽可能均匀都是需要注意的。仅有B选项表示图中要表示出控制流不符合,在分层数据流图并没有强调过需要表示出控制流。15.单选题甲、乙两互联网公司于2020年7月7日就各自开发的库存管理软件分别申请“宏达”
23、和“鸿达”商标注册,两个库存管理软件相似,甲第一次使用时间为2019年7月,乙第一次使用时间为2019年5月,此情景下,( )能获准注册。问题1选项A.“宏达”B.“宏达”和“鸿达”均C.由甲、乙协商哪个D.“鸿达”【答案】D【解析】本题考查的是商标权确定知识产权人的过程。根据我国中华人民共和国商标法第三十一条 两个或者两个以上的商标注册申请人,在同一种商品或者类似商品上,以相同或者近似的商标申请注册的,初步审定并公告申请在先的商标;同一天申请的,初步审定并公告使用在先的商标,驳回其他人的申请,不予公告。即首先第一原则是,谁先申请谁获得,本题中甲乙双方于2020年7月7日申请注册,属于同时申请
24、。其次,同时申请时,谁先使用谁获得,根据题干甲于2019年7月使用,乙于2019年5月使用,乙先使用,因此最终成功注册是乙的“鸿达”商标。本题选择D选项。如果无法区分谁先使用,则协商归属,协商不成可以抽签决定。16.单选题下面是一个软件项目活动图,其中顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间(天),则关键路径长度为( ),在该活动图中,活动( )晚16天开始不会影响上班。问题1选项A.20B.25C.27D.48问题2选项A.ACB.BEC.FID.HJ【答案】第1题:D第2题:B【解析】本题是对进度网络图分析的考查。将各个活动的最早开始和完成时间、最晚开始
25、和完成时间、持续时间和总时差分别进行标注,结果如下:17.单选题二叉树的高度是指其层数, 空二叉树的高度为0,仅有根结点的二叉树高度为1,若某二叉树中共有1024个结点,则该二叉树的高度是整数区间( )中的任一值。问题1选项A.(10, 1024)B.10, 1024C.(11, 1024)D.11, 1024【答案】D【解析】本题考查关于二叉树的构造问题。根据题干描述, 空二叉树的高度为0,仅有根结点的二叉树高度为1,当若某二叉树中共有1024个结点,求其取值范围?我们不妨求出取值范围的极限值,当1024个结点都为根结点的时候,表示1024个二叉树高度为1,高度累计为1024,区间能够取到1
26、024,属于闭区间,排除A,C再求出其最小值的情况,最小值应该是按照满二叉树进行排列,对于二叉树的规律如下:第一层的结点树20=1,第二层21=2,第3层22=4,依次类推。对于1024而言,210=1024,所以我们不能取到11层,应该先到第10层29=512,此时10层共累计的节点有:20+21+.+29=1023,共有1024还缺少1个结点,只能存放到第11层,第11层仅有1个结点,但是它的层次已经到了11层,所以能取到11,属于闭区间,排除B选项,故表达式取值范围应该是11, 1024。18.案例题阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】在线支付是电
27、子商务的一个重要环节,不同的电子商务平台提供了不同的支付接口。现在需要整合不同电子商务平台的支付接口,使得客户在不同平台上购物时,不需要关心具体的支付接口。拟采用中介者(Mediator) 设计模式来实现该需求,所设计的类图如图5-1所示。【C+代码】【答案】(1) virtual void buy(double money, WebService *service)(2) WebServiceMediator *(3) virtual void buyService(double money)= 0(4) mediator-buy(money, this)(5) mediator-buy(m
28、oney, this)【解析】(1)空是属于接口WebServiceMeditor内的方法,我们可以通过下文的实现类中找到ConcreteServiceMeditor可知缺少了一个buy()方法故第一空填写virtual void buy(double money, WebService *service) ;(2)空类WebService中属性的参数类型,Colleague与Mediator之间的关联关系由属性meditor实现,所以第2空应该填写WebServiceMediator*;(3)空类WebService中的virtual方法,根据其具体子类可以看到缺少的是buyService方
29、法,书写成virtual void buyService(double money)= 0 ;(4)空和(5)空具体同事类Amazon、Ebay与中介者的通信,调用中介者之间的支付接口,所以空(4)和(5)都填写mediator-buy(money, this) 。19.单选题以下关于文档的叙述中,不正确的是( )。问题1选项A.文档也是软件产品的一部分,没有文档的软件就不能称之为软件B.文档只对软件维护活动有用,对开发活动意义不大C.软件文档的编制在软件开发工作中占有突出的地位和相当大的工作量D.高质量文档对于发挥软件产品的效益有着重要的意义【答案】B【解析】文档是开发中的重要工具,对开发有
30、较大意义,B选项的说法是错误的。其他A、C、D的说法都是正确的。20.单选题在软件设计阶段进行模块划分时,一个模块的( )。问题1选项A.控制范围应该在其作用范围之内B.作用范围应该在其控制范围之内C.作用范围与控制范围互不包含D.作用范围与控制范围不受任何限制【答案】B【解析】本题是对模块设计原则的考查。模块控制域:这个模块本身以及所有直接或间接从属于它的模块的集合。模块作用域:指受该模块内一个判定所影响的所有模块的集合。模块的作用域应该在控制域范围之内,本题选择B选项。21.单选题广大公司(经销商)擅自复制并销售恭大公司开发的OA软件已构成侵权。鸿达公司在不知情时从广大公司(经销商)处购入
31、该软件并已安装使用,在鸿达公司知道了所使用的软件为侵权复制的情形下其使用行为()问题1选项A.侵权, 支付合理费用后可以继续使用该软件B.侵权, 须承担赔偿责任C.不侵权,可继续使用该软件D.不侵权, 不需承担任何法律责任【答案】A【解析】本题考查知识产权。我国计算机软件保护条例第30条规定“软件的复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,不承担赔偿责任;但是,应当停止使用、销毁该侵权复制品。如果停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的,复制品使用人可以在向软件著作权人支付合理费用后继续使用。”鸿达公司在获得软件复制品的形式上是合法的(向经销商购买),但是由
32、于其没有得到真正软件权利人的授权,其取得的复制品仍是非法的,所以鸿达公司的使用行为属于侵权行为。鸿达公司应当承担的法律责任种类和划分根据主观状态来确定。首先,法律确立了软件著作权人的权利进行绝对的保护原则,即软件复制品持有人不知道也没有合理理由应当知道该软件是侵权复制品的,也必须承担停止侵害的法律责任,只是在停止使用并销毁该侵权复制品将给复制品使用人造成重大损失的情况下,软件复制品使用人可继续使用,但前提是必须向软件著作权人支付合理费用。其次,如果软件复制品持有人能够证明自己确实不知道并且也没有合理理由应当知道该软件是侵权复制品的,软件复制品持有人除承担停止侵害外,不承担赔偿责任。软件复制品持
33、有人一旦知道了所使用的软件为侵权复制品时,应当履行停止使用、销毁该软件的义务。不履行该义务,软件著作权人可以诉请法院判决停止使用并销毁侵权软件。如果软件复制品持有人在知道所持有软件是非法复制品后继续使用给权利人造成损失的,应该承担赔偿责任。22.案例题【说明】希尔排序算法又称最小增量排序算法,其基本思想是:步骤1:构造一个步长序列delta1、delta2、deltak,其中delta1=n/2,后面的每个delta是前一个的1/2 , deltak=1;步骤2:根据步长序列、进行k趟排序;步骤3:对第i趟排序,根据对应的步长delta,将等步长位置元素分组,对同一组内元素在原位置上进行直接插
34、入排序。【C代码】下面是算法的C语言实现。(1)常量和变量说明data:待排序数组data,长度为n,待排序数据记录在data0、data1、datan-1中。n:数组a中的元素个数。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=
35、0&t 【问题1】(8分)根据说明和c代码,填充c代码中的空(1) (4)。【问题2】(4分)根据说明和c代码,该算法的时间复杂度(5)O(n2) (小于、等于或大于)。该算法是否稳定(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:希尔排序是一种经典的高效插入类排序算法。不稳定的排序算法,将每个步长划分为多个不连续的子序列,对每个子序列再次采用直接插入排序算法。
36、如对某数组A=(a1,a2,a3.a10),在某趟排序时,若delta=3,则将A分成三个子序列,A1=(a1,a4,a7,a10),A2=(a2,a5,a8),A3=(a3,a6,a9),然后分别在原位置上对A1、A2和A3进行直接插入排序处理。最后一趟排序中,delta=1,这样可以确保输出序列是有序的。delta 序列是希尔排序算法在具体实现的过程中定义的,本题在题干中已经给出,delta1 = n / 2 , 后面的每个delta是前面的1/2,最后一个deltak=1。根据题干,很容易得到空(1)为k=k/2,空(2)填k1。接下来的代码段是根据delta 值进行每一趟的排序,每趟排
37、序是对不连续的每个子序列进行插入排序,因此,空(3)填datak问题2:希尔排序算法是一种不稳定的排序算法,时间复杂度约在O(n1.3)。问题3:对于数组(15、9、7、8、20、-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)23.案例题阅读下列说明和C+代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用
38、,提高性能。现要开发-一个网络围棋程序,允许多个玩家联机下棋。由于只有一台服务器 ,为节省内存空间,采用享元模式实现该程序,得到如图5-1所示的类图。图5-1 类图【C+代码】#include#includeusing namespace std;enum PieceColor BLACK, WHITE; /棋子颜色class PiecePos /棋子位置private: int x; int y;public:PiecePos(int a, int b): x(a), y(b)int getX() return x;int getY()( return y;);class Piece /棋子
39、定义protected:PieceColor m_color; /颜色【答案】(1) virtual void Draw() =0(2) Piece*(3) Piece *(4) piece-Draw()(5) piece-Draw()24.单选题进程P1、 P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空和空处应分别为( ) ,空和空处应分别为( ) , 空和空处应公别为( )问题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
40、选项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,P3的前驱是P2,P4的前驱是P2,P5的前驱是P3,P6的前驱是P4,P5。前驱就是指只有在前驱进程完成后,该进程才能开始执行。由图可知,这里进程之间有6条有向弧,分别表示为P1P2,P2
41、P3,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,开始之前需要申请资源S2,实现P(S2),P3执行完成之后,需要通知P5,实现V操作,为V(S4)对于进程P4,开始之前需要申请资源S3,实现P(S3),P4执行完成之后,需要通知P6,实现V操作,为V(
42、S5)对于进程P5,开始之前需要申请资源S4,实现P(S4),P5执行完成之后,需要通知P6,实现V操作,为V(S6)对于进程P6,开始之前需要申请资源S5和S6,实现两个P操作,分别为P(S5)和P(S6)25.单选题如下图如下E-R图中,两个实体R1、R2之间有一个联系E,当E的类型为( )时必须将E转换成个独立的关系模式?问题1选项A.1:1B.1:*C.*:1D.*: *【答案】D【解析】本题考查的是E-R转换为关系模式的转换规则。其中1:1和1:*类型的联系可以归并到实体中,而 *:*联系必须单独转换为1个独立的关系模式。本题选择D选项。26.单选题下图所示为一个非确定有限自动机(N
43、FA),S0为初态,S3为终态。该NFA识别的字符串( )。问题1选项A.不能包含连续的字符“0”B.不能包含连续的字符“1”C.必须以“101”开头D.必须以“101”结尾【答案】D【解析】本题考查NFA有限自动机相关问题。针对这类问题,可以采取找出对应反例的形式表示。S0是初态,S3是终态,识别出从S0为初态到S3为终态的路径。可以看到无论如何到达S3终态都需要经过S1-S2,即末尾必须存在”101“结尾的。对于A和B选项不能包含连续字符的”0“和“1”,我们可以看到在S0初态中,有1个字符串0和1自循环,是可以包含连续的”0“和”1“的,所以错误。对于C选项必须以“101”开头,说法错误
44、,可以任意10的字符开头。27.单选题以下关于软件设计原则的叙述中,不正确的是( )。问题1选项A.将系统划分为相对独立的模块B.模块之间的耦合尽可能小C.模块规模越小越好D.模块的扇入系数和扇出系数合理【答案】C【解析】考查关于软件设计原则。软件设计原则始终强调高内聚、低耦合的设计原则。具体包括:保持模块的大小适中尽可能减少调用的深度多扇入,少扇出。单入口,单出口模块的作用域应该在模块之内功能应该是可以被预测的。综上所述,仅有C选项模块规模越小越好是不符合设计原则的。28.单选题包过滤防火墙对()的数据报文进行检查。问题1选项A.应用层B.物理层C.网络层D.链路层【答案】C【解析】考查包过
45、滤防火墙的工作原理。包过滤防火墙是最简单的一种防火墙,它在网络层截获网络数据包,根据防火墙的规则表,来检测攻击行为。包过滤防火墙一般作用在网络层(IP层),故也称网络层防火墙(Network Lev Firewall)或IP过滤器(IP filters)。数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。在网络层提供较低级别的安全防护和控制。29.单选题以下关于杀毒软件的描述中,错误的是( )。问题1选项A.应当为计算机安装杀毒软件
46、并及时更新病毒库信息B.安装杀毒软件可以有效防止蠕虫病毒C.安装杀毒软件可以有效防止网站信息被篡改D.服务器操作系统也需要安装杀毒软件【答案】C【解析】本题考查的是网络安全管理相关内容。在杀毒软件的使用过程中,我们应该为个人计算机、服务器都安装杀毒软件,并且应当及时更新病毒库信息,可以有效防止蠕虫病毒等。ABD选项描述都是正确的。杀毒软件只能防病毒,不能有效防止网站信息被篡改,所以C选项描述错误,本题选择C选项。30.单选题对高级程序语言进行编译的过程中,使用( )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。问题1选项A.决策表B.符号表C.广义表D.索引表.【答案】B
47、【解析】考查分析语义分析阶段相关问题。语义分析阶段主要是分析各语法结构的含义,检查源程序是否包含静态语义错误,并收集类型信息提供后面的代码生成阶段使用。在确认源程序的语法和语义后,可以对其进行翻译并给出源程序的内部表示。对于声明语句,需要记录所遇到的符号的信息,所以应该进行符号表的填查工作,用来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。至于决策表是用于测试的,广义表是针对数据结构的表示,索引表是数据库中指示逻辑和物理记录对应的关系。31.单选题归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用
48、时间复杂度为0(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为( )。问题1选项A.分治B.动态规划C.贪心D.回溯问题2选项A.B.C.D.【答案】第1题:A第2题:C【解析】本题考查归并排序相关算法。归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是运用分治法相关策略,
49、其时间复杂度是由外层的n循环,与内层的归并过程log2n结合起来得到O(nlgn),归并排序没有所谓的最好和最坏排序算法,都为O(nlgn)32.单选题给定关系R (U,F),其中U=A,B,C,D,E,H,F=AB,BDH,AH,CE。关系有( ),F中( )。问题1选项A.一个候选码AB.2个候选码A、BC.一个候选码ACD.两个候选码A、C问题2选项A.不存在传递依赖,但存在冗余函数依赖B.既不存在传递依赖,也不存在冗余函数依赖C.存在传递依赖AD和AH,但不存在冗余函数依赖D.存在传递依赖AD和AH,并且还存在冗余函数依赖【答案】第1题:C第2题:D【解析】第一空关于候选键分析,其中A
50、和C是入度为0的属性,所以候选键集合必须包含AC组合键,本题选择C选项。第二空,本题AB,BDH,存在传递函数依赖ADH,此时根据armstrong公理,可以分解得到AD和AH,此时F中AH是冗余函数依赖。第二空选择D选项。33.单选题给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式为: 1,2,3,7( 1,2,3( ) )( ) )。问题1选项A.2=张晋(S)B.2=张晋(S)C.2=张晋(SC)D.2=张晋(SC)问题2选项A
51、.2,3(2=市场营销(C)SCB.2,3(2=市场营销(SC)CC.1,2(2=市场营销(C)SCD.1,2(2=市场营销 (SC)C【答案】第1题:B第2题:A【解析】本题考查数据关系代数相关问题。根据题干要求,查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式给出以下三个关系表:学生关系S(学号,姓名,学院名,电话,家庭住址)课程关系C(课程号,课程名选修课程号)选课关系SC(学号,课程号,成绩)根据题干的描述和选项的结合来看,这个表达式应该是由C和SC先进行自然连接,然后S再与 C和SC先自然连接后的关系再进行自然连接。针对与表达式1,2,3,7( 1,2,
52、3( ) )( ) )。内层表达式里面进行自然连接,对于第一空, 1,2,3,投影1,2,3列,应该来源于题干描述的来着S学生关系的张晋, 正确表达应该是2=张晋(S),人名字符串需要加引号。对于第二空来说,应该是选秀课程号的“市场营销”的C表与选课关的SC表进行自然连接,首先排除B、D,对于A,C的区别再于两者的投影不同,A选项投影C表的2,3列即(课程名,选修课程号),而C选项投影C表的1,2列(课程号,课程名),针对与题干来看,市场营销是选修课程,所以投影选修号比较合适一点。正确表达为2,3(2=市场营销(C)SC。最后两层投影得到的表为A(学号,姓名,学院名,课程名,选修课程号,课程号
53、,成绩),对于外层的投影1,2,3,7列恰好是学号,姓名,学院名,成绩34.单选题以下关于软件维护的叙述中,正确的是( )。问题1选项A.工作量相对于软件开发而言要小很多B.成本相对于软件开发而言要更低C.时间相对于软件开发而言通常更长D.只对软件代码进行修改的行为【答案】C【解析】本题考查的是软件维护相关概念。软件开发一般为定长时间,而软件维护是指软件从开始使用至消亡的过程,属于软件生命周期中最长的阶段,工作量、成本也是最大的,可以对软件代码、软件软硬件等多种内容进行修改。本题只有C选项说法是正确的。35.单选题在风险管理中,通常需要进行风险监测,其目的不包括( )。问题1选项A.消除风险B
54、.评估所预测的风险是否发生C.保证正确实施了风险缓解步骤D.收集用于后续进行风险分析的信息【答案】A【解析】风险监测主要是对风险进行预测,评估,收集相关的信息,用来防止风险,从而做好相关的防范措施。对于评估所预测的风险是否发生、保证正确实施了风险缓解步骤、收集用于后续进行风险分析的信息都是风险监测的目的至于A选项消除风险,风险是无法被消除掉的,只能尽量避免。36.案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某公司的人事部门拥有一个地址簿(AddressBook)管理系统(AddressBookSystem),用于管理公司所有员工的地址记录(PersonAddre
55、ss)。员工的地址记录包括:姓名、住址、城市、省份、邮政编码以及联系电话等信息。管理员可以完成对地址簿中地址记录的管理操作,包括:(1)管理地址记录。根据公司的人员变动情况,对地址记录进行添加、修改、删除等操作。(2)排序。按照员工姓氏的字典顺序或邮政编码对系统中的所有记录进行排序。(3)打印地址记录。以邮件标签的格式打印一个地址单独的地址簿。系统会对地址记录进行管理,为便于管理,管理员在系统中为公司的不同部门建立员工的地址簿的操作,包括:(1)创建地址簿。新建一个地址簿并保存。(2)打开地址簿。打开一个已有的地址簿。(3)修改地址簿。对打开的地址簿进行修改并保存。系统将提供一个GUI(图形用
56、户界面)实现对地址簿的各种操作。现采用面向对象方法分析并设计该地址簿管理系统,得到如图3-1所示的用例图和图3-2所示的类图。图3-2 类图问题1(6分)根据说明中的描述,给出图3-1中U1U6所对应的用例名。问题2(5分)根据说明中的描述,给出图3-2中类AddressBook的主要属性和方法以及类PersonAddress的主要属性(可以使用说明中的文字)。问题3(4分)根据说明中的描述以及图3-1所示的用例图,请简要说明extend和include关系的含义是什么?【答案】【问题1】U1:按姓氏字典顺序排序;U2:按邮政编码排序(其中U1和U2可互换)U3:修改地址簿 U4:创建地址簿
57、U5:打开地址簿 U6:保存地址簿【问题2】类PersonAddress的主要属性包括:姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook的主要属性包括:部门名/编号,姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook的需要包括创建地址簿、打开地址簿、修改地址簿。综上,类AddressBook的方法包括:添加、修改、删除、创建、打开、打印、排序等。【问题3】extend属于用例图的三种关系之一,表示的是扩展关系。描述为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例
58、,关系图示指向为扩展用例指向基本用例。如图所示,创建和打开就是一对扩展关系,创建成功之后可以直接保存关闭之后,如果想要进行后续修改工作,就需要打开地址簿,由扩展用例指向基本用例。include属于用例图的三种关系之一,表示的是包含关系。描述为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和扩展用例。如图所示:创建、修改和保存就是一对包含关系,在创建和修改它们都有公共的行为保存,提取出来称之为抽象用例,用包含关系表示它们。【解析】【问题1】本题根据题干描述可以找到相应的用例名称有维护地址记录、排序、
59、打印地址记录、创建地址簿、打开地址簿、修改地址簿,又根据图示可知,U1、U2与排序有泛化关系,此时根据排序的用例描述“按照员工姓氏的字典顺序或邮政编码对系统中的所有记录进行排序”,排序有两种方式,按姓氏字典顺序排序或按邮政编码排序,也就是对应用例U1和U2。剩余用例由于题目信息不全,无法确定具体位置。【问题2】类PersonAddress也就是员工地址记录,根据题干描述“员工的地址记录包括:姓名、住址、城市、省份、邮政编码以及联系电话等信息”,因此类PersonAddress的主要属性包括:姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook也就是地址簿用于管理公司所有员工
60、的地址记录,由于“管理员在系统中为公司的不同部门建立员工的地址簿”,因此类AddressBook的主要属性除了员工地址记录信息以外,还需要增加部门信息。此时类AddressBook的主要属性包括:部门名/编号,姓名、住址、城市、省份、邮政编码以及联系电话等。“管理地址记录。根据公司的人员变动情况,对地址记录进行添加、修改、删除等操作”,因此类AddressBook的需要包括添加、修改、删除等操作。又因为“管理员在系统中为公司的不同部门建立员工的地址簿的操作,包括:(1)创建地址簿。(2)打开地址簿。(3)修改地址簿。”,因此类AddressBook的需要包括创建地址簿、打开地址簿、修改地址簿。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026南昌市劳动保障事务代理中心招聘4名项目外包服务人员笔试模拟试题及答案解析
- 2026年郴州市车辆管理系统事业单位人员招聘考试备考试题及答案详解
- 2026年白城市粮食和物资储备系统事业单位人员招聘考试备考试题及答案详解
- 2026年保定市自然资源系统事业单位人员招聘考试备考试题及答案详解
- 2026年大庆市事业单位人员招聘考试备考试题及答案详解
- 2026年沧州市审计系统事业单位人员招聘考试备考试题及答案详解
- 2026 增肌期猪肚鸡课件
- 广东省深圳市龙岗区2025-2026学年四年级下学期学科智慧大闯关英语期中试卷(U1-4)(解析版)
- 2026年大理市农产品检测中心人员招聘考试备考试题及答案详解
- 2026年巴中市疾病和预防控制中心人员招聘考试备考试题及答案详解
- 抖音小店出售协议书
- qdslrdashboard应用软件使用说明
- 中国传统故事英文哪吒闹海二篇
- 工厂质量激励实施方案
- YY/T 0128-2004医用诊断X射线辐射防护器具装置及用具
- YY 1413-2016离心式血液成分分离设备
- GB/T 41498-2022纤维增强塑料复合材料用剪切框测定面内剪切应力/剪切应变响应和剪切模量的试验方法
- GB/T 1732-1993漆膜耐冲击测定法
- 暖通空调(陆亚俊编)课件
- 常见基坑支护形式解析讲义198
- 实验室岗位安全风险告知卡
评论
0/150
提交评论