△ 任务甲为加急任务,优先分配:
●先选择当前空闲的打印机(同空闲状态则编号小的优先)
●若无空闲打印机,则选当前任务剩余时间最短的打印机(同剩余时间则编号小的优先)
△ 任务乙为普通任务,按打印机累计打印份数分配,选择累计打印份数最少的打印机(同打印份数则打印机编号小的优先)
(1)某时刻各打印机状态:
打印机0:空闲(累计200份) | 打印机1:忙碌,剩余8分钟(累计160份) |
打印机2:忙碌,剩余6分钟(累计160份) | 打印机3:忙碌,剩余8分钟(累计200份) |
此时到达一个打印任务,下列选项中任务和分配的打印机相匹配的是(单选,填字母)
A.乙,打印机0 B.乙,打印机1 C.甲,打印机2 D.甲,打印机3
(2)以下python代码段实现打印任务的分配,请在划线处填入合适代码。
(3)加框处代码有误,请改正。
#[False,0,200]表示打印机状态(空闲),当前任务剩余时间,累计打印份数
printer=[[True,6,200],[True,5,150],[True,8,150],[True,3,220]]
#获取task值,如[True,20]表示任务属性(甲)与需打印份数,代码略
def assignmen_task(printer,task):
if task[0]:
k=0
for i in range(len(printer)):
if①:
#更新打印机状态与累计打印份数,代码略
return printer,i
elif② :
k=i
#更新打印机状态与累计打印份数,代码略
return printer,k
else:
k=0
for i in range(1,len(printer)):
if:
k=i
#更新打印机状态与累计打印份数,代码略
return printer,k