某地区开展新冠疫苗接种工作,疫苗共有ABC三类,数量有限。符合下列条件的人员,可安排接种:①待接种第一针的;②已接种某类疫苗30天以上可接种该类第二针的。待接种人员按优先级进行排序(优先级数值小的表示优先级高)。
编写程序,实现接种序号发放的功能:运行程序,列表框List1中显示待安排接种人员信息(其中A32表示已经接种A类疫苗32天,B2表示已经接种B类疫苗2天,以此类推;F表示待接种第一针),在文本框Text1中输入可使用的疫苗情况(A-100代表有A类疫苗100剂),单击“序号发放”按钮Command1,在列表框List2中显示持接种序号人员信息。程序运行界面如图所示:
请回答下列问题:
(1)
要使命令按钮Command1上显示“序号发放”,是通过设置其属性得到。
(2)
请在划线处填入合适的代码。
Dim bh(1 to 2000)As Integer, yxj(1 to 2000) As
Integer
Dim xm(1 to 2000) As String,qk(1 to 2000) As String
Dim num As Integer
Private Sub Form_Load()
'读取编号,优先级,姓名,接种情况分别存在bh,yxj,xm,qk 数组并输出到List1中
'接种总人数存入num,代码略
End Sub
Private Sub Command1_click( )
Dim s As
String, p As String, x As String
Dim n As
Integer, i As Integer, j As Integer, k As Integer, t As Integer
s =
Text1.Text
p =
Mid(s,1,1)
n =
Val(Mid(s, 3, Len(s) - 2))
For i = 1
To n
For j
= i + 1 To num
If
Then k= j ElseIf check(qk(k), p) = True Or check(qk(j), p) = True Then If yxj(k) > yxj(j) Then k = j End If Next j If k<> i Then t = bh(k): bh(k) = bh(i): bh(i) = t t = yxj(k): yxj(k) = yxj(i): yxj(i) = t x = xm(k): xm(k) = xm(i): xm(i) = x x = qk(k): qk(k) = qk(i): qk(i) = x End If Next i List2.AddItem "接种序号" + " " + "姓名" For i = 1 To n List2.AddItem " " + Str(i) + " " + xm(i) Next i End Sub 'check 函数用于判断是否符合该类疫苗的接种条件 Function check(ch As String, key As String) As Boolean IfThen check = True Else If Mid(ch, 1, 1) = key And Val(Mid(ch, 2, Len(ch) - 1)) > 30 Then check = True Else check = False End If End If End Function
(3)
程序中加框处代码有错,请改正。
答案: 【1】Caption
【1】k=i【2】ch= " F " 或 Mid(ch,1,1)= " F "
check(qk(k), p)=True And check(qk(j), p)=True