试题

试题 试卷

logo

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

浙江省嘉兴市2020-2021学年高二上学期信息技术期末检测卷

编写VB程序,实现在文本中统计以某字母开头的单词总数,并依次输出查找到的每个单词。程序功能如下:文本框Text1中输入文本(单词间用空格、“,”、”.”分隔),文本框Text2中输入开头字母,单击“查找”按钮Commmand1后,标签Label1中显示符合条件的单词总数,列表框List1中依次输出每个单词,程序运行界面如图所示。

(1)、要使程序运行时,窗体Form1标题栏自动显示“统计指定字母开头的单词”,可在(单选,填字母:A .Form Load) /B .Form _Click(/ C .Command1 Click() 事件过程中添加相关语句来实现。
(2)、实现上述功能的VB程序如下,请在划线处填入合适代码。

Private Sub Command1_ Click()

    Dim i As Integer, j As Integer, n As Integer, flag As Boolean

    Dim st As String, szm As String, ch As String, word As String, tmp As String

    st = Text1. Text

    szm = Text2. Text

    flag = True: n=0

    For i=1 To Len(st)

       

        If ch = szm And flag = True Then

            n=n+1: word = ch

            For j=i+1 To Len(st)

                tmp = Mid(st, j, 1)

                If tmp<>””And tmp <>”.”And tmp <>“,” Then

                   

                Else

                    List1. AddItem Str(n) +“.”+ word

                    i=j

                    Exit For

                End If

            Next j

        ElseIf ch=“” Or ch=“,” Or ch= “.”Then

           

        Else

            flag = False

       End If

    Next i

    Label1.Caption=“字母”+ szm +“开头的单词总数:”+ str(n)

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

返回首页

试题篮