常量、变量及变量的赋值 知识点题库

小丁想买几张6+1彩票,选号时,他希望前4位用自己的生日:11月8日,即1108,特别号码他选了买彩票日子的个位数5,并且他希望前六个数字组成的数能被他的幸运数字9整除。他的好朋友小杰帮他设计了一个VB程序,可以提供一份符合这些要求的号码清单供他挑选。相应的界面如图1所示。阅读程序并完成后面的问题。


  1. (1) 设计应用程序界面时,为添加a所指向的对象,应使用图2所示的“控件工具箱”中的 (填写相应编号)。


  2. (2) 请根据题意将下列程序补充完整。

    Private Sub Command1_Click()

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

    c = 0

        n = 110800 + i

                If  Then

            List1.AddItem Str(n) + " " + "5"

            

       End If

    Next i

    Label2.Caption = "满足条件的数有:" + Str(c) + "组"

    End Sub

下列VB程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是:

Private Sub Command1_Click()

Dim x As Integer, m As Integer

m = 3

For x = 1 To 5

   If m > 3 Then m = m + 2 Else m = m - 1

Next x

Text1.Text = Str(m)

End Sub

在平面坐标系中,A点坐标为(25,35),编写VB程序,计算一组给定点中,距离A点的最小距离。在文本框Text1中依次输入一组给定的坐标值,如3个点的坐标(10,15)、(45,18)、(32,40)输入示例如图所示,坐标值以逗号分隔、逗号结尾,单击“计算”按钮Command1后,程序运行结果显示在Label3中。

实现上述功能的VB程序如下,请在划线处填入合适代码。

Private Sub Command1_Click()

  Dim i As Integer, n As Integer

  Dim x As Single, y As Single, x1 As Single, y1 As Single

  Dim d As Single, min As Single

  Dim s As String, t As String

  s = Text1.Text:   x = 25: y = 35                       'A点坐标

  n = 0: min = -1: t = ""

  For i = 1 To

    If Mid(s, i, 1) = "," Then

      n = n + 1

      If Then

         x1 = Val(t)

      Else

         y1 = Val(t)

         d =

         If min = -1 Then min = d

         If d < min Then min = d

      End If

      t = ""

    Else

      t = t + Mid(s, i, 1)

    End If

  Next i

  Label3.Caption = Str(min)

End Sub

国际标准书号ISBN分成四组的10位数字组成,前面9位数字分组号、出版社和书序号三组,最后一位为校验码。校验的规则为从左边开始取出每位数字(前9位),取出的数字依次乘以10、9、8……2,把各次的乘积相加,用11减去这个和除11的余数即为校验码。在文本框Text1中输入条形码,单击“校验”按钮Cmd1,在文本框Text2输出结论。程序运行的界面如图所示:

实现上述功能的VB程序如下,但加框处代码有错,请改正。

Private Sub Command1_Click()

  Dim s As String,i As Integer,s1 As String,sum As Integer,t As Integer

  Dim jy As Integer

  s=Text1.Text

  t=0:sum=0

  For i=1 To Len(s)

    s1=Mid(s,i,1)

    If s1>=“0” And s1<=“9” Then

           ′①

        If t<10 Then

            sum=sum+Val(s1)*(11-t)

        ElseIf t=10 Then

              ′②

        End If

    End If

  Next i

  sum=11-sum Mod 11

  If  Then′③

    Text2.Text=“该校验码中数字不是10位数!”

  Else

    If jy=“X” and sum=10 Then

      Text2.Text=“校验通过”

    ElseIf val(jy)=sum then

      Text2.Text=“校验通过”

    Else

      Text2.Text=“校验不通过”

    End If

  End If

End Sub

划线处代码为①

一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是:寻找前1 000个自然数中所有A类数在List1中输出,并将统计个数在Text1中输出。

请回答以下问题。

  1. (1) 十进制数37(选填:是/不是)A类数。
  2. (2) 请在划线处填入合适的代码。

    Private Sub Command1_Click()

      Dim i As Integer, n As Integer

      Dim s As Integer  's为A类数的个数

      Dim t As Integer   't为二进制数中“1”的个数

      Dim k As Integer   'k为二进制数中“0”的个数

      s=0

      For i=1 To 1000

       n=i:t=0:k=0

       Do While n > 0

        If Then t=t+1 Else k=k+1

       

       Loop

       If t>k Then

        List1.Additem str(i)

        s=s+1

       End If

     Next i

     Text1.Text=Str(s)

    End Sub

