软件设计师-2020年下半年综合知识真题解析【上篇】

四季读书网 1 0
软件设计师-2020年下半年综合知识真题解析【上篇】
【第 1 】(:选择题)
题目:在程序执行过程中,高速缓存 (Cache) 与主存间的地址映射由(1)。
A. 操作系统进行管理
B. 存储管理软件进行管理
C. 程序员自行安排
D. 硬件自动完成
【答案】D
高速缓存(Cache)是为了解决 CPU 和主存之间速度不匹配的问题而引入的,它与主存之间的地址映射是由硬件自动完成的,不需要操作系统、软件或程序员干预,这样才能保证高速的访问效率。
【第 2 题】(题型:选择题)
题目:计算机中提供指令地址的程序计数器 PC 在 (2) 中。
A. 控制器   B. 运算器   C. 存储器   D. I/O 设备
【答案】A
【解析】
控制器是计算机的指挥中心,负责控制程序的执行,程序计数器(PC)是控制器中的关键部件,用于存储下一条要执行的指令的地址,控制器通过 PC 获取指令地址并依次执行指令。运算器负责算术和逻辑运算,存储器负责存储数据和指令,I/O 设备负责输入输出。
【第 3 题】(题型:选择题)
题目:以下关于两个浮点数相加运算的叙述中,正确的是 (3) _。
A. 首先进行对阶,阶码大的向阶码小的对齐
B. 首先进行对阶,阶码小的向阶码大的对齐
C. 不需要对阶,直接将尾数相加
D. 不需要对阶,直接将阶码相加
【答案】B
【解析】
浮点数相加的步骤为:首先进行对阶操作,原则是阶码小的向阶码大的对齐,通过将阶码较小的浮点数的尾数右移,同时增大其阶码,直到两个浮点数的阶码相同,然后再进行尾数相加,最后进行规格化和舍入处理。如果阶码大的向阶码小的对齐,会导致尾数左移,丢失高位有效数字,精度损失更大。
【第 4-5 题】(题型:选择题)
题目:某计算机系统的 CPU 主频为 2.8GHz。某应用程序包括 3 类指令,各类指令的 CPI (执行每条指令所需要的时钟周期数) 及指令比例如下表所示。执行该应用程序时的平均 CPI 为 (4) ; 运算速度用 MIPS 表示,约为 (5) 。
软件设计师-2020年下半年综合知识真题解析【上篇】 第1张
(4) A.2.5  B.3  C.3.5  D.4
(5) A.700  B.800  C.930  D.1100
【答案】(4) C;(5) B
【解析】
(4) 平均 CPI 计算公式为各类指令的 CPI 乘以对应比例之和:
平均 CPI = 35%×4 + 45%×2 + 20%×6 = 0.35×4 + 0.45×2 + 0.2×6 = 1.4 + 0.9 + 1.2 = 3.5
(5) MIPS(百万条指令每秒)计算公式为:主频(Hz)/(平均 CPI×10^6)
主频 2.8GHz=2.8×10^9Hz,代入得:
MIPS = (2.8×10^9)/(3.5×10^6) = 800
【第 6 题】(题型:选择题)
题目:中断向量提供 (6) _。
A. 函数调用结束后的返回地址
B. I/O 设备的接口地址
C. 主程序的入口地址
D. 中断服务程序入口地址
【答案】D
【解析】
中断向量是中断服务程序的入口地址,当系统发生中断时,硬件会根据中断类型找到对应的中断向量,从而跳转到对应的中断服务程序执行。函数调用返回地址由栈保存,I/O 设备接口地址是设备的物理地址,主程序入口地址是程序启动时的初始地址。
【第 7 题】(题型:选择题)
题目:以下关于认证和加密的叙述中,错误的是 (7) 。
A. 加密用以确保数据的保密性
B. 认证用以确保报文发送者和接收者的真实性
C. 认证和加密都可以阻止对手进行被动攻击
D. 身份认证的目的在于识别用户的合法性,阻止非法用户访问系统
【答案】C
【解析】
被动攻击是指攻击者窃听、获取数据但不修改数据,加密可以通过对数据加密,使攻击者无法理解数据内容,从而阻止被动攻击;而认证主要是验证身份和数据完整性,无法阻止被动攻击,因为攻击者仍然可以窃听认证过程中的报文,只是无法伪造或篡改。A、B、D 选项的描述均正确。
【第 8 题】(题型:选择题)
题目:访问控制是对信息系统资源进行保护的重要措施,适当的访问控制能够阻止未经授权的用户有意或无意地获取资源。计算机系统中,访问控制的任务不包括 (8) 。
A. 审计   B. 授权   C. 确定存取权限   D. 实施存取权限
【答案】A
【解析】
访问控制的核心任务包括:授权(赋予用户访问权限)、确定存取权限(定义用户对资源的操作权限)、实施存取权限(验证用户权限并执行访问控制)。审计属于安全审计范畴,是对访问行为的记录和审查,不属于访问控制的直接任务。
【第 9 题】(题型:选择题)
题目:路由协议称为内部网关协议,自治系统之间的协议称为外部网关协议,以下属于外部网关协议的是_(9) 。
A.RIP  B.OSPF  C.BGP  D.UDP
【答案】C
【解析】
内部网关协议(IGP)用于自治系统(AS)内部的路由,常见的有 RIP(路由信息协议)、OSPF(开放式最短路径优先);外部网关协议(EGP)用于自治系统之间的路由,BGP(边界网关协议)是典型的外部网关协议。UDP 是传输层协议,不属于路由协议。
【第 10 题】(题型:选择题)
题目:所有资源只能由授权方或以授权的方式进行修改,即信息未经授权不能进行改变的特性是指信息的 (10) 。
A. 完整性  B. 可用性  C. 保密性  D. 不可抵赖性
【答案】A
【解析】
信息安全的基本特性:
完整性:信息未经授权不能被修改、破坏,保证数据的一致性
可用性:授权用户可以随时访问所需资源
保密性:信息不被未授权用户获取
不可抵赖性:用户无法否认自己的操作行为
题目描述的是信息不能被未经授权修改,属于完整性特性。
【第 11 题】(题型:选择题)
题目:在 Windows 操作系统下,要获取某个网络开放端口所对应的应用程序信息,可以使用命令 (11) 。
A.ipconfig  B.traceroute  C.netstat  D.nslookup
【答案】C
【解析】
ipconfig:用于查看本地网络配置信息,如 IP 地址、子网掩码等
traceroute:用于跟踪数据包的路由路径(Windows 下为 tracert)
netstat:用于显示网络连接、路由表、端口占用等信息,使用netstat -ano可以查看端口对应的进程 ID,进而找到应用程序
nslookup:用于查询域名对应的 IP 地址
【第 12 题】(题型:选择题)
题目:甲、乙两个申请人分别就相同内容的计算机软件发明创造,向国务院专利行政部门提出专利申请,甲先于乙一日提出,则 (12) _。
A. 甲获得该项专利申请权
B. 乙获得该项专利申请权
C. 甲和乙都获得该项专利申请权
D. 甲和乙都不能获得该项专利申请权
【答案】A
【解析】
我国专利申请遵循 “先申请原则”,即两个以上的申请人分别就同样的发明创造申请专利的,专利权授予最先申请的人。甲先于乙提出申请,因此甲获得专利申请权。
【第 13 题】(题型:选择题)
题目:小王是某高校的非全日制在读研究生,目前在甲公司实习,负责了该公司某软件项目的开发工作并撰写相关的软件文档。以下叙述中,正确的是 (13) 。
A. 该软件文档属于职务作品,但小王享有该软件著作权的全部权利
B. 该软件文档属于职务作品,甲公司享有该软件著作权的全部权利
C. 该软件文档不属于职务作品,小王享有该软件著作权的全部权利
D. 该软件文档不属于职务作品,甲公司和小王共同享有该著作权的全部权利
【答案】B
【解析】
职务作品是指公民为完成法人或者其他组织工作任务所创作的作品。小王在甲公司实习期间,为完成公司的软件项目撰写的软件文档属于职务作品。对于主要利用法人或者其他组织的物质技术条件创作,并由法人或者其他组织承担责任的职务作品,作者享有署名权,著作权的其他权利由法人或者其他组织享有。软件文档属于此类职务作品,因此甲公司享有除署名权外的全部著作权,选项 B 表述最准确。
【第 14 题】(题型:选择题)
题目:按照我国著作权法的权利保护期,以下权利中,(14) 受到永久保护。
A. 发表权  B. 修改权  C. 复制权  D. 发行权
【答案】B
【解析】
我国著作权法规定:
作者的署名权、修改权、保护作品完整权的保护期不受限制,永久保护
发表权、复制权、发行权等财产权利的保护期为作者终生及其死亡后 50 年
因此修改权受到永久保护。
【第 15 题】(题型:选择题)
题目:结构化分析方法中,数据流图中的元素在 (15) 中进行定义。
A. 加工逻辑  B. 实体联系图   C. 流程图  D. 数据字典
【答案】D
【解析】
结构化分析方法的核心文档包括数据流图(DFD)和数据字典(DD):
数据流图用于描述系统的数据流和加工过程
数据字典用于对数据流图中的所有元素(数据流、加工、数据存储、外部实体)进行详细定义,包括名称、含义、结构等
加工逻辑是对 DFD 中加工的具体描述,实体联系图用于数据库设计,流程图用于描述程序逻辑,均不负责定义 DFD 元素。
【第 16 题】(题型:选择题)
题目:良好的启发式设计原则上不包括 (16) _。
A. 提高模块独立性
B. 模块规模越小越好
C. 模块作用域在其控制域之内
D. 降低模块接口复杂性
【答案】B
【解
软件设计的启发式原则包括:
提高模块独立性(高内聚低耦合)
模块规模适中,不是越小越好,过小的模块会导致模块数量过多,增加接口复杂度和系统开销
模块作用域(受该模块内判定影响的模块集合)应在其控制域(该模块本身及所有直接或间接从属的模块)之内
降低模块接口复杂性,接口应简洁、清晰
因此 “模块规模越小越好” 不属于良好的设计原则。
【第 17-18 题】(题型:选择题)
题目:如下所示的软件项目活动图中,顶点表示项目里程碑,连接顶点的边表示包含的活动,边上的权重表示活动的持续时间 (天), 则完成该项目的最短时间为 (17) 天。在该活动图中,共有 (18) 条关键路径。
软件设计师-2020年下半年综合知识真题解析【上篇】 第2张

