小吕设计了某百货公司的会员积分查询系统,输入会员卡号,可以查出该卡对应的积分.所有的会员卡号和相应的积分已分别保存在数组vip(按从小到大排序)和数字cre中,第i个会员的卡号保存在vip(i)中,对应的卡内积分保存在cre(i)中.
程序界面如下所示,在文本框Text1中输入会员卡号,单击“查询”按钮(Command1),相应的卡内积分将在标签Label3中显示.
实现上述功能的VB程序如下,请在横线处填入合适代码.
Dim vip(1to 10000)as long,cre(1to 10000)as integer
Const n=10000‘设会员卡总数为10000
‘Form-Load事件过程中,在列表框List1中输出所有会员卡的卡员和积分.
Private Sub Form_Load ( )
代码略
End Sub
Private Sub Command1_Click ( )
Dim x as long,I as integer,j as integer,m as integer
Dim find as Boolean
x=①
i=1
j=n
find=False
Do While i<=j and not find
②
If x=vip(m) then
Find=true
Elseif x<vip(m) then
J=m-1
Else
③
End if
Loop
If find then
Label3.Caption=“此会员卡的积分为”+④+“分”
Else
Label3.Caption=“找不到此卡号,请重新输入!”
End if
End Sub
(1)此处应用了 对分查找对分查找算法(填:顺序查找/对分查找).
(2)为实现上述功能,程序中横线处的代码应为:
①x=Val(Text1.Text)x=Val(Text1.Text);②m=(i+j)\2m=(i+j)\2;③i=m+1i=m+1;④cre(m)cre(m).
【考点】查找算法及其程序实现;编辑事件处理过程的代码.
【答案】对分查找;x=Val(Text1.Text);m=(i+j)\2;i=m+1;cre(m)
【解答】
【点评】
声明:本试题解析著作权属菁优网所有,未经书面同意,不得复制发布。
发布:2024/11/28 20:30:6组卷:24引用:2难度:0.1
相似题
-
1.某对分查找算法的VB程序段如下:
数组元素a(1)到a(10)的值依次为“12,15,18,20,25,39,47,88,90,99”,经过上述代码查找后,下列表达式正确的是( )发布:2024/12/20 16:0:2组卷:5引用:2难度:0.5 -
2.某数组d中的数据依次是[8,12,15,28,28,32,36,39],要查找某个元素是否在数组中,下列说法正确的是( )
发布:2024/12/20 0:0:1组卷:3引用:1难度:0.7 -
3.有如下对分查找VB程序段:
若数组元素a(1)~a(10)的值依次为“5,9,13,18,22,27,31,39,40,44”,运行程序后,文本
框Text2中显示的内容为3,则输入的key值不可能为( )发布:2024/12/20 20:0:2组卷:3引用:2难度:0.4