某校為學(xué)生期末考試分配考場(chǎng),并編制準(zhǔn)考證號(hào)。每個(gè)班級(jí)有班號(hào),每位學(xué)生有班內(nèi)序號(hào),班內(nèi)序號(hào)是按班級(jí)現(xiàn)有人數(shù)從1開始逐個(gè)編排的。準(zhǔn)考證號(hào)格式為“入學(xué)年份+班號(hào)+班內(nèi)序號(hào)”。每個(gè)考場(chǎng)有30個(gè)座位,座位號(hào)從1開始。連續(xù)分配座位的兩個(gè)學(xué)生不屬于同一個(gè)班級(jí)。
分配方法是:按考場(chǎng)號(hào)遞增、同一考場(chǎng)座位號(hào)遞增的順序逐一分配座位。每次分配,先選班級(jí),再選學(xué)生。選擇班級(jí)時(shí),在班級(jí)降序序列(按未分配人數(shù))中選擇第1個(gè)班級(jí),但如果該班和前一次分配選定的班級(jí)相同,則改選第2個(gè)班級(jí)。選定班級(jí)后,再為該班未分配學(xué)生中序號(hào)最大的學(xué)生分配考場(chǎng)座位,并維護(hù)班級(jí)降序序列(按未分配人數(shù))。
編寫VB程序,實(shí)現(xiàn)考場(chǎng)分配功能:在文本框Text1中填寫入學(xué)年份,單擊“讀取”按鈕Commandl后,將各班數(shù)據(jù)按人數(shù)降序顯示在列表框List1中,然后單擊“分配”按鈕Command2,在列表框List2中顯示分配結(jié)果。程序運(yùn)行界面如圖所示。
請(qǐng)回答下列問題:
(1)下列對(duì)象中,有 Caption屬性的是AA(單選,填字母:A.Command 1/B.Text 1/C.List 1)。
(2)實(shí)現(xiàn)考場(chǎng)分配功能的VB程序如下,請(qǐng)?jiān)跈M線處填入合適的代碼。
(3)程序中加框處代碼有錯(cuò),請(qǐng)改正。
Dim n As Integer,y As String
Dim cla(1 To 20)As Integer,num(I To 20)As Integer
Dim room As Integer'存儲(chǔ)考場(chǎng)號(hào)
Dim seat As Integer'存儲(chǔ)座位號(hào)
Function fm(k As Integer) As String
'返回整數(shù)k(1≤k≤99)對(duì)應(yīng)的數(shù)字字符串,不足兩位左側(cè)補(bǔ)“0”,代碼略
End function
Private Sub Command 1_ Click ( ?。?br />'從Text l中讀取入學(xué)年份存入變量y,從數(shù)據(jù)庫中讀取該入學(xué)年份的班級(jí)數(shù)據(jù),
'將班級(jí)個(gè)數(shù)存入變量n(1<n≤20),各班班號(hào)和人數(shù)分別存入數(shù)組ela和num,
'各班班號(hào)均大于0,各班人數(shù)均未超過總?cè)藬?shù)的一半,
'將數(shù)組cla和num按班級(jí)人數(shù)降序排列后,顯示在List l中,代碼略
End Sub
Private Sub Command 2_ Click ( ?。?br />Dim i As Integer,t As Integer,s As Integer
Dim choice As Integer,m As Integer,f As Boolean
room=1:seat=1:choice=0
①
Do While f=True
If cla (1)<>choice Then m=1 Else m=2
choice=cla(m)
'在列表框List2中顯示準(zhǔn)考證號(hào)、考場(chǎng)號(hào)、座位號(hào)
List 2.Addltem y+fm(ela(m))+fm(num(m))+″″+fm(room)+″″+fm(seat)
seat=seat+1
If seat>30 Then
seat=1
End If
num(m)=num(m)-1
For i=②To n-1'維護(hù)班級(jí)降序序列(按未分配人數(shù))
If num(i)<num(i+1)Then
t=num(i):num(i)=num(i+1):num(i+1)=t
s=ela(i):ela(i)=ela(i+1):ela(i+1)=s
Else
Exit For'ExitFor表示退出循環(huán)
End If
Next i
If③Then f=False
Loop
End Sub
【考點(diǎn)】面向?qū)ο蟮某绦蛟O(shè)計(jì)語言.
【答案】A
【解答】
【點(diǎn)評(píng)】
聲明:本試題解析著作權(quán)屬菁優(yōu)網(wǎng)所有,未經(jīng)書面同意,不得復(fù)制發(fā)布。
發(fā)布:2024/6/27 10:35:59組卷:11引用:1難度:0.1
相似題
-
1.報(bào)名抽簽。小明編寫了報(bào)名抽簽的VB程序。程序運(yùn)行時(shí),從數(shù)據(jù)庫中讀取全體學(xué)生的學(xué)號(hào)和姓名數(shù)據(jù);報(bào)名時(shí),在文本框Text1中輸入報(bào)名學(xué)生的學(xué)號(hào),按下回車鍵后進(jìn)行查詢,若是未報(bào)名的,將該報(bào)名人的信息顯示在列表框List1中;報(bào)名完成后,在文本框Text2中輸入抽簽人數(shù),單擊“抽簽”按鈕Command1,在列表框List2中顯示隨機(jī)抽簽結(jié)果,程序運(yùn)行界面如圖所示。請(qǐng)回答下列問題:
(1)以下代碼中語句“List2.AddItem xm2(ch)”中的AddItem是
(2)請(qǐng)?jiān)跈M線處填入合適的代碼。發(fā)布:2025/1/2 10:30:2組卷:0引用:1難度:0.4 -
2.近似公式求自然對(duì)數(shù)的底e的值,直到最后一項(xiàng)的值小于10-5為止。e≈1+
,小李為此編寫了如下VB程序段:11!+12!+13!+14!+?+1n!
方框中的代碼由以下三部分組成:
①i=i+1 ②jc=jc*I ③e=e+1/jc
下列選項(xiàng)中代碼順序正確的是( ?。?/h2>發(fā)布:2025/1/2 11:0:1組卷:3引用:2難度:0.4 -
3.下列程序的運(yùn)行結(jié)果是( ?。?br />
發(fā)布:2025/1/2 11:0:1組卷:1引用:2難度:0.5
把好題分享給你的好友吧~~