(17) A. 17   B. 19   C.20    D. 22

(18) A.1    B.2    C.3    D.4

【答案】(17) D;(18) B
【解析】

关键路径ABFJL、ADGIJL。

【第 19 题】(题型:选择题)
题目:软件项目成本估算模型 COCOMO Ⅱ 中,体系结构阶段模型基于 (19) 进行估算。
A. 应用程序点数量
B. 功能点数量
C. 复用或生成的代码行数
D. 源代码的行数
【答案】D
【解析】
COCOMO Ⅱ 模型分为三个阶段:
体系结构阶段:基于功能点数量进行估算,此时系统的需求和体系结构已基本确定,但尚未开始编码
详细设计阶段:基于复用或生成的代码行数进行估算
编码阶段:基于源代码的行数进行估算
应用程序点数量不是 COCOMO Ⅱ 的估算依据。
【第 20 题】(题型:选择题)
题目:某表达式的语法树如下图所示,其后缀式 (逆波兰式) 是 (20) _。
语法树结构:根节点为 *,左子节点为 +,右子节点为 d;+ 的左子节点为 -,右子节点为 c;- 的左子节点为 a,右子节点为 b。
软件设计师-2020年下半年综合知识真题解析【上篇】 第3张
A.abcd-+*   B.ab-c+d*    C.abc-d*+    D.ab-cd+*
【答案】C
【解析】
后缀式(逆波兰式)的生成方法是对语法树进行后序遍历:
后缀式即依次遍历左子树、右子树、根,是abc-d*+历年后缀式(逆波兰式)。
【第 21 题】(题型:选择题)
题目:用 C/C++ 语言为某个应用编写的程序,经过 (21) 后形成可执行程序。
A. 预处理、编译、汇编、链接
B. 编译、预处理、汇编、链接
C. 汇编、预处理、链接、编译
D. 链接、预处理、编译、汇编
【答案】A
【解析】
C/C++ 程序的编译过程为:
预处理:处理 #define、#include 等预编译指令,生成预处理后的源文件
编译:将预处理后的源文件编译为汇编代码
汇编:将汇编代码转换为机器语言目标文件(.obj)
链接:将多个目标文件和库文件链接在一起,生成可执行程序
【第 22 题】(题型:选择题)
题目:在程序的执行过程中,系统用_ (22) 实现嵌套调用 (递归调用) 函数的正确返回。
A. 队列   B. 优先队列   C. 栈   D. 散列表
【答案】C
【解析】
栈的特点是后进先出(LIFO),函数嵌套调用时,每次调用函数都将返回地址和局部变量压入栈中,函数返回时从栈顶弹出返回地址,从而实现正确的嵌套和递归返回。队列是先进先出,优先队列是按优先级排序,散列表用于快速查找,均不适合实现函数嵌套调用的返回。
【第 23 题】(题型:选择题)
题目:假设系统中有三个进程 P1、P2 和 P3,两种资源 R1、R2。如果进程资源图如图①和图②所示,那么_ (23) 。
软件设计师-2020年下半年综合知识真题解析【上篇】 第4张
A. 图①和图②都可化简
B. 图①和图②都不可化简
C. 图①可化简,图②不可化简
D. 图①不可化简,图②可化简
【答案】C
【解析】
进程资源图的化简是判断死锁的方法,可化简说明没有死锁,不可化简说明存在死锁:
图①:P1 已获取 R1,等待 R2;P2 已获取 R2,等待 R1;P3 没有资源也没有等待。此时可以先让 P3 完成(无资源需求),释放资源后,P1 或 P2 可以获取所需资源并完成,因此图①可化简,无死锁。
图②:P1 已获取 R1,等待 R2;P2 已获取 R2,等待 R1;P3 获取了 R1,等待 R2。此时所有进程都处于等待状态,没有进程可以先完成,资源无法释放,因此图②不可化简,存在死锁。
【第 24 题】(题型:选择题)
题目:假设计算机系统的页面大小为 4K,进程 P 的页面变换表如下表所示。若 P 要访问的逻辑地址为十六进制 3C20H,那么该逻辑地址经过地址变换后,其物理地址应为 (24) 。
软件设计师-2020年下半年综合知识真题解析【上篇】 第5张
A.2048H   B.3C20H   C.5C20H   D.6C20H
【答案】C
【解析】
页面大小为 4K=4096 字节 = 0x1000H,逻辑地址 3C20H 的页号计算为:3C20H >> 12 = 3(十六进制 3),页内偏移为 3C20H & 0xFFF = 0xC20H。
根据页面变换表,页号 3 对应的物理块号为 5,物理块号的起始地址为 5×0x1000=0x5000H,加上页内偏移 0xC20H,物理地址为 0x5000+0xC20=0x5C20H。
【第 25-26 题】(题型:选择题)
题目:某文件系统采用索引节点管理,其磁盘索引块和磁盘数据块大小均为 1KB 字节且每个文件索引节点有 8 个地址项 i_addr [0]~i_addr [7],每个地址项大小为 4 字节,其中 i_addr [0]~i_addr [4] 采用直接地址索引,i_addr [5] 和 i_addr [6] 采用一级间接地址索引,i_addr [7] 采用二级间接地址索引。若用户要访问文件 userA 中逻辑块号为 4 和 5 的信息,则系统应分别采用 (25) _, 该文件系统可表示的单个文件最大长度是 (26) KB。
(25) A. 直接地址访问和直接地址访问
B. 直接地址访问和一级间接地址访问
C. 一级间接地址访问和一级间接地址访问
D. 一级间接地址访问和二级间接地址访问
(26) A.517   B.1029   C.65797   D.66053
【答案】(25) B;(26) D
【解
(25) 直接地址索引 i_addr [0]~i_addr [4] 对应逻辑块号 0~4,因此逻辑块号 4 采用直接地址访问;逻辑块号 5 超出直接地址索引范围,对应 i_addr [5] 的一级间接地址访问。
(26) 计算单个文件最大长度:
直接地址:5 个地址项,每个对应 1KB 数据块,共 5×1=5KB
一级间接地址:每个索引块大小 1KB,每个地址项 4 字节,因此每个索引块可存储 1KB/4B=256 个地址项,2 个一级间接地址项,共 2×256×1=512KB
二级间接地址:每个一级索引块可存储 256 个地址项,每个地址项对应一个二级索引块,每个二级索引块可存储 256 个数据块地址,因此二级间接地址可存储 256×256×1=65536KB
总最大长度 = 5+512+65536=66053KB
【第 27 题】(题型:选择题)
题目:假设系统有 n (n≥5) 个进程共享资源 R 且资源 R 的可用数为 5。若采用 PV 操作,则相应的信号量 S 的取值范围应为 (27) _。
A.-1~n-1  B.-5~5  C.-(n-1)~1  D.-(n-5)~5
【答案】D
【解析】
信号量 S 的初始值为资源可用数 5;
当所有进程都申请资源时,最多有 n 个进程申请,每个进程申请 1 个资源,此时信号量 S=5-n=-(n-5);
当没有进程申请资源时,信号量 S=5;
因此信号量 S 的取值范围为 -(n-5)~5。
【第 28 题】(题型:选择题)
题目:在支持多线程的操作系统中,假设进程 P 创建了线程 T1、T2 和 T3,那么以下叙述中错误的是_(28) 。
A. 线程 T1、T2 和 T3 可以共享进程 P 的代码
B. 线程 T1、T2 可以共享 P 进程中 T3 的栈指针
C. 线程 T1、T2 和 T3 可以共享进程 P 打开的文件
D. 线程 T1、T2 和 T3 可以共享进程 P 的全局变量
【答案】B
【解析】
线程是进程内的执行单元,同一进程的线程共享进程的资源,包括代码段、全局变量、打开的文件等,但每个线程有自己独立的栈空间和栈指针,线程之间不能共享栈指针,否则会导致执行混乱。因此选项 B 错误。
【第 29-30 题】(题型:选择题)
题目:喷泉模型是一种适合于面向 (29) 开发方法的软件过程模型。该过程模型的特点不包括 (30) _。
(29) A. 对象  B. 数据  C. 数据流  D. 事件
(30) A. 以用户需求为动力  B. 支持软件重用
    C. 具有迭代性  D. 开发活动之间存在明显的界限
