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

评分及理由
(1)得分及理由(满分3分)
学生作答:SYN=1,ACK=1,确认序号=101。与标准答案完全一致,得3分。
(2)得分及理由(满分3分)
学生作答:接收窗口=12 KB,拥塞窗口=8 KB,发送窗口=8 KB。
本小题得1分。
(3)得分及理由(满分2分)
学生作答:序号121,拥塞窗口20 KB,速率20 KB/s。标准答案:序号20581,速率20.48 kbps。
本小题得0分。
(4)得分及理由(满分1分)
学生作答:300 ms。标准答案:300 ms,完全一致,得1分。
题目总分:3+1+0+1=5分

评分及理由
(1)得分及理由(满分3分)
得分:3分。
理由:学生作答正确指出正则k叉树中非叶结点数为m时,每个非叶结点度为k,并利用“总度数+1=总结点数”得到方程 \(mk+1=m+x\),从而推出 \(x=mk+1-m=(k-1)m+1\)。推导逻辑与标准答案一致,结果正确,给满分3分。
(2)得分及理由(满分5分)
得分:5分。
理由:学生正确给出最多结点数为满k叉树的情形,公式为 \(\frac{k^h-1}{k-1}\),与标准答案一致;最少结点数也正确说明除根外其余 \(h-1\) 层每层恰有 \(k\) 个结点,得到 \((h-1)k+1\),与标准答案一致。两个小问结果和思路均正确,给满分5分。
题目总分:3+5=8分

评分及理由
(1)得分及理由(满分4分)
得分:1分。
理由:学生提出“利用快速排序思想,只需找到第⌈n/2⌉大的元素”,这一核心方向与标准答案基本一致,说明理解了应通过类似快速排序的划分思想找到中位位置,而不是全排序。但存在明显问题:
1. 错误使用“⌈n/2⌉大”来描述目标。本题的目标是将最小的⌊n/2⌋个元素放在A1中,其余放在A2中;这里按从小到大划分时,应定位到第⌊n/2⌋个位置附近,而不是“第⌈n/2⌉大”。但若考虑“第⌈n/2⌉大”在数值上可能对应从小到大的第n-⌈n/2⌉+1个,并不等价于⌊n/2⌋,因此表述不准确。
2. 思路没有完整说明如何根据枢轴位置继续递归或迭代划分,也没有说明划分完成后如何计算S1、S2以及返回|S1-S2|。
3. 没有体现题目要求的“|n1-n2|最小且|S1-S2|最大”的分组策略:将较小的一半与较大的一半分开。
因此,思路部分只能给部分分,4分中给1分。
(2)得分及理由(满分9分)
得分:2分。
理由:学生给出了Partition函数,能够实现一趟快速排序划分,基本语法和划分逻辑大致正确;compute部分也有函数框架。但核心逻辑存在严重不足:
1. function函数中仅调用一次Partition(A,0,n-1),并没有根据基准位置与目标位置n/2的关系继续划分,因此不能保证最终找到第n/2小元素所在位置,更不能保证数组左边为最小的一半、右边为最大的一半。
2. 没有计算S1、S2,也没有返回|S1-S2|,未完成题目要求。
3. 目标位置使用mid=n/2,但Partition返回位置后未做判断,也没有处理k-1还是k等边界问题。即使按识别结果中“第⌈n/2⌉”理解,代码也没有实现该目标。
4. 代码中Partition函数本身在识别结果第2版中基本正确,但若按第1版识别结果,A[left]=A[right]等语句位置可能存在误写;根据禁扣分规则,对可能为识别误写的字符问题不重复扣分。然而,核心问题是主逻辑缺失,不能给高分。
5. 标准答案代码的关键是循环迭代划分直到low==k-1,然后求和并返回s2-s1;学生答案完全没有这些关键步骤。
因此,9分中只能给2分,主要认可其写出了Partition的大致框架。
(3)得分及理由(满分2分)
得分:0分。
理由:学生答案没有说明算法的时间复杂度和空间复杂度,因此该问不得分。
题目总分:1+2+0=3分

