类、对象、属性、方法、事件和事件处理的概念及应用 知识点题库

小李想用vb制作一个分钟倒计时器,界面如图所示。先在文本框text1中输入分钟数,然后在文本框text2中输入秒钟数,再点击“开始倒计时”按钮开始倒计时。Vb程序如下:

   Private Sub Command1Click()
    Timer1.Enabled =      ①    
   End Sub
   Private Sub Timer1Timer()                 
    sec = Val(Text2.Text)
    min = Val(Text1.Text)
  If sec> 0 Then
    sec = sec - 1
  Else

    sec = 59                           
  If min > 0 Then                            
    min = min - 1
  Else
   Text1 = 0
   Text2 = 0
  MsgBox "倒计时时间到"
  End If
  End If
  Text1 = min
  Text2 = sec
  End Sub
 1、 程序中①处应该填。(选填:True/False)
 2、 计时器timer1的inteval属性应该设置为
编写VB应用程序,当用户输入的一串由字母、数字等字符组成的字符串,统计其中每个字母出现的次数(不分大小写)。程序运行时界面如图a所示。

图a

  1. (1) 设计应用程序界面时,为添加标签对象“输入字串:”,应使用图b所示的“控件工具箱”中的(填写相应编写),并在图c所示的“属性窗口”中,将属性设置为“输入字串:”。

  2. (2) 程序运行时,在Text1中输入字符串,单击“统计”按钮,在List1中显示统计结果。请在划线处填入合适代码。

    函数 IsLetter(x)功能,若 x 是字母,则返回值为字母 x 在字母序列“A”~“Z”中的序号,如字母“A”的序号为 0,字母“D”的序号为 3。若 x 不是字母,则返回值为-1。

    Function IsLetter(x As String) As Integer

      If ”A” <= x And x <= ”Z” Then

        IsLetter = Asc(x) - Asc(”A”)

      ElseIf ”a” <= x And x <= ”z” Then

        IsLetter = Asc(x) - Asc(”a”)

      Else

           ①  

      End If

    End Function

    Private Sub Command1_Click()

      Dim f(25) As Integer, m As Integer, n As Integer

      Dim s As String, c As String

      List1.Clear

      For m = 0 To 25 '初始化数组 f

        f(m) = 0

      Next m

      s = Text1.Text

      For m = 1 To Len(s)

        c = Mid(s, m, 1) '依次读取字符串中的每个字符进行判断

           ②  

        If n <> -1 Then f(n) = f(n) + 1

      Next m

      For m = 0 To 25

        If   ③  Then '输出统计结果,没有出现的字母不输出

        List1.AddItem(Chr(m + Asc(”a”)) & ”:” & f(m))

        End If

      Next m

    End Sub

     ② ③

将文本框Text1内输入的数据送到字符型变量n中,则应使用的语句是(  )
A . n=Text1 B . n=Text1.Text C . n=Val(Text1.name) D . n=Val(Text1.Text)
行程压缩编码(RLE)的基本原理:把一个相同值的连续串用一个代表值和串长来表示,如一串字母数据“aaabbbbccccddd”可压缩为“3a4b4c3d”。小王编写了一个VB程序,功能如下:在文本框Text1中输入一串字母,单击“压缩”按钮Command1后,在文本框Text2中显示压缩后的结果。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要修改窗体显示的标题内容,则应修改该窗体的属性。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适代码。

    Private Sub Command1_Click()

    Dim s1 As String,s2 As String,pos As Integer

    Dim num As Integer

    s1=Text1. Text:s2=“”

        ①   

    pos=2

    Do While pos<=Len(s1)

      If Mid(s1, pos, 1)=Mid(s1, pos-1, 1)Then

        num=num+1

      Else

        s2=    ②   

        num=1

      End If

          ③   

    Loop

    Text2. Text=s2+Str(num)+Mid(s1, Len(s1), 1)

    End Sub

     ② ③ 

趣味数学题:n的阶乘n!=1×2×3×4×5×…×n,当n≥5时,其结果末尾必然包含1或多个0,求n!(5≤n≤32726)末尾包含0的个数。算法思路:n较大时,n!的值将超出long类型范围,求出n!的结果再数0的个数不现实。那么末尾的0到底是从哪里来的?每一个因子5与任一偶数相乘就会产生一个0。所以末尾有多少0是由因子5的个数决定的,求出因子5的个数即是末尾0的个数。程序运行界面和代码如下所示。

  1. (1) 为使窗体加载时,窗体标题栏自动显示为“第14题程序”,则可以在过程(填写过程名)中添加代码:Form1.Caption=“第14题程序”。
  2. (2) 实现上述算法的VB程序如下,请补充程序中划线处的代码。

    Private Sub Commandl_Click()

    Dim n As Integer

    n=Val(Text1.Text)

    i=1

    Do While    ①   

      s=s+n\5^i

      i=i+1

    Loop

    List1.AddItem Str(n)+"!末尾包含0的个数:"+  ② 

    End Sub

  3. (3) 根据上述算法,2018!末尾包含0的个数是
