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

某地区公共自行车收费信息如下:“60分钟内免费;60分钟以上至120分钟(含),收费1元;120分钟以上至180分钟(含),收费2元;租用超过180分钟(含)以上的时间,按每小时3元计费(不足一小时的按一小时计)”。现按要求编写VB程序,界面如图1所示,程序功能如下:在文本框Text1中输入租车时间,单击“计费”按钮Command1,在标签Label5中输出对应的租车费用。

  1. (1) 在应用程序界面设计时,为添加“计费”按钮,应使用图2所示的“控件工具箱”中的(请填写相应编号),并在图3所示的“属性窗口”中,将属性值设置为“计费”。
  2. (2) 请根据题意将下列程序补充完整。

    Private Sub Command1_Click()

      Dim zysj As Single, zyfy As Single  ‘zysj:租用时间,zyfy:租用费用

      zysj = Val(Text1.Text)

      If zysj <= 60 Then

        zyfy = 0

      ElseIf zysj <= 120 Then

        zyfy = 1

      ElseIf zysj <= 180 Then

       

      ElseIf zysj Mod 60 = 0 Then

        zyfy = (zysj - 180) / 60 * 3 + 3

      Else

        zyfy = (Int((zysj - 180) / 60) + 1) * 3 + 3

      End If

      Label5.Caption = Str(zyfy)

    End Sub

Visual Basic中,添加一个标签,在土具箱中要单击的控件是 (   )
A . B . C . D .
小王喜中新股,为了能预估自己的收益情况,编写“新股收益预期”程序,实现如下功能:在文本框Text1中输入该股票的发行价,在文本框Text2中输入预期涨停个数,在文本框Text3中输入股数,单击“计算”按钮Command1,在列表框List1中依次显示各个交易日的结果信息,并在标签Label4中显示总收益信息。

新股首个交易日的涨停上限为44%,其余的交易日涨停上限为10%,并将相应股票价格四舍五入到分。公式提示:日收益=(本交易日股价-前一交易日股价)×股数

程序运行界面如图所示:

  1. (1) 程序代码中出现Label4.Caption,其中Caption是指(填字母:A,对象名/B,属性名/C,属性值/D,事件名)。

  2. (2) 实现上述功能的VB代码如下,请在画线处填写合适的代码。

    Private Sub Command1_Click()

        Dim gj As Double,x As Double      ‘用于存放股价

        Dim n As Integer·gs As Integer     ‘n用于存放涨停个数,  gs用于存放股数

        Dim zsy As Long,rsy As Long     ‘zsy用于存放总收益。  rsy用于存放日收益

        List1.Clear

            gi=Val(Text1.Text):n=Val(Text2.Text):gs=Val(Text3.Text)

            zsy=0

            List1.Addltem“交易日  股价  日收益”

            For i=1 To n

                x=gj

                IfThen      ‘①

                    gj=Int(gj*1.44*100+0.5)/100

                Else

                    gj=Int(gj*1.1*100+0.5)/100

                End If

                rsy=            ‘②

                zsy=zsy+rsy

                List1.Addltem“第”Str(i)&“  ”&Str(gj)&“  ”&Str(rsy)

          Next i

          Label4.Caption=Str(gs)&”股预期总收益”&Str(zsy)&“元”

    End Sub

  3. (3) 若该新股连续涨停,则第11个交易日的日收益(填:能/不能)超过首个交易日的日收益。

在Visual Basic中,语句Label1.Caption = "欢迎使用本系统!" 中的"Label1"是(  )
A . 属性值 B . 属性名 C . 对象名 D . 类名
现要求编写VB程序实现如下功能:在文本框Text1中输入正整数n(n为奇数),单击 “生成”命令按钮后,如下图所示,在文本框 Text2 中会显示一个有规律的对称数字串,形 式为“1 3 …… n-2 n n-2 3 1”。例如n=9时,显示的数字串为“1 3 5 7 9 7 5 3 2 1”。

  1. (1) 根据代码可知,命令按钮“生成”的对象名是
  2. (2) 实现上述功能的VB程序如下。请在划线处填入合适代码。

    Private Sub C1_Click()

    Dim n as integer, i as integer Dim s as string

    n =

    s = ""

    For i = 1 To n

    If i <= n \ 2 + 1 Then

    Else

    s = s +    End If

    Next i Text2.Text = s End Sub

  3. (3) 当 n=9 时,在实现程序功能的情况下,如果将程序中加框处的代码换成“Str(2 * i - 1)+s”,单击“生成”按钮,其输出结果为