一个十进制整数的二进制表示中,如果数字“1”的个数多于数字“0”的个数,则称该整数为A类数。如十进制整数26的二进制表示为11010,26是一个A类数。下列VB程序的功能是寻找前1000个自然数中所有A类数,在List1中输出,并将统计个数在Text1中输出。
  1. (1) 十进制数37(选填:是/不是)A类数。
  2. (2) 请在划线处填入合适的代码。

    Private Sub Command1_Click( )

    Dim i As Integer, n As Integer

    Dim s As Integer     ‘s为A类数的个数

    Dim t As Integer     ‘t为二进制数中 “1”的个数

    Dim k As Integer     ‘k为二进制数中 “0”的个数

    s=0

    For=1 To 1000

        n=i:t=0:k=0

        Do While n>0

            If     ①      Then t = t+1
            Else k = k+1

               ②    

        Loop

        If t > k Then

            List1. Additem Str(i)

            s=s+1

        End If

    Next i

    Text1.Text=str(s)

    End Sub

     ② 

在VB中连接并读取Access数据库文件通常使用以下代码:

Dim conn As New ADODB Connection

Dim rs As New ADODB. Recordset

Dim n as Integer

Private Sub Form_Load ( )

conn. ConnectionString ="Provider= Microsoft. Ace. OLEDB. 12.0;

data source =" + App. Path + " \data \data. accdb"    ‘ 此处内容在同一行中,因印刷排版限制而换行

conn. Open

sqI = “select * from student”

Set rs. ActiveConnection = conn

rs. Open sql

n=0

Do while Not rs. EOF

  Call read ( )

  n=n+1

  rs. MoveNext

Loop

End sub

sub read ( )

  List1.AddItem rs ("name")

End sub

运行上述程序,以下说法不正确的是(  )

A . 当前读取的数据库文件为data目录下的data.acdb B . 数据库中存在一个名为student的数据表 C . List1列表框中将显示所有name字段的值 D . 当前读取的数据表中总记录数为n-1
【排序算法的应用3】某排序算法思想如下:若有1个桶,编号为0~10,随机产生多个整数,每产生一个整数时,就在以该整数为编号的桶中放一面小旗子,最后只要按顺序数每个桶中有几面小旗子,就能得到这几个整数的有序排列。例如2号桶中有1面小旗子,表示2出现了一次;3号桶中有1面小旗子,表示3出现了一次;5号桶中有2面小旗子,表示5出现了两次;8号桶中有1面小旗子,表示8出现了一次,按桶的编号顺序读出旗子数量,没有旗子的桶略过,得到有序整数“2,3,5,5,8”。

为此,小李编写了一个VB程序,功能如下:运行程序,窗体加载时随机产生6个[0,9]内的随机整数,并在列表框List1中依次显示排序前数据,单击“排序”按钮Command1,在列表框List2中显示经过上述排序算法后的数据。运行结果如图所示。

实现上述功能的VB程序如下,但加框处代码有错,请改正.

Dima (10) As Integer ‘数组a表示桶的编号,如a(0)表示第0号桶

Private Sub Command1_Click ( )

Dim i As Integer, j As Integer

For i = 0 To 10

  For j = 1 To      ‘①

    List2. AddItem CStr(i)

  Next j

Next i

End Sub

Private Sub Form_Load ( )

Dim i As Integer

Randomize

For i = 0 To1 0    ‘将数组初始化为0

  a(i) = 0

Next i

For i = 1 To 6     ‘产生6个[0,9]内的随机数

  t = Int (Rnd*10)

  a(t) =          ‘② 第t号桶中小旗子数量加1

  List1. AddItem CStr(t)

Next i

End Sub

 ② 

有如下VB程序段:

Dim s(1 To 100) As Integer

Dim b(1 To 100) As Integer

Dim c As Integer

  a(1) = 0: a(2) = 2: b(1) = 1: b(2) = 2: c = 0

  For i = 2 To 6  

    a(i + 1) = 2 *a(i) -a(i - 1) 

    b(i + 1) =b(i) ^ 2 /b(i - 1)

    c =c +a(i + 1) +b(i + 1)

  Next i

Label1.Caption = Str(c)

该程序运行后,Label1中显示的内容是(  )

A . 46 B . 88 C . 164 D . 76 
某数据压缩方法描述如下:

1)原始数据中,某数不为0且相邻无重复,压缩数据用该数据表示;

2)原始数据中,某数为0且相邻无重复,压缩数据用两个数表示,第1个为0,第2个为0;

3)原始数据中,某数据相邻有重复,压缩数据用3个数表示:第1个为0,第2个为重复数的个数,第3个为该数本身;根据上述压缩方法,对应的解压缩方法示例如图a所示。

图a

小明编写了一个解压缩VB程序,功能如下:窗体加载时,自动读取压缩数据,依次存储在数组元素a(1)、a(2)、a(3)……中,压缩数据的个数存储在变量n中,压缩数据显示在文本框Text1中。单击“解压缩”按钮Command1,程序对压缩数据依次进行解压缩处理,解压缩数据显示在文本框Text2中。程序运行界面如图b所示。