【答案】(29) A;(30) D
【解析】
(29) 喷泉模型是面向对象开发方法的典型过程模型,它以对象为核心,强调对象的创建和复用。
(30) 喷泉模型的特点包括:以用户需求为动力、支持软件重用、具有迭代性和无间隙性(开发活动之间没有明显的界限,相互重叠),因此选项 D “开发活动之间存在明显的界限” 不属于其特点。
【第 31 题】(题型:选择题)
题目:若某模块内所有处理元素都在同一个数据结构上操作,则该模块的内聚类型为 (31) 。
A. 逻辑  B. 过程  C. 通信  D. 功能
【答案】C
【解析】
模块内聚类型:
逻辑内聚:模块内的处理元素逻辑相关,但功能不同
过程内聚:模块内的处理元素按特定顺序执行
通信内聚:模块内的所有处理元素都操作同一个数据结构或同一组数据
功能内聚:模块内的所有处理元素完成一个单一的功能,是最高内聚类型
题目描述的是所有处理元素在同一个数据结构上操作,属于通信内聚。
【第 32 题】(题型:选择题)
题目:软件质量属性中,(32) 是指软件每分钟可以处理多少个请求。
A. 响应时间  B. 吞吐量  C. 负载  D. 容量
【答案】B
【解析】
软件质量属性中的性能属性:
响应时间:系统对请求做出响应的时间
吞吐量:单位时间内系统处理的请求数量,如每分钟处理的请求数
负载:系统在某种负载级别下的性能表现
容量:系统能够处理的最大负载
题目描述的是每分钟处理的请求数,属于吞吐量。
【第 33 题】(题型:选择题)
题目:提高程序执行效率的方法一般不包括 (33) 。
A. 设计更好的算法
B. 采用不同的数据结构
C. 采用不同的程序设计语言
D. 改写代码使其更紧凑
【答案】D
【解析】
提高程序执行效率的方法包括:
设计更高效的算法,降低时间复杂度
选择合适的数据结构,如用哈希表代替线性查找
选择更高效的程序设计语言,如 C 语言比 Python 执行效率高
改写代码使其更紧凑只是代码风格的变化,不会改变程序的时间复杂度,对执行效率的提升没有实质帮助,甚至可能降低可读性。
【第 34 题】(题型:选择题)
题目:软件可靠性是指系统在给定的时间间隔内、在给定条件下无失效运行的概率。若 MTTF 和 MTTR 分别表示平均无故障时间和平均修复时间,则公式 (34) 可用于计算软件可靠性。
A.MTTF/(1+MTTF)   B.1/(1+MTTF)
C.MTTR/(1+MTTR)   D.1/(1+MTTR)
【答案】A
【解析】
软件可靠性的计算公式为:可靠性 R (t) = MTTF / (MTTF + MTTR),当 MTTR 远小于 MTTF 时,可近似为 MTTF/(1+MTTF)(此处题目选项简化了公式,正确选项为 A)。MTTF 是平均无故障时间,MTTR 是平均修复时间,系统的可用性计算公式为 MTTF/(MTTF+MTTR),可靠性与可用性相关,此处题目选项中 A 为正确答案。
【第 35-36 题】(题型:选择题)
题目:用白盒测试技术对下面流程图进行测试,设计的测试用例如下表所示。至少采用测试用例_ (35) 才可以实现语句覆盖;至少采用测试用例 (36) 才可以实现路径覆盖。
软件设计师-2020年下半年综合知识真题解析【上篇】 第6张
(35) A.①  B.②  C.③  D.④
(36) A.①  B.①②  C.③④  D.①②③④
【答案】(35) A;(36) D
【解析】
(35) 语句覆盖要求执行所有语句,测试用例①:A=2>1 且 B=0,执行 x=x/A,然后流程结束,覆盖了所有语句;测试用例②、③、④都无法覆盖 x=x/A 的语句,因此选择①。
(36) 路径覆盖要求覆盖所有可能的路径,该流程图的路径有:
A>1 AND B=0 → x=x/A → 返回
A>1 AND B=0 为 F,A=2 OR X>1 为 T → x=x+1 → 返回
A>1 AND B=0 为 F,A=2 OR X>1 为 F → 返回
测试用例①覆盖路径 1;测试用例②:A=1 不满足 A>1,B=1 不满足 B=0,A=2 为 F,X=1 不满足 X>1,覆盖路径 3;测试用例③:A=2>1,但 B=1 不满足 B=0,A=2 满足 A=2,覆盖路径 2;测试用例④:A=4>1 且 B=0,执行 x=x/A,覆盖路径 1。因此需要所有 4 个测试用例才能覆盖所有路径。
【第 37 题】(题型:选择题)
题目:面向对象程序设计语言 C++、JAVA 中,关键字_ (37) 可以用于区分同名的对象属性和局部变量名。
A.private   B.protected   C.public   D.this
【答案】D
【解析】
在 C++ 和 Java 中,当对象的属性名与局部变量名重名时,使用this关键字来引用对象的属性,如this.name = name,表示将局部变量 name 的值赋值给对象的 name 属性。private、protected、public 是访问修饰符,用于控制成员的访问权限,不能区分重名变量。
【第 38 题】(题型:选择题)
题目:采用面向对象方法进行系统开发时,以下与新型冠状病毒有关的对象中,存在 “一般一特殊” 关系的是_ (38) 。
A. 确诊病人和治愈病人
B. 确诊病人和疑似病人
C. 医生和病人
D. 发热病人和确诊病人
【答案】D
【解析】
“一般 - 特殊” 关系即继承关系,特殊类是一般类的子类,具有一般类的特征并增加了自己的特征。发热病人是一般类,确诊病人是发热病人中的特殊类(确诊感染新冠的发热病人),属于一般 - 特殊关系。A 选项是病人的不同状态,B 选项是不同的诊断状态,C 选项是不同的角色,均不属于继承关系。
【第 39 题】(题型:选择题)
题目:进行面向对象系统设计时,针对包中的所有类对于同一类性质的变化。一个变化若对一个包产生影响,则将对该包中的所有类产生影响,而对于其他的包不造成任何影响。这属于 (39) 设计原则。
A. 共同重用  B. 开放一封闭  C. 接口分离  D. 共同封闭
【答案】D
【解析】
面向对象设计原则:
共同封闭原则:包中的所有类对于同一类性质的变化应该是共同封闭的,即一个变化只影响一个包,而不影响其他包
共同重用原则:一个包中的所有类应该是共同重用的,要么一起重用,要么都不重用
开放 - 封闭原则:软件实体应该对扩展开放,对修改封闭
接口分离原则:客户端不应该依赖它不需要的接口
【第 40 题】(题型:选择题)
题目:多态有不同的形式,(40) _的多态是指同一个名字在不同上下文中所代表的含义不同。
A. 参数  B. 包含  C. 过载  D. 强制
【答案】C
【解
多态的类型:
参数多态:通过参数化类型实现的多态,如泛型
包含多态:通过继承实现的多态,子类对象可以赋值给父类引用
过载多态(重载):同一个名字在不同上下文中代表不同的含义,如同一类中的多个同名方法,参数列表不同
强制多态:通过类型转换实现的多态
题目描述的是过载多态。
【第 41 题】(题型:选择题)
题目:某类图如图所示,下列选项错误的是 (41) 。
软件设计师-2020年下半年综合知识真题解析【上篇】 第7张
A. 一个 A1 的对象可能与一个 A2 的对象关联
B. 一个 A 的非直接对象可能与一个 A1 的对象关联
C. 类 B1 的对象可能通过 A2 与 C1 的对象关联
D. 有可能 A 的直接对象与 B1 的对象关联
【答案】D
【解析】
A 是抽象类,不能直接实例化,因此不存在 A 的直接对象,选项 D 错误。
选项 A:A1 和 A2 都是 A 的子类,类图中没有限制它们之间的关联,因此可能存在关联;
选项 B:A 的非直接对象即 A 的子类对象(A1 或 A2),类图中 A 与 A1 有关联,因此 A 的非直接对象(A2)可能与 A1 关联;
选项 C:B1 与 A1 关联,A1 与 A 关联,A 与 A2 关联,A2 与 C1 关联,因此 B1 的对象可能通过 A2 与 C1 的对象关联。
【第 42-43 题】(题型:选择题)
题目:UML 图中,对象图展现了 (42) , (43) 所示对象图与下图所示类图不一致。
软件设计师-2020年下半年综合知识真题解析【上篇】 第8张
(42) A. 一组对象、接口、协作和它们之间的关系
B. 一组用例、参与者以及它们之间的关系
C. 某一时刻一组对象以及它们之间的关系
D. 以时间顺序组织的对象之间的交互活动
(43) 
软件设计师-2020年下半年综合知识真题解析【上篇】 第9张
【答案】(42) C;(43) D
【解析】
(42) 对象图是类图的实例,展现了某一时刻一组对象以及它们之间的关系;选项 A 是类图的内容,选项 B 是用例图的内容,选项 D 是序列图的内容。
(43) 类图中 B 的多重度为 1,即一个 A 对象只能关联一个 B 对象,而选项 D 中 a1:A 关联了 b1:B 和 b2:B,违反了类图的多重度约束,因此与类图不一致。
【第 44-47 题】(题型:选择题)
题目:某快餐厅主要制作并出售儿童套餐,一般包括主餐 (各类比萨)、饮料和玩具,其餐品种类可能不同,但制作过程相同。前台服务员 (Waiter) 调度厨师制作套餐。欲开发一软件,实现该制作过程,设计如下所示类图。该设计采用 (44) 模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。其中, (45) 构造一个使用 Builder 接口的对象。该模式属于 (46) 模式,该模式适用于 (47) _的情况。
软件设计师-2020年下半年综合知识真题解析【上篇】 第10张
(44) A. 生成器 (Builder)    B. 抽象工厂 (Abstract Factory)
C. 原型 (Prototype)    D. 工厂方法 (Factory Method)
(45) A.PizzaBuilder   B.SpicyPizzaBuilder   C.Waiter   D.Pizza
(46) A. 创建型对象   B. 结构型对象   C. 行为型对象   D. 结构型类
(47) A. 当一个系统应该独立于它的产品创建、构成和表示时
B. 当一个类希望由它的子类来指定它所创建的对象的时候
C. 当要强调一系列相关的产品对象的设计以便进行联合使用时
D. 当构造过程必须允许被构造的对象有不同的表示时
【答案】(44) A;(45) C;(46) A;(47) D
【解析】
(44) 生成器(Builder)模式的核心是将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示,符合题目描述。抽象工厂模式用于创建一系列相关的产品,原型模式用于通过复制创建对象,工厂方法模式用于通过子类创建对象。
(45) Waiter 类负责调度 Builder 接口的对象,构造复杂对象,即 Waiter 构造一个使用 Builder 接口的对象。
(46) 生成器模式属于创建型设计模式,用于对象的创建。
(47) 生成器模式适用于构造过程必须允许被构造的对象有不同表示的情况,选项 A 是抽象工厂模式的适用场景,选项 B 是工厂方法模式的适用场景,选项 C 是抽象工厂模式的适用场景。
【第 48 题】(题型:选择题)
题目:函数 foo ()、hoo () 定义如下,调用函数 hoo () 时,第一个参数采用传值 (call by value) 方式,第二个参数采用传引用 (call by reference) 方式。设有函数调用 foo (5),那么 “print (x)” 执行后输出的值为 (48) _。
软件设计师-2020年下半年综合知识真题解析【上篇】 第11张
A.24   B.25   C.30   D.36
【答案】A
【解析】
调用 foo (5) 时,args=5,x=6;
调用 hoo (args,x),第一个参数传值,x=5,执行 x=x-1 后 x=4;第二个参数传引用,a 是 foo 中 x 的引用,执行 a=ax=64=24;
返回 foo 后,x 的值变为 24,print (x) 输出 24。
【第 49 题】(题型:选择题)
题目:程序设计语言的大多数语法现象可以用 CFG(上下文无关文法)表示。下面的 CFG 产生式集用于描述简单算术表达式,其中 +、-、* 表示加、减、乘运算,id 表示单个字母表示的变量,那么符合该文法的表达式为 (49) 。
P:E→ E+T|E-T|T
    T→T×F|F
    F→-F|id
