科目组合
计算机: 数据结构 、计算机组成原理 、操作系统 、计算机网络
1): 0 1 2 3 4 5 6 7 8 9
7 14 8 11 30 18 9
2):成功:(1+1+1+1+3+3+2)/7=12/7
失败:(3+2+1+2+1+5+4)/7=18/7
评分及理由
(1)得分及理由(满分6分)
学生画出的散列表与标准答案完全一致:下标0存7,1存14,3存8,5存11,6存30,7存18,8存9,其余位置为空。表格形式清晰,关键字位置正确。得6分。
(2)得分及理由(满分4分)
学生计算查找成功的平均查找长度ASL = (1+1+1+1+3+3+2)/7 = 12/7 ≈ 1.714,与标准答案一致;查找不成功的ASL = (3+2+1+2+1+5+4)/7 = 18/7 ≈ 2.571,也与标准答案一致。计算过程和结果均正确。得4分。
题目总分:6+4=10分
1):利用三次倒置即可完成该操作,第一次<X0,X1,…,Xn−1>逆置,第二次将<Xn-1,...,X1,X0>中的<Xn-1,...,Xp>逆置,然后将<Xp-1,...,X0>进行逆置
2): void reverse(int R[],int i,int j){//将R中从i到j之间的数进行逆置
int temp=0;
while(i<=j){
temp=R[i];
R[i]=R[j];
R[j]=temp;
}
}
void Reverse_R(int R[],int length,int p){//对R开始逆置,最后达到左移
reverse(R,0,length-1);
reverse(R,0,n-p-1);
reverse(R,n-p,n-1);
}
3):时间复杂度是o(n),空间复杂度是o(1);
评分及理由
(1)得分及理由(满分4分)
得分:3分
理由:学生给出的基本设计思想是通过三次逆置实现循环左移,这与标准答案的思路一致。但描述中存在不准确之处:第一次逆置是整个数组,而标准答案是先逆置前p个元素。虽然学生的逆置顺序不同(先整体逆置,再分别逆置两部分),但经过分析这种顺序也能达到相同效果,因此思路正确。扣1分是因为描述不够清晰准确,没有明确说明三部分的具体划分。
(2)得分及理由(满分7分)
得分:5分
理由:代码实现基本正确,reverse函数使用双指针法实现逆置,逻辑清晰。但存在以下问题:
1. 在Reverse_R函数中,第二个reverse调用使用了未定义的变量n(应该是length) - 扣1分
2. 参数命名不一致,函数声明用length,但实现中使用了n - 扣1分
3. 缺少必要的注释说明 - 扣0.5分(酌情扣分)
4. 逆置的区间划分与标准答案不同但数学上等价,不扣分
(3)得分及理由(满分2分)
得分:2分
理由:正确分析了算法的时间复杂度O(n)和空间复杂度O(1),与标准答案一致。
题目总分:3+5+2=10分
1):16条指令,8个通用寄存器,MAR是16位,MDR是16位
2):128KB
3):2315H
R5变为:1235H
1235H变为:68ADH
评分及理由
(1)得分及理由(满分4分)
学生答案:16条指令(正确),8个通用寄存器(正确),MAR是16位(正确),MDR是16位(正确)。所有部分均与标准答案一致,得满分4分。
(2)得分及理由(满分2分)
学生答案:128KB。这是主存地址空间大小,不是转移指令的目标地址范围。题目要求的是目标地址范围,即具体的地址值范围(如0000H~FFFFH)。学生未给出正确范围,得0分。
(3)得分及理由(满分5分)
学生答案:机器码2315H(正确,得1分);R5变为1235H(错误,应为5679H,扣1分);1235H变为68ADH(错误,存储单元地址应为5678H,内容应为68ACH,扣2分)。部分正确,得2分。
题目总分:4+0+2=6分
1):(64x8+19+1)x8=4256bit
2):320+31x4=444,444/64=6,所以映射到行号6,a[1][1]为452,452/64=7,映射为7
3):320/64=5,64/4=16,256/16=16,(16x256)/(256x256)=1/16
所以命中率是15/16=93.75%
对于B来说:
命中率是0%
评分及理由
(1)得分及理由(满分3分)
学生答案:4256bit。标准答案:532B。学生将总容量计算为4256bit,但题目要求以字节为单位,且计算过程有误。正确计算应为8×(64+20/8)=8×(64+2.5)=8×66.5=532B。学生未正确理解Tag字段的存储方式(应以字节为单位),且单位错误,因此扣2分。得1分。
(2)得分及理由(满分4分)
学生答案:a[0][31]行号6正确;a[1][1]行号7错误。a[1][1]地址计算为320+256×4+1×4=1348,1348/64=21余4,21 mod 8=5,所以正确行号应为5。学生未考虑直接映射的取模运算,仅计算了块地址未取模,因此扣2分。得2分。
(3)得分及理由(满分5分)
学生答案:程序A命中率93.75%正确;程序B命中率0%正确;但未比较执行时间。程序A执行时间更短的结论缺失,且程序A的计算过程不完整(未说明首次访问不命中的规律)。因此扣2分。得3分。
题目总分:1+2+3=6分
1):利用位示图可以进行存储
2):6000/60=100rps所以是0.01s每转即10ms一转;平均5ms一转;(20+5)+(30+5)+(40+5)+(20+5)=130ms
3):有,静态磨损均衡
评分及理由
(1)得分及理由(满分2分)
学生回答“利用位示图可以进行存储”,正确指出了使用位图管理磁盘块空闲状态的方法,与标准答案一致。但未详细说明位图的具体计算过程(如16384个磁盘块需要多少内存空间),回答不够完整。扣1分。
得分:1分
(2)得分及理由(满分3分)
学生计算中存在多处逻辑错误:
1. 未按照CSCAN调度策略计算磁道访问顺序(正确顺序应为120→30→50→90),而是直接给出了不明确的移动距离计算。
2. 旋转延迟计算错误(平均旋转延迟应为5ms,但学生错误地加在了每个磁道访问中)。
3. 未计算寻道时间(移动磁道数×1ms)和读取扇区时间。
4. 最终结果130ms与标准答案190.4ms差距较大,说明计算过程不完整且错误。
得分:0分
(3)得分及理由(满分2分)
学生回答“有,静态磨损均衡”。静态磨损均衡是Flash存储器的磨损管理策略,不是磁盘调度策略。问题要求的是比CSCAN更高效的磁盘调度策略,学生未正确回答FCFS策略及理由(Flash无寻道和旋转延迟)。回答错误。
得分:0分
题目总分:1+0+0=1分
1):0001 01 11 1100 1010H 所以对应的页号是9
2):此时将0号页面换出,对应的物理地址是 0001 1111 1100 1010H=1FCAH
3):此时将2号页换出,对应的物理地址是 0000 1011 1100 1010H=0BCAH
评分及理由
(1)得分及理由(满分2分)
得0分。理由:学生将逻辑地址17CAH转换为二进制后,错误地将页号识别为9。实际上,逻辑地址格式为高6位是页号,低10位是页内偏移,17CAH的二进制为0001 0111 1100 1010,高6位000101对应页号5,学生计算错误,未正确划分地址字段。
(2)得分及理由(满分3分)
得2分。理由:学生正确指出采用FIFO算法需置换0号页,并计算物理地址为1FCAH,与标准答案一致。但问题(1)中页号计算错误导致此处逻辑基础不严谨,但置换过程和地址计算正确,故扣1分。
(3)得分及理由(满分3分)
得2分。理由:学生正确指出CLOCK算法需置换2号页,并计算物理地址为0BCAH,与标准答案一致。但未给出CLOCK算法的具体查找过程(如指针移动和使用位清零步骤),且问题(1)的页号错误影响整体逻辑连贯性,故扣1分。
题目总分:0+2+2=4分
1):2x10^(3)/2X10^(8)=10^(-5)s 2X10^(-5)s=20us所以最长需要20us,最短需要10us
2):1500/((1518*8)/(10^(7))+10us+10us+(64*8)/(10^(7)))=1.2x10^(6)B/s
评分及理由
(1)得分及理由(满分4分)
学生答案中计算了单程传播时延为10μs(即0.01ms),并正确得出最长冲突检测时间为20μs(即0.02ms),最短为10μs。计算过程和结果与标准答案一致,理由描述虽未详细展开但结论正确。因此得4分。
(2)得分及理由(满分5分)
学生答案中计算了数据帧发送时延(1518×8/10^7)、确认帧发送时延(64×8/10^7)和传播时延(10μs×2),并正确考虑了有效数据1500字节。但存在以下问题:
1. 数据传输速率单位错误:题目给出10Mbps=10^7 bps,但学生写作10^7,实际应为10^7 bps,但计算中仍按正确值使用,此处不扣分;
2. 最终结果单位错误:学生得出1.2×10^6 B/s,但标准答案为9.33 Mbps。需要统一单位比较:1.2×10^6 B/s = 9.6 Mbps,与标准答案9.33 Mbps存在差异;
3. 计算过程未展示完整周期时间,直接代入公式,导致结果偏差。
由于思路正确但计算结果有误,扣1分。得4分。
题目总分:4+4=8分