2023年软件水平考试《(中级) 软件设计师》每日10题,持续更新

|类别:软件水平考试

【单选题】CPU执行算术运算或者逻辑运算时,常将源操作数和结果暂存在( )中 A.程序计数器 (P C)

A、累加器 (A

B、

C、指令寄存器 (IR)

D、地址寄存器 (AR)

答案:B

解析:选项A指令寄存器用来存放从内存中读取的指令。 选项B通用寄存器可用于传送和暂存数据,也可参与算术逻辑运算,并保存运算结果。 选项c程序计数器是用于存放下一条指令所在单元的地址。 当执行一条指令时,首先需要根据PC中存放的指令地址,将指令由内存取到指令寄存器中,即将程序计数器PC中的内容送到地址总线上,此过程称为“取指令”。与此同时,PC中的地址或自动加1或由转移指针给出下一条指令的地址。此后经过分析指令,执行指令。完成第一条指令的执行,而后根据PC取出第二条指令的地址,如此循环,执行每一条指令。 选项D状态寄存器用于存放状态标志与控制标志如,中断标志、溢出标志等


【单选题】设某算法的计算时间表示为递推关系式T(n)=T(n-1)+n(n>O)及T(0)=1,则该算法的时间复杂度为( )。

A、O(lgn)

B、O(nlgn)

C、O(n)

D、O(n^2)

答案:D

解析:本题考查算法设计基础知识。根据题目中给出的递推关系:T(n)=T(n-1)+n=T(n-2)+n-1+n=…=T(0)+1+2+…+n-1+n=1+n(n+1)/2


【单选题】编译程序进行词法分析时不能 ( ) 。

A、过滤源程序中的注释

B、扫描源程序并识别记号

C、指出出错行号

D、查出拼错的保留字(关键字)

答案:D

解析:源程序可以简单地被看成是一个多行的字符串。词法分析阶段是编译过程的第一阶段,这个阶段的任务是对源程序从前到后(从左到右)逐个字符地扫描,从中识别出一个个“单词”符号。词法分析的主要任务有:识别出源程序中的各个单词符号,并将其转换为内部编码形式;删除无用的空白字符、回车字符以及其他非实质性字符:删除注释。


【单选题】在敏捷过程的开发方法中,( )使用了迭代的方法,其中,把每段时间(30天)一次的迭代称为一个“冲刺”,并按需求的优先级别来实现产品,多个自组织和自治的小组并行地递增实现产品

A、极限编程XP

B、水晶法

C、并列争球法

D、自适应软件开发

答案:C


【单选题】Prim算法和Kruscal算法都是无向连通网的最小生成树的算法,Prim算法从一个顶点开始,每次从剩余的顶点中加入一个顶点,该顶点与当前的生成树中的顶点的连边权重最小,直到得到一颗最小生成树;Kruscal算法从权重最小的边开始,每次从不在当前的生成树顶点中选择权重最小的边加入,直到得到一颗最小生成树,这两个算法都采用了( )设计策略,且(请作答此空)。

A、若网较稠密,则Prim算法更好

B、两个算法得到的最小生成树是一样的

C、Prim算法比Kruscal算法效率更高

D、Kruscal算法比Prim算法效率更高

答案:A

解析:Prim算法和Kruscal算法都是基于贪心算法的应用。Prim算法的时间复杂度为O(n2),与图中边数无关,该算法适合于稠密图。Kruskal算法的时间复杂度只和边有关系,为O(elog2e),由于Kruskal算法只与边有关,因此适合求稀疏图的最小生成树。


【单选题】在n个数的数组中确定其第i(1≤i≤n)小的数时,可以采用快速排序算法中的划分思想,对n个元素划分,先确定第k小的数,根据i和k的大小关系,进一步处理,最终得到第i小的数。划分过程中,最佳的基准元素选择的方法是选择待划分数组的(64)元素。此时,算法在最坏情况下的时间复杂度为(不考虑所有元素均相等的情况)(65)。

A、Θ(n)

B、Θ(lgn)

C、Θ(nlgn)

D、Θ(n2)

答案:D

解析:本题考查数据结构基础知识。快速排序一种分治的排序方法,其思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的每一趟结果都是找到一个基准元素放置于线性表中部位置,将原来的线性表划分为前后两部分,前部分元素都小于基准元素,后部分元素都大于基准元素。快速排序总的关键字比较次数为Θ(nlog2n),最坏情况下时间复杂度为Θ(n2),最好情况下的时间复杂度为Θ(nlog2n);快速排序是不稳定的排序。最坏情况下需要的栈空间为Θ(n),其他需要Θ(nlog2n)。根据以上描述,本题依次选C、D选项。


【单选题】某个算法的时间复杂度递归式T(n)=T(n-1)+n,其中n为问题的规模,则该算法的渐进时间复杂度为( ),若问题的规模增加了16倍,则运行时间增加(请作答此空)倍。

A、16

B、64

C、256

D、1024

答案:C

解析:对于递归式,假设T(1)=1,则:T(n)=T(n-1)+n=T(n-2)+n-1+n=T(n-3)+n-2+n-1+n=1+2+…+n-1+n=n(n+1)/2可见,时间复杂度为O(n2)。若问题的规模增加了16倍,则运行时间增加了162=256倍。


【单选题】某开发小组欲为一公司开发一个产品控制软件,监控产品的生产和销售过程,从购买各种材料开始,到产品的加工和销售进行全程跟踪。购买材料的流程、产品的加工过程以及销售过程可能会发生变化。该软件的开发最不适宜采用( )模型

A、瀑布

B、原型

C、增量

D、喷泉

答案:A

解析:对于较大型软件系统的需求往往难以在前期确定,所以瀑布模型最不适合


【单选题】设有关系模式R(A1,A2,A3,A4,A5,A6),其中:函数依赖集F={A1→A2,A1A3→A4,A5A6→A1,A2A5→A6,A3A5→A6},则( )是关系模式R的一个主键

A、A1A4

B、A2A4

C、A3A5

D、A4A5

答案:C

解析:求候选码:关系模式码的确定,设关系模式R<U,F>:1、首先应该找出F中所有的决定因素,即找出出现在函数依赖规则中“→”左边的所有属性,组成集合U1;2、再从U1中找出一个属性或属性组K,运用Armstrong公理系统及推论,使得K→U,而K真子集K′→U不成立;这样就得到了关系模式R的一个候选码,找遍U1属性的所有组合,重复过程(2),最终得到关系模式R的所有候选码。 在本题中 U1={A1、A2、A3、A5、A6} A3A5→A6,A5A6→A1 利用伪传递率:A3A5→A1,A1→A2利用传递率:A3A5→A2 A3A5→A1,A1A3→A4利用伪传递率:A3A5→A4 因此A3A5→{ A1,A2,A3,A4,A5,A6} 注:Armstrong公理系统及推论如下: 自反律:若Y X U,则X→Y为F所逻辑蕴含 增广律:若X→Y为F所逻辑蕴含,且Z U,则XZ→YZ为F所逻辑蕴含 传递律:若X→Y和Y→Z为F所逻辑蕴含,则X→Z为F所逻辑蕴含 合并规则:若X→Y,X→Z,则X→YZ为F所蕴涵 伪传递率:若X→Y,WY→Z,则XW→Z为F所蕴涵 分解规则:若X→Y,Z Y,则X→Z为F所蕴涵 由于函数依赖中存在传递依赖,所以不满足3NF的要求。


【单选题】为了防止电子邮件中的恶意代码,应该用 ( ) 方式阅读电子邮件。

A、纯文本

B、网页

C、程序

D、会话

答案:A

解析:本题考查的是电子邮件中恶意代码的相关知识,当电子邮件中包含网页或者程序时,就有可能包含恶意代码。因此,选择以纯文本的方式阅读电子邮件可以防止恶意代码的触发。