图b

  1. (1) 如果压缩数据为“23,0,21,66,0,0,77,0,5,0”,则解压缩数据的个数是
  2. (2) 实现上述功能的VB程序如下。请在划线处填入合适代码。

    Dim a(1 To 100)As Integer    '存储压缩数据,最大处理个数为100

    Dim b(1 To 1000)As Integer    '存储解压缩数据,最大处理个数为1000

    Dim n As Integer    '存储压缩数据的个数

    Private Sub Form_Load()

    '压缩数据由上述压缩方法生成

    '本过程用于读取压缩数据并存储在数组a中,压缩数据个数存储在变量n中

    '代码略

    End Sub

    Private Sub Commandl_Click()

    Dim pa As Integer '存储压缩数组当前处理位置

    Dim pb As Integer '存储解压缩数组当前处理位置

    Dim firstdata As Integer,count As Integer,iAs Integer

    pa=1:pb=1

    Do While pa<=n

      firstdata=a(pa)

      If firstdata <>0 Then  '示例1)情况处理

          b(pb)=firstdata

          pa=pa+1:pb=pb+1

      Else

          count=a(pa+1)

          If count=0 Then    '示例2)情况处理

            b(pb)=0

            pa=    ①_   _:pb=pb+1

          Else                '示例3)情况处理

            For i=1 To count

                   ② 

            Next i

            pa=pa+3:pb=pb+count

          End If

      End If

    Loop

    Text2.Text=Str(b(1))

    For i=2 To   ③   

      Text2.Text=Text2.Text+“,”+Str(b(i))

    Next i

    End Sub

某VB段程序如下:

Dim a(1 To 5)As Integer

Randomize

s=0

DoWhile

  t=Int(Rnd * 5+1)

  a(t)= a(t)+1

  If a(t)= 1 Then s=s+a(t)

Loop

已知数组 a(1)到a(5)的初值均为0,该段程序运行后,下列说法正确的是(  )

A . 循环至多循环5次 B . 数组a(1)到a(5)的值有可能为3,2,1,5,9 C . 程序运行过程中可能会出现“下标越界”的错误提示 D . 加框处语句改为“s<=5”,程序仍能正常运行
统计连续小写字母最长的个数,编写VB代码如下:

s=Text 1. Text

   ⑴   

ans=0

For i=1 To Len(s)

  t=Mid(s,i,1)

  If t>=“a” And t<=“z” Then

    c=c+1

      ⑵   

  Else

       ⑶   

  End If

Next i

Text2.Text=Str(ans)

填空处的代码可由以下部分组成:

①c=0   ②c=1   ③If c>ans Then ans=c   ④If c<ans Then c=ans   ⑤ans=ans+1

正确的代码顺序是(  )

A . ②③① B . ①④⑤ C . ②④② D . ①③①
有如下VB程序段:

s=0

For i= 1 To 5

  k=0

  For j=i+ 1 To 6

    If a(i) >a(j) Then k=k+1

  Next j

  s=s+k

Next i

数组元素a(1)到a(6)的值依次为“5,4,2,6,3,1”,执行该程序段后,变量s的值为(  )

A . 9 B . 11 C . 13 D . 15
下列程序执行后的结果为(  )

Dim a(10), b(10)As Integer

n=3

  For i=1 To 5

    a(i)=i

    b(n)=2*n+i

  Next i

Print a(n); b(n)

A . 13 4 B . 3 11 C . 1 13 D . 2 33
以下程序的输出结果是(   )

a=5

if a>=1 and a<=10

then

  a=a*a

else

  a=a+a

Print a

A . 5 B . 10 C . 25 D . 3
编写VB程序,计算斐波那契数列中第n项(n >= 3)的值,并在标签Label2中输出结果。(斐波那契数列是指这样的数列:1,1,2,3,5,8,13…。即:第1项和第2项的值均为1,从第3项开始,每一项的值是它前面两项之和),主要代码如下:

n = Val(Text1.Text)

f1 = 1: f2 = 1

For k = 3 To n

  f = f1 + f2

    ① 

    ② 

Next k

Label2.Caption = "斐波那契数列第" + Str(n) + "项的值为" + Str(f)

代码中①②两处分别应为(    )

A . ①f2 = f1  ②f1 = f B . ①f1 = f2  ②f2 = f C . ①f1 = f   ②f2 = f1 D . ①f2 = f   ②f1 = f2
在Python中,我们通常使用(    )来存取数据。  
A . 求知数 B . 表达式 C . 变量 D . 常量
Python表达式a=b中“=”表示 (     )
A . 交换“=”左右两边变量的值 B . 把“=”右边变量的值赋值给左边变量 C . 把“=”左边变量的值赋值给右边变量 D . 比较“=”左右两边变量的值是否相等
下列可以作为Visual Basic变量名的是(   )
A . 2016-dim B . 2016dim C . dim D . dim_2016
下列变量名不合法的是(     )
A . 2a B . c0 C . c_8 D . E6a