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

评分及理由
(1)得分及理由(满分3分)
得分:2分
理由:学生正确指出了距离公式可以简化为 D = 2×(max-min),并且提出了移动最小值的指针来缩小距离的思路,这与标准答案中的多指针方法思想一致。但是公式表述有误,应该是 D = 2×(max(a,b,c)-min(a,b,c)),而不是减号前后写反了。由于核心思路正确,扣1分。
(2)得分及理由(满分8分)
得分:5分
理由:学生实现了多指针移动的基本框架,代码结构正确,指针移动逻辑合理。但是存在以下问题:
1. 计算res时使用了min和max函数,但没有包含相应头文件(可能是识别遗漏)
2. 最终返回2*res,但实际应该返回的是距离值,而res记录的是(max-min),所以应该返回2*res
3. 缺少对距离公式的正确实现,应该直接计算D值而不是只计算(max-min)
4. 代码中缺少对min和max函数的定义或包含
由于核心算法框架正确但实现不完整,扣3分。
(3)得分及理由(满分2分)
得分:1分
理由:学生正确分析了空间复杂度为O(1),但对时间复杂度的分析不准确。多指针方法的时间复杂度应该是O(n+m+l),即三个数组长度之和,而不是最大值或最小值。由于空间复杂度分析正确但时间复杂度分析错误,扣1分。
题目总分:2+5+1=8分

评分及理由
(1)得分及理由(满分4分)
学生回答“哈夫曼树”,标准答案为“二叉树”或“哈夫曼树”。哈夫曼树是一种特殊的前缀编码树,符合题目要求的数据结构。因此答案正确,得4分。
(2)得分及理由(满分3分)
学生描述了从0/1串到字符串的译码过程:按照树依次向下移动,直到尽头,然后循环以上步骤。这符合标准答案中“从根结点开始找路径,到叶结点终止,输出字符,然后重新从根开始”的译码思路。虽然示例中的具体字符串“dcaab”是举例说明,但过程描述正确,得3分。
(3)得分及理由(满分3分)
学生回答“按照哈夫曼树左0右1的规则根据字符集画哈夫曼树。若有字符在分支节点,则不具有前缀特性,若全在叶子节点,则具有前缀特性。”这与标准答案中“构造二叉树,字符信息只能存在叶结点中”的判断方法一致,正确描述了前缀特性的判定过程,得3分。
题目总分:4+3+3=10分

评分及理由
(1)得分及理由(满分2分)
学生回答“因为乘法指令可以转化为多次加法与移位的操作”,正确指出了乘法可以通过加法和移位实现,与标准答案一致。得2分。
(2)得分及理由(满分2分)
学生回答“控制ALU的运行,移位器的移位,寄存器的取数,控制每一个时钟各个部件的动作”,正确描述了控制逻辑在乘法指令实现中的作用,包括控制ALU、移位器和寄存器的操作,与标准答案中“控制循环次数、加法和移位操作”的核心思想一致。得2分。
(3)得分及理由(满分4分)
学生正确指出情况①(无乘法指令)执行时间最长,情况③(阵列乘法器)执行时间最短,理由解释合理:①需多次加法和移位,时钟数多;②需一次读数据并多次移位;③可并行计算,一个时钟周期完成。与标准答案逻辑一致。得4分。
(4)得分及理由(满分5分)
第一问:学生给出的带符号和无符号整数乘积均为“0000 0000 FFFF FFFEH”,与标准答案“00000000FFFFFFFEH”一致(十六进制表示格式差异不扣分)。得2分。
第二问:学生正确指出umul()无溢出、imul()溢出,理由与标准答案一致。得1分。
第三问:学生回答“对于无符号整数运算,若高n位全为0则无溢出否则溢出”,与标准答案完全一致。得2分。
本小题总计5分。
题目总分:2+2+4+5=13分

评分及理由
(1)得分及理由(满分3分)
学生答案正确指出Tag占20位、LRU占3位,且没有修改位,与标准答案一致。得3分。
(2)得分及理由(满分3分)
学生答案正确给出Cache缺失次数为64次,与标准答案一致。得3分。
(3)得分及理由(满分4分)
学生答案描述了Cache访问过程,包括地址划分(组号0、块内偏移3)、Tag比较、缺失时使用LRU替换并从内存调数据、更新有效位和Tag位。但答案中“Tag为16”表述不准确(应为高20位,但可能为识别错误或简写),且未明确说明初始时Cache为空导致必然缺失,以及未提及将数据送入CPU的过程。整体思路正确,但细节描述不够完整,扣1分。得3分。
题目总分:3+3+3=9分

评分及理由
(1)信号量定义及初值(满分2分)
得分:1分
理由:学生定义了4个信号量mutexA、mutexB、mutexC、mutexD,初值均为0,这符合同步信号量的初值设置要求。但是缺少了C到E的同步信号量,只定义了mutexC但没有在C操作后signal(mutexC),这是一个重要的逻辑缺失。
(2)A、B、C操作的同步关系(满分2分)
得分:2分
理由:A操作后V(mutexA),B操作后V(mutexB),C操作前P(mutexA)和P(mutexB),这正确实现了C必须在A和B完成后执行的要求。
(3)D、E操作的同步关系(满分2分)
得分:1分
理由:D操作后V(mutexD),E操作前P(mutexD),这正确实现了E必须在D完成后执行的要求。但是E操作前只有P(mutexC)和P(mutexD),缺少了C到E的同步关系,mutexC没有在C操作后被signal,导致E可能无法感知C的完成。
(4)代码完整性和正确性(满分1分)
得分:0分
理由:由于缺少C到E的同步信号量操作,整个同步关系不完整,E操作可能在没有C完成的情况下就开始执行,违反了题目要求。
题目总分:1+2+1+0=4分

评分及理由
(1)得分及理由(满分4分)
学生答案中:
本小题得1分。
(2)得分及理由(满分2分)
学生答案正确:虚拟地址空间必须连续,物理地址空间不用连续。与标准答案一致,得2分。
(3)得分及理由(满分2分)
学生答案正确:按行遍历局部性更好。与标准答案一致,得2分。
题目总分:1+2+2=5分

评分及理由
(1)得分及理由(满分3分)
学生回答中提到了在R3和R2上配置NAT表,但存在以下问题:
扣分:逻辑错误导致配置无效,扣2分;思路正确部分给1分。得分:1分。
(2)得分及理由(满分6分)
学生回答分为三部分:
本小题总分:2+2+0=4分。
题目总分:1+4=5分