试题

试题 试卷

logo

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

浙江省台州市2017-2018学年高三上学期信息技术期末质量评估卷

【加试题】张凡编写了二一租赁公司车辆信息查询的摆序,其中车辆的基本信息存放在数据文件“car.accdb”中的qicheinfo表,如图1所示。

该程序采用两种查询方式:

⑴按的汽车的排量查询信息

在文本框Text1中输入需要的汽车的排量,单击Command1按钮,在列表框List1中显示等于该排量汽车的相关车辆信息。

⑵按车主查询信息

在文本框Text1中输入车主信息(手机号码或姓名),单击Command2按钮,在列表框List1中显示车辆信息。

该程序运行时的界面如图2所示。

实现上述功能的VB程序如下,请回答下列问题:

(1)、当前数据库中共有条车辆信息可供查询。
(2)、请在画线处填入合适的代码。

Dim id(1 To 1 000)As Integer    ‘存储记录的ID

Dim s(1 To 1 000)As String      ‘存储车牌号

Dim D(1 To 1 000)As Single      ‘存储排量

Dim cz(1 To 1 000)As String      ‘存储车主信息

Dim zt(1 To 1 000)As String       ‘存储车辆状态

Dim n As Integer,key As String

Private Sub Form_Load()

    Dim conn As New ADODB.Connection

    Dim rs As New ADODB.Recordset

    conn.ConnectionString=“provider=Microsoft.Jet.OLEDB.4.0;Data Source=“+App.Path+”\car.mdb”

    conn.Open

    Set rs.ActiveConnection=conn

    Dim sq1 As String

    sq1=”SELECT*FROM qicheinfo”

    rs.Open sq1

    rs.MoveFirst

    Do While Not rs.EOF

         n=n+1

         id(n)=rs.Fields(“ID”):s(n)=rs.Fields(“车牌号”)

         p(n)=rs.Fields(“排量”):cz(n)=rs.Fields(“车主”)

         zt(n)=rs.Fields(“状态”)

         rs.MoveNext

    Loop

End Sub

‘按排量查询车辆信息

Private Sub Command1_Click()

 key=Val(Text1.Text)

 If px(1)=True Then

      List1.Clear

      x=0

      For i=1 To n

          If p(i)>=key Then

          List1.AddItem id(i)&“”& s(i)&“”&.p(i)&“”&.cz(i)

          &“”& zt(i)

    ①    

          End If

      Next i

      If x>0 Then

          List1.AddItem“共找到”+Str(x)&.”条记录!”

      Else

          List1.Additem”没找到相关信息!¨

      End If

    End If

End Sub

‘按车主信息查询车辆信息

Private Sub Command2_Click()

    List1.Clear

    Key=Text1.Text

    If px(2) Then

       i=chazhao(key)

       If i>0 Then

  List1.AddItem id(i) &””& s(i) &””&p(i)&””& cz(i)” &”

 “&.zt(i)

        Else

             List1.AddItem”没找到相关信息!”

        End If

    End If

End Sub

Private Function px(m As Integer)As Boolean

    Dim flag As Boolean

    If m=1 Or m=2 Then

       px=True

       flag==False

       For pa=1 To n-1

           For pb=n To pa+1 Step-l

               If m=1 Then flag=p(pb) <p(pb-1)

               If m=2 Then flag=cz(pb)<cz(pb-1)

               If flag Then

                  tid=id(pb):id(pb)=id(pb-1):id(pb-1)=tid

                  ts=s(pb):s(pb)=s(pb-1):s(pb-1)=ts

                  tp=p(pb):p(pb)=p(pb-1):p(pb-1)=tp

                  tz=cz(pb):cz(pb)=cz(pb-1):cz(pb-)=tz

                  tzt=zt(pb):zt(pb)=zt(pb-1):zt(pb-1)=tzt

    ②   

               End If

          Next pb

      Next pa

    Else

      px=False

    End If

 End Function

 Private Function chazhao(key As String)As Integer

    Dim mk As Integer

    I=1:j=n

    Do While i<j

        mk=(i+j)\2

        If cz(mk)=key Then

    ③   

            Exit Do

        Elself key<cz(mk)Then

            j=mk-1

        Else

            i=mk+1

        End If

    Loop

