有2組器件共n個(gè),要用一臺(tái)檢測(cè)設(shè)備檢測(cè)。每個(gè)送檢器件的信息包含送達(dá)時(shí)間、檢測(cè)時(shí)長(zhǎng)和優(yōu)先級(jí)。優(yōu)先級(jí)有m(1<m<6)個(gè)等級(jí),由高到低分別用0-m-1的整數(shù)表示。每個(gè)機(jī)器件的送達(dá)時(shí)間各不相同。已送達(dá)的器件按照各優(yōu)先級(jí)通道分別排隊(duì),先到達(dá)先入隊(duì)。設(shè)備每次檢測(cè)都從當(dāng)前各非空隊(duì)列中,選取優(yōu)先級(jí)最高的隊(duì)列的隊(duì)首器件出隊(duì)進(jìn)行檢測(cè)。(同一時(shí)刻出現(xiàn)入隊(duì)和出隊(duì)時(shí),先處理入隊(duì)。)編寫(xiě)程序模擬檢測(cè)過(guò)程,先合并2組器件的數(shù)據(jù),然后計(jì)算所有器件的平均等待時(shí)長(zhǎng),其中每個(gè)器件等待時(shí)長(zhǎng)為其開(kāi)始檢測(cè)的時(shí)間與送達(dá)時(shí)間的時(shí)間差。(時(shí)間單位均為秒)
請(qǐng)回答下列問(wèn)題:
(1)由題意可知,表中器件A、B、C、D的檢測(cè)順序?yàn)锳-C-D-B,A、C、D的等待時(shí)長(zhǎng)分別為0、1、0,B的等待時(shí)長(zhǎng)是 66。
A | 送達(dá)時(shí)間 | 檢測(cè)時(shí)長(zhǎng) | 優(yōu)先級(jí) |
B | 0 | 3 | 2 |
C | 1 | 1 | 2 |
D | 2 | 1 | 1 |
3 | 3 | 0 | |
11 | 3 | 2 | |
12 | 2 | 2 |
①調(diào)用merge(lst1,lst2)函數(shù),若lst1為[[0,3,2],[1,1,2],[12,2,2]],lst2為[[2,1,1],[4,3,0],[11,3,2]],則while語(yǔ)句中循環(huán)體的執(zhí)行次數(shù)是
4
4
。②若函數(shù)中while語(yǔ)句的條件“j>=0”誤寫(xiě)為“k>=0”,會(huì)導(dǎo)致某些情況下無(wú)法得到符合函數(shù)功能的結(jié)果。調(diào)用merge(lst1,lst2)函數(shù),下列4組數(shù)據(jù)中能測(cè)試出這一問(wèn)題的是
A
A
(單選,填字母)。(3)實(shí)現(xiàn)模擬檢測(cè)過(guò)程并計(jì)算平均等待時(shí)長(zhǎng)的部分Python程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
【考點(diǎn)】Python語(yǔ)言編程環(huán)境.
【答案】6;4;A
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書(shū)面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/11/27 17:30:1組卷:6引用:1難度:0.3
相似題
-
1.現(xiàn)有一個(gè)m*n的迷宮矩陣 maze(如圖 a),矩陣中有空格子(用1表示,可通行)和墻(用0表示,不可通行);在迷宮中通行的每一步移動(dòng)操作,你可以往上,下,左或者右方向移動(dòng)一個(gè)格子(不能進(jìn)入墻所在的格子)。
你的目標(biāo)是找到離entry(入口)最近的出口,并規(guī)劃入口到出口的行走路徑。(出口的含義是 maze邊界上的空格子。entry格子不算出口)。如果不存在這樣的路徑,請(qǐng)你返回-1;如果有,則展示entry到出口的行走路徑。
程序在正常執(zhí)行后,運(yùn)行結(jié)果如圖b所示:
●尋找最近出口位置的思路與算法:
預(yù)設(shè):0墻 1空格子 2已探索
在廣度優(yōu)先搜索的過(guò)程中,我們?cè)陉?duì)列中保存[cx,cy,d]三元素列表,其中(cx,cy)為當(dāng)前的行列坐標(biāo),d為當(dāng)前坐標(biāo)相對(duì)入口的距離(即需要移動(dòng)的步數(shù))。
當(dāng)我們遍歷至(cx,cy)時(shí),我們枚舉它上下左右的相鄰坐標(biāo)(nx,ny)。此時(shí)可能有三種情況:
①(nx,ny)不屬于迷宮坐標(biāo)或?yàn)閴?,此時(shí)無(wú)需進(jìn)行任何操作;
②(nx,ny)為迷宮的出口(在迷宮邊界且不為墻),此時(shí)應(yīng)返回 nx,ny,d+1,即該出口的坐標(biāo)以及相對(duì)入口的距離作為答案。
③(nx,ny)為空格子且不為出口,此時(shí)應(yīng)將新坐標(biāo)設(shè)置為已探索,并將其對(duì)應(yīng)的三元素列表[nx,ny,d+1]加入隊(duì)列。
最終,如果不存在到達(dá)出口的路徑,我們返回-1作為答案。
1、若迷宮數(shù)據(jù)為maze=[[0,0,0,0,0],[1,1,1,1,0],[0,1,0,1,1],[0,1,1,1,0],[0,0,0,0,0]],則最少移動(dòng)步數(shù)為
2、請(qǐng)將以下的程序代碼,補(bǔ)充完整。發(fā)布:2025/1/2 10:30:2組卷:1引用:1難度:0.4 -
2.又到植樹(shù)的季節(jié),大人和小孩共100個(gè),需要種100棵樹(shù),每個(gè)大人每天能種3棵樹(shù),三個(gè)小孩每天能合種1棵樹(shù),大人小孩至少都有1位參加,問(wèn)大人和小孩各有幾個(gè),正好一天完成這個(gè)任務(wù)?
(1)大人和小孩個(gè)數(shù)最合理的范圍是
A.大人:5到33,小孩:1到99
B.大人:1到33,小孩:1到291
C.大人:1到33,小孩:3到99
D.大人:1到33,小孩:3到291
(2)設(shè)大人為a,小孩為b,匹配這個(gè)需求的條件是
A.a(chǎn)*3+b/3=100 and a+b=100
B.a(chǎn)*3+b/3=100 or a+b=100
C.a(chǎn)/3+b*3=100 and a+b=100
D.a(chǎn)/+b*3=100 or a+b=100
(3)算法的初始化部分已在提供的程序中完成。請(qǐng)?jiān)谥付▍^(qū)域內(nèi)編寫(xiě)程序,完成題目要求的功能。完成VB程序的編寫(xiě),輸出符合條件的人數(shù)組合。(注意:程序編寫(xiě)正確才能得分)Dim a As Integer,b As Integer 發(fā)布:2025/1/2 11:30:1組卷:1引用:1難度:0.3 -
3.查找與替換。從鍵盤(pán)上分別輸入要查找和替換的字符串,對(duì)文本文件進(jìn)行查找與替換,替換后保存到新的文本文件中。完成查找與替換功能的思路是:首先可從待檢索文本文件“in.jye.ai”逐行讀取文本內(nèi)容到列表text,然后從鍵盤(pán)上輸入查找的字符串key和替換的字符串new,對(duì)列表text中的元素逐個(gè)進(jìn)行查找并替換,結(jié)果保存到列表result,最后將result 寫(xiě)入文件“out.jye.ai”。
(1)主程序。
text=readfile(“in.jye.ai“)#讀入文件
key=input(“請(qǐng)輸入要查找的字符串:“)
new=input(“請(qǐng)輸入要替換的字符串:“)
result=[]
for line in text:
newline=replace(key,new,line)#替換
result.append(newline)#添加到列表
writefile(“out.jye.ai“,result)#寫(xiě)入文件
該程序段采用的算法是
(2)讀寫(xiě)文本文件,如下的readfile函數(shù),逐行讀取文本文件數(shù)據(jù)存入列表并返回。請(qǐng)?jiān)跈M線處填入合適的代碼。
def readfile(filename):
f=open(filename,encoding=“utf-8“)#打開(kāi)文件
text=[]
line=f.readline( ?。?從文件中讀取一行
while line:
text.jye.ai(line)#添加到列表
line=f.readline( ?。?br />f.jye.ai( ?。?br />return
def writefile(filename,text):
#將text寫(xiě)入filename文件,代碼略
(3)查找字符串,如下的findstr函數(shù),在字符串line中從begin位置開(kāi)始查找key在字符串line中的位置,請(qǐng)?jiān)跈M線處填入合適的代碼。
def findstr(key,line,begin):
for i in range(begin,len(line)-len(key)+1):
if :
return i
return-1
(4)替換字符串。如下的replace函數(shù),在字符串line中檢索所有的字符串key并替換為new,請(qǐng)?jiān)跈M線處填入合適的代碼。
def replace(key,new,line):
begin=0
while begin<len(line)-len(key)+1:
pos=findstr(key,line,begin)
if pos==-1:
else:
line=line[0:pos]+new+line[pos+len(key):len(line)]
begin=pos+len(key)
return line發(fā)布:2025/1/2 10:30:2組卷:0引用:2難度:0.3
把好題分享給你的好友吧~~