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

评分及理由
(1)得分及理由(满分4分)
学生给出的边依次为:A→D、D→E、E→C、C→B,与标准答案(A,D)、(D,E)、(C,E)、(B,C)完全一致,只是表达方式略有不同(使用箭头表示边)。每条边正确且顺序正确,因此得4分。
(2)得分及理由(满分2分)
学生回答"唯一",与标准答案一致,因此得2分。
(3)得分及理由(满分2分)
学生回答"当权值互不相同时",虽然表述不如标准答案"当带权连通图的任意一个环中所包含的边的权值均不相同时"精确,但核心思想正确。在数据结构中,"权值互不相同"通常意味着图中所有边的权值都不相同,这确实能保证MST唯一。考虑到这是识别结果且核心逻辑正确,给2分。
题目总分:4+2+2=8分

评分及理由
(1)得分及理由(满分4分)
学生回答错误。原问题中n=0时f1会出现死循环,但学生回答“不会”,且未解释unsigned类型在n=0时n-1为最大值导致死循环的原因。对于第二问,学生回答正确,指出若改为int型则不会死循环,因为n-1为负数,循环条件不满足。第一问部分得0分,第二问部分得2分,本小题总得分2分。
(2)得分及理由(满分3分)
学生回答f1(23)和f2(23)返回值相等是正确的。但f1(23)的机器数回答为“00 FE FFFFH”有误,正确应为“00FF FFFFH”,此处可能是识别错误,但根据标准答案应扣1分。f2(23)的机器数“4B7FFFFFH”正确。因此本小题得2分。
(3)得分及理由(满分1分)
学生回答正确,指出f2(24)因IEEE754单精度浮点数只有24位有效位,发生尾数舍入导致精度缺失,与标准答案一致。得1分。
(4)得分及理由(满分2分)
学生回答正确解释了f1(31)返回-1的原因(int型溢出,机器数为全1解释为-1),并正确指出最大n为30。得2分。
(5)得分及理由(满分3分)
学生回答f2(127)对应的值为“2¹²⁸”不正确,标准答案为+∞。对于不溢出的最大n=126和精确无舍入的最大n=23的回答正确。第一问部分得0分,后两问各得1分,本小题总得分2分。
题目总分:2+2+1+2+2=9分

评分及理由
(1)得分及理由(满分2分)
学生回答正确指出计算机M为CISC,理由是指令不定长,符合标准答案中的判断依据。得2分。
(2)得分及理由(满分2分)
学生计算过程为0040107FH - 00401020H = 5FH = 95字节,但标准答案为96字节。错误在于未加1(因为地址范围包含首尾),属于计算逻辑错误。扣1分,得1分。
(3)得分及理由(满分3分)
学生正确得出CF=1,计算过程中提到"高位无借位,则Cout=0"和"CF = Cin⊕Cout = 1⊕0 = 1",思路与标准答案一致(标准答案使用CF = C⊕1,实质相同)。但中间计算有误写"00000004H"应为"00000000H",根据禁止扣分规则第1条,判断为误写不扣分。得3分。
(4)得分及理由(满分3分)
学生正确回答"不能",理由指出f2的power是float型,阶码表示大小,不能通过左移实现乘2,与标准答案核心逻辑一致。得3分。
题目总分:2+1+3+3=9分

评分及理由
(1)得分及理由(满分1分)
学生回答“1页”,与标准答案一致,得1分。
(2)得分及理由(满分2分)
学生回答“第1表项,第1个表项”,与标准答案“页目录的第1个表项,页表的第1个表项”一致,得2分。
(3)得分及理由(满分4分)
学生回答“由运行态→阻塞态→就绪态→运行态”,正确描述了进程状态变化,得3分(标准答案中状态变化占3分)。但未明确回答“CPU会进入内核态”,缺少1分,因此本小题得3分。
题目总分:1+2+3=6分

评分及理由
(1)信号量定义得分及理由(满分3分)
学生定义了两个信号量:mutex_y 和 mutex_z,分别用于保护变量 y 和 z 的互斥访问。标准答案中使用了三个信号量:mutex_y1、mutex_y2 和 mutex_z,其中 mutex_y1 用于 thread1 与 thread3 对 y 的互斥,mutex_y2 用于 thread2 与 thread3 对 y 的互斥。学生只使用一个 mutex_y 来保护 y,这会导致 thread1 和 thread2 在访问 y 时无法并发执行,降低了并发度。因此扣1分。得分:2分
(2)thread1 代码得分及理由(满分1分)
thread1 中正确使用了 P(mutex_y) 和 V(mutex_y) 来保护对 y 的访问,虽然使用的信号量与标准答案不同,但思路正确,实现了互斥。不扣分。得分:1分
(3)thread2 代码得分及理由(满分2分)
thread2 中先 P(mutex_y) 再 P(mutex_z),然后执行 w=add(y,z),最后 V(mutex_z) 和 V(mutex_y)。这里对 y 和 z 的互斥保护是正确的,但由于使用了单一的 mutex_y,会导致与 thread1 的并发度降低。逻辑正确但并发度不足,扣1分。得分:1分
(4)thread3 代码得分及理由(满分2分)
thread3 中先对 z 进行 P/V 操作,然后对 y 进行 P/V 操作。这里对 y 的访问只使用了一个 mutex_y,而标准答案中需要同时获取 mutex_y1 和 mutex_y2 来避免与 thread1 和 thread2 的冲突。学生的方案会导致 thread3 在修改 y 时,thread1 和 thread2 中有一个可能无法并发执行,降低了并发度。逻辑正确但并发度不足,扣1分。得分:1分
题目总分:2+1+1+1=5分

评分及理由
(1)得分及理由(满分3分)
学生回答正确接收了3个数据帧,分别是S0,0、S1,0、S2,0。这与标准答案完全一致,因此得3分。
(2)得分及理由(满分3分)
学生回答最多可以发送5个数据帧,数量正确,但帧序号标注有误。第一个帧应为S5,2,学生写作S5,4;最后一个帧应为S1,2,学生写作S1,4。确认序号错误表明对捎带确认机制理解有偏差,但发送数量正确。考虑到识别可能产生字符错误(如2识别为4),且核心逻辑(发送5帧)正确,扣1分。得2分。
(3)得分及理由(满分2分)
学生回答需要重发3个数据帧,数量正确;重发的第一个帧为S2,3,与标准答案一致。因此得2分。
(4)得分及理由(满分1分)
学生计算传输时延正确(0.08ms),但信道利用率公式错误:学生使用8×0.08作为分子,而标准答案使用7×0.08(对应最大窗口7帧)。计算结果61.5%错误,因此得0分。
题目总分:3+2+2+0=7分