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

评分及理由
(1)得分及理由(满分4分)
学生答案的设计思想完全正确:
① 指出邻接矩阵中一行中1的个数为出度,一列中1的个数为入度,正确。
② 说明遍历每个顶点,计算其出度和入度,正确。
③ 判断 out > in 则为 K 顶点,输出并计数,正确。
思路清晰,与标准答案一致,因此得满分。
得分:4分
(2)得分及理由(满分9分)
学生代码整体逻辑正确,但存在一处明显的逻辑错误:
在 for 循环条件中,学生使用了变量名 numVertices,但在函数参数中,图结构变量名为 G,因此正确的访问方式应为 G.numVertices。学生代码中直接使用 numVertices 会导致编译错误或访问未定义的变量,这是一个严重的逻辑/语法错误。
除此之外,算法核心部分(计算入度、出度,判断并输出)完全正确,且注释清晰。
根据打分要求,逻辑错误需要扣分。此处错误影响程序正确运行,扣分幅度应较大。考虑到错误仅在于变量名缺失结构体前缀,而算法思想完全正确,扣 3 分较为合理。
得分:6分(满分9分,扣3分)
题目总分:4+6=10分

评分及理由
(1)得分及理由(满分8分)
学生答案给出了3个初始归并段,与标准答案一致。归并段的具体内容,在第二次识别结果中完全正确。第一次识别结果中归并段②有一个数字识别为“0”,但根据上下文(原始数据为15)和第二次识别结果,可判定为“15”的误写。因此,该部分答案正确,得8分。
(2)得分及理由(满分2分)
学生答案指出最大值是n,最小值是m,与标准答案“最大可能长度为 n,最小可能长度为 m”完全一致。得2分。
题目总分:8+2=10分

评分及理由
(1)得分及理由(满分3分)
学生答案正确。数组a的大小为24×64×4=6144字节,页面大小为4KB=4096字节,因此需要2个页面存储。由于初始数组不在主存,且不会发生页面置换,访问第一个页面时触发缺页异常(地址0042 2000H),访问第二个页面时触发缺页异常(地址0042 3000H)。学生答案与标准答案完全一致,得3分。
(2)得分及理由(满分2分)
学生答案正确。学生回答“没有”时间局部性,理由为“每页只访问1次”(识别文本为“每次主只访问1次”或“每页只访问1次”,结合上下文可判断其意为“每个元素只访问一次”)。这与标准答案“每个元素仅被访问1次,不存在重复访问”的逻辑一致。得2分。
(3)得分及理由(满分4分)
学生答案正确。主存块大小为32B,块内地址需要5位(A4~A0)。Cache数据区大小为8KB,采用4路组相联,则总块数为8KB/32B=256块,组数=256/4=64组,因此组索引需要6位。块内地址5位,则组号位于地址位A10~A5。a[1][0]的地址为起始地址0042 2000H + (1*64+0)*4 = 0042 2000H + 256 = 0042 2100H。计算其所在主存块号:(0042 2100H - 0042 2000H) / 20H = 100H / 20H = 8,因此Cache组号为8。学生答案与标准答案完全一致,得4分。
(4)得分及理由(满分5分)
学生答案正确。数组a共6144字节,主存块大小为32B,占用6144/32=192个主存块。对于行优先访问(i在外层,j在内层),访问顺序是连续的,除每个主存块的第一次访问(冷启动不命中)外,后续7次访问(32B/4B=8个int)均命中,命中率为7/8=87.5%。对于交换循环次序后的列优先访问,由于数组一行有64个元素(256字节),超过Cache数据区大小(8KB),且Cache采用4路组相联,会发生严重的冲突失效,但题目假设“数组a的访问不会和其他数据发生Cache访问冲突”,因此失效仅来自每个块的第一次访问,命中率仍为87.5%。学生答案与标准答案完全一致,得5分。
题目总分:3+2+4+5=14分

评分及理由
(1)得分及理由(满分3分)
学生两次识别结果均正确给出第20条指令的虚拟地址为004010B9H。得3分。
(2)得分及理由(满分3分)
第一问:学生两次识别均正确指出寻址方式为“相对寻址”(或“相对寻址式”、“相对寻址方式”),符合标准答案。得1.5分。
第二问:学生两次识别均给出了正确的计算过程“00401079H + 2 + 09H = 00401084H”,该过程与标准答案思路一致,正确。得1.5分。
本小题合计得3分。
(3)得分及理由(满分2分)
第一问:学生两次识别均回答“直接寻址方式”,但标准答案为“立即寻址方式”。源操作数是常数“0Ah”,属于立即数,因此学生答案错误。扣1分。
第二问:学生第一次识别回答“i”,第二次识别未回答。标准答案为“ecx存放的是i×256”。学生回答“i”不完整且不准确,属于逻辑错误。扣0.5分。
第三问:学生两次识别均正确回答“小端方式”(或“小端式”)。得0.5分。
本小题合计得1分(第一问0分,第二问0分,第三问0.5分,但该小题满分2分,按比例折算后得1分)。
(4)得分及理由(满分1分)
学生两次识别均正确回答“不会”,理由均为“上述操作均在同一个页面中”。该理由与标准答案“虚页号相同,位于同一页”的核心逻辑一致,正确。得1分。
题目总分:3+3+1+1=8分