End Function

 ② ③ 

举一反三
小月设计了一个VB程序,用于对全班55名同学的体质调查分析,该程序能将55名同学的身高与体重录入到数据库中,之后通过如图所示的VB应用程序计算出这些同学的BMI指数,并按BMI指数从小到大进行排序,并显示这些学生的体质情况。

    注:BMI指数的计算公式为:BMI=体重(千克)除以身高(米)的平方(kg/m2)。 BMI<18.5为偏瘦(表明营养不足);BMI=18.5~24.9为体重正常;BMI=25~29.9为超重;BMI>30为肥胖。

该VB应用程序的代码如下:

Dim stuBMI(1 To 55) As Single

Dim stuName(1 To 55) As String

Private Sub Command1_Click()

    Dim k As Integer, i As Integer, j As Integer

    Dim t1 As Single, t2 As String

    Dim Results As String

    For i = 1 To 54        

        For j = i + 1 To 55

            If stuBMI(j) < stuBMI(k) then      ②    

        Next j

        If  k<>I  Then  

            t1 = stuBMI(i): stuBMI(i) = stuBMI(k): stuBMI(k) = t1

            t2 = stuName(i): stuName(i) = stuName(k): stuName(k) = t2

        End If

    Next i

List1.AddItem "姓名" + vbTab + "BMI指数" + vbTab + "结果"  

    For i = 1 To 55

        If stuBMI(i) < 18.5 Then

            Results = "偏瘦"

        ElseIf stuBMI(i) >= 18.5 And stuBMI(i) < 25 Then

            Results = "正常"

        ElseIf stuBMI(i) >= 25 And stuBMI(i) < 30 Then

            Results = "超重"

        Else

            Results = "肥胖"

        End If

        List1.AddItem stuName(i) + vbTab + str(stuBMI(i)) + vbTab + Results

    Next i

End Sub

Private Sub Form_load()

    Dim conn As New ADODB.Connection

    Dim rs As New ADODB.Recordset

    Dim strSQL As String

    Dim i As Integer

    conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\Student.accdb"

    conn.Open

    strSQL = "SELECT * FROM Student"

    Set rs.ActiveConnection = conn

    rs.Open strSQL

    i = 0

    Do While Not rs.EOF

        i = i + 1

        stuName(i) = rs.Fields("StuName")

        stuBMI(i) = Round(rs.Fields("Weight") / rs.Fields("height") ^ 2, 1)

        rs.MoveNext

    Loop

    rs.Close

    conn.Close

    Set rs = Nothing

    Set conn = Nothing

End Sub

最新国际体操竞赛的评分规则简单描述如下:

①两位D组裁判分别打“难度分”,取平均值作为该参赛选手的最终难度分。

②五位E组裁判分别打“完成分”,在5个E组打分结果中,去掉一个最高分和一个最低分,然后取平均值作为该参赛选手的最终完成分。

③难度分和完成分之和,即该参赛选手的最终得分。

例如:某参赛选手打分如下:

D组裁判打分

E组裁判打分

6.5

6.9

9.5

9.0

8.3

8.8

7.6

该选手“难度分”为(6.5+6.9)/2=6.7。E组裁判打分去掉一个最高分和一个最低分之后,计算“完成分”为(9.0+8.3+8.8)/3=8.7。所以该选手最终得分为6.7+8.7=15.4分。

小杜编写一个VB程序:程序运行时从数据库读取参赛选手人数和参赛选手的打分数据,依次存储在数组a中;单击“统计”按钮,依据数组a中的相关数据统计各选手的“难度分”“完成分”和“最终得分”,并在列表框List1中输出。数组a各元素的含义如下,程序运行界面如图所示。

数组元素

数组元素的含义

a(0)

存储参赛人数n

a(1)

a(1)和a(2)为第1位选手的D组两位裁判的打分。

a(3)、a(4)、…、a(7)为第1位选手的E组五位裁判的打分

a(7)

a(8)

a(8)和 a(9)为第2位选手的D组两位裁判的打分。

a(10)、a(11)、…、a(14)为第2位选手的E组五位裁判的打分

a(14)

实现上述功能的VB程序如下,请回答下列问题:

返回首页

试题篮