评分及理由
(1)得分及理由(满分3分)
该生第(1)问中,字符位数计算正确,得1分;但第二问要求“每秒钟最多可向I/O端口送入多少个字符”,考生回答的是每秒传输比特数(14000 bit),单位错误且未回答字符数,因此扣2分。本小题得1分。
(2)得分及理由(满分6分)
该生计算0.5ms对应的时钟周期数时出错,0.5ms × 50MHz = 25000个时钟周期,而非2500,此处存在明显逻辑错误,导致后续计算结果错误,扣3分;正确识别了中断响应10个时钟周期,并正确计算了前15条指令的执行时间为60个时钟周期,得1分;正确计算了CPU用于任务的中断服务时间部分(1000×(10+80) = 90000)思路正确,得1分;在中断响应阶段正确回答了关中断、保存断点和程序状态字、寻找中断向量地址,得1分。本小题共得3分。
题目总分:1+3=4分

评分及理由
(1)得分及理由(满分8分)
得分:5分。
理由:
(2)得分及理由(满分2分)
得分:1分。
理由:
(3)得分及理由(满分2分)
得分:2分。
理由:
(4)得分及理由(满分2分)
得分:2分。
理由:
题目总分:5+1+2+2=10分

评分及理由
(1)得分及理由(满分2分)
得分:2分。
理由:学生回答“若有源源不断nice数小进程请求,则高nice进程永远不会被调度”,核心含义是就绪队列中不断有优先数更小的进程时,优先数较大的进程会一直得不到运行机会,导致饥饿。这与标准答案一致,逻辑正确,给2分。
(2)得分及理由(满分4分)
得分:2分。
理由:学生给出的公式为 \(\text{nice} = a \times \text{CPUTime} + b \times \text{Waittime}\),其中 \(a>0, b<0\)。该公式包含了 cpuTime 和 waitTime:cpuTime 的系数为正,waitTime 的系数为负,说明等待时间越长,优先数越小,从而避免饥饿,思路正确。但是标准答案要求优先数计算公式中包含原有的静态优先数 nice,即 priority = nice + k1×cpuTime - k2×waitTime;学生将 nice 直接作为被计算量,没有体现“nice 作为静态优先数参与优先数计算”这一关键点。根据评分说明,包含 nice 给1分,利用 cpuTime 增大优先数给1分,利用 waitTime 减少优先数给1分,waitTime 作用说明给1分。学生未明确说明 waitTime 的作用,且未正确体现 nice 作为基准优先数,因此扣除2分,得2分。
题目总分:2+2=4分

评分及理由
(1)得分及理由(满分3分)
得分:3分。理由:学生给出的 dir 目录文件内容为 dir1 对应 48 号簇,dir1 目录文件内容为 file1 对应 100 号簇、file2 对应 200 号簇。虽然第2次识别结果中将 48 识别为 448,但第1次识别结果为 48,根据识别误差不扣分原则,判断为正确。目录项内容均正确。
(2)得分及理由(满分2分)
得分:1分。理由:FAT 最大长度计算方法正确,$2^{16} \times 2B = 128KB$,给1分。但文件最大长度计算错误:学生写的是 $2^{16} \times 4KB = 2^{26}B$,而标准答案为 $2^{16} \times 4KB = 256MB$。学生将 $2^{16} \times 4KB$ 错误计算为 $2^{26}B$(实际为 $2^{28}B$ 即 256MB),虽然识别到可能有笔误,但即便按学生自己写的逻辑,$2^{16} \times 4KB$ 也不等于 $2^{26}B$,存在计算逻辑错误,因此文件最大长度部分不给分。
(3)得分及理由(满分2分)
得分:2分。理由:学生正确指出 106 存放在 FAT 的 100 号表项中,108 存放在 FAT 的 106 号表项中,与标准答案一致。
(4)得分及理由(满分2分)
得分:0分。理由:学生计算字节偏移思路正确(5000/4096 商1,即逻辑块号1,对应第二个簇),但最终访问的簇号错误。根据题目,file1 的簇号顺序为 100、106、108,第5000字节位于第二个簇(106号簇),且需要先访问目录文件 dir1 所在的 48 号簇。学生回答“访问 201 簇即可”,既未访问目录文件 dir1(48号簇),也未访问 file1 的 106 号簇,反而给出了无关的 201 簇,逻辑错误,不给分。
题目总分:3+1+2+0=6分