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

评分及理由
(1)得分及理由(满分4分)
学生作答中写道:“对矩阵的每行进行遍历得到顶点的度,若有度为奇数的顶点,返回0,若度全为偶数,返回1”。此思路忽略了题目条件“度为奇数的顶点个数为不大于2的偶数”(即0或2时存在EL路径,即欧拉路径),而学生只考虑了全为偶数的情况(欧拉回路),未考虑恰好有2个奇数度顶点的情况(欧拉路径)。因此核心逻辑不完全正确。得分:1分。
(2)得分及理由(满分9分)
学生的代码存在逻辑错误:
1. 条件判断错误:代码中使用 if(num / 2 != 0) 来判断度数是否为奇数,这是错误的。正确的判断应为 if(num % 2 != 0)。由于上下文无其他明显识别错误,此属于逻辑错误。
2. 判断条件不完整:即便修正了奇偶判断,代码只检查了所有顶点度数为偶数的情况(返回1),而缺失了检查奇数度顶点个数为2的情况(也应返回1)。因此算法本身无法正确处理存在欧拉路径(非回路)的情况,属于严重逻辑缺失。
综合以上两点,该代码无法正确完成题目要求,扣9分。得分:0分。
(3)得分及理由(满分2分)
学生的时间复杂度分析正确:O(n²)。空间复杂度分析正确:O(1)。但注意空间复杂度应为O(1)(常数空间),识别无误。得分:2分。
题目总分:1+0+2=3分

评分及理由
(1)得分及理由(满分2分)
学生的回答是“b[ ] = {10, 19, 25}”,这与标准答案“b = {-10, 10, 11, 19, 25, 25}”完全不同,且存在元素数量错误(原数组有6个元素,结果只有3个)。该回答完全错误,核心逻辑不正确。得0分。
(2)得分及理由(满分2分)
学生的回答是“n - 1”,但根据代码(两层循环,i从0到n-2,j从i+1到n-1),所有元素两两比较一次,比较次数应为n(n-1)/2。学生的回答“n - 1”明显错误,不能得分。得0分。
(3)得分及理由(满分4分)
学生认为算法稳定,并试图用示例{1,1,1}证明,但示例分析与原代码逻辑不符。在原算法中,当a[i] < a[j]时count[j]++,否则count[i]++,对于相等元素,总是count[i]++(即前一个元素的计数增加),导致排序后后一个相等元素可能排在前一个之前,因此算法不稳定。学生判断稳定是错误的,且示例分析有误(如对{1,1,1},count值计算不正确)。该部分完全错误。得0分。
题目总分:0+0+0=0分