A.a+-b-c  B.a*(b+c)  C.a*-b+2  D.-a/b+c
【答案】A
【解析】
根据文法推导:
E 可以推导为 E-T,E 可以推导为 E+T,E 可以推导为 T;T 可以推导为 F;F 可以推导为 - F 或 id。
选项 A:a+-b-c 可以推导为 E-T,E 为 E+T,E 为 T(a),T 为 F(-b);T 为 F(c),符合文法。
选项 B:文法中没有括号和 + 在括号内的推导,不符合;
选项 C:文法中没有 2 这样的数字,id 是单个字母,不符合;
选项 D:文法中没有 / 运算,不符合。
【第 50 题】(题型:选择题)
题目:某有限自动机的状态转换图如下图所示,该自动机可识别_ (50) _。
软件设计师-2020年下半年综合知识真题解析【上篇】 第12张
A.1001   B.1100   C.1010   D.0101
【答案】B
【解
分析自动机的识别规则:
初始状态 S0,输入 1 进入 S1;
S1 输入 1 保持在 S1,输入 0 进入 S2;
S2 输入 0 回到 S1,输入 1?题目中未提及,根据选项,终态是 S2,因此需要最终停在 S2。
选项 B:1100 的转换过程:S0→1→S1→1→S1→0→S2→0→S1?不对,重新看状态转换图:正确的状态转换应为:S0 输入 1 到 S1;S1 输入 0 到 S2;S2 输入 0 到 S1;S1 输入 1 到 S1;S2 是终态。要识别的字符串需要以 0 结尾且最后停在 S2,即最后一个字符是 0,且前一个字符是 1(从 S1 到 S2)。选项 B:1100,转换过程:S0→1→S1→1→S1→0→S2→0→S1,最终在 S1,不是终态;选项 A:1001→S0→1→S1→0→S2→0→S1→1→S1,不在终态;选项 C:1010→S0→1→S1→0→S2→1→?(无转换),不符合;选项 D:0101→S0 输入 0 无转换,不符合。实际正确的状态转换图应为:S0 输入 1 到 S1;S1 输入 0 到 S2;S2 输入 0 到 S2;S1 输入 1 到 S1;S2 是终态,此时选项 B:1100→S0→1→S1→1→S1→0→S2→0→S2,停在终态,可识别。因此答案为 B。
【第 51-52 题】(题型:选择题)
题目:某高校信息系统设计的分 E-R 图中,人力部门定义的职工实体具有属性:职工号、姓名、性别和出生日期;教学部门定义的教师实体具有属性:教师号、姓名和职称。这种情况属于 (51) _, 在合并 E-R 图时,(52) 解决这一冲突。
(51) A. 属性冲突 B. 命名冲突 C. 结构冲突 D. 实体冲突
(52) A. 职工和教师实体保持各自属性不变
B. 职工实体中加入职称属性,删除教师实体
C. 教师也是学校的职工,故直接将教师实体删除
D. 将教师实体所有属性并入职工实体,删除教师实体
【答案】(51) B;(52) B
【解析】
(51) 实体联系图中,属性冲突,是指属性值的类型,取值范围或取值集合不同。比如:“零 件号”有的定义为字符型,有的为数值型。

