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

评分及理由
(1)得分及理由(满分5分)
得分:5分
理由:学生的基本设计思想与标准答案一致,正确指出通过二叉树的中序遍历来输出中缀表达式,并说明了需要根据深度添加括号来反映计算次序。思路完整且准确。
(2)得分及理由(满分10分)
得分:8分
理由:算法实现基本正确,采用了与标准答案相同的递归中序遍历方法,并根据深度参数在适当位置添加括号。但存在以下问题:
1. 函数Fun1中返回类型为void,但使用了"return false"(扣1分)
2. 使用了C++的cout输出而非C语言的printf(不扣分,题目允许使用C或C++)
3. 缺少必要的头文件包含和函数声明(扣1分)
整体逻辑正确,核心算法实现准确。
题目总分:5+8=13分

评分及理由
(1)得分及理由(满分4分)
学生给出的边依次为:AD、DE、CE、BC,与标准答案(A,D)、(D,E)、(C,E)、(B,C)完全一致,且顺序正确。每条边正确且顺序正确,因此得4分。
(2)得分及理由(满分2分)
学生回答"唯一",与标准答案一致,因此得2分。
(3)得分及理由(满分2分)
学生回答"带权连通图的每条边的权值不同",这与标准答案"当带权连通图的任意一个环中所包含的边的权值均不相同时,其MST是唯一的"在本质上是一致的。因为如果图中所有边的权值都不同,那么任意环中的边权值必然不同,这是一个充分条件。虽然表述不如标准答案精确,但思路正确,因此得2分。
题目总分:4+2+2=8分

评分及理由
(1)得分及理由(满分4分)
学生正确解释了n=0时出现死循环的原因:n-1得到FFFFFFFF(即2³²-1),i=0时条件i<=n-1恒成立。同时正确指出若改为int型则不会死循环,因为n-1=-1,i=0时不满足条件。但学生写的是"i-n+1"而非标准答案的"i<=n-1",这是表述不准确,但不影响核心逻辑理解。扣1分。
得分:3分
(2)得分及理由(满分3分)
学生回答"不一样"错误,实际上f1(23)和f2(23)返回值相等。f1(23)的机器数00FFFFFFH正确,但f2(23)的机器数识别为4EFFFFFFH错误(应为4B7FFFFFH)。由于核心判断错误且机器数错误,扣3分。
得分:0分
(3)得分及理由(满分1分)
学生正确指出float尾数只有23位,n=24时精度丢失,解释正确。
得分:1分
(4)得分及理由(满分2分)
学生正确解释n=31时超出int范围发生溢出,并正确给出最大n=30。回答完整正确。
得分:2分
(5)得分及理由(满分3分)
学生对7F800000H的解释错误(误认为是1.1×2⁰),实际上这是+∞。但正确给出了不溢出的最大n=126和精确无舍入的最大n=23。由于对机器数解释错误,扣1分。
得分:2分
题目总分:3+0+1+2+2=8分

评分及理由
(1)得分及理由(满分2分)
学生回答“CISC”并给出理由“每条指令的格式长度不一致”,这与标准答案中“指令长短不一”相符,正确判断了指令系统的类型。得2分。
(2)得分及理由(满分2分)
学生计算过程为:0040107FH - 00401020H = 5FH = 95B。标准答案为:0040107FH - 00401020H + 1 = 60H = 96B。学生未加1,导致结果错误,但计算思路正确(通过地址差计算长度)。扣1分,得1分。
(3)得分及理由(满分3分)
学生回答“CF = 1”并给出计算过程:n=0,i=0,i - (n-1) = i - n + 1,CF=1。虽然表述简略,但核心逻辑正确(无符号数减法中0减全1产生借位,CF=1)。得3分。
(4)得分及理由(满分3分)
学生回答“不能”,理由为f2中变量改为float型,采用IEEE754标准,左移必须通过移码对阶实现。这与标准答案中“float型机器数含阶码,整体左移不能实现乘2”的核心逻辑一致。得3分。
题目总分:2+1+3+3=9分

