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

下载本文档

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

文档简介

1、住在富人区的她2022年职业考证-软考-软件设计师考试名师押题精选卷I(带答案详解)(图片可根据实际调整大小)题型12345总分得分一.综合题(共50题)1.单选题在Python语言中,()是一种可变的、有序的序列结构,其中元素可以重复。问题1选项A.元组(tuple)B.字符串(str)C.列表(list)D.集合(set)【答案】C【解析】本题考查python语言的用法相关问题。在Python语言中,是一种可变的、有序的序列结构,其中元素可以重复。在python中,元组(tuple)、字符串(str)、集合(set)元素都可以重复。并不能强调是一种可变的、有序的序列结构。而列表(list)

2、是python中最基本的数据结构,是一种有序可重复的集合,可以随时添加和删除其中的元素。2.单选题给定关系R(A,B,C,D)和关系S(A,D,E,F),若对这两个关系进行自然连接运算RS后的属性列有( )个;关系代数表达式R.BS.F(RS)与( )等价。问题1选项A.4B.5C.6D.8问题2选项A.28(RxS)B.1,2,3,4,7,8(1=5284=6(RS)C.”28(RxS)D.1,2,3,4,7,8(1=5284=6(RxS)【答案】第1题:C第2题:B【解析】第1题:本题考查关系代数相关知识。自然连接的属性列数是二者之和减去重复列数,本题R和S进行自然连接后,结果属性列数为4

3、+4-2=6,第一空选择C选项。第2题:判断自然连接与笛卡尔积关系表达式是否等价时,需要注意需要同名属性列取值相等才可以与自然连接等价,本题应该选择B选项,其他选项都不满足S.A=R.A AND R.D=S.D。3.单选题在面向对象设计时,如果重用了包中的一个类,那么就要重用包中的所有类,这属于()原则。问题1选项A.接口分离B.开放-封闭C.共同封闭D.共同重用【答案】D【解析】考查关于面向对象设计的几大原则。接口分离原则:使用多个专门的接口要比使用单一的总接口要好。开放-封闭原则:对扩展开放,对修改关闭。共同封闭原则:包中的所有类对于同一性质的变化应该是共同封闭的。一个变化若对一个包产生影

4、响,则将对该包里的所有类产生影响,而对于其他的包不造成任何影响。共同重用原则:一个包里的所有类应该是共同重用的。如果重用了包里的一个类,那么就要重用包中的所有类。4.单选题SQL是一种数据库结构化查询语言,SQL注入攻击的首要目标是( )。问题1选项A.破坏Web服务B.窃取用户口令等机密信息C.攻击用户浏览器,以获得访问权限D.获得数据库的权限【答案】D【解析】SQL注入攻击,就是通过把SQL命令插入到 Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。其首要目的是获取数据库访问权限。5.单选题函数foo、hoo的含义如下所示,函数调用hoo(a,x)的

5、两个参数分别采用引用调用(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

6、的初始值为2,y初始值为5。执行y=y+10=15,执行x=y-x=15-2=13,此时x的值会传回原foo函数的a,即a=x=13。返回foo函数进行分析,输出的a和x,取值分别为修改后的13和原数值5。本题选择C选项。6.单选题在某系统中,不同组(GROUP)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( )模式,用一个对象来封装系列的对象交互;使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于

7、( )模式,该模式适用 ( )。问题1选项A.状态(State)B.策略(Strategy)C.解释器(Interpreter)D.中介者(Mediator)问题2选项A.创建型类B.创建型对象C.行为型对象D.行为型类问题3选项A.需要使用一个算法的不同变体B.有一个语言需要解释执行,并且可将句子表示为一个抽象语法树C.一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为D.一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解【答案】第1题:D第2题:C第3题:D【解析】本题考查设计模式的问题。针对于题干和图示来看,不同组(GROUP)访问数据的权限不同,每个

8、用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映射,将用户和组之间的关系由映射进行维护,在组和用户之间用UserGroupMapper实现两者的交互,两者之间不直接交互,用一个对象来封装系列的对象交互;使用户对象和组对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,是典型关于中介者模式的描述和应用。中介者模式属于行为型对象模型,可以适用于一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解。其中以下场景中A选项是对策略模式的描述,B选项是对解释器的描述,C选项是对状态模式的描述。综上所述,本题

9、选择D,C,D7.案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某中医医院拟开发一套线上抓药APP,允许患者凭借该医院医生开具的处方线上抓药,并提供免费送药上门服务。该系统的主要功能描述如下:(1)注册。患者扫描医院提供的二维码进行注册,注册过程中,患者需提供其病历号,系统根据病历号自动获取患者基本信息。(2)登录。已注册的患者可以登录系统进行线上抓药,未册的患者系统拒绝其登陆。(3)确认处方。患者登录后,可以查看医生开具的所有处方。患者选择需要抓药的处方和数量(需要抓几副药), 同时说明是否需要煎制。选择取药方式:自行到店取药或者送药上门,若选择送药上门,患

10、者需要提供提供收货人姓名、联系方式和收货地址。系统自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用。支付成功之后,处方被发送给药师进行药品配制。(4)处理处方。药师根据处方配置好药品,若患者要求煎制,药师对配置好的药品进行煎制。煎制完成,药师将对该处方设置已完成。若患者选择的是自行取药,取药后确认已取药。(5)药品派送。处方完成后,对于选择送药上门的患者,系统将给快递人员发送药品的配置信息,等待快递人员来取药;并给患者发送收获验证码。(6)送药上门。快递人员将配置好的药品送到患者指定的收货地址。患者收获时,向快递人员出示收获验证码,快递人员使用该验证码确认药品已送到。【问题1

11、】 (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:支付宝支付C4:处方C5:药品C2和C3可互换。【问题3】incl

12、ude(包含)包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。本系统中,确认药方过程中系统会自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用,所以确认药方包含支付过程。extend (扩展)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。generalize(泛化)泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性抽象成为父用

13、例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。本系统中患者可以使用微信或支付宝等支付方式支付费用,即支付可以有不同种方式,包括微信支付、支付宝支付等,所以微信支付和支付宝支付是支付的特殊化,支付是二者的泛化。注:本题分值较少,写明定义即可,可以不结合本题实例进行说明。【解析】本题是典型的用例图和类图结合考查题型。因题干部分信息不明确,答案可能存在异议,本答案仅供参考。【问题1】根据题干描述,使用注册、登录功能的应该是患者,因此参与者A1为患者。根据题干描述,患者登录以后,可以确认药方,本题U1的缺失,应该患者使

14、用的确认药方的用例,即U1为确认药方。患者确认支付后,“处方被发送给药师进行药品配制”,因此使用处理药方功能的应该是药师,即参与者A3为药师。其中药方确认的过程中,包括选择处方和数量同时说明需要煎制,选择取药方式(自行到店取药或者送药上门),系统自动计算费用后患者进行支付(微信或支付宝等支付方式)。此处图示已有配送药品用例,因此,这里不适合填写选择取药方式-自行到店取药-送药上门这组泛化用例,应该填写支付-微信支付-支付宝支付,其中支付的泛化的父用例,微信支付和支付宝支付是其子用例,对应图示泛化关系U2-U3-U4,其中U2填写支付,U3和U4分别填写微信支付、支付宝支付,二者位置可以互换。本

15、题中A2线索不明确(学员反馈有“快递员”相关描述,但当前未给出),没有提到其他参与者,这里A2填写快递员。【问题2】类图分析中,与类名相关的一般是名词形式,再根据图示中的联系确认具体位置。此处C1-C2-C3有一组典型的泛化关系。根据上面的分析,图示中的泛化关系为支付-微信支付-支付宝支付。结合用例图,最终体现的泛化关系是支付,因此此处选择支付方式、微信支付、支付宝支付更合适。其中C1为支付方式,C2和C3为微信支付和支付宝支付,二者位置可互换。根据题干说明“支付成功之后,处方被发送给药师进行药品配制”在药师与支付方式中间,与二者相关的为处方,即C4为处方。C5与处方相关,应该填写药品。【问题

16、3】include(包含)包含关系:其中这个提取出来的公共用例称为抽象用例,而把原始用例称为基本用例或基础用例系:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含关系来表示它们。本系统中,确认药方过程中系统会自动计算本次抓药的费用,患者可以使用微信或支付宝等支付方式支付费用,所以确认药方包含支付过程。extend (扩展)扩展关系:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰。generalize(泛化)泛化关系:当多个用例共同拥有一种类似的结构和行为的时候,可以将它们的共性

17、抽象成为父用例,其他的用例作为泛化关系中的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,子用例继承了父用例所有的结构、行为和关系。本系统中患者可以使用微信或支付宝等支付方式支付费用,即支付可以有不同种方式,包括微信支付、支付宝支付等,所以微信支付和支付宝支付是支付的特殊化,支付是二者的泛化。注:本题分值较少,写明定义即可,可以不结合本题实例进行说明。8.单选题采用面向对象方法进行系统设计时,不应该强迫客户依赖于他们不用的方法,接口属于客户,不属于它所在的类层次结构。即:依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。这属于( )。问题1选项A.单一责任B.开放-封

18、闭C.接口分离D.里氏替换【答案】C【解析】单一职责原则:设计目的单一的类。开放-封闭原则:对扩展开放,对修改封闭。里氏替换原则:子类可以替换父类。依赖倒置原则:要依赖于抽象,而不是具体实现;针对接口编程,不要针对实现编程。接口隔离原则:使用多个专门的接口比使用单一的总接口要好。不强迫客户依赖于他们不用的方法,即:依赖于抽象,不要依赖于具体,同时在抽象级别不应该有对于细节的依赖。本题题干看起来类似于依赖倒置原则,但依赖倒置不涉及强迫客户依赖于他们不用的方法。本题描述的应该是接口隔离原则。本题选择C选项。 9.案例题阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内。说明某公司的人

19、事部门拥有一个地址簿(AddressBook)管理系统(AddressBookSystem),用于管理公司所有员工的地址记录(PersonAddress)。员工的地址记录包括:姓名、住址、城市、省份、邮政编码以及联系电话等信息。管理员可以完成对地址簿中地址记录的管理操作,包括:(1)管理地址记录。根据公司的人员变动情况,对地址记录进行添加、修改、删除等操作。(2)排序。按照员工姓氏的字典顺序或邮政编码对系统中的所有记录进行排序。(3)打印地址记录。以邮件标签的格式打印一个地址单独的地址簿。系统会对地址记录进行管理,为便于管理,管理员在系统中为公司的不同部门建立员工的地址簿的操作,包括:(1)创

20、建地址簿。新建一个地址簿并保存。(2)打开地址簿。打开一个已有的地址簿。(3)修改地址簿。对打开的地址簿进行修改并保存。系统将提供一个GUI(图形用户界面)实现对地址簿的各种操作。现采用面向对象方法分析并设计该地址簿管理系统,得到如图3-1所示的用例图和图3-2所示的类图。图3-2 类图问题1(6分)根据说明中的描述,给出图3-1中U1U6所对应的用例名。问题2(5分)根据说明中的描述,给出图3-2中类AddressBook的主要属性和方法以及类PersonAddress的主要属性(可以使用说明中的文字)。问题3(4分)根据说明中的描述以及图3-1所示的用例图,请简要说明extend和incl

21、ude关系的含义是什么?【答案】【问题1】U1:按姓氏字典顺序排序;U2:按邮政编码排序(其中U1和U2可互换)U3:修改地址簿 U4:创建地址簿 U5:打开地址簿 U6:保存地址簿【问题2】类PersonAddress的主要属性包括:姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook的主要属性包括:部门名/编号,姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook的需要包括创建地址簿、打开地址簿、修改地址簿。综上,类AddressBook的方法包括:添加、修改、删除、创建、打开、打印、排序等。【问题3】extend属于用例图的三种关系之一,表示的是扩

22、展关系。描述为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,关系图示指向为扩展用例指向基本用例。如图所示,创建和打开就是一对扩展关系,创建成功之后可以直接保存关闭之后,如果想要进行后续修改工作,就需要打开地址簿,由扩展用例指向基本用例。include属于用例图的三种关系之一,表示的是包含关系。描述为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和扩展用例。如图所示:创建、修改和保存就是一对包含关系,在创建和修

23、改它们都有公共的行为保存,提取出来称之为抽象用例,用包含关系表示它们。【解析】【问题1】本题根据题干描述可以找到相应的用例名称有维护地址记录、排序、打印地址记录、创建地址簿、打开地址簿、修改地址簿,又根据图示可知,U1、U2与排序有泛化关系,此时根据排序的用例描述“按照员工姓氏的字典顺序或邮政编码对系统中的所有记录进行排序”,排序有两种方式,按姓氏字典顺序排序或按邮政编码排序,也就是对应用例U1和U2。剩余用例由于题目信息不全,无法确定具体位置。【问题2】类PersonAddress也就是员工地址记录,根据题干描述“员工的地址记录包括:姓名、住址、城市、省份、邮政编码以及联系电话等信息”,因此

24、类PersonAddress的主要属性包括:姓名、住址、城市、省份、邮政编码以及联系电话等。类AddressBook也就是地址簿用于管理公司所有员工的地址记录,由于“管理员在系统中为公司的不同部门建立员工的地址簿”,因此类AddressBook的主要属性除了员工地址记录信息以外,还需要增加部门信息。此时类AddressBook的主要属性包括:部门名/编号,姓名、住址、城市、省份、邮政编码以及联系电话等。“管理地址记录。根据公司的人员变动情况,对地址记录进行添加、修改、删除等操作”,因此类AddressBook的需要包括添加、修改、删除等操作。又因为“管理员在系统中为公司的不同部门建立员工的地址

25、簿的操作,包括:(1)创建地址簿。(2)打开地址簿。(3)修改地址簿。”,因此类AddressBook的需要包括创建地址簿、打开地址簿、修改地址簿。综上,类AddressBook的方法包括:添加、修改、删除、创建、打开等。【问题3】extend属于用例图的三种关系之一,表示的是扩展关系。描述为:如果一个用例明显地混合了两种或两种以上的不同场景,即根据情况可能会发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,关系图示指向为扩展用例指向基本用例。include属于用例图的三种关系之一,表示的是包含关系。描述为:当可以从两个或两个以上用例中提取公共行为的时候,应该使用包含关系来表

26、示它们。其中这个提取出来的公共用例称之为抽象用例,而把原始用例称为基本用例和扩展用例。还需结合用例图说明扩展用例、包含用例的应用。此处题干说明不全,暂未确定。10.单选题如下图如下E-R图中,两个实体R1、R2之间有一个联系E,当E的类型为( )时必须将E转换成个独立的关系模式?问题1选项A.1:1B.1:*C.*:1D.*: *【答案】D【解析】本题考查的是E-R转换为关系模式的转换规则。其中1:1和1:*类型的联系可以归并到实体中,而 *:*联系必须单独转换为1个独立的关系模式。本题选择D选项。11.单选题以下可以有效防治计算机病毒的策略是( )。问题1选项A.部署防火墙B.部署入侵检测系

27、统C.安装并及时升级防病毒软件D.定期备份数据文件【答案】C【解析】部署防火墙:防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术,并不能有效的防范病毒。部署入侵检测系统:入侵检测系统(intrusion detection system,简称“IDS”)是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。是对一种网络传输的监视技术,并不能有效的防范病毒。安装并及时升级防病毒软件:针对于防病毒软件本身就是防范病毒最有效最直接的方式。定期备份数据文件:

28、数据备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。是为了防止系统数据流失,不能有效的防范病毒。12.单选题归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度为0(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为( )。问题1选项A.分治B.动态规划C.贪心D.回溯问题2选项A.B.C.D.【答案】第1题:A第2题:C【解析】本题考查归并排序

29、相关算法。归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。归并排序是运用分治法相关策略,其时间复杂度是由外层的n循环,与内层的归并过程log2n结合起来得到O(nlgn),归并排序没有所谓的最好和最坏排序算法,都为O(nlgn)13.单选题某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Loggi

30、ng 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【解析】本题考查UML状态图的问题。通过状态图图示可知,假设活动状态是Logging in,那么当Valid Entry发生时,当限制条件【tries=3】会到达Logging Denied状态,当限制条件【tries3】Logged in状态。针对于第一问的描述,仅有B符合状态图的表示。tries0)sum=Arrayl

31、eft;elsesum=0; /和小于等于0时,最大和记作0/*if*/else/*从left和right的中间分解数组*/int center=(left+right)/2; /*划分位置*/int leftsum=MaxSubSum(Array,left,center);int rightsum=MaxSubSum(Array,center+1,right);/*计算包含center的最大值,判断是情形1(前半段)-Array1.n的最大子段和与Array1.n/2的最大子段和相同、情形2(后半段)-Array1.n的最大子段和与Arrayn/2+1.n的最大子段和、还是情形3(跨越中间元

32、素)-Array1.n的最大子段和为Arrayi.j的最大子段和,且1in/2,n/2+1jn。*/int s1=0;int lefts=0;for(i=center;i=left;i-)lefts+=Arrayi;if(leftss1=lefts;/*for*/int s2=0;int rights=0;for(i=center+1;irights+=Arrayi;if(rightss2)s2=rights;/*for*/sum=s1+s2;/*情形1*/if(sumsuml=leftsum;/*情形2*/if(sumsuml=rightsum;/*else*/return sum;23.单

33、选题中断向量提供( )。问题1选项A.被选中设备的地址B.待传送数据的起始地址C.中断服务程序入口地址D.主程序的断点地址【答案】C【解析】属于输入输出技术的中断方式:中断向量表:中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号以后,由中断控制器确定其中断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。24.单选题甲、乙两互联网公司于2020年7月7日就各自开发的库存管理软件分别申请“宏达”和“鸿达”商标注册,两个库存管理软件相似,甲第一次使用时间为2019年7月,乙第一次使用时间为2019年5月,此情景下,(

34、)能获准注册。问题1选项A.“宏达”B.“宏达”和“鸿达”均C.由甲、乙协商哪个D.“鸿达”【答案】D【解析】本题考查的是商标权确定知识产权人的过程。根据我国中华人民共和国商标法第三十一条 两个或者两个以上的商标注册申请人,在同一种商品或者类似商品上,以相同或者近似的商标申请注册的,初步审定并公告申请在先的商标;同一天申请的,初步审定并公告使用在先的商标,驳回其他人的申请,不予公告。即首先第一原则是,谁先申请谁获得,本题中甲乙双方于2020年7月7日申请注册,属于同时申请。其次,同时申请时,谁先使用谁获得,根据题干甲于2019年7月使用,乙于2019年5月使用,乙先使用,因此最终成功注册是乙的

35、“鸿达”商标。本题选择D选项。如果无法区分谁先使用,则协商归属,协商不成可以抽签决定。25.单选题以编译方式翻译C/C+源程序的过程中,类型检查在( )阶段处理问题1选项A.词法分析B.语义分析C.语法分析D.目标代码生成【答案】B【解析】词法分析阶段处理的错误:非法字符、单词拼写错误等。语法分析阶段处理的错误:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构上的错误。静态语义分析阶段(即语义分析阶段)处理的错误:运算符与运算对象类型不合法等错误。本题选择语义错误。目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、变量取零时做除数、引用数组元素下标越界等错误等。26.

36、单选题通常使用( )为IP数据报文进行加密。问题1选项A.IPSecB.PP2PC.HTTPSD.TLS【答案】A【解析】A选项:IPSec工作于网络层,为IP数据报文进行加密。B选项:PP2P工作于数据链路层,用于链路加密。C选项:HTTPS是HTTP与SSL的结合体,为传输层以上层次数据加密。D选项:TLS安全传输层协议用于在两个通信应用程序之间提供保密性和数据完整性。27.单选题面向对象分析的第一项活动是( );面向对象程序设计语言为面向对象( )。问题1选项A.组织对象B.描述对象间的相互作用C.认定对象D.确定对象的操作问题2选项A.用例设计B.分析C.需求分析D.实现【答案】第1题

37、:C第2题:D【解析】第1题:本题考查的是面向对象分析与设计相关内容。面向对象分析的活动有:认定对象(名词)、组织对象(抽象成类)、对象间的相互作用、基于对象的操作,第一项活动是认定对象,本题选择C选项。第2题:面向对象实现需要选择一种面向对象程序设计语言。第二空选择D选项。28.单选题Python 语言的特点不包括()。问题1选项A.跨平台、开源B.编译型C.支持面向对象程序设计D.动态编程【答案】B【解析】本题考查python相关问题。python语义的特点:跨平台、开源、简单易学、面向对象、可移植性、解释性、开源、高级语言、可扩展性、丰富的库、动态编程等等综上所述B选项错误,python

38、不是编译型语言,而是解释型语言。29.单选题在网络系统设计时,不可能使所有设计目标都能达到最优,下列措施中最为合理的是( )。问题1选项A.尽量让最低建设成本目标达到最优B.尽让最短的故障时间达到最优C.尽量让最大的安全性目标达到最优D.尽量让优先级较高的目标达到最优【答案】B【解析】暂无。30.单选题在求解某问题时,经过分析发现该问题具有最优子结构和重叠子问题性质。则适用( )算法设计策略得到最优解。若了解问题的解空间,并以广度优先的方式搜索解空间,则采用的是( )算法策略。问题1选项A.分治B.贪心C.动态规则D.回溯问题2选项A.动态规则B.贪心C.回溯D.分支限界【答案】第1题:C第2

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

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

41、其探索方式与回溯法也不同,分支限界法以广度优先或以最小耗费优先的方式搜索解空间树。本题第二空描述的是D选项分支限界法。31.单选题关于以下UML类图的叙述中,错误的是( )。问题1选项A.一个A1的对象可能与一个A2的对象关联B.一个A的非直接对象可能与一个A1 的对象关联C.类B1的对象可能通过A2与C1的对象关联D.有可能A的直接对象与B1的对象关联【答案】D【解析】本题考查面向对象的知识。本题图中B1与A类的继承层次关系有关联关系,1个A的对象可以与多个B1的对象关联,1个B1对象可以与2到多个A的对象关联;1个A的对象可以与多个A的对象关联;1个A2的对象与多个C1类的对象关联,1个C

42、1的对象与多个A2的对象关联;那么1个B1对象可以通过A2与C1的对象关联。因为A标识为abstract,即抽象类,抽象类不能直接进行实例化,即没有直接对象,只能有非直接对象,即子类的对象,因此,所有A的对象都是其子类的对象。故本题选择D选项。32.单选题当UML状态图用于对系统、类或用例的动态方面建模时,通常是对( )建模。以下UML状态图中,假设活动的状态是A,事件b=0发生并且a5,发生条件是c状态到d状态的转换条件的是( ),D变为活动的状态,有关状态图的叙述中,不正确的是( )。问题1选项A.系统的词汇B.反应型对象C.活动流程D.对象快照问题2选项A.一旦状态A的exit动作完成,

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

44、某些事件,是对象执行了一系列活动的结果,当某个事件发生后,对象的状态将发生变化。嵌套在另外一个状态中的状态称为子状态(本题中的A、B为子状态),含有子状态的状态称为组合状态(也叫作超状态,C是组合状态)。状态C完成才会在when b=5a5时,让D进入激活状态,当前状态为A,当A完成时进入状态B,状态B完成后才完成组合状态C。因此第二空应该选择B选项,需要状态A和B都完成。转换是两个状态之间的一种关系,表示对象将在源状态中执行一定的动作,并在某个特定事件发生而且某个特定的警戒(监护)条件满足时进入目标状态。动作是一个可执行的原子操作,是不可中断的,其执行时间可以忽略不计。转换由事件触发,而不是

45、状态由事件触发,第三空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.2,3(2=市场营销(C)SCB.2,3(2=市场营销(SC)CC.1,2(2=市场营销(C)SCD.1,2(2=市场营销 (SC)C【答案】第1题:B第2题:A【解析】本题考查数据关

46、系代数相关问题。根据题干要求,查询“张晋”选修了“市场营销”课程的学号、学生名、学院名、成绩的关系代数表达式给出以下三个关系表:学生关系S(学号,姓名,学院名,电话,家庭住址)课程关系C(课程号,课程名选修课程号)选课关系SC(学号,课程号,成绩)根据题干的描述和选项的结合来看,这个表达式应该是由C和SC先进行自然连接,然后S再与 C和SC先自然连接后的关系再进行自然连接。针对与表达式1,2,3,7( 1,2,3( ) )( ) )。内层表达式里面进行自然连接,对于第一空, 1,2,3,投影1,2,3列,应该来源于题干描述的来着S学生关系的张晋, 正确表达应该是2=张晋(S),人名字符串需要加

47、引号。对于第二空来说,应该是选秀课程号的“市场营销”的C表与选课关的SC表进行自然连接,首先排除B、D,对于A,C的区别再于两者的投影不同,A选项投影C表的2,3列即(课程名,选修课程号),而C选项投影C表的1,2列(课程号,课程名),针对与题干来看,市场营销是选修课程,所以投影选修号比较合适一点。正确表达为2,3(2=市场营销(C)SC。最后两层投影得到的表为A(学号,姓名,学院名,课程名,选修课程号,课程号,成绩),对于外层的投影1,2,3,7列恰好是学号,姓名,学院名,成绩34.单选题已知树T的度为4,且度为4的结点数为7个、度为3的结点数为5个、度为2的结点数为8个、度为1的结点数为1

48、0个,那么T的叶子结点个数为( )。(注:树中结点个数称为结点的度,结点的度中的最大值称为树的度。)问题1选项A.30B.35C.40D.49【答案】C【解析】本题考查的是二叉树特性。假设度为4的结点个数记作n4,度为3的结点个数记作n3,度为2的结点个数记作n2,度为1的结点个数记作n1,度为0的结点个数记作n0。此时结点总数为n4+n3+n2+n1+n0,每个结点可以根据树枝找到其父节点,除了根,所以此时树枝的数量为n4+n3+n2+n1+n0-1。又因为度与树枝的定义,树枝的个数又可以计算为:4*n4+3*n3+2*n2+1*n1+0*n0。综上可得n4+n3+n2+n1+n0-1=4*

49、n4+3*n3+2*n2+1*n1+0*n0,此时n4=7,n3=5,n2=8,n1=10,代入表达式计算可得,n0=40,本题选择C选项。35.单选题在运行时将调用和响应调用所需执行的代码加以结合的机制是( )。问题1选项A.强类型B.弱类型C.静态绑定D.动态绑定【答案】D【解析】本题考查的是面向对象基本概念。程序运行过程中,把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。静态绑定是指在程序编译过程中,把函数(方法或者过程)调用与响应调用所需的代码结合的过程称之为静态绑定。本题描述的动态绑定,选择D选项。36.单选题包过滤防火墙对()的数据报文进行检查。问题1选项A.应

50、用层B.物理层C.网络层D.链路层【答案】C【解析】考查包过滤防火墙的工作原理。包过滤防火墙是最简单的一种防火墙,它在网络层截获网络数据包,根据防火墙的规则表,来检测攻击行为。包过滤防火墙一般作用在网络层(IP层),故也称网络层防火墙(Network Lev Firewall)或IP过滤器(IP filters)。数据包过滤(Packet Filtering)是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端口号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。在网络层提供较低级别的安全防护和控制。37.单选题防火墙通常分为内网、

51、外网和DMZ三个区域,按照受保护程度,从低到高正确的排列次序为()问题1选项A.内网、外网和DMZB.外网、 DMZ和内网C.DMZ、内网和外网D.内网、DMZ和外网【答案】B【解析】考查应用级关于屏蔽子网的防火墙。在一个用路由器连接的局域网中,我们可以将网络划分为三个区域:安全级别最高的LAN Area(内网),安全级别中等的DMZ区域和安全级别最低的Internet区域(外网)。三个区域因担负不同的任务而拥有不同的访问策略。我们在配置一个拥有DMZ区的网络的时候通常定义以下的访问控制策略以实现DMZ区的屏障功能。38.单选题云计算有多种部署模型(Deployment Models)。若云的

52、基础设施是为某个客户单独使用而构建的,那么该部署模型属于( )。问题1选项A.公有云B.私有云C.社区云D.混合云【答案】B【解析】A选项公有云通常指第三方提供商为用户提供的能够使用的云,公有云一般可通过 Internet 使用,可能是免费或成本低廉的,公有云的核心属性是共享资源服务。B选项私有云(Private Clouds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。本题针对某个客户单独使用,属于B选项私有云。C选项社区云一般指社群云。社群云(Community cloud),也称社区云,是由几

53、个组织共享的云端基础设施,它们支持特定的社群,有共同的关切事项,例如使命任务、安全需求、策略与法规遵循考量等。D选项混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私有云主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的计算资源,在这种情况下混合云被越来越多的采用,它将公有云和私有云进行混合和匹配,以获得最佳的效果,这种个性化的解决方案,达到了既省钱又安全的目的。39.单选题对长度为n的有序顺序进行折半查找(即二分查找)的过程可用一棵判定树表示,该判定树的形态符合( )的特点。问题1选项A.最优二叉树(即哈夫曼树)B.平

54、衡二叉树C.完全二叉树D.最小生成树【答案】B【解析】本题考查的是二分查找相关内容。二分查找是将序列均分,每一次都是平均分配后左右序列数相同,相当于一棵二叉树,左右结点都是相同个数,最终形成的是平衡二叉树的形态。本题选择B选项。40.案例题阅读下列说明和C+代码。将应填入(n)处的字句写在答题纸的对应栏内。【说明】在软件系统中,通常不会给用户提供取消、不确定或者错误操作的选择,允许将系统恢复到原先的状态。现使用备忘录(Memento)模式实现该要求,得到如图5-1所示的类图。Memento 包含了要被恢复的状态。Originator创建并在Memento中存储状态。Caretaker负责从Me

55、mento中恢复状态。图5-1 类图【C+代码】#include#include#includeusing namespace std;class Mementoprivate:string state;public:Memento(string state) this-state=state; string getState() return state; class Originatorprivate:string state;public:void setState(string state)thissate=state;string getState()return state;Mem

56、ento saveStateToMemento()return (1)void getStateFromMemento(Memento Memento)state (2)class CareTakerprivate:vectormementoList;pubilc:viod(3)mementoList.push back(state)(4);return mementoList(index);int mian()Originator*originator=new Originator();CareTaker*careTaker=new CareTaker();originator-setSta

57、te(State #1);originator-setState(State #2);careTaker-add(_(5)_);originator-setState(State #3);careTaker-add(6);originator-setState(State #4);cout getState( )getStateFromMemento(careTaker-get(0);coutgetStatee( )getStateFromMemento(careTaker-get(1);coutgetState( )【答案】本题代码存在缺失,暂未给出答案。请参照JAVA代码题。41.单选题甲

58、乙丙三者分别就相同内容的发明创造,先后向专利管理部门提出申清,( )可以获得专利申请权。问题1选项A.甲乙丙均B.先申请者C.先试用者D.先发明者【答案】B【解析】本题考查的是知识产权人确定的相关内容。对于专利权,谁先申请就给谁;同时申请则协商。42.案例题阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。【说明】某工程计算中经常要完成多个矩阵相乘(链乘)的计算任务,对矩阵相乘进行以下说明。(1)两个矩阵相乘要求第一个矩阵的列数等于第二个矩阵的行数,计算量主要由进行乘法运算的次数决定,假设采用标准的矩阵相乘算法,计算Amxn*Bnxp需要m*n*p次行乘法运算的次数决定、乘

59、法运算,即时间复杂度为O(m*n*p)。(2)矩阵相乘满足结合律,多个矩阵相乘时不同的计算顺序会产生不同的计算量。以矩阵A15100,A2100*8,A38x50三个矩阵相乘为例,若按(A1*A2)*A3计算,则需要进行5*100*8+5*8*50=6000次乘法运算,若按A1*(A2*A3)计算,则需要进行100*8*50+5*100*50=65000次乘法运算。矩阵链乘问题可描述为:给定n个矩阵,对较大的n,可能的计算顺序数量非常庞大,用蛮力法确定计算顺序是不实际的。经过对问题进行分析,发现矩阵链乘问题具有最优子结构,即若A1*A2*An的一个最优计算顺序从第k个矩阵处断开,即分为A1*A

60、2*Ak和Ak+1*Ak+2*.*An两个子问题,则该最优解应该包含A1*A2*Ak的一个最优计算顺序和Ak+1*Ak+2*.*An 的一个最优计算顺序。据此构造递归式,其中,costij表示Ai+1*Ai+2*.Aj+1的最优计算的计算代价。最终需要求解cost0n-1。【C代码】算法实现采用自底向上的计算过程。首先计算两个矩阵相乘的计算量,然后依次计算3个矩阵、4个矩阵、n个矩阵相乘的最小计算量及最优计算顺序。下面是该算法的语言实现。(1) 主要变量说明n:矩阵数seq:矩阵维数序列costij:二维数组,长度为n*n,其中元素costij表示Ai+1*Ai+2*Aj+1的最优的计算代价。

温馨提示

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

最新文档

评论

0/150

提交评论