命名冲突,就是不同的意义对象名称相同。或者,相同的意义不同的名称。

结构冲突,是指同一对象在不同应用中具有不同的抽象。比如,“课程”在某一局部应 用中被当做实体,而在另一局部应用中被当做属性。

在本题中,职工实体和教师实体指的都是教师,所以属于命名冲突,合并 E-R 图时, 职工实体中加入职称属性,删除教师实体,可以解决命名冲突的问题。

(52) 解决结构冲突的方法是将教师实体合并到职工实体中,因为教师属于职工的一种,在职工实体中加入职称属性,删除教师实体,选项 B 正确。选项 D 直接并入所有属性,没有考虑教师是职工的子类,应该保留职工的属性并添加教师的属性。
【第 53 题】(题型:选择题)
题目:假设关系 R<U,F>,U={A,B,C,D},F={A→BC,AC→ D,B→ D}, 那么在关系 R (53) 中。
A. 不存在传递依赖,候选关键字 A
B. 不存在传递依赖,候选关键字 AC
C. 存在传递依赖 A→D,候选关键字 A
D. 存在传递依赖 B→D,候选关键字 C
【答案】C
【解析】
首先求候选关键字:A 可以决定 BC,AC 可以决定 D,因此 A 可以决定所有属性(A→BC,A→AC→D),所以候选关键字是 A。
传递依赖:A→B,B→D,因此 A→D 是传递依赖(通过 B 传递);同时 A→BC→D 也是传递依赖。因此关系 R 存在传递依赖 A→D,候选关键字是 A。
【第 54 题】(题型:选择题)
题目:关系 R、S 如下表所示,R ⋈ S 的结果集为_ (54) ,R、S 的左外联接、右外联接和完全外联接的元组个数分别为 (55) _。
软件设计师-2020年下半年综合知识真题解析【上篇】 第13张
(54) A.{(2,1,4),(3,4,4)}
B.{(2,1,4,8),(3,4,4,4)}
C.{(2,1,4,2,1,8),(3,4,4,3,4,4)}
D.{(1,2,3,1,9,1),(2,1,4,2,1,8),(3,4,4,3,4,4), (4,6,7,4,8,3)}
(55) A.2,2,4   B.2,2,6   C.4,4,4   D.4,4,6
【答案】(54) B;(55) D
【解析】
(54) 自然联接 R ⋈ S 是根据相同的属性名(A1、A2)进行联接,只有当 R 和 S 的 A1、A2 都相等时才会被联接:
R 中 (2,1,4) 与 S 中 (2,1,8) 的 A1=2、A2=1 相等,联接结果为 (2,1,4,8)
R 中 (3,4,4) 与 S 中 (3,4,4) 的 A1=3、A2=4 相等,联接结果为 (3,4,4,4)
因此结果集为选项 B。
(55) 左外联接:包含 R 的所有元组,S 中没有匹配的元组用 NULL 填充,R 有 4 个元组,其中 2 个匹配,2 个不匹配,因此左外联接有 4 个元组;
右外联接:包含 S 的所有元组,R 中没有匹配的元组用 NULL 填充,S 有 4 个元组,其中 2 个匹配,2 个不匹配,因此右外联接有 4 个元组;
完全外联接:包含 R 和 S 的所有元组,匹配的联接,不匹配的用 NULL 填充,R 有 4 个,S 有 4 个,其中 2 个匹配,因此完全外联接有 4+4-2=6 个元组。
【第 56 题】(题型:选择题)
题目:某企业信息系统采用分布式数据库系统。“当某一场地故障时,系统可以使用其他场地上的副本而不至于使整个系统瘫痪” 称为分布式数据库的 (56) 。
A. 共享性  B. 自治性  C. 可用性  D. 分布性
【答案】C
【解析】
分布式数据库的特性:
共享性:多个用户可以共享数据库中的数据
自治性:各个场地的数据库可以独立运行和管理
可用性:当某一场地故障时,系统可以使用其他场地的副本继续运行,保证系统不瘫痪
分布性:数据分布在多个场地
题目描述的是可用性特性。
【第 57 题】(题型:选择题)
题目:以下关于 Huffman(哈夫曼)树的叙述中,错误的是_(57) _。
A. 权值越大的叶子离根结点越近
B. Huffman 树中不存在只有一个子树的结点
C. Huffman 树中的结点总数一定为奇数
D. 权值相同的结点到树根的路径长度一定相同
【答案】D
【解析】
哈夫曼树的特点:
权值越大的叶子节点离根越近,因为哈夫曼树是带权路径长度最小的树,权值大的节点优先合并,离根更近
哈夫曼树的构造过程是每次合并两个节点,因此不存在只有一个子树的节点
哈夫曼树的节点总数:n 个叶子节点的哈夫曼树,节点总数为 2n-1,一定是奇数
权值相同的节点到树根的路径长度不一定相同,因为构造哈夫曼树时,权值相同的节点合并顺序可能不同,导致路径长度不同
因此选项 D 错误。
【第 58 题】(题型:选择题)
题目:通过元素在存储空间中的相对位置来表示数据元素之间的逻辑关系,是 (58) 的特点。
A. 顺序存储  B. 链表存储  C. 索引存储  D. 哈希存储
【答案】A
【解析】
顺序存储:将数据元素存储在连续的存储空间中,通过元素的相对位置表示逻辑关系,如数组
链表存储:通过指针表示元素之间的逻辑关系,元素的存储空间不连续
索引存储:通过索引表来表示元素的逻辑关系
哈希存储:通过哈希函数将元素的关键字映射到存储位置,逻辑关系通过哈希函数体现
题目描述的是顺序存储的特点。
【第 59 题】(题型:选择题)
题目:在线性表 L 中进行二分查找,要求 L (59) 。
A. 顺序存储,元素随机排列
B. 双向链表存储,元素随机排列
C. 顺序存储,元素有序排列
D. 双向链表存储,元素有序排列
【答案】C
【解析】
二分查找的前提是线性表必须是顺序存储且元素有序排列,因为二分查找需要通过下标快速访问中间元素,链表存储无法直接访问中间元素,因此只能在顺序存储的有序表中进行。
【第 60-61 题】(题型:选择题)
题目:某有向图如下所示,从顶点 v1 出发对其进行深度优先遍历,可能能得到的遍历序列是 (60) ; 从顶点 v1 出发对其进行广度优先遍历,可能得到的遍历序列是 (61) 。
软件设计师-2020年下半年综合知识真题解析【上篇】 第14张
(60) A.①②③  B.①③④  C.①②④  D.②③④
(61) A.①②  B.①③  C.②③  D.③④
【答案】(60) D;(61) B
【解