评分及理由
(1)得分及理由(满分1分)
学生回答正确,指出函数f1的机器指令代码占1页。理由:学生正确识别了虚拟地址高20位相同(00401H),因此所有指令在同一页中。得1分。
(2)得分及理由(满分2分)
学生回答正确,指出页目录号为1号(即第1个表项,编号从0开始),页表索引号为1号(即第1个表项)。理由:学生正确解析了虚拟地址00401020H,页目录号(高10位)为0000000001(即1),页表索引(中间10位)为0000000001(即1)。得2分。
(3)得分及理由(满分4分)
学生回答部分正确。正确部分:进程P由运行态转为阻塞态(1分),CPU进入内核态(1分)。错误部分:学生未提及输入结束后进程被唤醒变为就绪态,以及被调度后变为运行态的过程,缺少这两个状态变化(各1分)。因此扣2分。得2分。
题目总分:1+2+2=5分

评分及理由
(1)信号量定义得分及理由(满分3分)
学生答案中未明确定义信号量,而是直接使用P、V操作,且使用的信号量标识符与变量名相同(如P(w)、P(y)等),这会导致混淆和错误。标准答案中明确定义了三个信号量用于保护共享变量y和z的互斥访问。学生答案在信号量定义部分得0分。
(2)线程互斥实现得分及理由(满分5分)
学生答案的互斥实现存在多处逻辑错误:
由于存在上述逻辑错误,互斥实现部分得0分。
题目总分:0+0=0分

评分及理由
(1)得分及理由(满分3分)
学生回答:甲方可以断定乙方已正确接收的数据帧数是2个,分别是S0,0和S2,0。
标准答案:3个数据帧,分别是S0,0、S1,0、S2,0。
评分分析:学生只正确识别了S0,0和S2,0,但遗漏了S1,0。根据GBN协议,甲方发送S0,0、S1,0、S2,0后,在t1时刻收到乙方确认帧R2,3(确认序号3表示希望接收下一帧序号3),说明乙方已正确接收序号0、1、2的帧。学生回答帧数错误且缺少S1,0,存在逻辑错误。
扣分:本题满分3分,回答帧数错误扣1分,帧列举不全扣1分,最终得1分。
(2)得分及理由(满分3分)
学生回答:最多还可以发送3个数据帧,第一个帧是S5,1,最后一个帧是S6,1和S7,1。
标准答案:最多发送5个数据帧,第一个帧是S5,2,最后一个帧是S1,2。
评分分析:①发送数量错误:根据GBN滑动窗口机制,甲方当前发送窗口大小为7(序号3比特),在t1时刻已发送到S4,?(图中未完全显示但根据上下文应为S4,0),且收到R2,3确认帧(确认序号3),发送窗口应滑动到[3,5,6,7,0,1,2](从3开始),可用窗口为5个帧。学生回答3个错误。②首尾帧错误:第一个帧应为S5,2(确认序号字段应为2,因为甲方最后收到乙方确认序号2),学生写成S5,1;最后一个帧应为S1,2(窗口内最后一个序号),学生写成S6,1和S7,1且表述混乱。
扣分:发送数量错误扣1分,首尾帧均错误扣2分,最终得0分。
(3)得分及理由(满分2分)
学生回答:需要重发3个数据帧,重发的第一个帧是S2,2。
标准答案:重发3个数据帧,重发的第一个帧是S2,3。
评分分析:①重发数量正确:图(b)中甲方在t1时刻收到R2,2(确认序号2),表示乙方期望收到序号2,说明序号2及之后的帧需要重传,当前已发送到S4,?,需重传S2,3、S3,3、S4,3共3个帧。②第一个帧错误:应为S2,3(确认序号字段应为3,因为甲方最后收到乙方数据帧确认序号3),学生写成S2,2。
扣分:重发数量正确得1分,第一个帧错误扣1分,最终得1分。
(4)得分及理由(满分1分)
学生回答:最大信道利用率≈60.3%
标准答案:50%
评分分析:学生计算过程存在逻辑错误。GBN协议最大信道利用率公式应为:
利用率 = (窗口大小 × 帧传输时间) / (帧传输时间 + RTT)
其中窗口大小=7,帧传输时间=1000×8bit/100Mbps=0.08ms,RTT=0.96ms。
正确计算:7×0.08/(0.08+0.96)=0.56/1.04≈53.8%,但标准答案给出50%,可能是考虑了双向传输的捎带确认特性(分母加2倍帧传输时间)。学生未使用标准公式,计算结果错误。
扣分:计算结果错误,得0分。
题目总分:1+0+1+0=2分