- 相关推荐
软件设计师历年真题
亲爱的考生们,软件设计师历年真题是你备考路上的宝贵资源。通过这些真题,你可以了解考试题型、难度及命题趋势。认真钻研每一道题,分析解题思路,查漏补缺,为你的考试助力。让我们一起借助历年真题,开启高效备考之旅,向着软件设计师的目标稳步迈进。
第 1 题:单选题(本题1分)
计算机指令系统采用多种寻址方式。立即寻址是指操作数包含在指令中,寄存器寻址是指操作数在寄存器中,直接寻址是指操作数的地址在指令中。这三种寻
址方式获取操作数的速度 ( )。
A.立即寻址最快,寄存器寻址次之,直接寻址最慢
B.寄存器寻址最快,立即寻址次之,直接寻址最慢
C.直接寻址最快,寄存器寻址次之,立即寻址最慢
D.寄存器寻址最快,直接寻址次之,立即寻址最慢
【正确答案】:A
【试题解析】:
寻址方式是如何对指令中的地址字段进行解释,以获得操作数的方法或获得程序转移地址的方法。
第
2 题:单选题(本题1分)
以下关于PCI总线和SCSI总线的叙述中,正确的是( )。
A.PCI总线是串行外总线,SCSI 总线是并行内总线
B.PCI总线是串行内总线,SCSI 总线是串行外总线
C.PCI总线是并行内总线,SCSI 总线是串行内总线
D.PCI总线是并行内总线,SCSI 总线是并行外总线
【正确答案】:D
【试题解析】:
PCI总线是PC机常用总线,SCSI是软硬磁盘、光盘、扫描仪常用总线。他们都是并行总线。
第 3 题:单选题(本题1分)
以下关于中断方式与DMA方式的叙述中,正确的是( )
A.中断方式与DMA方式都可实现外设与CPU之间的并行工作
B.程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预
C.采用DMA方式传输数据的速度比程序中断方式的速度慢
D.程序中断方式和DMA方式都不需要CPU保护现场
【正确答案】:A
【试题解析】:
中断方式与DMA方式都可实现外设与CPU之间的并行工作。
第
4 题:单选题(本题1分)
中断向量提供( )。
A.被选中设备的地址
B.待传送数据的起始地址
C.中断服务程序入口地址
D.主程序的断点地址
【正确答案】:C
【试题解析】:
中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号(INTR)以后,由中断控制器(INTC)确定其中
断号,并根据中断号查找中断向量表来取得其中断服务程序的入口地址,同时INTC把中断请求信号提交给CPU。
第 5 题:单选题(本题1分)
( ) 是一种需要通过周期性刷新来保持数据的存储器件。
A.SRAM
B.DRAM
C.FLASH
D.EEPROM
【正确答案】:B
第 6 题:单选题(本题1分)
某种机器的浮点数表示格式如下(允许非规格化表示)。若阶码以补码表示,尾数以原码表示,则1 0001 0 0000000001表示的浮点数是( ) 。
【正确答案】:B
【试题解析】:
题干尾数是原码为:0000000001,数符是0,这表示该尾数是负数为2^-10 。阶码是0001是补码,转换成原码是1111,是十进制的15,这
里注意阶符是1,这表示阶码是负数,因此该浮点数是2^-15 ×2^-10 。
第 7 题:单选题(本题1分)
以下可以有效防治计算机病毒的策略是( ) 。
A.部署防火墙
B.部署入侵检测系统
C.安装并及时升级防病毒软件
D.定期备份数据文件
【正确答案】:C
【试题解析】:
防病毒软件可以检测、防护,并采取行动来解除或删除恶意软件程序,如病毒和蠕虫。因此安装并及时升级防病毒软件可以有效防治计
算机病毒。
第 8 题:单选题(本题1分)
AES是一种( )算法。
A.公钥加密
B.流密码
C.分组加密
D.消息摘要
【正确答案】:C
【试题解析】:
高级加密标准(Advanced Encryption Standard,AES)是一种分组(对称)加密算法,替代了原先的DES,是目前最流行的算法之一。
第 9 题:单选题(本题1分)
下列不能用于远程登陆或控制的是( )
A.IGMP
B.SSH
C.Telnet
D.RFB
【正确答案】:A
【试题解析】:
Telnet协议是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。RFB ( Remote
Frame Buffer 远程帧缓冲) 协议是一个用于远程访问图形用户界面的简单协议。SSH协议是较可靠,专为远程登录会话和其他网络服务
提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。主机与本地路由器之间使用Internet组管理协议
(IGMP,Internet Group Management Protocol)来进行组播组成员信息的交互。
第 10 题:单选题(本题1分)
包过滤防火墙对( )的数据报文进行检查。
A.应用层
B.物理层
C.网络层
D.链路层
【正确答案】:C
【试题解析】:
包过滤型防火墙是在网络层对数据包进行分析、选择,选择的依据是系统内设置的过滤规则(访问控制表)。通过检查每个数据包的源
地址、目的地址、端口和协议状态等因素,确定是否允许该数据包通过。
第 11 题:单选题(本题1分)
防火墙通常分为内网、外网和DMZ三个区域,按照受保护程度,从低到高正确的排列次序为( )。
A.内网、外网和DMZ
B.外网、DMZ和内网
C.DMZ、内网和外网
D.内网、DMZ和外网
【正确答案】:B
【试题解析】:
防火墙认为内部网络是安全和可信赖的,而外部网络是不安全和不可信赖的。因此受保护的程度外网是最低而内网是最高的。
第 12 题:单选题(本题1分)
( )是构成我国保护计算机软件著作权的两个基本法律文件。
A.《计算机软件保护条例》和《软件法》
B.《中华人民共和国著作权法》和《软件法》
C.《中华人民共和国著作权法》和《计算机软件保护条例》
D.《中华人民共和国版权法》和《中华人民共和国著作权法》
【正确答案】:C
【试题解析】:
《中华人民共和国著作权法》和《计算机软件保护条例》是构成我国保护计算机软件著作权的两个基本法律文件。在具体实施时,首先
按照《计算机软件保护条例》适用条款执行,若是《计算机软件保护条例》中没有适用条款,再依据《中华人民共和国著作权法》的有
关条款执行。
第 13 题:单选题(本题1分)
X 公司接受Y公司的委托开发了一款应用软件,双方没有订立任何书面合同。在此情形下,( ) 享有该软件的著作权。
A.X、Y公司共同
B.X公司
C.Y公司
D.X、Y公司均不
【正确答案】:B
【试题解析】:
接受他人委托开发的软件,其著作权的归属由委托人与受托人签订书面合同约定;无书面合同或者合同未作明确约定的,其著作权由受
托人享有。
第 14 题:单选题(本题1分)
广大公司(经销商)擅自复制并销售恭大公司开发的OA软件已构成侵权。鸿达公司在不知情时从广大公司(经销商)处购入该软件并已安装使用。在鸿达公司知道了
所使用的软件为侵权复制的情形下,其使用行为( )。
A.侵权,支付合理费用后可以继续使用该软件
B.侵权,须承担赔偿责任
C.不侵权,可继续使用该软件
D.不侵权,不需承担任何法律责任
【正确答案】:A
【试题解析】:
鸿达公司在知道所使用的软件为侵权复制的情形下继续使用的行为属于侵权行为,但在支付合理费用后是可以继续使用该软件的。
第 15 题:单选题(本题1分)
绘制分层数据流图 (DFD)时需要注意的问题中,不包括( )。
A.给图中的每个数据流、加工、数据存储和外部实体命名
B.图中要表示出控制流
C.一个加工不适合有过多的数据流
D.分解尽可能均匀
【正确答案】:B
【试题解析】:
数据流图表现的是数据流而不是控制流。
第 16 题:单选题(本题1分)
以下关于软件设计原则的叙述中,不正确的是出( )。
A.将系统划分为相对独立的模块
B.模块之间的耦合尽可能小
C.模块规模越小越好
D.模块的扇入系数和扇出系数合理
【正确答案】:C
【试题解析】:
模块的规模要适当。过大的模块会使系统分解得不充分而过小的模块又有可能降低模块的独立性,造成系统接口的复杂性。
第 17 题:单选题(本题1分)
在风险管理中,通常需要进行风险监测,其目的不包括( )。
A.消除风险
B.评估所预测的风险是否发生
C.保证正确实施了风险缓解步骤
D.收集用于后续进行风险分析的信息
【正确答案】:A
【试题解析】:
风险可以避免其发生或者尽量减少风险发生后的影响,但是完全消除风险是不可能的。
第 18 题:单选题(本题1分)
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动(作答此空) 不在关键
路径上。活动BI和EG的松弛时间分别是( )。
A.BD
B.BI
C.GH
D.KL
【正确答案】:B
【试题解析】:
关键路径是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛时间等于最迟开始时间-最早开始时间=4-3=1。EG在关键路径上,松弛
时间是0。
第 19 题:单选题(本题1分)
下图是一个软件项目的活动图,其中顶点表示项目里程碑,连接顶点的边表示活动,边上的权重表示完成该活动所需要的时间(天),则活动( ) 不在关键路径上。
活动BI和EG的松弛时间分别是(作答此空)。
A.0和1
B.1和0
C.0和
2
D.2和0
【正确答案】:B
【试题解析】:
关键路径是AEGHKL、ABDIJL、ABDIJKL,工期20天。BI的松弛时间等于最迟开始时间-最早开始时间=4-3=1。EG在关键路径上,松弛
时间是0。
第 20 题:单选题(本题1分)
下图所示的二叉树表示的算术表达式是( )(其中的*,/,-,表示乘、除、减运算)。
A.a*b/c-D
B.a*b/(c-d)
C.a*(b/c-d)
D.a*(b-c/d)
【正确答案】:C
【试题解析】:
算术表达式采用中序遍历(左、根、右)的方式,遍历的结果是a*(b/c-d) 。
第 21 题:单选题(本题1分)
对高级程序语言进行编译的过程中,使用( )来记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成。
A.决策表
B.符号表
C.广义表
D.索引表
【正确答案】:B
【试题解析】:
符号表的作用是记录源程序中各个符号的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地
查找、插入、修改和删除等操作。符号表的建立可以始于词法分析阶段,也可以放到语法分析和语义分析阶段,但符号表的使用有时会
延续到目标代码的运行阶段。
第 22 题:单选题(本题1分)
下图所示为一个非确定有限自动机(NFA),S0为初态,S3为终态。该NFA识别的字符串分( )。
A.不能包含连续的字符“0”
B.不能包含连续的字符“1”
C.必须以“101”开头
D.必须以“101”结尾
【正确答案】:D
【试题解析】:
该自动机可以识别的字符串有101、1*101、0*101、1*0*101、0*1*101,这些字符串的共同特点都是以101结尾。
第 23 题:单选题(本题1分)
在单处理机计算机系统中,有1台打印机、1台扫描仪,系统采用先来先服务调度算法。假设系统中有进程P1、P2、P3、P4,其中P1为运行状态,P2为就绪状
态,P3等待打印机,P4等待扫描仪。此时,若P1释放了扫描仪,则进程P1、P2、P3、P4的状态分别为( )。
A.等待、运行、等待、就绪
B.运行、就绪、等待、就绪
C.就绪、就绪、等待、运行
D.就绪、运行、等待、就绪
【正确答案】:D
【试题解析】:
按照来先服务调度算法,P1运行状态结束后,P2运行,P3继续等待打印机,而P1释放扫描仪后处于等待状态的P4可以获取扫描仪,只需
等待处理机调度即可运行,因此P4由等待状态转为就绪状态。此时,P1没有等待发生的外部事件,它处于就绪状态。
第 24 题:单选题(本题1分)
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为(作答此空),空③
和
空
④处应分别为( ),空⑤
A.V(S1)和PS2)P(S3)
B.V(S1)和V(S2)V(S3)
C.P(S1)和P(S2)V(S3)
D.P(S1)和V(S2)V(S3)
【正确答案】:D
【试题解析】:
信号量的分配如下图所示。
这里进程P1和P6分别是第一个进程和最后一个进程,因此P1只有V操作,信号量是S2,即V(S2)。P6只有P操作,信号量是S5和S6,结
果为P(S5)、P(S6),中间进程P2、P3、P4、P5既有P操作也有V操作 ,分别是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 25 题:单选题(本题1分)
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为( ),空③和空④处应
分别为(作答此空),空⑤和空⑥处应分别为( )。
A.V(S3)和P(S3)
B.V(S4)和P(S3)
C.P(S3)和P(S4)
D.V(S4)和P(S4)
【正确答案】:B
【试题解析】:
信号量的分配如下图所示。
{图}
这里进程P1和P6分别是第一个进程和最后一个进程,因此P1只有V操作,信号量是S2,即V(S2)。P6只有P操作,信号量是S5和S6,结
果为P(S5)、P(S6),中间进程P2、P3、P4、P5既有P操作也有V操作 ,分别是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 26 题:单选题(本题1分)
进程P1、P2、P3、P4、P5和P6的前趋图如下所示。用PV操作控制这6个进程之间同步与互斥的程序如下,程序中的空①和空②处应分别为( ),空③和空④处应
分别为( ),空⑤和空⑥处应分别为(作答此空)。
A.V(S6)和P(S5)
B.V(S5)和P(S6)
C.P(S5)和V(S6)
D.P(S5)和V(S5)
【正确答案】:A
【试题解析】:
信号量的分配如下图所示。
这里进程P1和P6分别是第一个进程和最后一个进程,因此P1只有V操作,信号量是S2,即V(S2)。P6只有P操作,信号量是S5和S6,结
果为P(S5)、P(S6),中间进程P2、P3、P4、P5既有P操作也有V操作 ,分别是P2:P(S1)、V(S2)、V(S3),P3:P(S2)、V
(S4),P4:P(S3)、V(S5),P5:P(S4)、V(S6)。
第 27 题:单选题(本题1分)
在磁盘上存储数据的排列方式会影响IO服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2,.....,R10存放在同一个
磁道上,记录的排列顺序如下表所示。
假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间
为(作答此空);若对存储数据的排列顺序进行优化,处理10个记录的最少时间为( )。
A.30ms
B.60ms
C.94ms
D.102ms
【正确答案】:D
【试题解析】:
磁头当前处于R1 处,读取出R1的时间为10ms/10=1ms,然后的使用单缓冲区处理,花费2ms。R1处理完毕后磁头此时已处于R4处,若是
顺序读和处理R2则需要再等待8ms,R2的读取与处理时间与R1相同,当R2处理完毕再读取 R3 仍然需要再等待8 ms......依次类推,10个记
录读完处理完毕的时间一共是102ms。若对存储数据的排列顺序进行优化,即在原先存放R4处,存放R2,则十个记录的处理时间会缩短
至30ms。
第 28 题:单选题(本题1分)
在磁盘上存储数据的排列方式会影响IO服务的总时间。假设每个磁道被划分成10个物理块,每个物理块存放1个逻辑记录。逻辑记录R1,R2,.....,R10存放在同一个
磁道上,记录的排列顺序如下表所示。
假定磁盘的旋转速度为10ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为2ms,则处理这10个记录的最长时间
为( );若对存储数据的排列顺序进行优化,处理10个记录的最少时间为(作答此空)。
A.30ms
B.60ms
C.94ms
D.102ms
【正确答案】:A
【试题解析】:
磁头当前处于R1 处,读取出R1的时间为10ms/10=1ms,然后的使用单缓冲区处理,花费2ms。R1处理完毕后磁头此时已处于R4处,若是
顺序读和处理R2则需要再等待8ms,R2的读取与处理时间与R1相同,当R2处理完毕再读取 R3 仍然需要再等待8 ms......依次类推,10个记
录读完处理完毕的时间一共是102ms。若对存储数据的排列顺序进行优化,即在原先存放R4处,存放R2,则十个记录的处理时间会缩短
至30ms。
第 29 题:单选题(本题1分)
以下关于增量模型优点的叙述中,不正确的是( )。
A.强调开发的阶段性早期计划
B.第一个可交付版本所需要的时间少和成本低
C.开发由增量表示的小系统所承担的风险小
D.系统管理成本低、效率高、配置简单
【正确答案】:D
【试题解析】:
增量模型的优点有:①容易理解②管理成本低③强调开发的阶段性早期计划及需求调查和产品测试④第一个可交付版本所需要的成本和
时间很少⑤开发由增量表示的小系统所承担的风险不大⑥由于很快发布了第一个版本,因此可以减少用户需求的变更⑦运行增量投资,
即在项目开始时,可以仅对一个或两个增量投资。
第 30 题:单选题(本题1分)
以下关于敏捷统一过程(AUP)的叙述中,不正确的是( )。
A.在大型任务上连续
B.在小型活动上迭代
C.每一个不同的系统都需要一套不同的策略、约定和方法论
D.采用经典的UP阶段性活动,即初始、精化、构建和转换
【正确答案】:C
【试题解析】:
敏捷统一过程(Agile Unified Process,AUP)采用"在大型上连续"以及在"在小型上迭代"的原理来构建软件系统。采用经典的UP阶段性活
动(初始、精化、构建和转换),提供了一系列活动,能够使团队为软件项目构想出一个全面的过程流。
第 31 题:单选题(本题1分)
在ISO/IEC软件质量模型中,可移植性是指与软件可从某环境移到另一环境的能力有关的一组属性,其子特性不包括( )。
A.适应性
B.易测试性
C.易安装性
D.易替换性
【正确答案】:B
【试题解析】:
ISO/IEC软件质量模型规定的质量特性有:
易测试性属于可维护性指标。
第 32 题:单选题(本题1分)
在软件开发过程中,系统测试阶段的测试目标来自于( )阶段。
A.需求分析
B.概要设计
C.详细设计
D.软件实现
【正确答案】:A
【试题解析】:
软设测试目标需要在需求分析阶段就确认好。
第 33 题:单选题(本题1分)
信息系统的文档是开发人员与用户交流的工具。在系统规划和系统分析阶段,用户与系统分析人员交流所使用的文档不包括( )。
A.可行性研究报告
B.总体规划报告
C.项目开发计划
D.用户使用手册
【正确答案】:B
【试题解析】:
用户使用手册是概要设计阶段产生的文档,除此以外,概要设计阶段产生的文档还有概要设计说明书、数据库设计说明书、修订测试计
划。
第 34 题:单选题(本题1分)
如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要(作答此空)个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为
( )。
A.1
B.2
C.3
D.4
【正确答案】:A
【试题解析】:
该流程图的作用是从小到大排列数组A
的
n个元素,例如排列数组元素3、2、1,只用一个测试用例即可实现。图中有两个循环形成两个闭
环,环路复杂度为闭环个数加1等于3个。
第 35 题:单选题(本题1分)
如下所示代码(用缩进表示程序块),要实现语句覆盖,至少需要( )个测试用例。采用McCabe度量法计算该代码对应的程序流程图的环路复杂性为(作答此
空)。
A.1
B.2
C.3
D.4
【正确答案】:C
【试题解析】:
该流程图的作用是从小到大排列数组A
的
n个元素,例如排列数组元素3、2、1,只用一个测试用例即可实现。图中有两个循环形成两个闭
环,环路复杂度为闭环个数加1等于3个。
第 36 题:单选题(本题1分)
系统可维护性是指维护人员理解、改正、改动和改进软件系统的难易程度,其评价指标不包括( )。
A.可理解性
B.可测试性
C.可修改性
D.一致性
【正确答案】:D
【试题解析】:
系统可维护性包括:可理解性、可测试性、可修改性。
第 37 题:单选题(本题1分)
面向对象设计时包含的主要活动是( )。
A.认定对象、组织对象、描述对象间的相互作用、确定对象的操作
B.认定对象、定义属性、组织对象、确定对象的操作
C.识别类及对象、确定对象的操作、描述对象间的相互作用、识别关系
D.识别类及对象、定义属性、定义服务、识别关系、识别包
【正确答案】:D
【试题解析】:
面向对象设计时包含的主要活动是识别类及对象、定义属性、定义服务、识别关系、识别包。
第 38 题:单选题(本题1分)
在面向对象设计时,如果重用了包中的一个类,那么就要重用包中的所有类,这属于( )原则。
A.接口分离
B.开放-封闭
C.共同封闭
D.共同重用
【正确答案】:D
【试题解析】:
接口分离原则:不应该强迫客户依赖于它们不用的方法。开放-封闭原则:软件实体(类、模块、函数等)应该是可以扩展的,即开放的;
但是不可修改的,即封闭的。共同封闭原则:包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包产生影响,
则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。共同重用原则:一个包中的所有类应该是共同重用的。如果重用了
包中的一个类,那么就要重用包中的所有类。
第 39 题:单选题(本题1分)
某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用
(作答此空) 关系,网店与商品之间适合采用( ) 关系。
A.关联
B.依赖
C.组合
D.聚合
【正确答案】:D
【试题解析】:
购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。网店与商品之间是一
种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。
第 40 题:单选题(本题1分)
某电商系统在采用面向对象方法进行设计时,识别出网店、商品、购物车、订单、买家、库存、支付(微信、支付宝)等类。其中,购物车与商品之间适合采用( )
关系,网店与商品之间适合采用(作答此空) 关系。
A.关联
B.依赖
C.组合
D.聚合
【正确答案】:C
【试题解析】:
购物车与商品是整体与部分的关系,购物车包含了商品,但是商品可以脱离购物车独立存在,这是一种聚合关系。网店与商品之间是一
种整体与部分的关系,商品是网店的一部分,如果网店不存在了,那么网店中的商品也不存在,它们之间是组合关系。
第 41 题:单选题(本题1分)
某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生
时,(作答此空)。其中,[triesimage.png3]和tries++分别为( )和 ( )。
A.保持在Logging in状态
B.若[triesimage.png3]为true,则Logged in变为下一个活动状态
C.Logged in立刻变为下一个活动状态
D.若tries=3为true,则Logging Denied变为下一个活动状态
【正确答案】:B
【试题解析】:
根据状态图,事件Valid Entrty发生,同时当triesimage.png3时,系统变为Logged in状态。[triesimage.png3]是监护条件,是一种布尔表达
式,当结果为true时,说明转换符合触发条件。tries++属于转换,是两个状态之间的一种关系,转换包括事件与动作。转换会引起系统
状态的转变。
第 42 题:单选题(本题1分)
某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生
时,( )。其中,[triesimage.png3]和tries++分别为(作答此空)和 ( )。
A.状态
B.转换
C.监护条件
D.转换后效果
【正确答案】:C
【试题解析】:
根据状态图,事件Valid Entrty发生,同时当triesimage.png3时,系统变为Logged in状态。[triesimage.png3]是监护条件,是一种布尔表达
式,当结果为true时,说明转换符合触发条件。tries++属于转换,是两个状态之间的一种关系,转换包括事件与动作。转换会引起系统
状态的转变。
第 43 题:单选题(本题1分)
某软件系统限定:用户登录失败的次数不能超过3次。采用如所示的UML状态图对用户登录状态进行建模,假设活动状态是Logging in,那么当Valid Entrty发生
时,( )。其中,[triesimage.png3]和tries++分别为( )和 (作答此空)。
A.状态
B.转换
C.监护条件
D.转换后效果
【正确答案】:B
【试题解析】:
根据状态图,事件Valid Entrty发生,同时当triesimage.png3时,系统变为Logged in状态。[triesimage.png3]是监护条件,是一种布尔表达
式,当结果为true时,说明转换符合触发条件。tries++属于转换,是两个状态之间的一种关系,转换包括事件与动作。转换会引起系统
状态的转变。
第 44 题:单选题(本题1分)
在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映
射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用(作答此空) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不
需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: ( )。
A.状态(State)
B.策略(Strategy)
C.解释器(Interpreter)
D.中介者(Mediator)
【正确答案】:D
【试题解析】:
中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改
变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:一组对象以定义良好但是复杂的方式进行通信,产生的相互依
赖关系结构混乱且难以理解。一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。想定制一个分布在多个类中
的行为,而又不想生成太多的子类。
第 45 题:单选题(本题1分)
在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映
射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式
地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于(作答此空)模式,该模式适用于: ( )。
A.创建型类
B.创建型对象
C.行为型对象
D.行为型类
【正确答案】:C
【试题解析】:
中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改
变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:一组对象以定义良好但是复杂的方式进行通信,产生的相互依
赖关系结构混乱且难以理解。一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。想定制一个分布在多个类中
的行为,而又不想生成太多的子类。
第 46 题:单选题(本题1分)
在某系统中,不同组(Group)访问数据的权限不同,每个用户(User)可以是一个或多个组中的成员,每个组包含零个或多个用户。现要求在用户和组之间设计映
射,将用户和组之间的关系由映射进行维护,得到如下所示的类图。该设计采用( ) 模式,用一个对象来封装系列的对象交互; 使用户对象和组对象不需要显式
地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。该模式属于( )模式,该模式适用于: (作答此空)。
A.需要使用一个算法的不同变体
B.有一个语言需要解释执行,并且可将句子表示为一个抽象语法树
C.一个对象的行为决定于其状态且必须在运行时刻根据状态改变行为
D.一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解
【正确答案】:D
【试题解析】:
中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改
变它们之间的交互。中介者模式属于行为型对象模式,适应于下列情况:一组对象以定义良好但是复杂的方式进行通信,产生的相互依
赖关系结构混乱且难以理解。一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象。想定制一个分布在多个类中
的行为,而又不想生成太多的子类。
第 47 题:单选题(本题1分)
在设计某购物中心的收银软件系统时,要求能够支持在不同时期推出打折、返利、满减等不同促销活动,则适合采用( )模式。
A.策略(Strategy)
B.访问者(Visitor)
C.观察者(Observer)
D.中介者(Mediator)
【正确答案】:A
【试题解析】:
使用策略模式可以将不同时期的促销活动定义为一个个算法,进行封装,它们彼此可以互相替换,也能独立于使用它们的客户而变化。
客户也不必知道算法使用的数据,避免暴露相关的数据结构。
第 48 题:单选题(本题1分)
Python 语言的特点不包括( )。
A.跨平台、开源
B.编译型
C.支持面向对象程序设计
D.动态编程
【正确答案】:B
【试题解析】:
Python属于解释型而非编译型程序设计语言。
第 49 题:单选题(本题1分)
在 Python语言中,( )是一种可变的、有序的序列结构,其中元素可以重复。
A.元组(tuple)
B.字符串(str)
C.列表(list)
D.集合(set)
【正确答案】:C
【试题解析】:
列表是个有序的数据集合,可以随时添加或者删除元素。元组与列表类似,但元组里面的元素不可变。集合里面的元素是无序的。字符
串是由独立的字符组成,字符类型不可变。
第 50 题:单选题(本题1分)
以下Python语言的模块中,( )不支持深度学习模型。
A.TensorFlow
B.MatplotliB
C.PyTorch
D.Keras
【正确答案】:B
【试题解析】:
Matplotlib是Python的绘图库,可以绘制直方图、条形图、散点图等图形。
第 51 题:单选题(本题1分)
采用三级模式结构的数据库系统中,如果对一个表创建聚簇索引,那么改变的是数据库的 ( ) 。
A.外模式
B.模式
C.内模式
D.用户模式
【正确答案】:C
【试题解析】:
数据库的三级模式分别是:
第 52 题:单选题(本题1分)
设关系模式R(U,F), U={A1,A2,A3,A4},函数依赖集F={A1→A2,A1→A3 ,A2→A4},关系R的候选码是(作答此空)。下列结论错误的是( )。
A.A1
B.A2
C.A1A2
D.A1A3
【正确答案】:A
【试题解析】:
通过A1可以得到A2、A3,通过A2又可以得到A4,因此A1属于候选码。A3只能由A1得到,A2无法得到A3。
第 53 题:单选题(本题1分)
设关系模式R(U,F), U={A1,A2,A3,A4},函数依赖集F={A1→A2,A1→A3 ,A2→A4},关系R的候选码是( )。下列结论错误的是(作答此空)。
A.A1→A2A3为
F所蕴涵
B.A1→ A4为
F所蕴涵
C.A1A2→ A4为
F所蕴涵
D.A2→ A3为
F所蕴涵
【正确答案】:D
【试题解析】:
通过A1可以得到A2、A3,通过A2又可以得到A4,因此A1属于候选码。A3只能由A1得到,A2无法得到A3。
第 54 题:单选题(本题1分)
给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营
销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π1,2,3(作答此空) ) ( ))) 。
A.σ2=张晋(S)
B.σ2=‘张晋’(S)
C.σ2=张晋(SC)
D.σ2=‘张晋’(SC)
【正确答案】:B
【试题解析】:
第 55 题:单选题(本题1分)
给定学生关系S(学号,姓名,学院名,电话,家庭住址)、课程关系C(课程号,课程名,选修课程号)、选课关系SC(学号,课程号,成绩)。查询“张晋”选修了“市场营
销”课程的学号、学生名、学院名、成绩的关系代数表达式为: π1,2,3,7(π1,2,3( ) ) (作答此空))) 。
A.π2,3(σ2=‘市场营销’(C))SC
B.π2,3(σ2=市场营销(SC)) C
C.π1,2(σ2=‘市场营销’(C))SC
D.π1,2(σ2=市场营销(SC))C
【正确答案】:C
【试题解析】:
第 56 题:单选题(本题1分)
数据库的安全机制中,通过提供( )供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不被第三方所获取。
A.触发器
B.存储过程
C.视图
D.索引
【正确答案】:B
【试题解析】:
存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,它存储在数据库中,一次编译后永久有效,
用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库所提供的一种数据库对象,通过存
储过程定 义一段代码,提供给应用程序调用来执行。 从安全性的角度考虑,更新数据时,通过提供存储过程让第三方调用,将需要更
新的数据传入存储过程,而在存储过程内部用代码分别对需要的多个表进行更新,从而避免了向第三方提供系统的表结构,保证了系统
的数据安全。
第 57 题:单选题(本题1分)
若栈采用顺序存储方式,现有两栈共享空间V[1..n],,top[i]代表i( i=1,2)个栈的栈顶(两个栈都空时top[1]= 1、top[2]= n),栈1的底在V[1],栈
2的底在V[n], 则栈满(即
n
个元素暂存在这两个栈)的条件是( )。
A.top[1]= top[2]
B.top[1]+ top[2]==1
C.top[1]+ top[2]==n
D.top[1]- top[2]== 1
【正确答案】:D
【试题解析】:
最后一个栈元素的位置加1为栈满的情况,因此判断的条件就是top[1]- top[2]== 1,选择D。
第 58 题:单选题(本题1分)
采用循环队列的优点是( )。
A.入队和出队可以在队列的同端点进行操作
B.入队和出队操作都不需要移动队列中的其他元素
C.避免出现队列满的情况
D.避免出现队列空的情况
【正确答案】:B
【试题解析】:
循环队列是将顺序队列形成一个环状结构,元素入队时修改尾指针,元素出队时修改头指针,入队和出队操作都不需要移动队列中的其
他元素。
第 59 题:单选题(本题1分)
二叉树的高度是指其层数,空二叉树的高度为0,仅有根结点的二叉树高度为1。若某二叉树中共有1024个结点,则该二叉树的高度是整数区间( )中的任一值。
A.(10, 1024)
B.[10, 1024]
C.(11, 1024)
D.[11, 1024]
【正确答案】:D
【试题解析】:
本题分三种情况,第一种1024个结点排列成单枝树,即非叶子结点只有一个孩子的树。该二叉树的高度为1024。第二种情况是完全二叉
树的情况,根据二叉树特性:具有n个结点的完全二叉树的深度为?log2n?+1,可得二叉树深度为11。第三种情况是非完全二叉树,层数在
12-1023之间。综上所述,该二叉树的层数是整数区间 [11, 1024]中的任一值。
第 60 题:单选题(本题1分)
n个关键码构成的序列{k1,k2, ...kn,}当且仅当满足下列关系时称其为堆。 以下关键码序列中,( ) 不是堆。
A.15,25, 21,53,73, 65,33
B.15,25, 21,33, 73, 65,53
C.73, 65, 25, 21, 15,53, 33
D.73, 65, 25,33, 53,15, 21
【正确答案】:C
【试题解析】:
将一个一维数组看成是一棵完全二叉树,如果该完全二叉树中所有非终端结点的值均不小于其左、右孩子结点的值,则称之为大顶
(根)堆。如果该完全二叉树中所有非终端结点的值均不大于其左、右孩子结点的值,则称之为小顶(根)堆。将选项C的数组构造成完
全二叉树,显然是不满足堆的条件的。如下图所示。
第 61 题:单选题(本题1分)
对有向图G进行拓扑排序得到的拓扑序列中,顶点Vi在顶点Vj之前,则说明G中( )。
A.一定存在有向弧image.pngVi, Vj>
B.一定不存在有向弧image.pngVj, Vi>
C.可能存在从Vi到Vj的路径
D.必定存在从Vj到Vi的路径
【正确答案】:C
【试题解析】:
如下图所示有向图,顶点V0在顶点V3之前,且并无有向弧image.pngV0,V2>,image.pngV2,V3>的路径。左图V1到V2并无路径,右图
V2到V1没有路径。
第 62 题:单选题(本题1分)
归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度
为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了(作答此空)算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为( )。
A.分治
B.动态规划
C.贪心
D.回溯
【正确答案】:A
【试题解析】:
归并排序将问题先分解、再处理、再合并的方式采用了分治法的思想。
第 63 题:单选题(本题1分)
归并排序算法在排序过程中,将待排序数组分为两个大小相同的子数组,分别对两个子数组采用归并排序算法进行排序,排好序的两个子数组采用时间复杂度
为O(n)的过程合并为一个大数组。根据上述描述,归并排序算法采用了( )算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为(作答此空)。
【正确答案】:C
【试题解析】:
归并排序将问题先分解、再处理、再合并的方式采用了分治法的思想。
第 64 题:单选题(本题1分)
已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman 编码,则该文件中字符a和c的码长分别为 (作答此空)。若采用Huffman编码,则字符序
列110001001101”的编码应为 ( )。
A.1和3
B.1和
4
C.3和3
D.3和
4
【正确答案】:A
【试题解析】:
根据题意构造哈夫曼树如下。6个字符的编码分别是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100
第 65 题:单选题(本题1分)
已知一个文件中出现的各字符及其对应的频率如下表所示。采用Huffman 编码,则该文件中字符a和c的码长分别为 ( )。若采用Huffman编码,则字符序列
110001001101”的编码应为 (作答此空)。
A.face
B.bace
C.acde
D.fade
【正确答案】:A
【试题解析】:
根据题意构造哈夫曼树如下。6个字符的编码分别是:a:0,b:101 ,c:100 ,d:111, e:1101,f:1100
第 66 题:单选题(本题1分)
用户在电子商务网站上使用网上银行支付时,必须通过( )在Internet与银行专用网之间进行数据交换。
A.支付网关
B.防病毒网关
C.出口路由器
D.堡垒主机
【正确答案】:A
【试题解析】:
支付网关可以将Internet上传输的数据转换为银行专用网数据,是金融网络系统与Internet网络之间的接口。
第 67 题:单选题(本题1分)
ARP 报文分为ARP Request和ARP Response,其中ARP Request采用(作答此空)进行传送,ARP Response采用( ) 进行传送。
A.广播
B.组播
C.多播
D.单播
【正确答案】:A
【试题解析】:
ARP request报文用来获取目的主机的MAC地址,ARP request报文采用广播的方式在网络上传送,该网络中所有主机包括网关都会接受到
此ARP request 报文。接收到报文的目的主机会返回一个ARP Response报文来响应,ARP Response报文是以单播的方式传送的。
第 68 题:单选题(本题1分)
ARP 报文分为ARP Request和ARP Response,其中ARP Request采用( )进行传送,ARP Response采用(作答此空) 进行传送。
A.广播
B.组播
C.多播
D.单播
【正确答案】:D
【试题解析】:
ARP request报文用来获取目的主机的MAC地址,ARP request报文采用广播的方式在网络上传送,该网络中所有主机包括网关都会接受到
此ARP request 报文。接收到报文的目的主机会返回一个ARP Response报文来响应,ARP Response报文是以单播的方式传送的。
第 69 题:单选题(本题1分)
下面的标记对中人 ( )用于表示网页代码的起始和终止。
A.image.pnghtml>image.png/html>
B.image.pnghead>image.png/head>
C.image.pngbody>image.png/body>
D.image.pngmeta> image.png/meta>
【正确答案】:A
【试题解析】:
image.pnghead>image.png/head>表示文档的头部标签。如文档的标题,以及、脚本、样式、meta 信息以及其他更多的信息。
image.pngbody>image.png/body>表示文档的内容,比如文本、超链接、图像、表格和列表等等。image.pngmeta> image.png/meta>表示
HTML 文档的元数据,主要包括网页的描述,关键词,文件的最后修改时间,作者及其他元数据。image.pnghtml>image.png/html>用于表
示网页代码的起始和终止。
第 70 题:单选题(本题1分)
以下对于路由协议的叙述中,错误的是( )。
A.路由协议是通过执行一个算法来完成路由选择的一种协议
B.动态路由协议可以分为距离向量路由协议和链路状态路由协议
C.路由协议是一种允让许数据包在主机之间传送信息的一种协议
D.路由器之间可以通过路由协议学习网络的拓扑结构
【正确答案】:C
【试题解析】:
选项C 路由协议是一种允让许数据包在路由器之间传送信息的一种协议。
第 71 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.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, how the software is deployed and providing ( ) support through the cloudwhile the
software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the 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 upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.focus
B.process
C.goal
D.function
【正确答案】:A
第 72 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.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, how the software is deployed and providing (作答此空) support through the cloudwhile the
software is continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the 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 upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.developing
B.deploying
C.training
D.operational
【正确答案】:D
第 73 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.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, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually (作答此空) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works
on computer applications, but manages the 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 upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.developeD.
B.functional
C.constructeD.
D.secure
【正确答案】:B
第 74 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.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, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on
computer applications, but manages the building, deployment and operation as a(作答此空) autormated process. Software engineers often work separately from the
o
perations side of a business. They create the software a business client needs and then monitor the performance of their software products to determine if upgrades are
necessary or if more serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to ( ) software tosmoothly
function with automated processes. Both professions require knowledge of computer programming languages.
A.single
B.whole
C.continuous
D.independent
【正确答案】:C
第 75 题:单选题(本题1分)
DerOps is a continuous simplification process of maintaining a delicate balance among functionality, usability and security of a software both in terms of its development and
oprations. Software engineering is the application of diverse engineering approaches towards the development of software.The roles and responsibilities of DevOps and
software development overlap in many arcas.so it is easier to get confused between the two.Lets look at this comparison in term of work roles.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, how the software is deployed and providing ( ) support through the cloudwhile the software is
continually ( ) .A software engineer creates computer programs for people to use based upon their security and functionality needs. A DevOps engineer also works on
computer applications, but manages the 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 upgrades are necessary or if more
serious improvements are needed. DevOps engineers work with the operational side of a business and manage the workflow to (作答此空) software tosmoothly function with
automated processes. Both professions require knowledge of computer programming languages.
A.develop
B.integrate
C.analyse
D.maintain
【正确答案】:B
第 1 题:解析题(本题1分)
【说明】某现代农业种植基地为进一步提升农作物种植过程的智能化,欲开发智慧农业平台,集管理和销售于一体,该平台的主要功能有:
1.信息维护。农业专家对农作物、环境等监测数据的监控处理规则进行维护。
2.数据采集。获取传感器上传的农作物长势、土壤墒情、气候等连续监测数据,解析后将监测信息进行数据处理、可视化和存储等操作。
3.数据处理。对实时监测信息根据监控处理规则进行监测分析,将分析结果进行可视化并进行存储、远程控制对历史监测信息进行综合统计和预测,将预测信息
进行可视化和存储。
4.远程控制。根据监控处理规则对分析结果进行判定,依据判定结果自动对控制器进行远程控制。平台也可以根据农业人员提供的控制信息对控制器进行远程控
制。
5.可视化。实时向农业人员展示监测信息:实时给农业专家展示统计分析结果和预测信息或根据农业专家请求进行展示。
现采用结构化方法对智慧农业平台进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。
【问题1】(4分)
使用说明中的词语,给出图1-1中的实体E1~E4的名称。
【问题2】(4分)
使用说明中的词语,给出图1-2中的数据存储D1~D4的名称。
【问题3】(4分)
根据说明和图中术语,补充图1-2中缺失的数据流及其起点和终点。
【问题4】(3分)
根据说明,“数据处理”可以分解为哪些子加工?进一步进行分解时,需要注意哪三种常见的错误?
【试题解析】:
【问题1】(4分)
E1:传感器;E2:农业专家;E3:农业人员;E4:控制器
【问题2】(4分)
D1:监控处理规则文件 D2:监测信息表 D3:分析结果文件 D4:预测信息表
【问题3】(4分)
起点D1,终点P4,规则起点E2,终点P5,请求
起点D3,终点P5,分析结果
起点D4,终点P5,预测信息
【问题4】(3分)
数据处理加工分为数据分析,可视化与存储;
黑洞、奇迹、灰洞
第
2 题:解析题(本题1分)
某汽车维修公司为了便于管理车辆的维修情况,拟开发一套汽车维修管理系统,请根据下述需求描述完成该系统的数据库设计。
【需求描述】
(1)客户信息包括:客户号、客户名、客户性质、折扣率、联系人、联系电话。客户性质有个人或单位。客户号唯一标识客户关系中的每一个元组。
(2)车辆信息包括:车牌号、车型、颜色和车辆类别。一个客户至少有一辆车,一辆车只属于一个客户。
(3)员工信息包括:员工号、员工名、岗位、电话、家庭住址。其中,员工号唯一标识员工关系中的每一个元组。岗位有业务员、维修工、主管。业务员根据车
辆的故障情况填写维修单。
(4)部门信息包括:部门号、名称、主管和电话,其中部门号唯一-确定部门关系的每一个元组。每个部门只有一名主管,但每个部门有多名员工,每名员工只属
于一个部门。
(5)维修单信息包括:维修单号、车牌号、维修内容、工时。维修单号唯一标识维修单关系中的每一个元组。一个维修工可接多张维修单,但一张维修单只对应一
个维修工。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图,如图2-1所示
【逻辑结构设计】
根据概念模型设计阶段完成的实体联系图,得出如下关系模式:
客户(客户号,客户名,(a);折扣率,联系人,联系电话)
车辆(车牌号,(b),车型,颜色,车辆类别)
员工(员工号,员工名,岗位,(c),电话,家庭住址)
部门(部门号,名称,主管,电话)
维修单(维修单号,(d),维修内容,工时)
【问题1】(6分)
根据问题描述,补充3个联系,完善图2-1的实体联系图。联系名可用联系1、联系2和联系3代替,联系的类型为1:1、1:n和m:n(或1:1、1:*和*.*)。
【问题2】(4分)
根据题意,将关系模式中的空(a)~(d)的属性补充完整,并填入答题纸对应的位置上。
【问题3】(2分)
分别给出车辆关系和维修单关系的主键与外键。
【问题4】(3分)
如果一张维修单涉及多项维修内容,需要多个维修工来处理,那么哪个联系类型会发生何种变化?你认为应该如何解决这一问题?
【试题解析】:
【问题1】(6分)
联系1:客户和车辆,1:1
联系2:部门和员工,1:n
联系3:维修工和维修单,1:n
【问题2】(4分)
a:客户性质 b:客户号c:部门号d:车牌号,员工号
【问题3】(2分)
车辆关系的主键:(车辆号,客户号)外键:客户号
维修单关系的主键:维修单号外键:车牌号,员工号
【问题4】(3分)
维修工和维修单之间的联系类型会发生变化,从1:n变成m:n。
第 3 题:解析题(本题1分)
某游戏公司欲开发一款吃金币游戏。游戏的背景为一种回廊式迷宫(Maze),在迷宫的不同位置上设置有墙。迷宫中有两种类型的机器人(Robos):小精灵(PacMan)和
幽灵(Ghost)。游戏的目的就是控制小精灵在迷宫内游走,吞吃迷宫路径上的金币,且不能被幽灵抓到。幽灵在迷宫中游走,并会吃掉遇到的小精灵。机器人游
走时,以单位距离的倍数计算游走路径的长度。当迷宫中至少存在一个小精灵和一个幽灵时,游戏开始。
机器人上有两种传感器,使机器人具有一定的感知能力。这两种传感器分别是:
(1)前向传感器(FrontSensor),探测在机器人当前位置的左边、右边和前方是否有墙(机器人遇到墙时,必须改变游走方向)。机器人根据前向传感器的探测结果,
决定朝哪个方向运动。
(2)近距离传感器(ProxiSesor),探测在机器人的视线范围内(正前方)是否存在隐藏的金币或幽灵。近距离传感器并不报告探测到的对象是否正在移动以及朝哪个方
向移动。但是如果近距离传感器的连续两次探测结果表明被探测对象处于不同的位置,则可以推导出该对象在移动。
另外,每个机器人都设置有一个计时器(Timer),用于支持执行预先定义好的定时事件。
机器人的动作包括:原地向左或向右旋转90°;向前或向后移动。
建立迷宫:用户可以使用编辑器(Editor) 编写迷宫文件,建立用户自定义的迷宫。将迷宫文件导入游戏系统建立用户自定义的迷宫。
现采用面对家分析与设计方法开发该游戏,得到如图3-1所示的用例图以及图3-2所示的初始类图。
【问题1】(3分)
根据说明中的描述,给出图3-1中U1~U3所对应的用例名。
【问题2】(4分)
图3-1中用例U1~U3分别与哪个(哪些)用例之间有关系,是何种关系?
【问题3】(8分)
根据说明中的描述,给出图3-2中C1~C8所对应的类名。
【试题解析】:
【问题1】(3分)
U1编写迷宫文件;U2导入迷宫文件;U3设置计时器
【问题2】(4分)
U1和U2与建立迷宫用例是泛化关系;U3与操作机器人是包含关系
【问题3】(8分)
C1 机器人(Robos);
C2 计时器(Timer);
C3小精灵(PacMan);
C4幽灵(Ghost)
C5 传感器;
C6 前向传感器(FrontSensor)
C7 近距离传感器(ProxiSesor) ;
C8 迷宫(Maze)
其中C3与C4可换;C6与C7可换
第
4 题:解析题(本题1分)
生物学上通常采用编辑距离来定义两个物种DNA序列的相似性,从而刻画物种之间的进化关系。具体来说,编辑距离是指将首一个字符串变换为另一个字符所需
要的最小操作次数。操作有三种,分别为:插入一个字符、删除一个字符以及将一个字符修改为另 一个字符。用字符数组str1和str2分别表示长度分别为len1和len2
的字符串,定义二维数组d记录求解编辑距离的子问题最优解,则该二维数组可以递归定义为:
C代码
下面是算法的C语言实现。
(1)常量和变更说明
A,B:两个字符数组
d:二维数组
i,j:循环变量
temp:临时变量
(2)C程序
#include<stdio.h>
#define N 100
return ( 4 );
}
【问题1】 (8分)
根据说明扣C代码,填充C代码中的空(1)~(4)的。
【问题2】 (4分)
根据说明和C代码,算法采用了(5)设计策略,时间复杂度为(6)(用
O符号表示,两个字符串的长度分别用m
和
n表示)。
【问题3】 (3分)
已知两个字符串A="CTGA"和B="ACGCTA",根据说明和C代码,可得出这两个字符串的编辑距离为(7)。
【试题解析】:
【问题1】
(1) d[0][j]=j
(2)str1[i-1]==str2[j-1]
(3)d[i-1][i-1]
(4) d[len1][len2]
【问题2】
(5)动态规划法
(6)0(m*n)
【问题3】
(7)4
第 5 题:解析题(本题1分)
享元(flyweight)模式主要用于减少创建对象的数量,以降低内存占用,提高性能。现要开发一个网络围棋程序,允许多个玩家联机下棋。由于只有一台服务器,为
节省内存空间,采用享元模式实现该程序,得到如图5-1所示的类图。
C++代码
#include <iostream>
#include <vector>
using 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{ //棋子定义
piece=new BlackPiece(color,pos); //获取一颗黑子
count<<m_blackName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";
( 4 );
}else{ //放白子
piece=new WhitePiece(color,pos); //获取一颗白子
count<<m_whiteName <<"在位置(" <<pos.getX() <<","<<pos.getY()<< ")";
( 5 );
}
m_vecPiece.push_back(piece);
}
};
【试题解析】:
(1) virtual void DrawO {}
(2) Piece*
(3) Piece *
(4) piece->Draw0
(5) piece->Draw0
第 6 题:解析题(本题1分)
享元(flyweight)模式主要用于减少创建对象的数量,以低内存占用,提高性能。现要开发一个网络围棋程序允许多个玩家联机下棋。由于只有一台服务器,为节
内存空间,采用享元模式实现该程序,得到如图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 getX0{retun x;}
public int getYO{return y;}
}
abstract class Piece{//棋子定义
protected PieceColor m_color;//颜色
protected Piecemopos m_pos;//位置
public Piece(PieceColor,color PiecePos
pos){m color=color;
{:sod=sod u
(1);
}
class BlackPiece extends Piece{
public BlackPiece(PieceColor
color,PiecePos pos){super(color,pos);}
public void drawO{
System out println("draw a black
piece");}
}
class WhitePiece extends Piece{
public WhitePiece(PieceColor
color,PiecePos pos){super(c
olor,pos):}
public void draw0{
System.out.println("draw a white
piece");
}
{
class PieceBoard{
//棋盘上已有的棋子
private static final
ArrayList<(2)>m_arrayPiece=new Arra
yList
private String m_blackName;//黑方名称
private String m_whiteName;//白方名称
public PieceBoard(String black,String
white){
m_blackName=black;m_whiteName=white;
}
//一步棋,在棋盘上放一颗棋子
public void SetePiece(PieceColor
color,PiecePos pos){
(3)piece=null;
if(color==PieceColor.BLACK)(//放黑子
piece=new BlackPiece(color,pos);//获取一颗黑子
System.out.println(m_blackName+"在位置("+pos.getX0)
+","+pos.getYO+")");
(4):
{
else{//放白子
piece=new WhitePiece(color,pos);//获取一颗白子
System.out.println(m whiteName+"在位置("+pos.getX0)+
","+pos.getYO+")");
(5):
}
m_arrayPiece.add(piece);
}
}
【试题解析】:
(1)public abstract void draw( )
(2)Piece
(3)Piece
(4)piece.draw( )
(5)piece.draw( )
【软件设计师历年真题】相关文章:
历年自考真题10-09
职称英语历年真题《综合A》词汇选项真题09-24
基金销售从业考试历年真题03-18
雅思历年真题作文(精选22篇)03-27
历年考研英语阅读理解真题09-22
考研英语阅读理解历年真题09-27
考研英语一历年真题「2016」01-21
江苏自考历年真题(精选10篇)09-24
小学教资历年真题试卷10-12
大学英语四级真题试卷历年真题及答案10-11