软件设计师中级逻辑公式题

  1. 由8位成员组成的开发团队中,一共有(28)条沟通路径。
    n*(n-1)/2 = 8*7/2=28

  2. 流水线计算公式)设指令流水线将一条指令的执行分为取指,分析,执行三段,已知取指时间是2ns,分析时间需2ns,执行时间为1ns,则执行完1000条指令所需时间为(2003)
    流水线执行时间 = 1条指令执行时间 + (指令条数-1) * 流水线周期
    本题1条流水线执行时间为(2+2+1),指令条数为1000,流水线周期为其中最长的一段2ns,将相关参数代入公式可得。
    流水线执行时间 = (2+2+1) + (1000-1) * 2 = 2003

  3. 海明码校验位数)设信息位是8位,用海明码来发现并纠正1位出错的情况,则校验位的位数至少位()

    公式:2^k >= n+k+1
    或 2^K-1 >= n+K

    代入题可得:2^4(16) >= 8 + 4 + 1(13),所以最少为4位

  4. 著作权中,著名权、修改权、保护作品完整权的保护期不受限制。

  5. (位士图大小)某文件管理系统采用位士图(bitmap)来记录磁盘的使用情况,若计算机系统的字长位64位,磁盘容量为512GB,物理块的大小为4MB,那么位士图的大小位()个字

    磁盘容量512GB,物理块4M,一共512/4=128K个物理块。字长64位,所以位士图的大小为128K/64=2K=2048个字

    512G = 2^9 * 2^10 = 2^19M

    4M = 2^2M

    2^19 / 2^2 = 2^17

    64 = 2^6

    2^17 / 2^6 = 2^11 = 2048

  6. 某种部件用在2000台计算机系统中,运行工作1000小时后。其中有4台计算机的这种部件失效,则该部件的千小时可靠度R为()
    该部件的千小时可靠度R = (2000-4)/ 2000 = 0.998

  7. 假设磁盘磁头从一个碰道移至相邻磁道需要2ms,文件在磁盘上非连续存放,逻辑上相邻数据块的平均移动距离为5个磁道,每块的旋转起达时间及传输时间分别为10ms和1ms,则读取一个100快的文件需要(2100)ms
    公式:( 2 * 5 + 10 + 1 ) * 100 = 2100ms

  8. 某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发生死锁的K的最小值是(4)
    公式:K * (M-1) = n
    代入:M=3:k*(3-1)=8; k = 4;

  9. 某软盘有100个磁道,磁头从一个磁道移至另一个磁道需要2ms。文件在磁盘上非连续存放,逻辑上相邻数据块的平均距离为20个磁道,每块的旋转延迟时间及传输时间分别为50ms和10ms,则读取一个10块的文件需要(1000ms)时间
    公式:( 2 * 20 + 50 + 10 ) * 10 = 1000

  10. 算数表达式a+(b-c)*d的后缀式是(abc-d*+)。(-、+、*表示算数的减、加、乘运算,运算符的优先级和结合性遵循惯例)。
    根据算数运算时有括号先算括号里面的值,其次乘除运算,最后加减运算顺序来展开:
    1.(b-c)b和c作为叶子节点,-为它们的父节点
    2.(b-c)的结果*d作为运算,*为它们的父节点
    3.a+[(b-c)*d]的结果,+为父节点,a为左子节点其他为右子节点,便可得到以下视图
    4.后缀式(也称后序)规则为左右跟来运算,最终得到结果abc-d*+
    在这里插入图片描述
    中缀式转后缀式:ab? (其中a=左边字符,b=右边字符,?=运算符号+-*/)
    中缀式:a+(b-c)*d
    1.有括号先算括号里面的,代入公式ab?,a=b,b=c,?=-,结果a+(bc-)*d
    2.没有括号算乘除运算,代入公式ab?,a=bc-,b=d,?=*,结果a+bc-d*
    3.最后算加减运算,代入公式ab?,a=a,b=bc-d*,?=+,最终结果:abc-d*+
    后缀式转中缀式:a?b (其中a=左边字符,b=右边字符,?=运算符号+-*/),从左往右遇到运算符停止
    后缀式:abc-d*+
    1.从左往右开始,到-处停止,a=b,b=c,?=-,结果a b-c d * +
    2.基于上一次结果继续查找,到*停止,a=b-c,b=d,?=*,结果a (b-c)*d +
    3.继续查找,到+停止,最终结果为a+(b-c)*d
    后缀转中缀利用实现
    在这里插入图片描述

  11. 采用McCabe方法计算程序复杂度为()
    在这里插入图片描述
    方法一:图中有多少个判断条件+1就是最终答案,该题中有2个条件所以2+1=3,最终答案为3
    方法二:V(G) = E(边数)-N(结点数)+2
    红色为边数=9,蓝色为结点数=8;代入公式V=9-8+2=3
    在这里插入图片描述

  12. IP地址分为公网地址和私网地址,以下地址中属于私网地址的是__A___
    A.10.216.33.124
    B.127.0.0.1
    C.172.34.21.15
    D.192.32.146.23
    解析:
    公网地址和私网地址最大区别是公网IP世界只有一个,私网IP可以重复,但是在一个局域网内不能重复。其中常见的
    私网IP地址范围为
    10.0.0.0 ~ 10.255.255.255、
    172.16.0.0-172.31.255.255、
    192.168.0.0 - 192.168.255.255

  13. 某公司有2000台主机,则必须给它分配(8)个C类网络。
    解析:
    主机号的位数决定了网络中最大的主机数(计算方法为2^主机号位数-2)。对于一个C类地址,以其前3个字节是网络号部分,而第4个字节是主机号部分,因此一个C类地址中可以包含的主机数量是2^8-2=254,题中告知该公司共有2000台主机,因此需要的C类网络个数为:取上整(2000/254=7.8…) = 8

  14. 信息摘要算法SHAMD5产生的摘要位数分别是160和128

  15. 安全协议:
    PGP:基于RSA公钥加密体系的邮件加密协议
    SSL:工作于传输层及以上的安全协议,用于在Internet上传送机密文件
    SET:(安全电子协议)基于信用卡进行电子化交易的应用提供了实现安全措施的规则。
    TLS:安全传输层协议,用于在两个通信应用程序之间提供保密性和数据完整性

  16. 非连通无向图共有28个条边,最多几个结点(D)
    A. 6
    B. 7
    C. 8
    D. 9
    解析:若图有n个结点,且非连通,则最大边数为(n-1)(n-2)/2(即n-1个结点构成完全图,1个孤立顶点)。
    题目说共有28条边,即(n-1)(n-2)/2 >= 28
    在这里插入图片描述

    代入答案:
    	8: (8-1)(8-2) >= 28x2 = 7x6 >= 56 错误 
    	9: (9-1)(9-2) >= 28x2 = 8x7 >= 56 正确
    所以n=9,最多有9个节点
    
  17. 设某线性表的元素存储在有序顺序表A[1…20]中,表中元素互异,即A[1]、A[2]、… A[20]互不相同,用折半查找(及二分查找,向下取整)在A[]中查找key,若key等于A[13],则查找过程中参与比较的元素依次为A[10]、(A)
    A: A[15]、A[12]、A[13]
    B: A[16]、A[15]、A[13]
    C: A[15]、A[14]、A[13]
    D: A[16]、A[14]、A[13]
    解析:
    [left, right]; mid=(left+right)/2;
    如果当前值小于要查找的值left=上一次的mid+1,right不变
    如果当前值大于要查找的值left不变,right=mid-1

    使用折半查找(二分查找,向下取整)查找key=A[13]
    已知第一次比较的是A[10]
    以下所有计算都是向下取整
    初始范围:low = 1, high = 20
    第一次比较:(1+20)/2 = 10
    A[10] < A[13]
    调整范围:基于上一次的结果mid=10; 由于当前的数小于要查询的数,所有low=10+1; low=11,high=20
    第二次比较:(11+20) / 2 = 15
    A[15] > A[13]
    调整范围:low=11, high=14
    第三次比较:(11+14)/2 = 12
    A[12] < A[13]
    调整范围:low=12, high = 14
    第四次比较:(12+14)/2 = 13
    找到目标
    参与比较的元素顺序:A[10](已给出)、A[15]、A[13]、A[12],所以答案为A

    初始范围 left=1, right=20(以下计算取下整),要查找的值A[13]
    	第一次查找:mid=(left+right)/2 = (1+20)/2=10; [left=1, right=20]
    	A[10] < A[13]
    	由于当前值小于要查找的值,所有left=mid+1(10+1)= 11,right保持不变	[left=11, right=20]
    	第二次查找:mid=(left+right)/2 = (11+20)/2 = 15;
    	A[15] > A[13]
    	当前值大于要查找的值,所以left保持不变,right=mid-1(15-1)=14	[left=11, right=14]
    	第三次查找:mid=(left+right)/2 = (11+14)/2 = 12;
    	A[12] < A[13]
    	当前值小于要查找的值,所以left=mid+1(11+1)=12,right保持不变	[left=12, right=14]
    	第四次查找:mid=(left+right)/2 = (12+14)/2 = 13;
    	查找成功
    	顺序:A[10]、A[15]、A[12]、A[13]
    
  18. 某指令流水线由4段组成,各段所需要的时间如下图所示。连续输出8条指令时的吞吐率(单位时间内流水线所完成的任务数或输出的结果数)为()
    在这里插入图片描述

    A. 8/56▲t
    B. 8/32▲t
    C. 8/28▲t
    D. 8/24▲t
    对于流水线,完成 n 个任务的总时间 T 计算:
    流水线各段时间分别为▲t、▲2t、▲3t、▲t,最大段时间是▲3t(流水线周期 = ▲3t )。
    完成 n = 8 条指令时,总时间 T :第一条指令时间是各段时间和(▲t + 2▲t t+3▲t +▲t = 7▲t),
    之后每▲3t 完成一条指令,所以总时间 T=7▲t+(8 - 1)*3▲t=7▲t + 21▲t = 28▲t)
    吞吐率 TP=n/T,n=8,T=28▲t,所以TP = 8 / 28▲t

  19. 一颗度为3的树中,有3度结点100个,有2度结点200个,有叶子结点(C)个。
    A.399
    B.400
    C.401
    D.402
    解析:
    1.树的总边数e = n-1 = n0 + n1 + n2 + n3 -1
    2.由于每个度为0的结点发出0条边,每个度为1的结点发出1条边,每个度为2的结点发出2条边,每个度为3的节点发出3条边,因此,总的边数可以表示为e=n1+2 x n2+3 x n3
    3.将e的等式等同起来,有n0+n1+n2+n3-1 = n1+2 x n2 + 3 x n3,则有n0 = n2 + 2 x n3 +1。
    4.由题意可知:n2 = 200,n3 = 100,则n0 = 401

  20. 下列程序语言,(D)最早是为了教学的目的开发而成的。
    A.C语音
    B.Fortran
    C.ProLog
    D.Pascal

  21. 在一单处理机系统中,若有8个用户进程,在非管态的某一时刻,处于就绪状态的用户进程最多、最少分别有()个。
    A.8和0
    B.7和0
    C.8和1
    D.7和1
    解析:
    处理机有两个状态,一个是管态,即系统态,另一个是非管态,即目态或用户态。当CPU处理系统程序的时候,CPU会转为管态,CPU在管态下可以执行指令系统的全集,包括特权指令与非特权指令,;当CPU处理一般用户程序的时候,CPU的状态又由原来的管态转为目态,这个时候程序只能执行非特权指令。
    在一个单处理机中,处理器只有一个,非管态(即用户进程执行状态)的某一时刻,处于运行态的进程最多只有一个,系统中处于就绪态或阻塞的进程可能有多个,这样处于就绪态的进程数最多只能是进程总数减1,本题为8-1=7,因此最多可以有7个就绪进程。如果除了运行态的一个进程外,其余进程均处于阻塞态,则就绪态进程个数为0

  22. 对下列有向图的邻接矩阵,进行深度遍历的次序是(V1-V2-V3-V5-V4-V6)
    在这里插入图片描述

