【加试题】某省学生信息技术学习平台使用情况数据存储在数据库中,利用VB编写一个程序,实现功能:输入一个积分的范围,显示该范围内的学生编号和对应的积分。程序运行界面如图所示:
程序代码如下,为实现上述功能,请在画线处填写合适的代码。 Dim bh(10 000)As String ‘存储学生编号 Dim jf(10 000)As Integer ‘存储学生获得的积分值 Dim n As Integer ‘存储学生总人数 Function Search(x As Integer)As Integer Search=0 i=1:j=n:flag=True Do While i<=j And flag=True m=Int((i+i)/2) If x=jf(m) Then flag=False ① Elself ② Then i=m+1 Else j=m-1 EndIf Loop End Function Private Sub Form_Load() ‘从数据库中读取学生编号和积分,分别存储到bh数组和jf数组中,并按积分值从小到大排序,显示在列表框List1中 End Sub Private Sub Command1_Click() Dim Top As Integer,Bottom As Integer,Topxb As Integer,Bottomxb As Integer List2.Clear Top=Val(Text1.Text) Bottom=Val(Text2.Text) If Top>Bottom Then t=Top:Top=Bottom:Bottom=t If Top>jf(n)Or Bottom<jf(1)Then Exit Sub Do While Search(Top)=0 Top=Top+1 Loop Do While Search(Bottom)=0 Bottom=Bottom-1 Loop Topxb=Search(Top) Do While jf(Topxb)=jf(Topxb-1)And Topxb>l Topxb=Topxb-1 Loop Bottomxb=Search(Bottom) Do While jf(Bottomxb)=jf(Bottomxb+1)And Bottomxb<n Bottomxb=Bottomxb+1 Loop For i= ③ List2.AddItem bh(i)&" "&jf(i) Next i End Sub ① ② ③
答案:【1】Search=m【2】x>jf(m)(或jf(m)<x)【3】Topxb To Bottomxb