小奕同学基于排序算法设计了一个数字矩阵排序的程序。程序界面如下图所示,在文本框中输入矩阵大小,点击“生成”按钮Command1,在左侧列表框List 1中输出一个长宽均为指定大小的随机整数矩阵,随机整数范围为【1,99】。点击“排序”按钮Command2,结果输出在右侧列表框List 2中,奇数行从左到右依次递增,偶数行从右至左依次递增,且保持输出矩阵的长宽不变。

  1. (1) 实现上述功能的VB程序如下,显示数据用的add item是一种(单选,填字母:A .属性名/B .事件名/C .方法名/D .过程名)。
  2. (2) 请在划线处填入合适的代码。

    Dim a( 1 To 100) As Integer

    Dim n As Integer

    Function dq(s As String, L As Integer) As String      ‘自定义对齐函数

        ‘在输入的字符串s前加若干空格,输出长度为L的字符串,代码略

    EndFunction

    Private SubCommand1_Click()     '生成数字矩阵

    ‘随机生成n^2个数字,存储在数组a中,代码略

    ‘以一行n个,共n行的格式显示在List 1中,代码略

    End Sub

    Private Sub Command2_Click()     '数字矩阵排序

         Dim i As Integer, k As Integer, j As Integer, s As String

         Dim f As Boolean

         List 2.Clear

         f=True

         For i=1 To n^2 Step n

              s=“”

             For j=i To

             k=n^2

             Do While   ① 

                If a(k) <a(k-1) Then

                      t=a(k):a(k)=a(k-1):a(k-1)=t

             End If

             k=k-1

    Loop

      If f=True Then

             s=s+“”+dq(Str(a(j) ) , 2)

      Else

      s=“”+dq(Str(a(j) ) , 2) +s

      End If

      Next j

      List 2.Add Items

        ② 

    Next i

    End Sub

     ② 

  3. (3) 程序中加框处代码有错,请改正。
编写VB程序,实现如下功能:单击“计算”按钮,在列表框List1中产生10个[1,99]随机数,文本框Text1显示相邻两个数字之间相差最大的差值。运行界面如图所示。

  1. (1) 窗体上,“计算”按钮的对象名是
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private sub cmd1_click( )

      Dim b(1 to 10) as integer

      Dim i as integer, max as integer, a as integer, c as integer

      Max=0

      For i=1 to 10

        Randomize

        A=int(rnd*99)+1

       

        List1.additem str(a)

      Next i

      For i=2 to 10

        C=

        If c>max then

      Next i

     

    End sub

根据对分查找的思想来查找两个递增序列中最小值所在的位置,其中第一个递增序列中的数据全部大于第二个递增序列中的数据,且两个序列中没有重复数据,如组合序列3、4、5、6、1、2是由两个递增序列“3、4、5、6”和“1、2”组成的,组合序列的最小值是1,在组合序列中的位置是第5位。

为实现上述功能,小王编写如下VB程序,首先在Text1中输入两个满足条件的序列,数字之间用“,”隔开且以“,”结尾,单击按钮“Cod1”,在Text2中输出最小值所在序列中的位置,程序运行界面如下图所示。

图片_x0020_100008

  1. (1) 在界面中,具有Caption属性的对象有个。
  2. (2) 在横线处填入合适的代码。

    Private Sub Cod1_Click( )

        Dim s As String, ch As String

        Dim i As Integer, j As Integer, n As Integer, c As Integer

        Dim a(100) As Integer

        s = Text1.Text: c = 0: n = 0

        For i = 1 To Len(s)

            ch = Mid(s, i, 1)

            If ch >= "0" And ch <= "9" Then

                

            Else

                n = n + 1

               

                c = 0

            End If

        Next i

        i = 1: j = n

        Do While 图片_x0020_100009

            m = (i + j) \ 2

            If a(m) > a(i) Then

                i = m

            Else

                j = m

            End If

        Loop

       

    End Sub

  3. (3) 加框处的表达式有误,请改正。
某DataFrame对象df,包含“准考证号”“学校”“姓名”“数学”“语文”等数据列,下列语句中,可以以学校为单位,统计出各校学生“数学”成绩平均值的有(     )