深度遍历解题步骤:
		构建邻接表:
			从给定的矩阵中,我们可以构建每个顶点的邻接表:
			V1 的出边:V2、V3
			V2 的出边:V3、V5
			V3 的出边:无
			V4 的出边:V2、V6
			V5 的出边:V4
			V6 的出边:无
		深度优先遍历(DFS):
			从顶点 V1 开始:
			访问 V1。
			选择 V1 的第一个邻接顶点 V2,访问 V2。
			选择 V2 的第一个邻接顶点 V3,访问 V3。
			V3 没有未访问的邻接顶点,回溯到 V2。
			选择 V2 的下一个邻接顶点 V5,访问 V5。
			选择 V5 的邻接顶点 V4,访问 V4。
			选择 V4 的下一个邻接顶点 V6,访问 V6。
			V6 没有未访问的邻接顶点,回溯到 V4。
			V4...
			正确顺序是:V1-V2-V3-V5-V4-V6
广度优先遍历(BFS)过程
	起始于 V1:将 V1 加入队列。
	访问 V1:从队列中取出 V1,标记为已访问。
	处理 V1 的邻接点:V1 的邻接点是 V2 和 V3,将它们加入队列。
	访问 V2:从队列中取出 V2,标记为已访问。
	处理 V2 的邻接点:V2 的邻接点是 V3 和 V5,V3 已经在队列中,将 V5 加入队列。
	访问 V3:从队列中取出 V3,标记为已访问。
	处理 V3 的邻接点:V3 没有邻接点,无需处理。
	访问 V5:从队列中取出 V5,标记为已访问。
	处理 V5 的邻接点:V5 的邻接点是 V4,将 V4 加入队列。
	访问 V4:从队列中取出 V4,标记为已访问。
	处理 V4 的邻接点:V4 的邻接点是 V2 和 V6,V2 已经访问过,将 V6 加入队列。
	访问 V6:从队列中取出 V6,标记为已访问。
	处理 V6 的邻接点:V6 没有邻接点,无需处理。
	正确的 BFS 次序

	根据上述分析,正确的广度优先遍历次序应该是:V1 → V2 → V3 → V5 → V4 → V6。
