科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络

评分及理由
(1)得分及理由(满分4分)
学生答案的基本设计思想与标准答案一致:通过计算入度,每轮寻找入度为0的顶点,若某一轮有多个或没有入度为0的顶点则返回0(表示拓扑序列不唯一或不存在),否则继续处理直至所有顶点访问完毕,若整个过程每轮都恰好有一个入度为0的顶点则返回1。思路正确、清晰,得满分4分。
(2)得分及理由(满分9分)
算法实现整体正确,但存在一处细节错误:在更新邻接顶点入度时,代码中写的是 G.edge[k][i],而题目中定义的邻接矩阵成员名为 Edge(首字母大写)。此处应为 G.Edge[k][i]。由于该错误会导致编译失败或运行时访问错误,属于逻辑/语法错误,应扣1分。其余部分(入度计算、循环控制、内存分配与释放、条件判断)均正确。因此,本部分得分 9 - 1 = 8分。
题目总分:4+8=12分

评分及理由
(1)得分及理由(满分6分)
学生正确计算了所有关键字的初始散列地址及冲突处理后的最终位置,并给出了散列表HT的构造结果。装填因子计算正确为7/11。但在HT表格中,关键字和冲突次数的排列与标准答案不完全一致(例如学生将关键字14放在地址1,而标准答案中地址1为空,14在地址2;冲突次数标注也有差异),这可能是识别错误或排版混乱导致的误写。根据禁止扣分原则,若识别结果存在字符误写(如地址、数字错位)且核心逻辑正确,不扣分。因此本题得满分6分。
(2)得分及理由(满分2分)
学生给出了查找关键字14的比较序列:先比较地址9的3,再比较地址10的18,最后比较地址2的14。该序列与标准答案一致,查找过程正确。得满分2分。
(3)得分及理由(满分2分)
学生正确计算了查找关键字8时的探查序列:从H0=2开始,依次探查地址3、6、0、7,并在地址7发现空位,确认查找失败,散列地址为7。与标准答案一致。得满分2分。
题目总分:6+2+2=10分

评分及理由
(1)得分及理由(满分2分)
学生回答“32个”正确,得1分。解释“因为5位shamt可表示32位偏移,覆盖所有范围”表述不准确(shamt是移位位数,不是偏移量),但核心意思(5位可表示0-31,覆盖32位字长所有移位可能)正确,不扣分。得满分2分。
(2)得分及理由(满分3分)
学生回答“ALUBsrc = 0”正确,得1分。“F = 1FDB 9753H”正确,得0.5分。“OF = 1”正确,得0.5分。“CF = 1”正确,得0.5分。但判断溢出的标志回答“根据OF标志判断”错误,对于无符号整数加法,应根据CF判断是否溢出。此处逻辑错误,扣0.5分。本小题得分:1+0.5+0.5+0.5-0.5=2分。
(3)得分及理由(满分2分)
学生回答正确解释了slli指令的高位(imm字段)为0,因此零扩展和符号扩展效果相同。得满分2分。
(4)得分及理由(满分2分)
学生回答“Ext = 1”和“ALUctr = 000”均正确。得满分2分。
(5)得分及理由(满分2分)
学生回答指出指令低7位(opcode)为0000011,且高7位(funct3字段所在的高位部分)不为全0,因此是lw指令。思路正确,得满分2分。
(6)得分及理由(满分2分)
学生回答最终地址“FFFF 9CD4H”正确。得满分2分。
题目总分:2+2+2+2+2+2=12分

评分及理由
(1)得分及理由(满分3分)
学生答案与标准答案完全一致:数组a的首地址寄存器为03H,变量i寄存器为02H,sum寄存器为01H。得3分。
(2)得分及理由(满分5分)
学生答案中:
- a[i]地址:0013E004H,正确。
- a[i]机器数:FF FF EC DCH,正确。
- sum机器数:0EH,标准答案为0000 000EH,学生简写为0EH,但根据上下文(32位int型)和计算过程,其含义正确,不扣分。
- a[i]所在页号:0013EH,正确。
- 数组a至少存放在2页中,正确。
所有核心计算和结论均正确,得5分。
(3)得分及理由(满分2分)
学生答案中:
- 机器码:0021 2213H,正确。
- 数组a改为short型后,slli指令汇编形式为:slli r4, r2, 1,正确。
得2分。
题目总分:3+5+2=10分