①df. groupby('学校').mean( )

②df. groupby('数学').mean( )

③df. groupby('学校').数学.mean( )

④df. groupby('学校').describe( )

A . ①②③ B . ①②④ C . ①③④ D . ②③④
有n件重量各不相同的物品,从中挑选2件物品使其重量和等于k。编写了一个VB程序实现上述功能,运行程序,从数据库中读取n件物品的编号和重量并在列表框List1中显示,在文本框Text1中输入重量k后,单击“挑选”按钮Command1,在列表框List2中按重量从小到大显示各物品的编号和重量,在列表框List3中显示所有符合条件的物品编号;若未找到,则输出“未找到这样的组合”。程序运行界面如图所示。

  1. (1) 程序运行时,按钮Command1上显示“挑选”,是通过设置该对象的属性实现的(单选,填字母:A.Text /B.Caption /C.Font)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Const n = 10

    Dim num(1 To n) As Integer, w(1 To n) As Integer

    Private Sub Form_Load()

      '本过程从数据库中读入n件物品的编号和重量分别存数组num,w中,并在List1中显示,代码略。

    End Sub

    Private Sub Command1_Click()

      Dim i As Integer, j As Integer

      Dim t As Integer, f As Boolean

      Dim p As Integer, q As Integer

      Dim k As Integer, flag As Boolean

      f = False

      i = 1

      Do While

        f = True

        For j = n To i + 1 Step -1

          If Then

            t = num(j): num(j) = num(j - 1): num(j - 1) = t

            t = w(j): w(j) = w(j - 1): w(j - 1) = t

            f = False

          End If

        Next j

        

      Loop

      For i = 1 To n

        List2.AddItem Str(num(i)) + "  " + Str(w(i))

      Next i

      k = Val(Text1.Text)

      flag = False

      p = 1: q = n

      Do While 

        If w(p) + w(q) < k Then

          p = p + 1

        ElseIf w(p) + w(q) > k Then

          q = q - 1

        Else

          List3.AddItem Str(num(p)) + "和" + Str(num(q))

          flag = True

          p = p + 1: q = q - 1

        End If

      Loop

      If Not flag Then

        List3.AddItem "未找到这样的组合"

      End If

    End Sub

  3. (3) 程序加框处的代码有误,请改正。
以下能在窗体Form1的标题栏中显示“VisualBasic窗体"的语句是(    )。
A . Form1.Name ="VisualBasic窗体" B . Form1.Title="VisualBasic窗体" C . Form1.Caption="VisualBasic窗体" D . Form1.Text="VisualBasic窗体”
如果要清除图片框 Picture1中的内容,正确的语句是(    )
A . Picture. cls=0 B . Picture. Picture=0 C . Picture.cls=“” D . Picturel. Picture= LoadPicture(“”)
当程序运行以后,单击窗体的空白处不会接收以下哪个事件。(    )
A . Click B . MouseDown C . MouseUp D . Load
如果将定时器时间间隔设置为0.5秒,那么它的Interval属性为
以下关于对象属性的说法中,错误的是(     )。 
A . 工具箱中的控件并不是VB中所有的控件      B . 若将Label1中的属性Alignment设置为1,则标签文本右对齐     C . 对象的Name属性在运行时不能改变      D . 对象的所有属性都可以在属性窗口中设置
通过窗体的哪个属性可以设置窗体的高度(    )。
A . Name B . BackColor C . Height D . Caption
下列是文本框方法的是(        )
A . GOTFOCUS B . LOSTFOCUS C . CHANGE D . SETFOCUS   
在单选 按钮上放图片,首先设置(     )属性
A . Picture B . Alignment C . Style D . Caption
Visual Basic中的对象可以分为两类,分别为
简易加法器:小王用VB编写了一个简易加法器,其功能如下:在文本框Text1中输入数字,中间用“,”隔开,单击“计算”命令按钮Command1后,其计算结果输出在标签框label1中。运行界面如图所示,VB程序代码如下,请回答以下问题。

  1. (1) 观察代码,可知“计算”命令按钮的对象名为 。
  2. (2) 请在画线处填入合适的代码。

    Private Sub Com_ Click()   

        Dimi As Integer, j As Integer, ans As Integer

        Dim ch As String, s As String

        s= Text1.Text

        ans=0: j= 1

        For i=1 To Len(s)

            

            If ch=“,”Then

                ans=ans+Val(Mid(s, j, i-j))

                j=

            End If

        Next i

        Label1.Caption=“计算结果是:”+Str( ans)

    End Sub

  3. (3) 运行该程序,在文本框中输入“21,5,3”,则计算结果(值)是
最近更新