科目组合
数据结构 、计算机组成原理 、操作系统 、计算机网络
(1)用max记录最大峰的值,用min记录最小谷的值。max初值-65536,min初值65535。遍历数组,若当前元素满足峰,则与max比较,若大于峰,则将峰赋值为该元素;若当前元素满足谷,则与min比较,若小于谷,则将谷赋值为该元素值。若max值为-65536或min值为65535,返回0,否则循环遍历数组,找出与max值相等的数组下标,然后循环遍历数组找出与min值相等的数组下标进行峰谷对输出。
void seek(int A[n]){
int max=-65536;
int min=65535;
for(int i=1;i<n-2;i++){
if(a[i]>a[i-1]&&a[i]>a[i+1]&&a[i]>max)
{
max=a[i];
}
if(a[i]<a[i-1]&&a[i]<a[i+1]&&a[i]<min)
{
min=a[i];
}
if(min=65536||max=-65535){
return 0;
}else {
for(int i=1;i<n-2;i++){
if(a[i]==max)
{
for(int j=0;j<n-2;j++){
if(a[i]==min)
{
cout<<"("<<i<<j<<")"<<endl;
}
}
}
}
}
}
(3)时间复杂度O(n×n),空间复杂度O(0)。
评分及理由
(1)得分及理由(满分4分)
得分:0分
理由:学生的基本设计思想存在严重逻辑错误。题目要求找峰谷对(i,j)且i (2)得分及理由(满分7分) 得分:1分 理由:代码实现中存在多处错误: (3)得分及理由(满分2分) 得分:0分 理由:时间复杂度分析错误,实际应该是O(n²)而不是O(n×n)的表述;空间复杂度分析错误,虽然确实没有使用额外数组,但函数参数和局部变量仍占用空间,应为O(1)而不是O(0)。 题目总分:0+1+0=1分
1. 函数声明应为int类型,但写成了void
2. 数组参数A[n]写法错误
3. 循环条件i
5. 条件判断中使用了赋值运算符=而不是比较运算符==
6. 逻辑判断条件错误(min=65536||max=-65535)
7. 内层循环j的起始位置应为i+1而不是0
8. 输出的是所有满足条件的峰谷对,但题目要求的是最大差值
9. 没有正确计算和返回最大差值
唯一给分点是识别峰谷的基本逻辑正确。
(1)18,1->3->5->7->9->10。
(2)还能连通。最短路径长度20,1->2->4->7->9->10
(3)晴天:82。雨天:102。
评分及理由
(1)得分及理由(满分3分)
学生答案正确给出最短路径长度为18,路径为1→3→5→7→9→10,与标准答案完全一致。得3分。
(2)得分及理由(满分3分)
学生正确判断雨天所有城市仍连通,给出最短路径长度为20,路径为1→2→4→7→9→10,与标准答案完全一致。得3分。
(3)得分及理由(满分4分)
学生答案晴天最小生成树总长度82、雨天102均错误。标准答案晴天为31,雨天为35。学生可能错误地将所有边权直接相加(5+3+4+6+2+7+3+5+4+2+5+6=52),但未考虑最小生成树只需部分边且需满足无环连通。计算方法和结果均错误。扣4分。
题目总分:3+3+0=6分
(1)标记位:15,块索引位:9,块内偏移位:6。
(2)块索引号为Ox00001234:0001001000,Ox00001278:000101001,Ox00002234:0010001000,第一个地址与第四个地址位于同一cache行中,且标记相同,索引只有第四个地址命中,cache命中率为25%。
(3)读的时间:10ns×90%+110ns×10%=20ns,写的时间:20ns×80%+120ns×20%=40ns。平均访存时间20ns×50%+40ns×50%=30ns。
评分及理由
(1)得分及理由(满分3分)
学生答案完全正确,标记位15位、块索引位9位、块内偏移位6位与标准答案一致。得3分。
(2)得分及理由(满分3分)
学生正确计算出命中率为25%,与标准答案一致。虽然计算过程中使用了十六进制表示块索引号(如"0001001000"等),但思路正确且结果正确,不扣分。得3分。
(3)得分及理由(满分4分)
学生计算存在逻辑错误:
由于写操作时间计算存在严重逻辑错误,扣2分。得2分。
题目总分:3+3+2=8分
(1)4ns。
(2)(100+4)×4ns=416ns。
(3)分支指令预测失败数量(100/5)×20%=4,总周期数104+2×4=112,平均CPI112/100=1.12。
(4)448ns。
评分及理由
(1)得分及理由(满分2分)
学生答案正确,直接给出最慢流水段MEM的延迟4 ns作为时钟周期时间。得2分。
(2)得分及理由(满分3分)
学生计算总时钟周期数为100+4=104,与标准答案一致,并正确乘以时钟周期4 ns得到416 ns。得3分。
(3)得分及理由(满分4分)
学生正确计算分支指令数(20条)和预测失败次数(4次),但总周期数计算有误:标准答案为100(基础周期)+ 8(惩罚周期)= 108,学生计算为104 + 8 = 112。错误在于基础周期数应为100(CPI=1的理想情况),而非104(流水线填充周期)。因此平均CPI 1.12错误。扣2分,得2分。
(4)得分及理由(满分4分)
学生基于(3)的错误CPI 1.12计算总时间:1.12 × 100 × 4 = 448 ns。计算过程正确,但因(3)的CPI错误导致结果错误。扣2分,得2分。
题目总分:2+3+2+2=9分
(2)A{
P(emptyA);
P(mutex);
生产A产品;
V(mutex);
V(fullA);
}
B{
P(emptyA);
P(mutex);
生产B产品;
V(mutex);
V(fullB);
}
C{
P(fullA);
P(mutex);
消费A产品;
V(mutex);
V(emptyA);
}
D{
P(fullB);
P(mutex);
消费B产品;
V(mutex);
V(emptyB);
}
(2)24单位时间。
评分及理由
(1)得分及理由(满分5分)
学生作答中,将P1、P2、C1、C2四个进程分别标记为A、B、C、D,但代码结构基本正确。存在以下问题:
由于存在明显的逻辑错误(P2使用错误的信号量),扣2分。代码结构基本正确但不够完整,扣1分。最终得分为2分。
(2)得分及理由(满分2分)
学生给出的答案是24单位时间,与标准答案18单位时间不符。计算过程没有提供,且结果错误。考虑到计算题需要准确的结果,本题得0分。
题目总分:2+0=2分
(1)P1:0ms,P2:3ms,P3:5ms,P4:6ms
(2)完成时间:P1:8ms,P2:11ms,P3:13ms,P4:17ms。周转时间:P1:8ms,P2:9ms,P3:9ms,P4:11ms。带权周转时间:P1:1,P2:1.8,P3:9/7,P4:11/5
(3)平均周转时间:9.25ms,平均带权周转时间:11/7。
评分及理由
(1)得分及理由(满分2分)
学生答案与标准答案完全一致,得2分。
(2)得分及理由(满分4分)
学生的完成时间、周转时间和带权周转时间存在多处错误:
由于存在多处计算错误,扣3分,得1分。
(3)得分及理由(满分2分)
平均周转时间和平均带权周转时间计算错误:
两项均错误,扣2分,得0分。
题目总分:2+1+0=3分
(1)技术部:网络地址:202.117.12.1/26-202.117.12.62/26,子网掩码202.117.12.0。市场部:网络地址:202.117.12.65/27-202.117.12.94/27,子网掩码:202.117.12.64。财务部:网络地址:202.117.12.97/28-202.117.12.110/28,子网掩码:202.117.12.96。
(2)
(3)确认号为2001,发送报文段的序列号范围为1001-1801,主机B收到后发送确认报文段的确认号为1802。
评分及理由
(1)得分及理由(满分3分)
学生答案中给出了各部门子网的地址范围,但存在以下问题:
学生虽然正确划分了子网范围,但未正确写出网络地址和子网掩码,存在逻辑错误。扣2分,得1分。
(2)得分及理由(满分3分)
学生答案的路由表存在以下问题:
路由表的目的网络、子网掩码和默认路由均错误,逻辑错误严重。扣3分,得0分。
(3)得分及理由(满分3分)
学生答案存在以下问题:
所有数值均计算错误,逻辑错误严重。扣3分,得0分。
题目总分:1+0+0=1分