试题

试题 试卷

logo

题型:综合题 题类:常考题 难易度:普通

浙江省温州市“十五校联合体”2018-2019学年高二上学期信息技术期中联考试卷

小王用VB编写一个自动统计英文字母和单词个数的程序。功能如下:在文本框Text1中输入任意的英文句子,单击 “统计”命令按钮Command1,程序自动统计出每个字母出现的频率,并将其输出到列表框List1,且将出现次数最多的字母输出在标签Label1中,另外将单词个数在标签label2中输出。程序界面如图所示,实现上述功能的VB程序如下。请回答以下问题:

(1)、请在划线处填入合适的代码。

Private Sub Command1_Click()

  Dim a(65 To 122) As Integer

  Dim i As Integer, ch As String, count As Integer

  Dim Max As Integer, Maxi As Integer, flag As Boolean

  List1.Clear

  flag = False

  count = 0

  s = Text1.Text

  For i = 1 To Len(s)

     ch = Mid(s, i, 1)

     If ch>= "a" And ch<= "z" Or ch>= "A" And ch<= "Z" Then

        a(Asc(ch)) =

        If flag = False Then

           count = count + 1

           flag = True

        End If

     Else

       

     End If

  Next i

  Max = 0: Maxi = 0

  For i = 65 To 122     ’A的ASCII码值为65,a的ASCII码值为97

    If a(i) > 0 Then

        List1.AddItem Chr(i) + ":  " + Str(a(i))

    End If

    If a(i) > Max Then

       Max = a(i)

       Maxi = i

    End If

  Next i

  Label1.Caption = "频率最高字母:" + 

  Label2.Caption = "共有单词数:" + Str(count) + "个"

End Sub

(2)、从代码可知,当出现两个以上的字母次数最高时(例如字母a和d都出现4次,且为最高次数),则程序最终输出的是(单选,填写字母:A .排在前面的第一个频率最高字母/B .中间的某个频率最高字母/C .排在最后的一个频率最高字母/D .无法确定)。
举一反三
某学校开设多样化选修课程,学生可以根据个人兴趣和特长选择选修课。假设每门选修课的选课人数不超过40,学生选课的相关信息存放在数据库文件“student.accdb”的data表中,选课查询程序运行时界面如第16题图所示。

程序功能:在文本框Text1中输入课程号,单击“查询”按钮Command1,在列表框List1中显示选修本课程的学生信息。如果没有找到,在列表框中显示“该课程当前无人报名”。按此要求将程序补充完整。

Private Sub command1_click()

Dim xh(1 to 40),xm(1 to 40) As String   '学号和姓名的数组

Dim i,num as integer

Dim conn As New ADODB.Connection, rs As New ADODB.Recordset

Dim strSQL As String

conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + App.Path + "\student.accdb"     '打开到数据库的链接

 conn.Open

strSQL ="select xh,xm from data where '课程=&(Text1.Text) & '" '设置查询的SQL语句

 Set rs.ActiveConnection = conn      '设置rs的ActiveConnection属性,指定与其关联的数据库链接

  rs.Open strSQL   '打开记录集,将从表student中读取的结果集保存到记录集rs中

  List1.Clear

num=0

Do while not rs.EOF

             ①       

    xh(num)=rs.Fields("xh")

      xm(num)=rs.Fields("xm")

  rs.MoveNext

loop

rs.Close

  conn.close

set rs=nothing

set conn=nothing

For  i=1 to num

      ②     

Next i

if num=0 then list1.additem("该课程当前无人报名")

End Sub

返回首页

试题篮