某物品柜有5層,每層有10個格子,每個格子只能放一個物品。第1層格子編號依次為1到10,第2層格子編號依次為11到20,依此類推。有9組物品(組號1~9),每組有2到8個物品,物品總數(shù)不超過50個。將9組物品按組號由小到大依次放入柜中,放置方式有兩種:
(1)整體放置。按格子編號由小到大的次序查找第一個可放置該組全部物品的空區(qū)域(空區(qū)域是指從某個空格子開始的同層連續(xù)的所有空格子),若找到,則在該空區(qū)域居中、連續(xù)放置該組全部物品,如圖a所示。
(2)零散放置。若所有空區(qū)域格子數(shù)都小于該組物品數(shù),則將該組每個物品依次放置在當前編號最小的空格子中,如圖b所示。
編寫VB程序,模擬物品放置。運行程序,在列表框List1中顯示每組物品的組號和數(shù)量,單擊“放置”按鈕Command1,在列表框List2中顯示每組物品放置結(jié)果。程序運行界面如圖c所示。
(1)若第1、第2組的物品數(shù)分別為6和2,則放置第2組物品的格子編號依次為1,21,2。
(2)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適的代碼。
Constm=50’m表示物品柜的格子數(shù)
Constw=10’w表示物品柜每層的格子數(shù)
Constn=9’n表示物品的組數(shù)
’f(i)存儲第i個格子開始的同層連續(xù)的所有空格子數(shù)。f(i)為0表示第i個格子不是空格子
Dimf(m)AsInteger
Dima(n)AsInteger
PrivateSubForm_Load( ?。?/div>( )
’讀取各組物品的個數(shù)依次存入數(shù)組a,并在List1中顯示
’代碼略
EndSub
Functiongetpos(rAsIntegerAsInteger
’按格子編號從小到大的次序,查找空格子數(shù)≥r的第一個空區(qū)域
’若找到,返回該空區(qū)域的起始編號,否則返回-1
’代碼略
EndFunction
PrivateSubCommand1_Click ( )
DimiAsInteger,jAsInteger,kAsInteger,pAsInteger,vAsInteger
DimsAsString
Fori=1Tom
f(i)=w-(i-1)Modw’w為10,表示每層的格子數(shù)
Nexti
v=1
Fori=1Ton
s=““
p=①
Ifp=-1Then
j=1
DoWhilej<=a(i)
Iff(v)<>0Then
s=s+Str(v)
f(v)=
j=j+1
EndIf
②
Loop
Else
k=(f(p)-a(i))\2
Forj=kTo1Step-1
f(p)=j
p=p+1
Nextj
Forj=③
f(j)=0
s=s+Str(j)
Nextj
EndIf
List2.AddItem“第“+Str(i)+“組:“+s
Nexti
EndSub【考點】應用程序的試運行和保存.【答案】1,2;( ?。?/div>【解答】【點評】聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。發(fā)布:2024/6/27 10:35:59組卷:6引用:1難度:0.5
相似題
-
1.有如下VB程序段:
執(zhí)行該程序段后,變量c的值是( ?。?/h2>
發(fā)布:2024/12/16 5:0:1組卷:1引用:2難度:0.3
-
2.由大寫字母組成的長度相同的兩個字符串s1和s2,檢測各字母的數(shù)量,如“ABDAC”與“AABCD”所含字母數(shù)量一樣,與“AABBC”所含字母數(shù)量不一樣。實現(xiàn)該功能的VB程序段如下:
填空處的代碼可以由以下部分組成:
①Text2.Text ②val(Text2.Text) ③b(a)=b(a)+1 ④b(a)=b(a)-1 ⑤b(i)<>0⑥b(i)=0
代碼順序正確的是( ?。?/h2>
發(fā)布:2024/12/16 9:30:1組卷:3引用:3難度:0.4
-
3.小明用python語言中對大小為100*100像素的圖像“上.jpg”(如圖所示)進行簡單處理,部分代碼如圖:
程序執(zhí)行后的圖像效果是( ?。?/h2>
發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4
( )
’讀取各組物品的個數(shù)依次存入數(shù)組a,并在List1中顯示
’代碼略
EndSub
Functiongetpos(rAsIntegerAsInteger
’按格子編號從小到大的次序,查找空格子數(shù)≥r的第一個空區(qū)域
’若找到,返回該空區(qū)域的起始編號,否則返回-1
’代碼略
EndFunction
PrivateSubCommand1_Click ( )
DimiAsInteger,jAsInteger,kAsInteger,pAsInteger,vAsInteger
DimsAsString
Fori=1Tom
f(i)=w-(i-1)Modw’w為10,表示每層的格子數(shù)
Nexti
v=1
Fori=1Ton
s=““
p=①
Ifp=-1Then
j=1
DoWhilej<=a(i)
Iff(v)<>0Then
s=s+Str(v)
f(v)=
j=j+1
EndIf
②
Loop
Else
k=(f(p)-a(i))\2
Forj=kTo1Step-1
f(p)=j
p=p+1
Nextj
Forj=③
f(j)=0
s=s+Str(j)
Nextj
EndIf
List2.AddItem“第“+Str(i)+“組:“+s
Nexti
EndSub
【解答】
【點評】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:6引用:1難度:0.5
相似題
-
1.有如下VB程序段:
執(zhí)行該程序段后,變量c的值是( ?。?/h2>發(fā)布:2024/12/16 5:0:1組卷:1引用:2難度:0.3 -
2.由大寫字母組成的長度相同的兩個字符串s1和s2,檢測各字母的數(shù)量,如“ABDAC”與“AABCD”所含字母數(shù)量一樣,與“AABBC”所含字母數(shù)量不一樣。實現(xiàn)該功能的VB程序段如下:
填空處的代碼可以由以下部分組成:
①Text2.Text ②val(Text2.Text) ③b(a)=b(a)+1 ④b(a)=b(a)-1 ⑤b(i)<>0⑥b(i)=0
代碼順序正確的是( ?。?/h2>發(fā)布:2024/12/16 9:30:1組卷:3引用:3難度:0.4 -
3.小明用python語言中對大小為100*100像素的圖像“上.jpg”(如圖所示)進行簡單處理,部分代碼如圖:
程序執(zhí)行后的圖像效果是( ?。?/h2>發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4
把好題分享給你的好友吧~~
本網(wǎng)部分資源來源于會員上傳,除本網(wǎng)組織的資源外,版權(quán)歸原作者所有,如有侵犯版權(quán),請立刻和本網(wǎng)聯(lián)系并提供證據(jù),本網(wǎng)將在三個工作日內(nèi)改正