评分及理由
(1)得分及理由(满分3分)
学生答案中:
- 正确计算了虚拟地址1234 5678H对应的页号为048H。
- 正确计算了页表项虚拟地址为B8C0 0120H。
- 正确计算了页表项物理地址为6540 0120H。
- 正确给出了页框号为2EAH。
所有关键步骤和结果均与标准答案一致,逻辑正确,计算无误。
得分:3分
(2)得分及理由(满分4分)
学生答案中:
- 正确计算了进程P页表所在页的页号为2E3H。
- 正确计算了该页对应的页表项虚拟地址为B8C0 0B8CH。
- 正确给出了该页表项中的页框号为195H。
所有关键步骤和结果均与标准答案一致,逻辑正确,计算无误。
得分:4分
题目总分:3+4=7分

评分及理由
(1)得分及理由(满分2分)
得分:2分。
理由:学生正确指出C1的代码是临界区,并给出了正确原因(对B的写入需要互斥)。这与标准答案的核心观点一致。
(2)得分及理由(满分3分)
得分:3分。
理由:学生定义了empty和full两个信号量,其作用和初值(empty=1, full=0)完全正确,符合“尽可能少的信号量”要求。P1和P2的代码逻辑正确:P1先等待缓冲区空(wait(empty)),执行C1后通知缓冲区有数据(signal(full));P2先等待缓冲区有数据(wait(full)),执行C2后通知缓冲区空(signal(empty))。该方案完美实现了题目要求的同步关系(B为空才能执行C1,B非空才能执行C2),且没有逻辑错误。
(3)得分及理由(满分3分)
得分:3分。
理由:学生定义了mutex信号量用于互斥,初值为1,符合“尽可能少的信号量”要求。P1和P2的代码逻辑正确:通过wait(mutex)和signal(mutex)将C3操作包裹起来,确保了同一时刻只有一个进程能修改缓冲区B。这满足了题目中“B非空时才能执行C3”的前提以及互斥修改的要求,没有逻辑错误。
题目总分:2+3+3=8分

评分及理由
(1)得分及理由(满分1分)
学生答案中写的是“OSPF+协议”,虽然多了一个“+”号,但核心意思是OSPF。题目要求从RIP和OSPF中选择,AS4规模较大,应选OSPF。学生答案正确,得1分。
(2)得分及理由(满分1分)
学生答案“TTL=16”或“TTL = 16”正确。因为AS3内通信经过路由器数不超过15个,为确保IP分组能到达,初始TTL至少为16(经过15个路由器后TTL减为1,仍能交付给目的主机)。得1分。
(3)得分及理由(满分2分)
学生答案提到“获得210.2.4.0/24,至少90s”。标准答案为60s。学生的90s是错误的。题目问的是从交换初始距离向量算起,R11~R16均获得到达网络210.2.4.0/24的正确路由所需的最短时间。根据RIP的周期交换和逐跳传播特性,从R14(直连该网络)开始,经过30秒第一次交换,R11和R15获得路由;再经过30秒第二次交换,R12、R13、R16获得路由,总共60秒。学生回答90秒存在逻辑错误,扣2分。得0分。
(4)得分及理由(满分3分)
学生答案:“R44向R13由e-BGP会话完成,由BGP update报文通告。R13由i-BGP会话通告R14,R15。”
第一问:R44和R13属于不同AS(AS4和AS1),应使用外部BGP(eBGP)会话,学生答“e-BGP”正确。
第二问:通告路由使用BGP Update报文,学生答“update报文”正确。
第三问:R13、R14、R15同属AS1,R13向R14和R15通告应使用内部BGP(iBGP)会话,学生答“i-BGP”正确。
三部分均正确,得3分。
(5)得分及理由(满分2分)
学生答案:“R14更新后下一跳为R11。R15更新后下一跳为R13。”
题目给出了三条AS路径,在无策略约束下,BGP会选择AS路径最短的。三条路径的AS路径长度分别为:AS2 AS8 AS19(3个AS),AS3 AS7 AS11 AS19(4个AS),AS4 AS10 AS19(3个AS)。因此R11和R13通告的路径都是3跳,同为最短。对于R14,它从R11和R15(从R13学习到)都能学到最短路径,但根据BGP路由选择过程,当多条路径等优时,可能选择Router ID小的或其它属性,但题目未指定更细的规则。通常,在下一跳不同的等优路径中,路由器会选择先学到的或按某种内部规则选一个。标准答案认为R14选R11,R15选R13,这与学生答案一致。学生答案正确,得2分。
题目总分:1+1+0+3+2=7分