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

评分及理由
(1)得分及理由(满分3分)
学生的算法设计思想基本正确:“利用绝对值函数求出结点的绝对值,若绝对值为m,则将计数数组的值修改为1,若新结点的值在计数数组中为bool类型(已标记过),直接删去。”该思想体现了用空间换时间、一躺扫描的核心,与标准答案一致,但表述不够完善(如未明确说明数组下标范围及初始值)。故得2分。
(2)得分及理由(满分2分)
结构体定义正确,包含了data和link字段,并使用了typedef定义节点类型和指针类型。虽然写法与标准答案略有差异(类型名不同),但功能等价,没有错误。根据禁止扣分规则,此处不扣分,得2分。
(3)得分及理由(满分8分)
代码实现存在逻辑错误:
1. 在循环中,先让p = p->next,但未判断p是否为空,当访问最后一个结点时,p变为NULL,下一次循环while(p)退出,但此时在循环体内先让prev = p(即NULL),再执行p = p->next会出错(p为NULL不能取next)。这是严重越界/空指针问题。(扣3分)
2. 删除结点的操作不完整:else分支中prev->next = p->next后未释放被删除的结点,且未移动prev指针,当后续还有其他重复结点时会导致指针错乱,逻辑不严谨。(扣2分)
3. 数组初始化循环条件“i<=n+1”误写为“<=n+1”,实际应遍历到i<n+1,会导致数组越界一次。但此可能为识别误写(标准答案也是i<n+1),根据防误写扣分规则,不扣分。核心逻辑有误,因此该小题得分:8-3-2=3分。
(4)得分及理由(满分2分)
学生未作答时间复杂度与空间复杂度,该部分得0分。
题目总分:2+2+3+0=7分

评分及理由
(1)得分及理由(满分3分)
学生的邻接矩阵写法与标准答案不同,最明显的差异是:标准答案中顶点0与4之间(第0行第4列,及第4行第0列)有边,值为1,而学生矩阵中该位置为0;第4行中,标准答案为 [1,1,0,1,0],而学生矩阵中第4行为 [1,0,0,1,0],即缺失了顶点1和4之间的边(标准答案中第4行第1列为1)。这导致学生所写的矩阵并非原图对应的邻接矩阵,而是一个错误的图模型。此外,学生的A矩阵中第4行第2列为0,标准答案中该位置为0,此部分一致,但整体因为错漏关键边,以致矩阵不正确。因此本题核心部分(写出正确的邻接矩阵)错误,不得分。
(2)得分及理由(满分3分)
由于第1问的邻接矩阵本身就不正确,导致学生利用该错误矩阵计算出的A²结果必然与标准答案完全不同(如矩阵中多处的元素值均不相同,例如0行1列标准为1,学生为0;0行2列标准为0,学生也为0,但0行0列标准为3,学生也为3,总体不符)。这本质上是逻辑错误的连锁反应,但具体到A²的计算,学生的结果不符合标准答案。此外,学生对A²[0][3]含义的表述为"从0到3距离为2的路径有2条",该描述本身含义方向正确(长度为2的路径),但数量与正确结果(3条)不符,数量错误。即使考虑到文字说明可能被识别错误,由于数量错误的根本原因来自A²错误,无法给予满分。因此本题不得分。
(3)得分及理由(满分2分)
学生的表述为:B^m中x行y列的值指“从x到y,路径长度为m的路径有n个”,其中n为该位置的数值。这一描述抓住了核心含义:邻接矩阵的m次幂中第i行第j列的元素表示从顶点i到顶点j长度为m的路径条数。虽然用词上有些变通(如“x行y列”对应标准中的“i行j列”,“n个”指代数值),但语义正确、逻辑没有错误,因此该问给满分。
题目总分:0+0+2=2分

