小张设计了某企业职工IC卡查询系统,输入职工的卡号,可以查出该卡号对应的余额。所有职工的IC卡号和相应的余额已分别保存在zg数组(按从小到大排序)和ye数组中,第i个职工卡号保存在zg(i)中,对应的卡号余额保存在ye(i)中。
程序界面如图所示,左边列表框List1中显示的是部分职工的卡号和余额,在文本框Text1中输入职工的IC卡号,单击“查询余额”按钮(Command1)后,如果找到此卡号,则在标签Lab3中显示“此卡号余额为”和对应的余额值,如果未找到则显示“找不到此卡号,请重新输入”。
解决此问题的部分程序段如下: Const n=500' 设卡号总数为500 Dim zg(1 To n) As Long Dim ye(1 To n) As Single Private Sub Form1_Load() ' 此过程用于对数组zg和数组ye进行初始赋值,代码略 End Sub Private Sub Command1_Click() Dim x As Long, i As Long, j As Long, m As Long, find As Boolean x=Val(Text1.Text) i = 1 : j = n : find = False Do While ‘改错 m = Int((i + j) / 2 If x = zg(m) Then ① Else If ② Then j = m - 1 Else i = m + 1 End If Loop If find = true Then Lab3.Caption=″此卡号余额为″+Str(ye(m))+″元″ Else Lab3.Caption=″找不到此卡号,请重新输入″ End If End Sub
(1)
在设计程序界面时,要使命令按钮上显示“查询余额”,应修改命令按钮的属性值。
(2)
程序中加框处代码有错,请改正。
(3)
在程序①、②画线处填入适当的语句或表达式。将程序补充完整:
程序中①画线处应填入。
程序中②画线处应填入。
答案: 【1】Caption
i<=j and not find 或 i<=j and find<>true 或 i<=j and find=false
【1】find=true【2】x=zg(m)