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

评分及理由
(1)得分及理由(满分6分)
得分:6分。理由:学生构造的散列表与标准答案完全一致:下标0~9对应关键字为7、14、空、8、空、11、30、18、9、空。构造过程正确,满足散列函数H(key)=(key×3)mod7和线性探测再散列法,且装填因子0.7下散列表长度为10。无逻辑错误。
(2)得分及理由(满分4分)
得分:3分。理由:查找成功的平均查找长度计算正确,ASL成功=12/7≈1.714,与标准答案一致,得2分。查找不成功的平均查找长度计算错误:学生计算为16/7≈2.286,标准答案为18/7≈2.571。学生只考虑了散列函数值0~4对应的查找失败情况(分母为7),但正确方法应计算散列函数值0~6共7种情况下的查找失败长度(分母为7),其总和应为18。学生遗漏了散列函数值为5和6时的失败查找长度,导致结果错误。该部分逻辑错误,扣1分。本小题共得3分。
题目总分:6+3=9分

评分及理由
(1)得分及理由(满分4分)
得分:4分。
理由:学生准确描述了“三次翻转”的核心设计思想,即先翻转前P个元素,再翻转后n-P个元素,最后整体翻转,与标准答案一致,逻辑正确,得满分。
(2)得分及理由(满分7分)
得分:6分。
理由:学生给出的C语言代码整体逻辑正确,reverse函数和left_P函数的调用关系正确,能够实现循环左移功能。但存在两处小问题:①reverse函数中变量i、j未显式声明类型(第一次识别结果中声明了int i, j,第二次未声明,按识别误差处理,不扣分);②在left_P函数中,第一个reverse(R, 0, P-1)和第二个reverse(R, P, n-1)的边界处理正确,但函数参数命名不一致(reverse函数参数为n,m,left_P函数中传入的是位置下标),经上下文判断为识别或表述问题,不影响核心逻辑,不扣分。综合来看,代码核心逻辑正确,扣1分作为代码规范性或细微表述的轻微瑕疵。
(3)得分及理由(满分2分)
得分:2分。
理由:学生给出的时间复杂度O(n)和空间复杂度O(1)与标准答案完全一致,分析正确,得满分。
题目总分:4+6+2=12分

评分及理由
(1)得分及理由(满分4分)
学生答案:最多有16条指令(正确);最多有8个通用寄存器(正确);MAR:13位(错误),MDR:16位(正确)。
理由:指令操作码4位,故最多16条指令,正确;操作数6位,寻址方式3位,寄存器编号3位,故最多8个通用寄存器,正确;主存128KB,按字编址,字长16位即2B,故存储单元数=128KB/2B=64K=2^16,因此MAR至少需要16位,学生答13位错误(可能是混淆了按字节编址的地址位数)。MDR至少16位,正确。扣2分(MAR错误扣2分)。本小题得2分。
(2)得分及理由(满分2分)
学生答案:00000H ~ 0FFFFH(或000000H ~ 0FFFFFH)。
理由:PC和Rn均为16位,可表示地址范围0~2^16-1,即0000H~FFFFH。学生答案虽多写了0,但表示的数值范围相同,核心逻辑正确,不扣分。本小题得2分。
(3)得分及理由(满分5分)
学生答案:机器码2315H(正确,得2分);寄存器R5内容改变,变为1235H(错误,应为5679H,扣1分);寄存器R4内容改变,变为5678H(错误,R4内容不变,扣1分);存储单元5678H内容改变(正确,得1分),但未给出改变后的内容(扣1分)。
理由:机器码计算正确,得2分;执行后R5应加1变为5679H,学生答1235H错误;R4内容不变,学生答改变错误;存储单元5678H内容改变正确,但未写出结果68ACH,扣1分。本小题得2分。
题目总分:2+2+2=6分

