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

十进制数转二进制数程序界面图1所示,相关VB程序运行时,单击命令按钮Command1后,执行十进制数转二进制数并输出显示的程序。

  1. (1) 应用程序界面设计。转换得到的二进制数将显示在Label3中,请根据图3提供信息,确定使用图2控件工具箱中的(填写相应编号),修改属性的值为1010。
  2. (2) 解决此问题的相应程序如下,请根据相应注释及题意将程序补充完整。

    Private Sub Command1_Click() ‘不停除2到商为0为止,所得余数倒推

      Dim sjzs As Integer   ‘sjzs:十进制数

      Dim rjzs As String   ‘rjzs:二进制数

      sjzs = Val(Text1.Text)

      rjzs = ""

      Do While

        rjzs = Str(sjzs Mod 2) + rjzs

       

     

      Label3.Caption = rjzs

    End Sub

编写VB程序,实现如下功能:在文本框text1中输入自然数n,单击“产生n个随机数,并求和与最大数计算”按钮Command1,则在列表框List1中输出n个小于100的随机整数,并输出n个随机数的和与最大值,界面如图所示。

  1. (1) 观察运行界面,选项中没有用到的控件是      
    A . B . C . D .
  2. (2) 设计该窗体界面时,需要将窗体form1的属性设置为“最大随机数”。
  3. (3) 请完善下列程序代码:

    Private Sub Command1_Click()

    Dim a(1 To 10) As Integer

    Dim s As Integer

    Dim max As Integer

    n = Val(Text1.Text)

    i = 1

    Do While i <= n

       a(i) = Int(Rnd * 100)

       List1.AddItem Str(a(i))

       s = s + a(i)

            ①     

    Loop

    max = a(1)

    For i = 2 To n

       If a(i) > max Then          ②  

    Next i

    List1.AddItem "和为:" +        ③     

    List1.AddItem "最大值为:" + Str(max)

    End Sub

    供①②选填:A.n=n+1      B. i=i+1       C.max=a(i)     D.a(i)=max

    ①应选;②应选

    空格③处应填写的代码为:

Visual Basic程序设计环境中的部分控制如图所示,要将某图片加载到窗体中,则必须使用的控件是(   )

A . B . C . D .
激发事件处理过程Command1_Click()的事件是(   )
A . click B . Change C . Dblclick D . KeyPress
事件处理过程名必须符合怎样的规则?
编写 VB 程序代码,实现如下功能:在文本框 Text1 中输入金额(整数)后,点击“转换”按钮Command1,则在文本框 Text2 中显示该金额的大写,程序运行界面如下图所示:

图片_x0020_26

  1. (1) 要使窗体标题上显示的文本改为“人民币大小写”,可在其属性窗口中将 属性的属性值改为“人民币大小写”。
  2. (2) 为了实现以上程序功能,使程序正常运行,请完善以下两处代码。

    Private Sub Command1_Click()

    Dim dx As String, dw As String

    Dim s As String, c As String

    Dim ch As String

    Dim i As Integer

    dx = "零壹贰叁肆伍陆柒捌玖拾"

    dw = "亿仟佰拾萬仟佰拾元"

    s = Text1.Text

    If  Len(s) > 9

    Text2.Text = "输入的数据超出所能转换的范围"

    Else

    For i = 1 To Len(s)

    ch =

    c = c + Mid(dx, Val(ch) + 1, 1) + Mid(dw, 9 - Len(s) + i, 1)

    Next i

    Text2.Text = c + "整"

    End If

    End Sub

  3. (3) 由上述算法可知,若在文本框 Text1 中输入“20”,则文本框 Text3 显示的结果为
VB语句Text1.text="浙江省"用于在文本框中显示文字“浙江省”,该语句中的"text"是:(   )
A . 类名 B . 对象名 C . 属性名 D . 属性值
"计算计件工资"的Visual Basic程序运行界面如图所示,单击“计算”命令按钮Command1,触发的事件处理过程名是(  )

A . Command1_Click B . Text1_Click C . Form_Click D . Label3_Click
编写代码在(  )窗口中进行。
A . 属性窗口 B . 布局窗口 C . 代码窗口 D . 立即窗口
按了回车键后,将组合框中输入的内容添加到组合框中,组合框的名称是COMBO1。

PRIVATE SUB COMBO1 (KEYASCII AS INTEGER)

IF

        