评分及理由
(1)得分及理由(满分3分)
学生答出“通用寄存器,PC(R0—R3)”,与标准答案一致,得2分。关于设置暂存器T的原因,学生回答“单总线结构一次只能传送一个数据,暂存后面传第二个操作数,才可实现ALU计算”,其核心意思为暂存第二个操作数,虽表述不够精确(标准答案为暂存端口A数据以避免A、B端口获得相同数据),但核心逻辑正确,予以认可,得1分。本小题共得3分。
(2)得分及理由(满分2分)
学生回答“ALUOp:7种操作,至少3位;SROP,3种操作至少2位”,完全正确,得2分。
(3)得分及理由(满分2分)
学生回答“SRout所控制的部件名称:应该为数据寄存器”,此回答错误。标准答案为“三态门”,用于控制移位器与总线之间数据通路的连接与断开。学生答为“数据寄存器”,核心逻辑错误,不得分。本小题得0分。
(4)得分及理由(满分2分)
第1次识别结果为②、③、④、⑤、①,第2次识别结果为②、③、⑧、⑤、①。标准答案为①、②、③、⑤、⑧。第2次识别结果完全正确,依据禁止扣分规则(两次识别中任一次正确则给分),本小题得2分。但注意第1次识别中包含④,为错误项;因两次识别结果不同且第2次正确,按规则不扣分,本小题得2分。
(5)得分及理由(满分2分)
学生回答“⑥与⑨,⑦与④”,与标准答案“连线1:⑥→⑨;连线2:⑦→④”完全一致,得2分。
(6)得分及理由(满分2分)
学生回答“实现PC+2,一条指令为2字节,直接用2作为立即数计算快”,核心逻辑正确(指令长16位、按字节编址,顺序执行时PC+2),虽补充了“计算快”这一非必要理由,但不影响正确性,得2分。
题目总分:3+2+0+2+2+2=11分

评分及理由
(1)得分及理由(满分1分)
学生回答“操作码为7位,最多可定义2^7=128条”,与标准答案完全一致,逻辑正确。得1分。
(2)得分及理由(满分3分)
学生回答:① 0240H(第1次识别为02404,第2次为02404,但根据上下文和手写识别规则,判断为0240H,符合标准答案);② 0488H(第1次识别04684、第2次04884,但两次识别中更接近标准答案的是0488H,按误写规则不扣分);③ 06DAH(与标准答案06EAH不同,但根据指令格式重新计算,实际应为06EAH,学生答案有误)。
①得1分,②得1分,③得0分,共得2分。
(3)得分及理由(满分4分)
学生回答的①0、②mov、③mova、④left、⑤read、⑥sub、⑦mov、⑧SRout,与标准答案完全一致,其中⑧的书写“SRout”与标准答案“Srout”只是大小写差异,视为误写,不扣分。8个空全部正确,得4分。
(4)得分及理由(满分2分)
学生未作答,得0分。
题目总分:1+2+4+0=7分

评分及理由
(1)得分及理由(满分9分)
本题要求学生添加必要的信号量及P、V操作实现A、B两个辩论者通过信箱交互的同步与互斥过程,并说明信号量含义和初值。该题属于一个整体设计问题,未再细分小问,故按一个综合题评分。
得分:9分
理由:
1. 信号量定义与初值正确:学生定义了`mailsA = x`、`mailsB = y`、`EmptyA = M - x`、`EmptyB = N - y`以及`mutexA = 1`、`mutexB = 1`,与标准答案中Full_A、Full_B、Empty_A、Empty_B及互斥信号量的设置完全一致,含义明确,初值正确。
2. 同步逻辑正确:在进程A中,先`P(mailsA)`(对应P(Full_A))确保A信箱有邮件才取信,取信后`V(EmptyA)`释放空间;在放信到B信箱前`P(EmptyB)`确保B信箱不满,放信后`V(mailsB)`(对应V(Full_B))增加B的邮件数。进程B的逻辑与之对称,同步关系完全符合题目要求:“当信箱不为空时才能取邮件,当信箱不满时才能放邮件”,并且“取出邮件”与“放入邮件”操作均正确使用了对应的信号量。
3. 互斥逻辑正确:每个进程在对信箱进行取放操作前都`P(mutex)`操作对应信箱的互斥信号量,操作完成后立即`V(mutex)`释放锁,保证了对每个信箱的访问互斥,避免了数据竞争。
4. 代码结构完整:两个进程的while循环、取信、回答问题、放信的顺序与题目描述相符,无逻辑漏洞。
5. 无需扣分的识别问题:尽管识别中有“Semapher”等拼写笔误,但核心逻辑正确,且两次识别均验证了代码逻辑无误,不存在将某类信号量名称混淆(如将Full与Empty颠倒)的问题。所有P、V操作与信号量的对应关系在上下文中一贯正确,因此不存在因误写导致的逻辑错误。
题目总分:9分