在Visual Basic中,语句form1.Caption = "欢迎使用本系统!" 中的"Caption"是(  )
A . 属性值 B . 属性名 C . 对象名 D . 类名
在计算机系统中,数值一律用补码来表示和存储。求负整数的补码是将该数对应的正数转换为二进制数(不足8位时高位补0),最高位作为符号位为1,其余每位二进制数取反(1变成0,0变成1),末位加1。小明编写了一个VB程序,功能如下:在文本框Text1中输入一个负整数,单击“转换”按钮Command1后,在文本框Text2中显示该数对应的补码。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要使按钮Command1显示为“转换”,应修改该按钮的属性。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适代码。

    Private Sub Command1_Click()

    Dim a(1 To 8) As Integer, x As Integer, b As String

    x = Abs(Val(Text1.Text))

    For i = 1 To 7     ‘求反码

     a(i) =

     x = x \ 2

    Next i

    b = “1”: i = 1

    a(1) = a(1) + 1

    Do WhileAnd i < 7

     a(i) = 0

     i=i+1

    Loop

    For i = 7 To 1 Step -1

     b = b + Trim(Str(a(i)))     ‘Trim()函数去除字符前后空格

    Next i

    Text2.Text = b

    End Sub

  3. (3) 运行该程序,在文本框Text1中输入-10,单击“转换”按钮,则显示的补码是
下列没有PICTURE属性的是(  )
A . FORM B . LISTBOX C . OPTIONBUTTON D . CHECKBOX
小周尝试一种新的数据排序方法,先将数据按照增量分成若干组,再分别对这几组数据进行排序并通过缩小增量直到增量为1的方法实现最终排序。如若要将数据“71,54,58,29,31,78,2”升序排序,增量的初值为3,则数据分为3组,为“71,29,2”“54,31”“58,78”,分别对各组数据排序后变为“2,31,58,29,54,78,71”,更新增量为1,最终通过后续处理实现排序。

待排序数据存储在数组a中(a(1)…a(n)),共有n个数据,要求升序排序

Dim a(0 To 100) As Integer

Dim n As Integer

Private Sub Command 1_Click()

    Dim i As Integer,m As Integer

    m=n\2

    Do While  '改错

       For i=1To m

          Call jpsort(i,m)    '调用过程jpsort()

       Next

        m=m\2

    Loop

   

'显示输出结果

End Sub

Private Sub jpsort(start As Integer,w As Integer)

         For i=start To n Step w

         For j= To i+w Step-w    '填空

             If a(j-w) >a(j) Then

                t=a(j-w)::a(j)=t    '填空

           End If

       Next

    Next

End Sub

请回答以下问题:

  1. (1) 若要修改窗体上显示的内容为“跳跃排序”,应修改的属性名是(单选,填字母:A .Text/B .Caption/C .Load) 。
  2. (2) 划线部分的代码应填①;②;③
  3. (3) 若将虚线框中的程序段删除并要求使排序的结果不变,则应将Do While语句加框处的代码修改为