深度优先遍历核心思想:尽可能深地访问图中的顶点,直到无法继续深入时,才回溯到上一个顶点,继续访问其他未访问的邻接点。

广度优先遍历核心思想:逐层访问图中的顶点,先访问起始顶点的所有邻接点,然后再访问这些邻接点的邻接点。
  1. 假设某计算机系统中资源R的可用数为6,系统中有3个进程竞争R,且每个进程都需要i个资源R,该系统可能会发生死锁的最小值i是()。
    A.1
    B.2
    C.3
    D.4
    解析:
    公式:m*(w-1)+1 <= n(不会发生死锁)
    n = 6
    m = 3
    w = 1 | 2 | 3 | 4
    3*(1-1)+1 <= 6 = 1 <= 6
    3*(2-1)+1 <= 6 = 4 <= 6
    3*(3-1)+1 <= 6 = 7 >= 6
    3*(4-1)+1 <= 6 = 10 >= 6

  2. 已知二维数组A按行优先方式存储,每个元素占用2个存储单元,第一个元素A[0][0]的地址为100,元素A[3][3]的存储地址是220,则元素A[5][5]的地址是()
    A.300
    B.310
    C.306
    D.296
    解析:
    存储位置 = 起始地址 + (i x n + j) x size其中i指行号,j指列号,n指每行元素数(数组列数)由题可知:第三行A[3][3]=220,起始地址A[0][0] = 100,根据公式求出n的值:220 = 100 + (3n + 3) * 2,可得n=19,A[5][5]的地址=100+(5 x 19 + 5) x 2 = 300

  3. 指令周期
    在这里插入图片描述
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值