当前位置: 高中信息技术 / 综合题
  • 1. (2018高三上·宁波期末) 【加试题】小林和小王合作编写一个查询英语单词的VB程序:小林编写一个过程,单击“读取数据库”按钮Command1,从一个数据库中读取英语单词和中文含义,分别保存在a数组和b数组中。并显示在List1中;小王编写另一个过程,在文本框Text1中输入要查询的单词,单击“查询”按钮Command2,将查询单词的中文含义显示在Text2中,程序界面如图所示。

    1. (1) 分析程序,“英语单词”和“中文含义”被保存在数据表中。
    2. (2) 按此要求编写的程序如下,请在画线处填入合适的代码。

      Const n=3500               ’存储单词的总数

      Dim a(1 To n)As String      ’依次存储每个英语单词

      Dim b(1 To n) As Strin9    ’依次存储每个英语单词的中文含义

      Private Sub Command1_Click()

        Dim Conn As New ADODB.Connection

        Dim rs As New ADODB.Recordset

        Dim strSQL As String

      conn.ConnectionString=“Provider=Microsoft.ACE.OLEDB.12.0;Data source=”&App.Path&“\dictionary1.accdb”

        strSQL=”select*from list”

        conn.Open

        Set rs.ActiveConnection=conn

        rs.Open strSQL

        num=0

        Do While Not rs.EOF

             num=num+1

             a(mum)=rs.Fields(“英语单词”)

             b(num)=rs.Fields(“中文含义”)

             rs.MoveNext

        Loop

        rs.Close

        conn.Close

        Set rs=Nothing

        Set conn=Nothing

        For i==1 To n

               List1.AddItem a(i)+“  ”+b(i)

        Next i

        End Sub

        Private Sub Command2_Click()

        Dim s As String

        S=Text1.Text

        If search(s)=-1 Then

                Text2.text=“找不到该单词”

        Else

                Text2.Text=   ①  

        End If

        End Sub

        Function search(key As String)As Integer

        Dim i,j As Integer

        Dim mid1,mid2 As Integer

        i=1:j=n

        search=-1

        Do While i<=j

             mid1=Int(j+(j—i)/3)

             mid2=Int(j-(j-i)/3)

             If key=a(mid1)Then

                  search=mid1

                  Exit Do

             ElseIf key<a(mid1)Then

                  j=mid1-1

             ElseIf key=a(mid2)Then

                  search=mid2

                  Exit Do

             Elself key>a(mid2)Then

                  i=mid2+1

             Else

                  i=mid1+1

                     ②  

             End If

       Loop

      End Function

          ②  

微信扫码预览、分享更方便