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

评分及理由
(1)得分及理由(满分4分)
得分:2分
理由:学生给出了基本思路:检查每个顶点的入度,若不存在入度为0的顶点则返回0;若存在多个入度为0的顶点则返回0;若只有一个入度为0的顶点则将其从图中移除(通过将对应行列置0)。这个思路与拓扑排序判断唯一性的核心思想一致,即每一步只能有一个入度为0的顶点。但描述不够清晰、完整,例如“完整遍历完一次邻接矩阵后,若有保存了两个顶点号则删去,返回0”逻辑表述有些混乱,且未明确说明循环何时结束、如何更新入度等细节。因此扣2分。
(2)得分及理由(满分9分)
得分:2分
理由:学生尝试用代码实现,但代码存在严重逻辑错误且不完整。主要问题包括:
1. 变量名重复定义(如count既作为数组又作为整型变量),且数组count[MAXV]未正确使用。
2. 循环条件错误(如for(int i = 0; i < G.MAXV; i++)中的G.MAXV应为G.numVertices)。
3. 入度检查逻辑错误:代码中试图通过检查G.Edge[i][j] != 0来判断入度,但未正确遍历邻接矩阵计算入度,且未实现入度数组的维护。
4. 代码不完整,缺少关键步骤(如更新入度、标记已处理顶点等),且存在语法错误(如flag - 1 = 0)。
虽然代码框架试图体现拓扑排序过程,但核心逻辑未正确实现,因此扣7分。
题目总分:2+2=4分

评分及理由
(1)得分及理由(满分6分)
学生答案中给出了装填因子为7/11 ≈ 0.63,这与标准答案完全一致。虽然学生没有画出散列表HT的具体结构,但题目要求“画出所构造的HT”并计算装填因子。由于学生答案是从图片识别而来,可能包含了画图部分但未能成功识别。根据“禁止扣分”原则,对于识别问题导致的图表缺失不扣分。且核心计算部分(装填因子)正确,因此给予满分。
得分:6分
(2)得分及理由(满分2分)
学生答案给出了查找关键字14的比较序列“9, 10, 2”,这与标准答案中的探查序列(先查9,再查10,最后在2找到)完全一致,并且明确指出“查找成功”。答案正确。
得分:2分
(3)得分及理由(满分2分)
学生答案给出了查找失败时的散列地址为“7”,这与标准答案中最终确认查找失败的空地址(索引7)完全一致。答案正确。
得分:2分
题目总分:6+2+2=10分

评分及理由
(1)得分及理由(满分2分)
学生回答“32个”正确,得1分;解释“2⁵ = 32”正确,得0.5分;解释“机器字长也是32bit,能够完整移位”基本正确,但未明确说明shamt最大为31需5位,表述不够精确,但核心意思正确,得0.5分。本题得2分。
(2)得分及理由(满分3分)
学生回答“ALUBsrc=0”正确,得1分;回答“OF=1,CF=1”正确,得1分;回答判断无符号整数溢出的标志是“CF”正确,得1分。本题得3分。
(3)得分及理由(满分2分)
学生回答“因为左移操作,不需要在左端补0或1,只有右移需要”。该回答解释了左移操作本身的性质,但未结合题目中Ext信号(控制扩展器进行零扩展或符号扩展)以及slli指令立即数高12位为0的具体情况进行分析。标准答案的关键在于“无论进行零扩展还是符号扩展,都是在高位补0,效果等价”。学生的回答逻辑不完整,未触及问题核心,因此不能给分。本题得0分。
(4)得分及理由(满分2分)
学生回答“Ext = 1”正确,得1分;回答“ALUctr = *000”正确,得1分。本题得2分。
(5)得分及理由(满分2分)
学生回答“因为其他两条指令低7位分别为01100110和0010011,不可能出现0000011”。识别结果中“01100110”疑似“0110011”的误写(多了一个0),根据禁止扣分原则,不扣分。学生指出了通过操作码(低7位)进行区分,思路正确,得2分。
(6)得分及理由(满分2分)
学生回答“FFFFACD4H”。标准答案为“FFFF 9CD4H”。学生的计算结果错误。计算过程应为:立即数A04H符号扩展为FFFF FA04H,与R[01H]=FFFF A2D0H相加,得到1FFFF 9CD4H,取低32位为FFFF 9CD4H。学生答案错误,不得分。本题得0分。
题目总分:2+3+0+2+2+0=9分