评分及理由
(1)得分及理由(满分3分)
学生作答为“数据Cache总容量 = 8 × 64B = 512B”,只计算了数据存储阵列的容量,未计入标记(Tag)、有效位等控制位。标准答案要求计算Cache总容量=8×(64+20/8)B=532B。学生漏算了Tag和有效位,属于知识点遗漏,扣2分。得1分。
(2)得分及理由(满分4分)
学生作答中首地址误写为“140B”(应为320=140H),但后续地址计算采用“140B+32×4B=268B”,实际数值与十进制320+32×4=448(即1C0H)不符,存在混合进制错误。且“其中行号为400B”表述混淆,未给出正确行号6;“a[1][1]”计算也因地址错误导致行号错误,学生答案为2,正确为5。两问均未正确,扣4分。得0分。
(3)得分及理由(满分5分)
学生作答给出程序A命中率93.75%、程序B命中率0%,与标准答案一致,理由“程序A的命中率高”方向正确,虽“不用频繁调页”表述不严谨(应为访问主存),但核心逻辑正确。命中率及执行时间比较均正确,不扣分。得5分。
题目总分:1+0+5=6分

评分及理由
(1)得分及理由(满分2分)
得分:1分。
理由:学生作答为“位示图”,点出了位图(位示图)这一核心方法,和标准答案一致,因此给出基本分。但题目要求“说明在上述条件如何进行磁盘块空闲状态的管理”,需结合2KB内存和16384个磁盘块说明位图如何表示、占用空间如何计算等。学生仅写“位示图”,说明不够完整,因此扣1分。
(2)得分及理由(满分3分)
得分:2分。
理由:学生正确给出CSCAN访问顺序对应的移动磁道数为20+90+20+40=170,寻道时间为170ms;也正确计算平均旋转延迟为5ms、4个请求总旋转延迟为20ms。这两部分思路和结果正确。但读取扇区时间计算错误:转速为6000rpm,即100r/s,旋转一周为10ms,每个磁道100个扇区,读取一个扇区平均时间应为10ms/100=0.1ms,4个请求为0.4ms,而学生写成“平均读取扇区时间=1/100=10ms”,导致总读取扇区时间算成40ms,最终总时间230ms错误。因此扣1分。
(3)得分及理由(满分2分)
得分:2分。
理由:学生回答“有。FIFO磁盘调度策略”,并说明Flash半导体存储器可随机访问,不需要寻道时间和旋转延迟时间。该思路正确,虽然标准答案写的是FCFS(先来先服务),FIFO与FCFS在磁盘调度语境下本质一致,均为按请求到达顺序服务,因此不扣分。
题目总分:1+2+2=5分

评分及理由
(1)得分及理由(满分2分)
得分:2分。
理由:学生正确计算出页号为5。计算过程正确:17CAH = 0001 0111 1100 1010B,页内偏移10位,页号 = 000101B = 5。与标准答案一致。
(2)得分及理由(满分3分)
得分:1分。
理由:学生正确判断出FIFO算法下应置换0号页,装入7号页框,这一核心逻辑正确。但物理地址计算错误,学生得出“107CAH”,而标准答案为“1FCAH”。正确物理地址应为页框号7(即000111B)拼接页内偏移,得到的十六进制为1FCAH。学生写成107CAH,页框号部分多了一个0(即把7位页框号写成了8位,或十六进制解析为10 7CAH),属于计算/拼接错误,扣2分。
(3)得分及理由(满分3分)
得分:2分。
理由:学生正确判断出CLOCK算法下淘汰2号页,将5号页装入2号页框,页框号正确为2。但物理地址计算错误,学生得出“097CAH”,而标准答案为“0BCAH”。正确物理地址应为页框号2(即000010B)拼接页内偏移,得到的十六进制为0BCAH。学生写成097CAH,页框号部分错误,属于计算/拼接错误,扣1分。考虑到学生核心置换逻辑正确,仅最后地址拼接出错,扣分合理。
题目总分:2+1+2=5分

评分及理由
(1)得分及理由(满分4分)
得分:4分。
理由:学生正确计算出单程传播时延为 \(2\text{ km} / 200000\text{ km/s}=10\mu s\),并得出最短时间为 \(10\mu s\)、最长时间为 \(20\mu s\)。这与标准答案一致,核心逻辑正确,因此给满分4分。
(2)得分及理由(满分5分)
得分:0分。
理由:学生没有按“发送周期=数据帧发送时延+确认帧发送时延+双程传播时延”计算有效数据传输速率,而是用 \((1518-64)/1518\) 求比例,误把“有效数据”理解为去掉确认帧长度,且完全忽略了传播时延和确认帧发送时延,计算模型错误。标准答案要求的数据帧有效数据为1500字节,并考虑双程传播时延,得到约9.33 Mbps。因此该问逻辑错误,不能给分,得0分。
题目总分:4+0=4分