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

评分及理由
(1)得分及理由(满分4分)
学生答案的设计思想基本正确:对每个顶点统计入度和出度,判断出度是否大于入度,若是则计数。但描述中“cnt为统计入度个数的变量”表述不准确(应为统计K顶点个数),且未提及输出顶点名称。由于核心思想正确,但细节描述有瑕疵,扣1分。
得分:3分
(2)得分及理由(满分9分)
学生代码框架正确,通过双重循环计算每个顶点的入度和出度,并比较后计数。但存在以下问题:
1. 第一次识别代码中,if (out_degree > in_degree) 判断位置错误(应在外层循环结束后判断),这会导致逻辑错误,统计不准确。
2. 第二次识别代码修正了判断位置,但变量名书写有误(out - degree、in - degree),应为 out_degree、in_degree,这可能是识别错误,按误写处理不扣分。
3. 代码未输出K顶点的名称,不符合题目要求“输出G中所有K顶点”。
基于主要逻辑正确但缺少输出功能,且第一次识别代码有逻辑错误,扣4分。
得分:5分
题目总分:3+5=8分

评分及理由
(1)得分及理由(满分8分)
学生答案指出可生成3个初始归并段,与标准答案一致,得2分。给出的三个归并段序列分别为:
第一段:37, 51, 63, 92, 94, 99
第二段:14, 15, 23, 31, 48, 56, 60, 90, 166
第三段:8, 17, 43, 100
与标准答案完全一致。因此,本小题得满分8分。
(2)得分及理由(满分2分)
学生答案指出最大值是n,最小值是m,与标准答案完全一致。因此,本小题得满分2分。
题目总分:8+2=10分

评分及理由
(1)得分及理由(满分3分)
学生答案正确指出数组a分布在2个页面中,会发生2次缺页异常,页故障地址分别为0042 2000H和0042 3000H。与标准答案完全一致。
得分:3分。
(2)得分及理由(满分2分)
学生答案正确指出没有时间局部性,并说明了原因(没有同一个元素被访问再次或多次)。理由与标准答案一致。
得分:2分。
(3)得分及理由(满分4分)
学生答案存在部分错误:
1. 块内地址(A4~A0)正确。
2. Cache组号应为A10~A5,学生答为“A1~A5”,这是错误的(可能是识别错误,但根据上下文判断,A1~A5不符合逻辑,属于知识性错误)。
3. a[1][0]的虚拟地址0042 2100H正确。
4. 所在主存块对应的Cache组号08H(即8)正确。
由于Cache组号判断错误,扣1分。
得分:3分。
(4)得分及理由(满分5分)
学生答案正确指出数组a占用192个主存块,两种循环顺序下的Cache命中率均为87.5%。与标准答案完全一致。
得分:5分。
题目总分:3+2+3+5=13分

评分及理由
(1)得分及理由(满分3分)
学生第一次识别结果为“0040 10B9H”,与标准答案一致。第二次识别结果为“0040 1089H”,是错误的。根据“禁止扣分”第3条,只要有一次识别正确则不扣分。因此本题得满分3分。
(2)得分及理由(满分3分)
第一问:学生两次识别均回答“都采用相对寻址”,与标准答案一致,得1分。
第二问:学生给出了相对寻址的计算公式“(PC)=(PC)+2 + OFFSET”,思路正确。但在具体计算中,两次识别都出现了明显的数字识别错误(如“00001079H”、“094”、“00401089H”),这些错误导致计算过程不完整或地址错误。根据“禁止扣分”第1、2、4条,这些数字错误很可能为图片识别导致的误写,且核心逻辑(相对寻址的计算方法)已正确表达,因此不因误写扣分。但学生的计算过程没有像标准答案那样清晰列出等式并解出偏移量A=9H,表述不够完整。考虑到核心要点已包含,扣1分。本题第二问得1分。
本小题总计得分:1 + 1 = 2分。
(3)得分及理由(满分2分)
第一问:学生两次识别均回答“源操作数采用立即寻址”,与标准答案一致,得0.5分。
第二问:学生第一次识别回答“eax有效 i*64*4”,第二次识别回答“有效地址 i * 64 * 4”。标准答案为“ecx存放的是i×256”。学生的答案“i*64*4”等于i*256,计算结果一致,但表述为“有效地址”或“eax有效”不准确(eax是寄存器名,且这里计算的是基址ecx的值)。考虑到计算结果正确,但寄存器名和表述对象有混淆,扣0.5分。本题得0.5分。
第三问:学生两次识别均回答“采用小端”,与标准答案一致,得0.5分。
本小题总计得分:0.5 + 0.5 + 0.5 = 1.5分。
(4)得分及理由(满分1分)
学生两次识别均回答“不会缺页异常”,并给出了理由“与上述代码同属于00401H页的代码”。理由与标准答案“虚页号相同,位于同一页”的核心思想一致。表述中的页号“00401H”与标准答案“004010H”存在一位数字差异,可能为识别误差,且不影响“同一页”的逻辑判断。因此不扣分,得满分1分。
题目总分:3+2+1.5+1=7.5分