评分及理由
(1)得分及理由(满分3分)
学生第一次识别结果为“2EA”,仅回答了页框号,未给出页表项的虚拟地址和物理地址,因此该部分不完整。第二次识别结果为“B8C00120H, 65400120H, 77400010H, 2EA”,其中前两个地址与标准答案一致,第三个地址“77400010H”与问题无关或存在识别错误,但根据上下文可能为误写或多余信息,不扣分。页框号“2EA”正确。因此,学生答案中包含了正确的页表项虚拟地址、物理地址和页框号,可得满分3分。
(2)得分及理由(满分4分)
学生未对第(2)问作出任何回答,因此得0分。
题目总分:3+0=3分

评分及理由
(1)得分及理由(满分2分)
学生回答“是的,C1要对缓冲区B进行操作。P1和P2必需互斥访问。” 这准确地指出了C1操作需要互斥执行,因为它是临界区。理由充分,与标准答案一致。得2分。
(2)得分及理由(满分3分)
学生定义了三个信号量:empty=1, mutex=1, full=0。其P1和P2的代码逻辑正确:P1先P(empty)检查缓冲区是否为空,再P(mutex)进入临界区执行C1,然后V(mutex)释放互斥锁,最后V(full)表示缓冲区有数据。P2先P(full)等待缓冲区有数据,再P(mutex)进入临界区执行C2,然后V(mutex)释放互斥锁,最后V(empty)表示缓冲区为空。该逻辑完全满足题目要求(B为空才能执行C1,B非空才能执行C2),且互斥保护得当。虽然信号量名称与标准答案略有不同(标准答案用mutex和full,学生增加了empty),但思路正确且完整,不扣分。得3分。
(3)得分及理由(满分3分)
学生定义了一个信号量mutex=1,并在P1和P2中正确使用P(mutex)和V(mutex)包裹C3操作。这确保了多个进程对缓冲区B的修改操作(C3)互斥进行,符合题目要求(B非空时才能执行C3,但互斥是主要需求)。学生的第二次识别结果中P1的代码“P(mutex)”正确(第一次识别中的“P(empty, mutex)”可能是识别错误,但以第二次为准)。逻辑正确。得3分。
题目总分:2+3+3=8分

评分及理由
(1)得分及理由(满分1分)
学生答案:RIP。标准答案:OSPF。AS4规模较大,可能超过20跳,RIP最大跳数为15,无法支持,因此应选择OSPF。学生选择RIP是错误的。扣1分,得0分。
(2)得分及理由(满分1分)
学生答案:16。标准答案:16。TTL初始值应至少为路径最大路由器数+1。AS3内通信不超过15个路由器,因此TTL至少为16。答案正确。得1分。
(3)得分及理由(满分2分)
学生答案:60s, 90s。标准答案:至少需要60s。学生给出了两个时间值,其中包含正确的60s。根据“只要其中有一次回答正确则不扣分”的原则,应认为学生答出了正确时间。得2分。
(4)得分及理由(满分3分)
学生答案:空白/未作答。标准答案:外部BGP会话、Update报文、内部BGP(iBGP)会话。问题共三小问,学生完全未回答。扣3分,得0分。
(5)得分及理由(满分2分)
学生答案:R14→R11,R15→R13。标准答案:R14下一跳为R11,R15下一跳为R13。在无策略约束下,BGP选择AS路径最短的路由。R11通告的路径为“AS2 AS8 AS19”(3个AS),R13通告的路径为“AS4 AS10 AS19”(3个AS),两者AS路径长度相同。通常BGP在AS路径长度相同时,会考虑其他属性(如MED、IGP开销等),但题目未提供更多信息,且标准答案认定R14选R11、R15选R13。学生答案与标准答案完全一致。得2分。
题目总分:0+1+2+0+2=5分