试题

试题 试卷

logo

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

浙江省慈溪市2018-2019学年高二下学期信息技术期末考试试卷

王老师采用星级制对本班学生的平时表现进行评价,每位同学的评分数据存储在数据库中。学生的得分和星级对照如下表:

成绩

1-20

21-40

41-60

61-80

81-100

星级

一星

二星

三星

四星

五星

要求依据上表统计出各星级学生人数占总人数的比例。小王编写了一个VB程序实现该功能:程序运行时,每位学生的得分存储到数组a中,并在列表框list1中显示,单击命令按钮后,在列表框list2中显示各星级的人数占总人数的百分比例。

程序运行界面如图所示:

(1)、观察代码,实现统计功能的按钮对象名为:
(2)、当前读取的数据表名为:
(3)、实现上述功能的VB代码如下,划线①、②处请填空。

Const n=50

Dim a(1 To n)As Integer

Dim b(0 To 4)As Integer

Private Sub Form  Load()

  Dim adocn As New ADODB.Connection

  Dim adors As New ADODB.Recordset

  Dim str1,str2 As String

  adocn.ConnectionString  =”provider=microsoft.ace.oledb.12.0:data  source=”+  App.Path+”\school.accdb”

  adocn.Open

  str2=”select*from student”

  adors.Open str2,adocn

    ‘以下将每个学生的得分读入数组a中,并在列表框list1中显示,代码略

End Sub

Private Sub Com1  Cl ick ()

    Dim dd As String

    Dim cou As Single

    Dim t as integer

    dd=”一星二星三星四星五星”

    For i=1 To n

    t=

    h(t)=b(t)+1

    Next i

    For i=0 To 4

    COU=Int(b(i)/n*100+0.5)

    list2.Addltem +Str(cou)+”%”

    Next i

End Sub

举一反三
下列VB程序实现数字字母混合序列分离后分别排序,最后又合并输出。具体算法如下:在文本框Text1输入若干组混合序列,每组序列中仅包含一组字母和一个多位数字,序列之间用逗号隔开,以逗号结束。单击“排序”按钮command1,把每组序列中的字母和数字分开,并分别排序,最后在列表框list1输出。排序规则如下:所有数字按从小到大升序排序,字母序列按长度升序排序,若长度相同,直接按字母序列大小升序排序(按字母的ASCII码排序,“A”<“Z”<“a”<“z”)。实现算法的部分程序界面如图所示,VB程序代码如下,回答下列问题:

Private Sub Command1_Click()

Dim a(1 To 6) As Integer, b(1 To 6) As String, i as integer, j as integer

Dim c As String, k As Integer, tmp1 As Integer, tmp2 As String

s=text1.text

i = 1: k = 1: tmp1 = 0: tmp2 = ""

Do While i <= Len(s)

      c = Mid(s, i, 1)

      If c = "," Then

         a(k) = tmp1: b(k) = tmp2

         tmp1 = 0: tmp2 = ""

              ①    

      Else

        If  Then 

           tmp2 = tmp2 + c

        Else

         tmp1=tmp1*10+val(c)

        End If

      End If

      i = i + 1

    Loop

    For i = 1 To 5

      For j = 1 To 6 - i

        If a(j) > a(j + 1) Then tmp1 = a(j): a(j) = a(j + 1): a(j + 1) = tmp1

    If Len(b(j)) > Len(b(j + 1)) Or      ②       Then

          tmp2 = b(j): b(j) = b(j + 1): b(j + 1) = tmp2

        End If

      Next j

    Next i

    For i = 1 To 6

      List1.AddItem Str(a(i)) + b(i)

    Next i

    End Sub

返回首页

试题篮