END IF

END SUB

如图所示是VB窗体中某个对象的属性窗口,下列说法中正确的是(  )

A . True是该对象的属性名 B . 该对象名为Text1 C . 该对象属于标签类 D . BackColor是该对象的属性值
小张设计了某企业职工IC卡查询系统,输入职工的卡号,可以查出该卡号对应的余额。所有职工的IC卡号和相应的余额已分别保存在zg数组(按从小到大排序)和ye数组中,第i个职工卡号保存在zg(i)中,对应的卡号余额保存在ye(i)中。

程序界面如图所示,左边列表框List1中显示的是部分职工的卡号和余额,在文本框Text1中输入职工的IC卡号,单击“查询余额”按钮(Command1)后,如果找到此卡号,则在标签Lab3中显示“此卡号余额为”和对应的余额值,如果未找到则显示“找不到此卡号,请重新输入”。

 

解决此问题的部分程序段如下:

Const n=500' 设卡号总数为500

Dim zg(1 To n) As Long

Dim ye(1 To n) As Single

Private Sub Form1_Load()

' 此过程用于对数组zg和数组ye进行初始赋值,代码略

End Sub

Private Sub Command1_Click()

Dim x As Long, i As Long, j As Long, m As Long, find As Boolean

x=Val(Text1.Text)

i = 1 : j = n : find = False