小王编写了VB程序,功能如下:在窗体Form1的文本框Text1中输入要统计的人数,单击"统计"按钮运行程序,统计前n人的每科选课情况,数组a(1 to 300)中保存了每位同学的7选3科目(例如:a(1)="物化技"),数组b(1 to 7)用来保存“政史地物化生技”各科选课人数。

  1. (1) 窗体Form1的属性中没有的是(单选,填字母:A .Text /B .Caption/ C .Width)
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Dim n As Integer, i As Integer, m As Integer, s As String, temp As String

    Dim a(1 to 300) As String, b(1 to 7) As Integer

    Private Sub Form_Load()

    '读取每位同学的选课科目,保存到数组a(1 to 300)中,代码略

    End Sub

    Private Sub Command1_Click()

    n =    ①         

    s = "政史地物化生技" : temp=""

    For i = 1 to n

    temp = temp + a( i )

    Next i

    For i = 1 to len(temp)

    m =    ② 

    b(m) = b(m) + 1

    Next i

    For i = 1 to len(s)

    list1.Additem Mid( s, i, 1 ) +    ③    + "人"

    Next i

    End Sub

    Function pos(j As Integer ) As Integer  '该函数用于查找科目在s中的位置

    Dim k as Integer

    For k = 1 to len(s)

    If  Then pos = k : Exit For

    Next k

    End Function

     ② ③ 

  3. (3) 程序中加框处代码有错,请改正。
如图所示为某命令按钮对象的属性窗口,若要编辑该对象的鼠标单击事件处理过程,则事件处理过程名是(  )

A . Command1_Click B . Caption_Click C . Cancel_Click D . D.ok_Click
小明编写了一个进制转换程序。程序运行时在文本框Text1中输入十进制数,单击“计算”按钮Command1后,结果在文本框Label1中显示。程序运行界面如图a所示。

  1. (1) 要使命令按钮上显示的“计算”改为“转换”,可在其属性窗口(图b)中将属性的属性值修改为“转换”。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim ch As String

      Dim n As Integer, x As Integer

      Dim ans As String

      ch="0123456789ABCDEF"

      n=    ①    

      Do While n>0

        x=n Mod 16

           ②   

        ans=   ③   

      Loop

      Label2.Caption="16进制:"+ans

    End Sub

    画线处应填入的代码为:①;②;③

某仓库管理员希望使用计算机来帮助他管理仓库物品。会有不同的人到仓库取物品,每人希望取走不同数量的物品,物品库存总量事先已知。

计算机的管理规则如下:

·对于某人需要的物品数量,若仓库有足够的物品,将直接分配给该人。

·若某人需要的物品数量超过了当前的库存量,仓库会拒绝该人的请求。

管理员希望知道有多少人没有顺利取到物品。

现编写VB程序实现对物品的管理,在文本框Text 1中输入物品库存总量,在文本框Text 2中输入每人所需要物品的数量(以逗号分隔),单击“统计”按钮count,在Label 4中显示一天中没有取到物品的人数。程序设计界面如图所示。

图片_x0020_100009

  1. (1) 根据题意,“统计”按钮的对象名为
  2. (2) VB程序代码如下,请在划线处填入合适的代码。

    Private Sub count_Click()

        Dim sum As Integer,num As Integer

        Dim cnt As Integer

        Dims As String,chAs String,tmp As String

        cnt= 0

        sum=Val(Text 1.Text)

        s=Text 2.Text

        For i=1 To Len(s)

            ch=Mid(s,i,1)

            If ch=","Then

                num=Val(tmp)

                If num>sum Then

                    cnt=cnt+ 1

                Else

                   

                End If

                tmp=""

            Else

               

            End If

        Next i

        Label 4.Caption=Str(cnt)

    End Sub

  3. (3) 若在文本框Text 1中输入“30”,文本框Text 2中输入“10,5,20,6,78”,则程序运行结束时标签Label 4中显示的内容为
