试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:困难

浙江省宁波市2017-2018学年高三上学期信息技术“十校联考”期末试卷

【加试题】小林和小王合作编写一个查询英语单词的VB程序:小林编写一个过程,单击“读取数据库”按钮Command1,从一个数据库中读取英语单词和中文含义,分别保存在a数组和b数组中。并显示在List1中;小王编写另一个过程,在文本框Text1中输入要查询的单词,单击“查询”按钮Command2,将查询单词的中文含义显示在Text2中,程序界面如图所示。

(1)、分析程序,“英语单词”和“中文含义”被保存在数据表中。
(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

    ②  

举一反三
返回首页

试题篮