Do While   ‘改错

     m = Int((i + j) / 2

     If x = zg(m)  Then

             ①     

     Else If        ②       Then

       j = m - 1

     Else

       i = m + 1

     End If

Loop

If find = true Then

       Lab3.Caption=″此卡号余额为″+Str(ye(m))+″元″

Else

       Lab3.Caption=″找不到此卡号,请重新输入″

End If

End Sub

  1. (1) 在设计程序界面时,要使命令按钮上显示“查询余额”,应修改命令按钮的属性值。
  2. (2) 程序中加框处代码有错,请改正。
  3. (3) 在程序①、②画线处填入适当的语句或表达式。将程序补充完整:

    程序中①画线处应填入

    程序中②画线处应填入

编写VB程序,实现如下功能:在文本框Text1和Text2中分别输入一个整数,单击命令按钮Command1,在列表框List1中显示结果,运行效果如1图所示。结果包含两列数据,第1列为两数之间的摄氏温度值(间隔1度、升序),第2列为对应的华氏温度值。

  1. (1) 要使命令按钮Command1上显示的文本改为“转换”,可在其属性窗口(2图)中将属性的属性值修改为“转换”。
  2. (2) 为实现上述功能,请在划线处填入合适代码或选项。

    Private Sub Command1_Click()

    Dim t1 As Integer, t2 As Integer

    Dim i As Integer, t As Integer

    Dim f As Single

    List1.Clear

    t1 = Val(Text1.Text)

    t2 = Val(Text2.Text)

    If  Then  '(选填字母,从下列A、B、C、D四个选项中选取一项)

      t = t1: t1 = t2: t2 = t

    End If

    i = t1

    Do While  '(选填字母,从下列A、B、C、D四个选项中选取一项)

    f = i * 9 / 5 + 32    '摄氏温度转换为华氏温度

    List1.AddItem Str(i) + "          " + Str(f)

     '(填程序代码)

    Loop

    End Sub

    划线①、②处的选项:

    A .i <= t2      B .f <= t2      C .t1 > t2      D . i < f

暑假小明的弟弟问了他一道小学一年的数学题,题目是:“小红去超市买东西,里面有:巧克力一盒28元、火腿肠一包24元、皮球一个16元、毛巾一条4元、N95口罩一包15元、笔记本一本8元、铅笔盒一个7元、水晶泥一盒12元、水彩笔一盒24元、牛奶一瓶5元等很多商品。小红带的钱刚好购买其中的两样东西。请问她可以买哪两样东西,有几种组合?”为解决这个问题,小明专门编写了一个VB程序。在文本框中text1输入商品和价格,在文本框text2中输入带的钱,单击“挑选”按钮,在列表框list1中输出查询结果。程序运行界面如下图:

请回答下面问题:

  1. (1) 下列对象中,有Caption属性的是(单选,填字母:A .Command1/B .Text1/C .Lis1)。
  2. (2) 实现挑选两样商品功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click()

    Dim n,i,j,k,x,L,R,c As Integer

    Dim goods(1 To 20)As String      'goods(i)存储商品的名称

    Dim price(1To 20)As Integer       'price(i)存储商品的价格

    Dim s,ch As String

    s=Text1.Text:x=Val(Text2. Text)

    j=1:k=0

    For i=1 To Len(s)

        ch=Mid(s,i,1)

        If ch="," Then

          k=k+1

          If k Mod 2=1 Then

           

          Else

              price(k\2)=Val(Mid(s,j,i-j))

          End If

          j=i+1

        End If

    Next i

    n=k\2

    For i=1 To n-1

        For i=1 To n-i

          If price(j)>price(j+1)Then

            k=price(j):price(j)=price(j+1):price(j+1)=k

           

          End If

        Next j

    Next i

    For i=2 To n

     

      L=i:R=n

      Do While L<=R

        m=(L+R)\2

        If price(m)+price(k)=x Then

            c=c+1

            List1. Addltem goods(k)& Str(price(k))&"元 和" & goods(m)& Str(price(m))& "元"

            j=m

            Do While price(j)=price(j-1)

              j=j-1

              c=c+1

              Listl. Addltem goods(k)& Str(price(k))& "元 和" & goods(j)& Str(price(j))& "元"

            Loop

            Do While

              m=m+1

              c=c+1

              List1. Addltem goods(k)& Str(price(k))& "元 和" & goods(m)& Str(price(m))& "元"

            Loop

            Exit Do    ‘Exit Do 表示退出Do循环

        Elself price(m)+price(k)>x Then

            R=m-1

        Else

            L=m+1

        End If

       Loop

    Next i

    List1. Addltem"共有:" & Str(c)& "种组合"

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
均分红包。当前有n堆红包,编号为1,2, 3, 。。 n,每堆有若干个红包,红包总数sum是n的倍数。可以在任一堆上取若干个红包,然后移动,最终使每堆上的红包个数相同。

移红包规则:

①编号为1的堆上的红包,只能移到编号为2的堆上;

②编号为n的堆上的红包,只能移到编号为n-1的堆上;

③其它堆上的红包,可以移到相邻左边或右边的堆上。

现要求找出最少的移动次数使每堆的红包数-样多。如图所示,在文本框Text1中输入红包堆数n,在文本框Text2中依次输入每堆红包的红包个数(以“,”为分隔符和结束符),单击“移红包次数统计”按钮Command1后,在标签Labe13中显示最少的移动次数。

  1. (1) 代码“Private Sub Command1_ Click() ”中的Click是(单选,填字母: A . 对象名;B . 事件名;C . 事件处理过程名;D . 方法名)
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Const Sum = 40    ‘红包总个数

    Private Sub Command1_Click()

      Dim n As Integer       ‘红包的堆数

      Dim s As String, k As Integer

      Dim avg As Integer    '最终每堆的红包个数

      Dim ml As Integer, m2 As Integer

      Dim tmp As Integer, count As Integer, ans As Integer

      n= 

      s = Text2. Text

      avg=Sum/n

      tmp=0:count=0:ans=0

      For k=1 To Len(s)

        c = Mid(s, k, 1)

        If c <>”,”Then

          tmp =

        Else

          count = count + 1

          If count = 1 Then

            m1 =tmp

          Else

            m2 = tmp

            If m1 <> avg Then

              m2=m2-(avg-m1)

              ans=ans+1

            End If

              

          End If

          tmp=0

        End If

    Next k

    Labe13. Caption = Str (ans)

    End Sub

编写“二进制加法”程序,实现如下功能:在文本框Text1和Text2中分别输入两个二进制数,单击“计算”按钮Command1,程序在位数较少的二进制数前补“0”,使两个二进制数位数相同,然后从右向左按位依次进行加法运算,最后在文本框Text3中显示相加的结果。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要设置窗体的标题为“二进制加法”,应修改窗体的属性。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim s1, s2, result, t As String

      Dim span, jw As Integer

      s1=Text1. Text:s2=Text2. Text

      span=Len(s1)-Len(s2)

      If span<0 Then

        t=s1:s1=s2:s2=t

        span=   ①  

      End If

      For i=1 To span

        s2="0"+s2

      Next i

      jw=0:result="  "

      For i=   ②   To 1 Step-1

        x=Val(Mid(s1, I, 1))+Val(Mid(s2,i,1))+jw

        jw=x\2

        result=Str(x Mod 2)+result

      Next i

      If jw=1 Then result="1"+result

      Text3. Text=result

    End Sub

  3. (3) 在文本框Text1中输入“10”,在文本框Text2中输入“11000”,单击“计算”按钮Command1后,变量b2的值是
用VB编写字符解压程序,功能如下:在文本框Text1中输入压缩字符串,压缩字符串中不含空格,其中数字可以是多位数,表示其后面的字符个数,字符为单个字符。在文本框Text2中显示解压结果。例如,输入压缩字符串“3Y5a”(表示有3个“Y”和5个“a”组成),单击“解压”按钮后, 输出解压结果“YYYaaaaa”。程序运行界面如图所示:

  1. (1) 在设计程序界面时,要将文本框Text1和Text2中的内容清空,可以修改这两个对象的属性实现。
  2. (2) 由代码可知,命令按钮“解压”的名称是
  3. (3) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Comd1_Click()

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

        Dim ch As String, s As String, ss As String

        s = Text1.Text

        n = 0: ss = ""

        i = 1

        Do While i <= Len(s)

            

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

               

            Else

                For j = 1 To n

                    ss = ss + ch

                Next j

                n = 0

            End If

           

        Loop

        Text2.Text = ss

    End Sub

  4. (4) 运行程序,若文本框Text1中输入的内容为“Y3a5”,则输出的解压字符串为
寻找受潮药瓶:现有5瓶药,每瓶中有20粒药丸,每粒药丸重10克,其中有几瓶药受潮了,受潮的每粒药丸重11克,如何用天平只称一次找出受潮的那几瓶药?解决此问题的方法:将5瓶药编号为1~5号,从中分别取出1、2、4、8、16粒药丸进行称重。在不受潮时应是(1+2+4+8+16)×10=310(克)。假如称出的重量是315克,那么超出的重量是5克,说明有5粒超重,(5)<sub>10</sub>=(00101)<sub>2</sub>,因此受潮的是第1瓶和第3瓶。编写程序模拟此过程,程序运行时,单击“模拟”按钮Command1,在文本框Text1中输出超重克数,在列表框List1中输出药瓶编号,运行界面如图所示。实现上述功能的VB程序如下。

Private Sub Commandl_Click( )

Dim s As Integer, cz As Integer            'cz存储超重克数

Dim k As Integer

'依次从1~5号瓶中取出1、2、4、8、16粒药,并计算总重量,存储在变量s中,代码略

cz=s-310

Text1.Text=    ①    

k=0

Do While cz<>0

k=k+1

If    ②     Then List 1.Addltem"第"+Str(k)+"瓶"

cz=cz\2

Loop

End Sub

  1. (1) 代码 List1.AddItem 中的 AddItem 是(单选,填字母:A .属性名/B .方法名/C .事件名)
  2. (2) 请在划线处填入合适代码。

  3. (3) 假如超重为 10 克,则受潮的药瓶编号是(填数字,若有多瓶,用“,”隔开)。
小辉用Visual Basic制作了一个动画程序,部分程序代码如下所示

Dim a As Integer

Private Sub Command1_Click()

    Timer1.Enabled = True

   

End Sub

Private Sub Timer1_Timer()

    a = a + 1

    Image1.Picture = LoadPicture(App.Path & "\" & a & ".jpg")

    If a >= 8 Then a = 0

End Sub

单击命令按钮Command1,加框处语句执行的时间间隔为(   )

A . 0.1秒 B . 1秒 C . 10秒 D . 100秒
设计一个计时小程序。窗体上有一个文本框(Text1)、三个命令按钮(Command1.Command2和Command3),一个定时器(Timer1)、程序运行后单击按钮Command1开始计时,文本框中显示计时数据(秒数)单击按钮Command2停止计时.单击按钮Command3退出程序。请将下面代码补充完善。程序代码:

Option Explicit

Dim n

Private Sub Command1_Click()

    N=0

    Timer1.=1000

    Timer1.Enabled=

End Sub

Private Sub Commend2 Click()

    Timer1.Enabled =

End Sub

Private Sub Command3_Click()

    Me

End Sub

Private Sub Form_Load()

    Timer1.Enabled =

    Text1.Text =0

    Text1.Locked=True

End Sub

Private Sub Timer1_Timer()

    N=n+1

    Text1.Text =

End Sub

最近更新