小李设计“移数游戏”程序,实现如下功能:在列表框中有24个数字(8个“1”,8个“2”,8个“3”)随机排成“井”字形方阵,通过单击游戏界面中的八个按钮实现往箭头方向循环移动所在行(或列)的数据,例如“→③”按钮所在行的数据依次为“2,2,3,3,3,2,1”,若单击一次“→③”按钮后,该行的数据向右循环移动一次,依次变为“1,2,2,3,3,3,2”。玩家通过按钮移动数据,最终若使游戏界面中虛线框内的八个数字为相同数字则完成游戏。程序运行界面如图所示。

  1. (1) 在如图所示的游戏界面中,单击某按钮一次后,即可完成游戏,则该按钮的Caption属性值是 。
  2. (2) 程序部分代码如下,请在划线处填入合适的代码。

    Dim a(1 To 49) As String

    Private Sub Form _Load ()

        Dim k(1 To 3) As Integer

        Randomize

        t=0

        For i=1 To 49

            x=

            y=(i-1) Mod 7+1

            If x=30rx=50ry=30ry=5Then

               t = Int (Rnd*3) + 1

               Do While

                  t=t Mod 3+ 1

               Loop

               k(t)=k(t)+1

               a(i) = Str(t)

           Else

               a(i) =””

           End If

        Next i

        ‘在列表框中输出数据,得到“井”字形方阵。代码略

    End Sub

    ‘下面为单击“↑①”按钮,实现数据的移动

    Private Sub Command1_ Click()

        j=3

        temp =a (6*7+j)

        For i=1 To 6

          p =i-1

          If p<1 Then p= 7

          A ((p-1)*7+j)=a ((i-1)*7+j)

        Next i

        = temp

        ’在列表框中输出数据,更新“井”字形方阵。代码略

    End Sub

    ‘其他按钮所实现功能的代码略

为有效降低机动车污染物排放,持续改善首都空气质量,北京市政府决定自2017年1月9日至2017年4月9日,继续实施工作日(因法定节假日放假调休而调整为上班的星期六、星期日除外)高峰时段区域限行交通管理措施,具体限行尾号如下图所示。

某同学编写程序实现如下功能:程序运行时,在文本框Text1中输人车牌号,单击“判断”按钮 Command1,在文本框Text2中显示限行的工作日。如下图所示,尾号为5,则显示星期二限行。

  1. (1) 程序运行界面中都具有Caption属性的对象个数为
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click()

        Dim s As String, n As Integer, x As String, y As string

        s=Text1. Text

        n=

        y=" "

        For i=n To l Step -1

            x=Mid(s, i,1)

            If Then

                If Val(x) Mod 5=4 Then

                    y="星期一"

                Else If Val(x) Mod 5=0 Then

                    y="星期二"

                Else If Val(x) Mod 5=1 Then

                     y="星期三"

                Else If Val(x) Mod 5=2 Then

                    y="星期四"

                Else

                    y="星期五"

                End If

                Exit For                '退出循环

            End If

        Next i

        Text2. Text=

    End sub

VisualBasic是一种面向对象的程序设计语言,构成对象的三要素是(    )
A . 属性、控件和方法 B . 属性、事件和方法 C . 窗体、控件和过程 D . 控件、过程和模块
编写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 i As Integer, n As Integer

        Dim s As Integer, max As Integer

        n= Val(Text1. Text)

        i=1:s=0

        Randomize     '随机函数的初始化语句

        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

小李和小王在玩一个猜数游戏,随机生成10个元素的未排序的整数数组num () (范围是[-9,9]),请小李找出其中没有出现的最小的正整数。现编写如下VB代码,完成这个猜数游戏,先对所有正整数进行升序排列,选取出缺少的最小正整数。程序运行界面如第15题图所示。

  1. (1) 如图所示,窗体中有个对象。
  2. (2) 实现上述功能的部分VB代码如下,请在划线处填入合适的代码。

    Private Sub Command1_ Click()

        Dim num(100) As Integer

        Dim i As Integer, j As Integer, p As Integer, t As Integer ;

        Dim ch As String, k As String

        i =1:j=1

        Do While i <=10

            Num (i)=

            ch=ch+num(i)+“,”

            i=i+1

        Loop

        Text1. text=mid(ch,1,len(ch)-1)

        For i=1 To 10

            For j=10 To i+1 Step-1

                If Then

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

                End If

            Next j

            If  Then Label2. Caption = Str(i): Exit For

        Next i

    End Sub

  3. (3) 程序中加框处的代码有误,请修改。
小王基于选择排序算法编写了一个VB程序,功能如下:在文本框Text1中显示排序前的数据,单击“排序”按钮,在文本框Text2中显示剔除重复数据后的升序排序结果。程序运行界面如图所示。