评分及理由
(1)得分及理由(满分2分)
该小题共两个得分点:①页和页框大小均为4KB(1分);②虚拟地址空间大小为220页(1分)。学生作答中正确写出“页为212B=4KB”,也标注了“虚拟地址共1M页”(1M页=220页),两个得分点均正确,因此得2分。对于“一个页框号的大小应为4KB÷210=4B”这一句,经两次识别均为如此,但结合上下文可判断其为误写或多余内容,不影响核心答案的正确性。不过,即使该句为逻辑错误,也不影响本题得分点的覆盖,故不扣分。
(2)得分及理由(满分2分)
该小题要求学生写出页目录和页表共占多少页并给出计算过程。标准答案为1025页,计算为页目录占1页、页表占1024页。学生答案正确写出“页目录占1页:210×4B÷212B=1页”和“页表:220×4B÷212=1024页”,且计算过程完整、结果正确(共1+1024=1025页)。答案中虽未在末尾明确加总“共1025页”,但两部分分别计算出页目录和页表的页数,逻辑清晰,依据评分说明“思路和结果正确”,可得满分2分。
(3)得分及理由(满分2分)
该小题要求判断访问的二级页表数量并说明理由。标准答案:访问1个二级页表,因为两个虚拟地址的最高10位(页目录号)都是4。学生答案正确给出“访问1个二级页表”,但解释为“二者的页目录号都为1”,与标准答案的页目录号为4不符。经计算:0100 0000H的二进制前10位为0000000100(十进制为4),0111 2048H的前10位同样为0000000100(十进制为4),因此页目录号均为4而非1。这说明学生可能在将页目录号换算为十进制时出现错误(将二进制100误算为十进制1)。虽然两次识别中该结果一致,但此错误并非识别误写,而是计算/理解上的逻辑错误。不过,学生已经正确判断了“访问1个二级页表”这个关键结论,且思路方向正确(通过比较页目录号判断是否为同一页表),仅数值写错。综合考量,由于结论正确且理由思路正确,仅数值细节有误,可给予部分分数,建议扣1分,得1分。
题目总分:2+2+1=5分

评分及理由
(1)得分及理由(满分3分)
学生答案中第一问的IP地址最大范围只写出了“111.(涂抹部分忽略)123.15.254”,未明确写出起始地址111.123.15.5,且范围表述不完整(缺少起始IP),但结合上下文判断可能为识别遗漏。标准答案要求完整范围为111.123.15.5~111.123.15.254,此处未能完整给出,核心逻辑不完整,扣除1分。源IP地址和目的IP地址(0.0.0.0和255.255.255.255)回答正确,此部分得分正常。综合给2分。
(2)得分及理由(满分2分)
学生答案中第一个以太网帧的目的MAC地址(FF-FF-FF-FF-FF-FF)正确,得分1分;封装主机2发往Internet的IP分组的以太网帧的目的MAC地址(00-a1-a1-a1-a1-a1-a1)正确,得分1分。此问满分2分。
(3)得分及理由(满分4分)
学生答案判断“可以访问WWW服务器”及理由(WWW服务器本就在本网络)正确,给2分;判断“不能访问Internet”正确,理由表述“非路由IP地址,不能正确发给路由器”意思基本正确,可以认为是因为默认网关配置错误导致分组无法正确路由到Internet,故给2分。此问共得4分。
题目总分:2+2+4=8分