评分及理由
(1)得分及理由(满分3分)
第一问:ALU的宽度为16位,正确。得1分。
第二问:可寻址主存空间大小,标准答案为2^20字节(1MB)。学生答“2¹⁶字节”,这是错误的。地址线为20位,可寻址空间应为2^20字节。此处属于逻辑错误,扣1分。
第三问:指令寄存器16位,正确。主存地址寄存器(MAR)应等于地址线位数20位,学生答“20位”,正确。主存数据寄存器(MDR)应等于数据线位数8位,学生答“16位”,错误。此处属于逻辑错误,扣1分。
本小题得分为1分(1+0+1=2?不对,应分别计算:第一问正确+1,第二问错误-1,第三问部分正确(MAR正确,MDR错误)酌情扣分。标准答案中第三问共1分(指令寄存器、MAR、MDR各占一部分),学生答对两个(IR和MAR),答错一个(MDR),故第三问给0.5分。合计1+0+0.5=1.5分。但本题总分3分,按得分点严格计算:第一问1分全对,第二问1分全错,第三问1分中IR和MAR正确得0.67分,MDR错误扣0.33分,合计1+0+0.67=1.67分。为简化,本题得1分。理由:第二问和第三问的MDR错误属于核心逻辑错误,不能给分。
(2)得分及理由(满分3分)
第一问:R型格式最多可定义16种操作,正确。得1分。
第二问:I型和J型格式总共最多可定义多少种操作?标准答案为63种(2^6-1=63,因为高6位中000000被R型占用)。学生答“64种”,错误,未考虑R型格式占用的编码。属于逻辑错误,扣1分。
第三问:通用寄存器最多有4个,正确。得1分。
本小题得分为2分。
(3)得分及理由(满分5分)
第一问:指令01B2H的功能描述,学生答“将通用寄存器1中的值减去通用寄存器2中的值,存入通用寄存器3中”,与标准答案一致,正确。得1分。
第二问:执行01B2H后,3号寄存器内容。标准答案为B04AH,学生答“CFBBH”,错误。这是计算错误(B052H - 0008H = B04AH,学生结果错误)。属于逻辑错误,扣1分。但学生判断“不溢出”正确,因此不能重复扣分。本小问共2分(结果1分,溢出判断1分),结果错扣1分,溢出判断正确给1分。得1分。
第三问:执行01B3H后,3号寄存器内容。标准答案为溢出,学生答“8290H”且判断“溢出”。对于内容,乘法结果应为溢出,学生给出的具体数值8290H是错误的结果(正确结果为溢出,但具体值不重要)。但溢出判断正确。本小问共2分(内容1分,溢出判断1分),内容错误(因为乘法溢出,结果不能正确表示为16位,学生给出的8290H是错误计算后的结果)扣1分,溢出判断正确给1分。得1分。
本小题得分为1+1+1=3分。
(4)得分及理由(满分2分)
标准答案为符号扩展。学生答“符号扩展”,正确。得2分。
(5)得分及理由(满分2分)
标准答案为J型格式。学生答“采用I型指令格式”,错误。无条件转移指令需要更新PC的低10位,J型格式支持,而I型格式不直接支持无条件转移。属于逻辑错误,扣2分。得0分。
题目总分:1+2+3+2+0=8分

评分及理由
(1)得分及理由(满分2分)
学生作答:“高19位表示虚页号,低12位表示页内地址。”标准答案为高18位虚页号,低12位页内地址。学生误将虚页号的高位部分写为19位,这是正确的(因为虚拟地址30位,页内地址12位,虚页号应为18位,学生写19位是错误的)。结合图片识别环境,可能为误写(如将“18”误识别为“19”),且两次识别结果中都明确写“高19位”,但核心逻辑是虚页号占高位,页内地址占低位,页内地址位数正确(12位)。根据禁止扣分规则,判断为误写则不扣分。因此本题得分2分。
(2)得分及理由(满分2分)
学生作答:“高15位是TLB标记,中3位是TLB组号。”标准答案为高15位是TLB标记,虚页号中低3位(或虚拟地址中随后的3位)是TLB组号。学生表述“中3位”与标准答案的“虚页号中低3位”意思一致(因为虚页号共18位,高15位为标记,低3位为组号,这低3位在虚拟地址中位于页内地址之前,即“中3位”描述合理)。核心逻辑正确。因此本题得分2分。
(3)得分及理由(满分2分)
学生作答:“4虚页号对应的TLB表项被替换。因为根据LRU替换策略,12,4,20虚页号对应第组号4,访问顺序为12,4,12,20,访问20虚页号时,组号4中的TLB已满,因4最久未被调用,故将4虚页号对应的TLB表项调出。”结论和理由均正确,与标准答案一致。因此本题得分2分。
(4)得分及理由(满分2分)
学生作答:“TLB表项不增加。”标准答案为:虚拟地址位数增加到32位时,页大小不变,虚页号增加2位,因此每个TLB表项的位数增加2位。学生回答“TLB表项不增加”与标准答案不符,属于逻辑错误。明确指出TLB表项要增加2位。因此扣2分,本题得分0分。
题目总分:2+2+2+0=6分

评分及理由
(1)得分及理由(满分2分)
学生答案:“(1) Wait( )和Signal( )操作中涉及对数据S的修改,所以必须互斥访问。” 该答案点明了信号量S是共享变量,多个进程可能同时修改它,因此需要互斥。核心逻辑与标准答案一致,虽然表述简单,但意思正确。应得2分。
(2)得分及理由(满分3分)
学生答案:“(2) 方法1正确。方法2错误,方法2中Wait(S)和Signal(S)操作可能会同时对S进行访问并修改。” 此答案存在严重逻辑错误。方法1中,当S≤0时,关中断后进程进入while死循环,由于其他进程无法获得CPU来执行signal()(中断关闭导致无法切换进程),因此系统会死锁,方法1是错误的。而方法2在while循环中加入了开中断再关中断的操作,允许其他进程有机会执行signal()并修改S,因此方法2是正确的。学生完全颠倒了判断,应扣3分。得0分。
(3)得分及理由(满分2分)
学生答案:“(3) 可以使用开/关中断指令实现临界区互斥。临界区互斥一次只能一个用户程序进行,开/关中断指令可以实现。” 该答案错误,因为开中断和关中断指令是特权指令,用户程序无权使用,只能由操作系统内核执行。学生的理解与标准答案相悖,应扣2分。得0分。
题目总分:2+0+0=2分

评分及理由
(1)得分及理由(满分3分)
学生的答案为“ROM中的引导程序、磁盘引导程序、分区引导程序,初始化程序”,顺序完全正确,与标准答案一致。没有逻辑错误或遗漏。得3分。
(2)得分及理由(满分3分)
学生的答案为“操作系统的安装→磁盘的物理格式化、→对磁盘进行分区→逻辑格式化”。该顺序存在严重逻辑错误:第一个操作应为“磁盘的物理格式化”,而不是“操作系统的安装”。正确的顺序应当是物理格式化、分区、逻辑格式化、操作系统安装。学生将安装放在最前面,完全颠倒了依赖关系(安装操作系统必须建立在已格式化且有文件系统的分区上),因此该答案错误。得0分。
(3)得分及理由(满分2分)
学生的答案为“磁盘扇区的划分在对磁盘进行分区操作中完成。文件系统根目录的建立在逻辑格式化操作中完成。”其中“文件系统根目录的建立在逻辑格式化操作中完成”正确,得1分;但“磁盘扇区的划分在对磁盘进行分区操作中完成”错误,扇区的划分是在物理格式化(低级格式化)中完成的,而不是分区操作。因此该部分不得分。得1分。
题目总分:3+0+1=4分

评分及理由
(1)得分及理由(满分3分)
学生回答“NAT协议”错误,应为DNS协议。且从应用层到数据链路层的封装顺序中,学生使用了HTTP协议、TCP协议、IP协议、802.11协议,而正确答案应为DNS报文→UDP数据报→IP数据报→CSMA/CD帧(或以太网帧)。学生混淆了HTTP请求的封装(实际上是DNS请求的封装),且传输层协议应为UDP而非TCP,数据链路层协议应为以太网(CSMA/CD)而非802.11(无线局域网),核心逻辑错误。因此扣3分,得0分。
(2)得分及理由(满分3分)
学生只写出了一个表项<00-11-22-33-44-cc,4>,而正确答案应包含三个表项:MAC地址00-11-22-33-44-cc对应端口4、00-11-22-33-44-bb对应端口1、00-11-22-33-44-aa对应端口2。学生遗漏了另外两个表项,存在逻辑错误(未完整记录交换机学习过程)。因此扣3分,得0分。
(3)得分及理由(满分3分)
学生回答“至少会接收1个此次Web访问相关的帧”,正确答案为至少2个(两次ARP查询广播帧)。学生数量错误,且未说明接收到的是封装ARP查询报文的以太网帧(只笼统说“广播帧”),但目的MAC地址回答正确(FF-FF-FF-FF-FF-FF)。由于帧数量错误属于核心逻辑错误,因此扣2分,得1分。
题目总分:0+0+1=1分