前言:
同学你好,我是郝老师,今天是2024年的5月30日,这节视频主要是讲 24年5月(上半年) 软考中级《软件设计师》考试综合题试卷第21-30题的真题精讲,精讲,你可以理解为每道题都会讲出考点,每个选项都会讲出判断依据,以严谨认真缜密的态度去解题,所以精讲是老师的价值观,如果你觉得好,请推荐给你的同学、同事,一起加入我们的备考战队!一起系统的学习 →《软件设计师》课程!好,下面我们开始看第一题。
1. 采用简单选择排序算法对序列(49,38,65,97,76,13,27,49)进行非降序排列,两趟后的序列为( )
A.(13,27,65,97,76,49,38,49)
B.(38,49,65,76,13,27,49,97)
C.(13,38,65,97,76,49,27,49)
D.(38,49,65,13,27,49,76,97)
答案解析:
这道题的考点是:简单选择排序算法的排序实现步骤。考的比较细,所以要记清楚算法,回想一下排序步骤:
1. 从头到尾顺序扫描序列,找出最小的关键字与第一位进行交换(第一次排序完成肯定能找到最小的元素)
2 从剩下的无序队列中选出最小关键字与第一位进行交换
第一趟排序:13,38,65,97,76,49,27,49; 找出最小的13和49交换;
第二趟排序:13,27,65,97,76,49,38,49; 找出剩余最小的27和38交换;
故正确答案选A
2. 在29个元素构成的查找表中查找任意一个元素时,可保证最多与表中5个元素进行比较即可确定查找结果,则采用的查找表及查找方法是( )
A.二叉排序树上的查找
B.顺序表上的顺序查找
C.有序顺序表上的二分查找
D.散列表上的哈希查找
答案解析:
最坏情况下,二叉排序树是一颗单树(只有左子树或只有右子树),时间复杂度为O(n),所以5次不满足题意;
顺序表最坏情况下也是O(n)即走完整个顺序表
二分查找时间复杂度O(logn),介于4与5之间 ,4 < log 29< 5 , 满足题意,计算过程见:→《软件设计师》课程,所以选C
哈希,用 key%m 取余,在散列上最坏情况下也是O(n)
3. 已知二维数组A按行优先方式存储,每个元素占2个存储单元,第一个元素A[0][0]的地址为100,元素A[3][3]的存储地址是220,则元素A[5][5]的地址是( )
A.300
B.306
C.310
D.296
答案解析:
套公式: A[i][j]的首地址 = 数组在内存中的第一个元素的地址 + i * 列数 * 每个元素所占存储单元 + j * 每个元素占单元数
列数不知,设列数为x;
A[3][3] = 100 + 3 * x * 2 + 3*2 = 220 推导出 x = 19;
A[5][5] = 100 + 5 * 19 * 2 + 10 = 300
具体计算过程见:→《软件设计师》课程,本题选A
4. 进行面向对象设计时,以下( )不能作为继承的类型
A.多重继承
B.分布式继承
C.单重继承
D.层次继承
答案解析:
分布式没这个概念,没这个概念,只了有分布式架构系统、分布式计算,“分布式”这个词指的是指部署的地理位置不同,之后拼凑起整体结果,所以B不正确
C++有多继承,所以A正确;
C、D都是常见的继承方式
5. 进行面向对象系统设计时,若存在包A依赖于包B,包B依赖于包C,包C依赖于包A,则此设计违反了( )原则
A.稳定抽象
B.稳定依赖
C.依赖倒置
D.无环依赖
答案解析:
在8种设计原则种,没有A、B这2个设计原则,C依赖倒置的意思是依赖于抽象而不是具体实现,所以于题目不相符,只有D正确
6. UML类图在软件建模时,给出软件系统的一种静态设计图,用( )关系可明确表示两类事务之间存在的特殊/一般关系
A.聚合
B.依赖
C.泛化
D.实现
答案解析:
一般/特殊指的是父子关系,只有C符合题意,其他都是两个模块之间的对等关系
7. 软件测试过程中的系统测试主要是为了发现( )阶段的问题
A.软件实现
B.概要设计
C.详细设计
D.需求分析
答案解析:
这是2014、2021年上半年上午题的原题啊同学们!选D
8. 下列算法属于Hash算法的是( )
A.SHA
B.DES
C.IDEA
D.RSA
答案解析:
选A Hash算法是一种将任意长度的输入数据映射为“固定长度的输出”数据的算法,加密结果不可逆,常用于数据完整性校验,
长度128bit,通常表示为32个16进制字符组成的字符串:CRC、MD5、SHA、SHA1
DES是对称加密算法
IDEA算法是一种对称密钥加密算法,旨在替代DES算法
RSA算法是一种广泛应用的公钥加密算法
9. 面向对象软件从不同层次进行测试。( )层测试类中定义的每个方法,相当于传统软件测试中的单元测试
A.模板
B.系统
C.类
D.算法
答案解析:
基本概念考察题。算法层测试类中定义的每个方法,相当于传统软件测试中的单元测试。
10. 用于回收SQL访问控制权限的操作是( )
A.GRANT
B.DELETE
C.REVOKE
D.DROP
答案解析:
容易选错A,GRANT是赋予权限,只有REVOKE是回收权限。B和D都是删除操作。
总结:
软考考察面广,深度适中,大多是基本概念为主的题,理解这些专业术语是重点,慕课网的实战体系课《软件设计师》课程有非常系统和完整的课程供大家学习、拿证。不妨去了解一下!