当前位置: 高中信息技术 / 综合题
  • 1. (2020·柯桥会考) 柯桥区各所学校技术考试的分数均存放在数据库中,表中学生考号存储形式如"10101","10203"……,考号第1位数字表示学校代码(1代表柯中,2代表鲁高,3代表越崎,4代表鉴湖,5代表钱清,6代表豫才,7代表轻纺城,9代表鲁中),后4位表示校内编号。现设计VB程序查询学校成绩,查询方式为:在Text1中输入学校名称,在Text2中输入数字n,单击“查询”按钮,在列表框List2中显示该校得分最高的n名学生的考号和技术得分。

    1. (1) 实现上述功能的程序代码如下,请在划线处填入正确的语句。

      Const rs = 2500 '考生总人数(即记录总数)

      Dim kh(1 To rs) As String, cj(0 To rs) As Integer

      Dim xx(1 To 9) As String '数组xx存放学校名称,如xx(1)="柯中",xx(2)="鲁高"……数组下标代表该学校代码,即"柯中"代码是1,"鲁高"代码是2……

      '从数据库中读取考号和成绩数据,存入kh和cj数组,并在list1中显示,代码略。

      Private Sub Command1_Click()

        Dim school As String, n As Integer, i As Integer, j As Integer

        Dim t1 As Integer, t2 As String, flag As Boolean

        xx(1) = "柯中": xx(2) = "鲁高": xx(3) = "越崎": xx(4) = "鉴湖"

        xx(5) = "钱清": xx(6) = "豫才": xx(7) = "轻纺城": xx(8) = "鲁中"

      For i = 1 To 8

          If xx(i) = Text1.Text Then        ①        

      Next i

        n = Val(Text2.Text) : i = 1: flag = True

        Do While flag

          k = i

          For j = i + 1 To rs

            t = Val(Mid(kh(j), 1, 1))

            If t = school Then

              If          ②           Then k = j

            End If

          Next j

          If i > n And cj(k) <> cj(i - 1)  Then flag = False

          If k <> i Then

             t1 = cj(i): cj(i) = cj(k): cj(k) = t1

             t2 = kh(i): kh(i) = kh(k): kh(k) = t2

          End If

          i = i + 1

        Loop

        List2.Clear

        For j = 1 To         ③        

          List2.AddItem kh(j) + " " + Str(cj(j))

        Next j

      End Sub

       ② ③ 

    2. (2) 设鲁中有技术考生150人,如果把程序中加框部分代码删除,当运行程序时在文本框Text2中输入200,单击查询按钮后列表框List2中显示有项(单选,填字母: A .恰好150 / B .恰好200/ C .大于等于150且小于等于200 / D .大于等于200)

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