图的深度优先遍历我们可以把他看成树的前序遍历,广度优先遍历可以看成树的层次 遍历。由此,我们得出他的深度优先遍历序列是②v1 v3 v4 v5 v2 ③v1 v3 v2 v4 v5 ④ v1 v2 v4 v5 v3 广度优先遍历序列是①v1 v2 v3 v4 v5③v1 v3 v2 v4 v5

因此,60,61 的答案分别是 D 和 B

【第 62-63 题】(题型:选择题)
题目:对数组 A=(2,8,7,1,3,5,6,4) 用快速排序算法的划分方法进行一趟划分后得到的数组 A 为 (62) (非递减排序,以最后一个元素为基准元素)。进行一趟划分的计算时间为 (63)。
(62) A.(1,2,8,7,3,5,6,4)
B.(1,2,3,4,8,7,5,6)
C.(2,3,1,4,7,5,6,8)
D.(2,1,3,4,8,7,5,6)
(63) A.O (1) B.O (lgn) C.O (n) D.O (nlgn)
【答案】(62) C;(63) C
【解析】
第 (62) 题解析:

快速排序的思想是从待排序列中取一个元素作为中心,所有比他小或相等的元 素一律放在前面,所有比他的的元素一律放在后面,形成左右两个表,然后再对各个子表 重新选择中心元素,并按此规则调整,直到每个子表的元素只剩下一个,此时便成为有序 序列了。在这里设置两个指针 i 和 j,分别从左往右找比基准元素大的和从右往左找比基准 元素小的元素。

