某手機APP為電影觀眾選座提供了程序推薦和自主選位功能。當觀眾購票選擇程序推薦時,程序根據(jù)電影放映廳內每個座位的優(yōu)先等級(用一個正整數(shù)表示其等級值,如圖a所示),自第1排1號座開始,按自左向右逐排的順序查找滿足本次購票人數(shù)r的最優(yōu)空位區(qū)(最優(yōu)空位區(qū)是指從某個座位開始的同排連續(xù)的r個空位,且其等級值之和最高,若有多個最優(yōu)空位區(qū),則推薦最先找到的)。若找到,則顯示出推薦的座位編號;若找不到,則提示自主選位。例如:圖a中放映廳內座位有9排10列,第5排10個座位的等級值依次為:1,2,3,4,5,5,4,3,2,1。全部座位為空時,當前購票人數(shù)為5,推薦座位編號為5排3-7號;如圖b所示已經部分選座狀態(tài)下,當前購票人數(shù)為2,推薦座位編號為6排3-4號。
編寫VB程序,模擬上述功能。運行程序,在列表List1中顯示目前選座狀態(tài),黑點表示已選座,白點表示空位,在文本框Text1中輸入購票人數(shù)后,單擊“推薦”按鈕Command1,在標簽Label3顯示當前購票人座位的推薦結果。程序運行界面如圖c所示。
(1)如圖a所示,全部座位為空時,第1次購票人數(shù)為4人,按程序推薦座位選座,座位等級值之和為 1818。
(2)實現(xiàn)上述功能的VB程序如下,請在橫線處填入合適的代碼 sum+a(k)或sum+a((i-1)*n+p)sum+a(k)或sum+a((i-1)*n+p)、t=getsum(i,j)t=getsum(i,j)、posTopos+r-1或pos+r-1ToposStep-1posTopos+r-1或pos+r-1ToposStep-1。
Constm=9'm表示座位有9排
Constn=10′n表示每排的座位數(shù)為10
Dim r As Integer'r表示當次輸入的購票人數(shù)
Dim a(1 to m*n)As Integer'a數(shù)組存放每個座位的等級值
Dim b(l to m*n+1)As Integer′b數(shù)組保存當前各座位選座情況,選中為1,未選為0
Private Sub Form_Load( )
'從第1排開始,按座位編號從小到大順序逐排讀取座位等級值并依次存入數(shù)組a
'同上述順序,讀取選座狀態(tài)存入數(shù)組元素b(1)至b(m*n)中,輸出當前選座狀態(tài)。代碼略
End Sub
Function getsum(i As Integer,j As Integer)As Integer
'從第i排第j列開始,計算第i排中滿足r個觀眾就座的連續(xù)空位等級值之和。
'若無法找到足夠的連續(xù)空位時,則返回-1
Dim p As Integer,sum As Integer,k As Integer
sum=0
p=j:k=(i-1)*n+p
Do Whilep<=j+r-l And b(k)=0
sum=①____
p=p+1:k=k+1
Loop
If p=j+r Then getsum=sum Else getsum=-1
End Function
Private Sub Command1_Click)
Dim iAs Integer,jAs Integer,s As String,max As Integer
Dim t As Integer,newi As Integer,newj As Integer,pos As Integer
r=Val(Textl.Text)
max=0
For i=1To m
Forj=l To n-r+1
②____-
If max<t Then max=t:newi=i:newj=j
Next j
Next i
If max=0 Then
Label3.Caption=“請自主選位”
Else
pos=(newi-1)*n+newj
Fori=③_____
b(i)=1
Next i
Label3.Caption=“推薦座位編號:”&newi&“排”&newj&”-”&newj+r-1&”座”
End If
End Sub
【考點】應用程序的試運行和保存.
【答案】18;sum+a(k)或sum+a((i-1)*n+p);t=getsum(i,j);posTopos+r-1或pos+r-1ToposStep-1
【解答】
【點評】
聲明:本試題解析著作權屬菁優(yōu)網所有,未經書面同意,不得復制發(fā)布。
發(fā)布:2024/4/20 14:35:0組卷:1引用:1難度:0.3
相似題
-
1.有如下VB程序段:
執(zhí)行該程序段后,變量c的值是( )發(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í)行后的圖像效果是( )發(fā)布:2024/12/20 9:30:2組卷:3引用:5難度:0.4
把好題分享給你的好友吧~~