评分及理由
(1)得分及理由(满分4分)
学生指出了两处错误:
if (key == TRUE) 改为 while (key == TRUE)。这与标准答案一致,正确。lock = TRUE; 改为 swap key, lock;。这与标准答案不一致。标准答案是将 lock = TRUE; 改为 lock = FALSE;。学生的修改是错误的,因为退出区不应该再次交换,而应该直接释放锁(将 lock 设为 FALSE)。这是一个逻辑错误,会导致互斥失败。因此,第一问部分正确。第一处修改正确得2分,第二处修改错误扣2分。本小题得2分。
(2)得分及理由(满分3分)
学生回答“不可用 newSwap 代替”,结论正确。给出的理由核心是“newSwap 不同于 swap,它不可实现原子操作”,并且提到了 lock 是共享变量需要互斥访问。这与标准答案的核心思想(swap是原子操作,newSwap函数调用无法保证原子性)是一致的。虽然表述上不如标准答案详细(例如没有举例说明并发执行时可能出现的交错情况),但核心点已涵盖,没有逻辑错误。
因此,本小题得3分。
题目总分:2+3=5分

评分及理由
(1)得分及理由(满分3分)
学生答案:①前一个:③,①后一个:⑤,⑥后一个:④(第一次识别)或 ②后一个:④(第二次识别)。
标准答案:①前一个操作是③,后一个操作是⑤;⑥后一个操作是④。
分析:对于①的前后操作,学生回答与标准答案一致。对于“⑥的后一个操作”,第一次识别结果“⑥后一个:④”正确,第二次识别结果“②后一个:④”错误。根据“禁止扣分”第3条,只要其中一次识别正确则不扣分。因此本题答案完全正确。
得分:3分
(2)得分及理由(满分2分)
学生答案:②操作后,切换进程;①操作后,CPU可选中P。
标准答案:CPU一定会从进程P切换到其他进程的操作是②;CPU调度程序才能选择进程P执行的操作是①。
分析:学生答案与标准答案完全一致,表述清晰正确。
得分:2分
(3)得分及理由(满分1分)
学生答案:③属于键盘驱动程序。
标准答案:操作③(将字符从键盘控制器读入系统缓冲区)属于键盘驱动程序。
分析:学生答案与标准答案完全一致。
得分:1分
(4)得分及理由(满分2分)
学生答案:执行中断时,P处于阻塞态,CPU处于内核态。
标准答案:键盘中断处理程序执行时,进程P处于阻塞状态,CPU处于内核态。
分析:学生答案与标准答案完全一致。
得分:2分
题目总分:3+2+1+2=8分

评分及理由
(1)得分及理由(满分3分)
学生答案正确指出控制连接是持久的,数据连接是非持久的,H登录时建立的是控制连接。与标准答案完全一致。
得分:3分
(2)得分及理由(满分2分)
学生答案正确给出第一个字节序号为101,第二次挥手ACK序号为18102。与标准答案完全一致。
得分:2分
(3)得分及理由(满分2分)
学生答案存在识别错误和表述不清。对于“收到确认序号为2101的确认段时”的拥塞窗口,标准答案为3MSS。学生答案中“12.3MSS”、“12 3MSS”等表述,根据上下文判断,可能是“3MSS”的误写(例如“12”可能是题号或识别错误,“.”可能是分隔符),且第二次识别结果中“收到2101时,H拥塞窗口12.3MSS”逻辑上不合理,但结合第一次识别结果“图2MSS”的提示,以及标准答案,可以推断学生本意可能是3MSS。对于“收到确认序号为7101的确认段时”,标准答案为5MSS。学生答案中“收到701时”和“收到761时”显然是“7101”的识别错误,但给出的窗口值“5MSS”是正确的。综合判断,核心逻辑(3MSS和5MSS)正确,识别错误导致的表述问题不扣分。
得分:2分
(4)得分及理由(满分2分)
学生答案正确给出至少需要6个RTT,即60ms。但应用层平均发送速率计算错误,学生答案为300B/s,标准答案为2.4Mbps(即300KB/s)。学生答案漏了“K”,单位错误导致数值差1000倍,属于逻辑错误,应扣分。
得分:1分(时间计算正确得1分,速率错误扣1分)
题目总分:3+2+2+1=8分