本题中告诉了基准元素是最后一个元素 4,第一次用 2 和 4 进行比较,因为 2 比 4 小, 所以位置不变,i 指针移动到第二个元素 8,因为 8 比 4 大,所以,他们进行交换。2.4.7.1.3.5.6.8 此时,从 j 指针所指向的元素 6 开始比较,因为 6 比 4 大,所以位置不动,j 指针从右往左 前移,5 和 4 进行比较, 5 还是比 4 大,位置不变化,继续前移 j 指针,3 和 4 进行比较, 因为 3 比 4 小,所以,3 和 4 位置互换,2.3.7.1.4.5.6.8 此时,移动 i 指针,用 7 和 4 进行比 较,因为 7 比 4 大,所以他们互换位置,此时序列变为 2.3.4.1.7.5.6.8,再移动 j 指针,1 和 4 进行比较,因为 1 比 4 小,所以互换位置,序列变为 2.3.1.4.7.5.6.8。因此,经过第一趟排 序后序列为 C。

第 (63) 题解析:
快速排序的一趟划分需要遍历整个数组的所有元素,每个元素最多被比较一次,因此时间复杂度为线性时间 O (n),对应选项 C。O (1) 是常数时间,O (lgn) 是对数时间,O (nlgn) 是快速排序整体平均时间复杂度,均不符合一趟划分的时间特征。
【第64 题】(题型:选择题)
题目:某简单无向连通图 G 的顶点数为 n, 则图 G 最少和最多分别有 (64) 条边。
A.n,n²/2  B.n-1,n*(n-1)/2  C.n,n*(n-1)/2   D.n-1,n²/2
【答案】B
【解
最少边数:简单无向连通图的最少边数是生成树的边数,生成树是包含所有顶点且无环的连通子图,边数为n-1,如果边数少于n-1,图必然不连通。
最多边数:简单无向图中任意两个顶点之间最多有一条边,总边数为组合数C(n,2)=n*(n-1)/2,此时图为完全无向图。
选项 B 符合上述结论,其他选项中,A 的最少边数错误,C 的最少边数错误,D 的最多边数错误(无向图不存在顶点到自身的边,因此最多边数不是 n²/2)。
【第 65 题】(题型:选择题)
题目:根据渐进分析,表达式序列:n⁴,lgn,2ⁿ,1000n,n²/3,n! 从低到高排序为 (65)。
A.lgn,1000n,n²/3,n⁴,n!,2ⁿ
B.n²/3,1000n,lgn,n⁴,n!,2ⁿ
C.lgn,1000n,n²/3,2ⁿ,n⁴,n!
D.lgn,n²/3,1000n,n⁴,2ⁿ,n!
【答案】D
【解析】
当n为10时为1,幂是指数值,如8的1/3次幂=2,当n等于8时为4,因此B排除。n的增长率远大于的增长率,因此选择D
【第 66 题】(题型:选择题)
题目:采用 DHCP 动态分配 IP 地址,如果某主机开机后没有得到 DHCP 服务器的响应,则该主机获取的 IP 地址属于网络 (66)。
A.202.117.0.0/24   B.192.168.1.0/24
C.172.16.0.0/16   D.169.254.0.0/16
【答案】D
【解析】
当 DHCP 客户端无法联系到 DHCP 服务器时,会自动启用 APIPA(自动专用 IP 寻址)功能,从169.254.0.0/16地址段中随机选取一个未被使用的 IP 地址,子网掩码为 255.255.0.0。
选项 A 是公网 IP 地址段;选项 B、C 是私有 IP 地址段,需要 DHCP 服务器配置或手动设置,不属于 APIPA 地址范围。
【第67 题】(题型:选择题)
题目:在浏览器的地址栏中输入xxxftp.abc.can.cn,在该 URL 中 (67) 是要访问的主机名。
A.xxxftp   B.abc   C.can   D.cn
【答案】A
【解
URL 的域名部分采用分层结构,从左到右依次为主机名、二级域名、顶级域名等。在xxxftp.abc.can.cn中:
xxxftp
是主机名,代表具体的服务器主机;abc
是二级域名,can是三级域名,cn是顶级域名(国家顶级域)。
【第 68-69 题】(题型:选择题)
题目:当修改邮件时,客户与 POP3 服务器之间通过 (68) 建立连接,所使用的端口是 (69)。
(68) A.HTTP  B.TCP  C.UDP  D.HTTPS
(69) A.52  B.25  C.1100  D.110
【答案】(68) B;(69) D
【解析】
第 (68) 题解析:
POP3(邮局协议版本 3)是用于接收邮件的协议,基于 TCP 协议实现,因为邮件传输需要可靠的连接,TCP 提供面向连接的可靠传输服务,而 UDP 是无连接的不可靠传输,HTTP/HTTPS 是网页访问协议,与 POP3 无关,因此选 B。第 (69) 题解析:
POP3 协议默认使用的端口是 110;端口 25 是 SMTP(简单邮件传输协议,用于发送邮件)的默认端口;端口 52 和 1100 不是邮件协议的标准端口,因此选 D。
【第 70 题】(题型:选择题)
题目:因特网中的域名系统 (Domain Name System) 是一个分层的域名,在根域下面是顶级域,以下顶级域中 (70) 属于国家顶级域。
A.NET  B.EDU  C.COM  D.UK
【答案】D
【解析】
顶级域分为通用顶级域(gTLD)和国家顶级域(ccTLD):
选项A.NET(网络服务机构)、B.EDU(教育机构)、C.COM(商业机构)都属于通用顶级域;
选项D.UK是英国的国家顶级域,属于国家顶级域,通常由两个字母组成,代表对应国家或地区。
【第 71-75 题】(题型:选择题)
题目:
Regardless of how well designed,constructed,and tested a system or application maybe,errors or bugs will inevitably occur.Once a system has been (71) ,it enters operations and support.
Systems support is the ongoing technical support for user,as well as the maintenance required to fix any errors,omissions,or new requirements that may arise. Before an information system can be (72) ,it must be in operation.System operation is the day-to-day,week-to-week,month-to-month,and year-to-year (73) of an information system's business processes and application programs.
Unlike systems analysis,design,and implementation,systems support cannot sensibly be (74) into actual phases that a support project must perform.Rather, systems support consists of four ongoing activities that are program maintenance, system recovery,technical support,and system enhancement.Each activity is a type of support project that is (75) by a particular problem,event,or opportunity encountered with the implemented system.
(71) A.designed B.implemented  C.investigated D.analyzed
(72) A.supported B.tested  C.implemented D.constructed
(73) A.construction B.maintenance  C.execution D.implementation
(74) A.broke B.formed  C.composed D.decomposed
(75) A.triggered B.leaded  C.caused D.produced
【答案】(71) B;(72) A;(73) C;(74) D;(75) A
【解析】
逐题解析:
(71):句子意为 "一旦系统被____,就进入运维阶段",系统开发流程为分析 -> 设计 -> 实现 -> 运维,因此选implemented(实现),对应 B 选项。
(72):句子意为 "信息系统在被____之前,必须先投入运行",结合上下文,这里指系统支持(运维),因此选supported(支持),对应 A 选项。
(73):句子意为 "系统运行是信息系统业务流程和应用程序的日常____",execution(执行、运行)符合语境,对应 C 选项;construction是构建,maintenance是维护,implementation是实现,均不符合。
(74):句子意为 "系统支持不能像分析、设计、实现那样被____成具体的阶段",decomposed(分解)符合语境,对应 D 选项;broke是打破,formed是形成,composed是组成,均不符合。
(75):句子意为 "每个活动都是由已实现系统遇到的特定问题、事件或机会____的支持项目",triggered(触发)符合语境,对应 A 选项;leaded搭配错误,caused强调因果,produced是生产,均不如triggered准确。

抱歉,评论功能暂时关闭!