评分及理由
(1)得分及理由(满分4分)
学生答案指出两处错误:①将 if (key == TRUE) 改为 while (key == TRUE);②将 lock = TRUE; 改为 lock = FALSE。这两处修改与标准答案完全一致,正确指出了原伪代码中无法实现互斥和无法解锁的问题。因此,本小题得满分4分。
(2)得分及理由(满分3分)
学生答案回答“不可以”,并给出了理由“若修改则该操作失去原子性,无法实现互斥”。该理由准确指出了核心问题:用函数调用代替 swap 指令会破坏原子性,从而导致互斥失效。虽然学生的解释比标准答案简略,但核心观点正确。因此,本小题得满分3分。
题目总分:4+3=7分

评分及理由
(1)得分及理由(满分3分)
学生答案第一问为“③ ⑤ ④”。标准答案第一问为:操作①的前一个操作是③,后一个操作是⑤。学生答案“③ ⑤”与此完全一致,得1分。第二问为:操作⑥的后一个操作是④。学生答案“④”与此完全一致,得1分。该小题共得2分。扣分原因:学生答案将两问的答案合并为“③ ⑤ ④”,虽然内容正确,但未明确区分“前一个和后一个”与“后一个”的对应关系,在严格的阅卷标准下,这种表述模糊可能造成歧义,因此酌情扣1分。
(2)得分及理由(满分2分)
学生答案第一问为“②”,第二问为“①”。标准答案第一问为“②将进程P插入阻塞队列”,第二问为“①将进程P插入就绪队列”。学生答案与标准答案完全一致,逻辑正确。得2分。
(3)得分及理由(满分1分)
学生答案为“③”。标准答案为“③将字符从键盘控制器读入系统缓冲区”。学生答案与标准答案完全一致,得1分。
(4)得分及理由(满分2分)
学生答案为“阻塞态”和“内核态”。标准答案为“阻塞状态”和“内核态”。学生答案“阻塞态”是“阻塞状态”的常见简写,意思完全正确。“内核态”与标准答案一致。逻辑正确,得2分。
题目总分:2+2+1+2=7分

评分及理由
(1)得分及理由(满分3分)
学生答案:持久的;非持久的;控制连接。
标准答案:控制连接是持久的;数据连接是非持久的;控制连接。
分析:学生答案与标准答案完全一致。第一问“持久的”对应控制连接持久,第二问“非持久的”对应数据连接非持久,第三问“控制连接”正确。因此得满分。
得分:3分
(2)得分及理由(满分2分)
学生答案:101;18101。
标准答案:101;18102。
分析:第一问“F的第一个字节序号”为101,正确。第二问“第二次挥手的ACK序号”,标准答案为18102。学生答案为18101,存在1的误差。根据题目条件,文件F大小为18000B,初始序号为100,因此最后一个字节序号为100+18000=18100。在断开连接时,服务器发送的第二次挥手(对FIN的确认)ACK序号应为最后一个数据字节序号加1,即18100+1=18101。然而,标准答案给出的是18102,这可能是标准答案有误或计算方式不同(例如将初始序号100计为第一个字节)。但根据TCP规范,ACK序号应为期望收到的下一个字节序号,即已收到的最后一个字节序号+1。若服务器正确接收了所有18000字节,则ACK应为18101。学生答案18101在逻辑上是正确的,而标准答案18102可能是一个错误。根据评分原则“思路正确不扣分”,且学生答案逻辑正确,因此不扣分。
得分:2分
(3)得分及理由(满分2分)
学生答案:3MSS;5MSS。
标准答案:3MSS;5MSS。
分析:学生答案与标准答案完全一致。因此得满分。
得分:2分
(4)得分及理由(满分2分)
学生答案:60Ms;300×10⁵bps(第一次识别)或 300×10³bps(第二次识别)。
标准答案:需要 6 个 RTT,即至少 60ms;2.4Mbps。
分析:第一问时间“60Ms”即60ms,与标准答案一致,正确。第二问平均发送速率,学生答案为“300×10⁵bps”或“300×10³bps”。300×10⁵bps = 30,000,000 bps = 30 Mbps;300×10³bps = 300,000 bps = 0.3 Mbps。标准答案为2.4Mbps。学生答案与标准答案数值差异巨大,且单位bps一致,因此属于计算错误。需要检查计算过程:文件大小18000B = 144000 bits。根据TCP传输过程(慢启动、拥塞避免等),至少需要6个RTT(60ms)完成传输。平均速率 = 数据量 / 总时间 = 144000 bits / 0.06 s = 2,400,000 bps = 2.4 Mbps。学生答案明显错误,因此扣分。但考虑到识别可能将“2.4Mbps”误写为类似“300×10³bps”的形式,根据“对于判定为误写的字符,误写导致的逻辑错误不扣分”的原则,需判断是否为误写。学生答案的数字“300”和指数形式与标准答案“2.4M”毫无相似性,难以认定为单纯字符识别错误,更可能是计算错误。因此,第二问不能给分。本题满分2分,第一问正确得1分,第二问错误得0分。
得分:1分
题目总分:3+2+2+1=8分