实现上述功能的VB代码如下,请回答下列问题:

Const n= 10

Dim a(1 To n) As Integer

Private Sub Form_ load( )

'数组初始化,生成1~20之间的随机整数并赋值给数组a,代码略

End Sub

Private Sub Cmd1_Click()

    Dim i As Integer, j As Integer, t As Integer

    Dim bottom As Integer

    bottom= n

    For i=1 To bottom-1

        For j= bottom To i+1 Step -1

            If  Then    '①改错

                t=a(j) : a(j)=a(i) : a(i)=t

            ElselIf a(j)=a(i) Then

                      '②填空

                bottom= bottom- 1

            End If

        Next j

    Next i

    Text2. Text=" "

    For i=1 To bottom

        Text2. Text= Text2. Text+Str(a(i))

    Next i

End Sub

  1. (1) 程序窗体中“排序”按钮的对象名是
  2. (2) 程序代码中,加框处①有错,请改正;
  3. (3) 为实现上述功能,请在加框处②填入合适的代码:
  4. (4) 要想生成范围是1~20的随机整数,VB表达式是
使用如图a所示的九宫格键盘输入单词,每个单词对应一个按键组合,如“tree对应的按键组合为“8733”;而按键组合“8733”对应的单词有“tree”、“used”等。抽取n个英文单词(可重复),使用九宫格键盘输入,统计最频繁使用的按键组合。

编写VB程序,实现上述功能。运行程序,在列表框List1中显示n个英文单词(单词仅由小写字母组成且字母个数至少为1),单击“统计”按钮Command1,在列表框List2升序显示全部单词的按键组合,在文本框Text1中显示最频繁使用的按键组合,若有多个,则全部输出。程序运行界面如图b所示。

  1. (1) 下列类中生成的对象具有Text属性的是 (单选,填字母: A . Label / B . TextBox/ C . CommandButton )。
  2. (2) 实现上述功能的部分VB程序如下,请在划线处填入合适的代码。

    'n为常量,代码略

    Dim a(1 To n) As String       '数组a存储所有单词

    Dim b(1To2*n) As String       '数组b存储转换后的按键组合

    Private Sub Form_ Load()

        '读取所有单词存入数组a,并显示在列表框List1中

        '初始化数组b各元素为空字符串,代码略

    End Sub

    Private Sub Command1_Click()

        Dim i As Integer, j As Integer, k As Integer, p As Integer, max As Integer

        Dim m As Integer, key As String, t As String, s1 As String, s2 As String

        key= 222334455566677889999      'key 表示a-z各个字母所对应的键盘数字

        max=0

        '以下代码实现将数组a中的每个单词转化成按键组合,并依次存入数组b中

        For i= 1 To n

            t= ""

            For j= 1 To Len(a(i))

                m = Asc(Mid(a(i), j, 1))- Asc("a")

                t=

            Next j

            b(i)= t

        Next i

        '以下代码实现对数组元素b( 1)~b(n)升序排序

       

        Do While i>=1

            For j= 1 To i

                If b(j+ 1)< b(j) Then

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

                End If

            Next j

            i=i- 1

        Loop

        '将排序后数组元素b(1)~b(n)显示在列表框List2中,代码略

        s1= b(1)

        p=n+ 1

        i= 1:j= 2

        Do While j<= n      '从数组元素b(n+1)开始存储最高频次的按键组合

            s2 = b(j)

            If s1 < s2 Then

                If  Then

                   max=j-i

                   p=n+ 1

                   b(p)=s1

                Else If max=j- i Then

                    p=p+ 1

                    b(p)= sl

                End If

                s1= s2

               

            End If

            j=j+ 1

        Loop

        t=""

        If max<j- i Then

            t= s1

        Else

            For k=n+ 1 To p

                t=t+ b(k)+" "

            Next k

            If max=j- I Then t=t+" "+s1

        End If

        Text1.Text= "最频繁按键组合为: " &t

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
最近更新