2.2 做出判断的分支 知识点题库

在Visual Basic中,设整型变量x、y的值分别是3、10,则能在文本框Text1中显示“a = 13”的语句是(   )
A . Text1.Text = "a=x+y" B . Text1.Text = "a=" + Str(x + y) C . Text = "a=" + Str(x + y) D . Text1.Text = "a=" + Val(x + y)
编写“数字序列”程序,实现如下功能:在文本框Text1中输入[100,500]范围内的整数,单击“生成”按钮Command1,在列表框List1中显示9个该序列的数字。数字序列的生成规则为:该项的数字+该数百位上的数字+该数十位上的数字+该数个位上的数字=下一项的数字,例如:365+3+6+5=379。小明编写了VB程序,运行的界面如图所示,程序代码如下:

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

    Private Sub Command1_Click()

    Dim n As Integer, i As Integer

    Dim a As Integer

    Dim b As Integer

    Dim c As Integer

    List1.Clear

    n = Val(Text1.Text)

    If n >= 100 And n <= 500 Then

                 For i = 1 To 9

               A.位置一

                   a = n \ 100

                   b = (n - 100 * a) \ 10

                   c = n Mod 10

                    

                 B.位置二

                 Next i

                C.位置三

    Else

                    List1.AddItem "输入数值有误"

    End If

             D.位置四

    End Sub

  3. (3) 上述代码段中缺少了List1.AddItem Str(i) + "." + Str(n),此句代码应该加在(填字母)位置。
  4. (4) 若输入的数字为123,则第三项的值为
【加试题】小强用VB编写正整数十进制转换为十六进制的程序,运行界面如图所示。程序功能如下:在文本框Text1中输入待转换的十进制值,单击“十进制转换十六进制”按钮Command1,在文本框Text2中输出转换结果。

请在程序的划线处填写合适的代码。

Private Sub Command1_Click()

        Dim a As String,s As String

        Dim r As Integer,x As Integer

        x = Val(Text1.Text)

        s = ""

        Do While x > 0

  ▲                 ‘①

            x = x \ 16

            If r > 9 Then

                a = Chr(r + 55)

            Else

                a = Str(r)

            End If

              ▲                 ‘②

Loop                     

        Text2.Text = s

        End Sub

  1. (1) 程序中①划线处应填入
  2. (2) 程序中②划线处应填入
有如下VB程序段:

Dim x As Integer

Randomize

x=Int(Rnd*10)+1

If x<6 Then         '①

List 1.Add Item“★”      '②

ElseIfx<8Then          '③

  List 1.Add Item“★★”        '④

Else                        '⑤

  List1.Add Item“★★★”        '⑥

End If                 '⑦

以下说法中正确的是:(  )

A . 变量x的值是[1,11]范围内的随机整数 B . 若变量x的值是6,则List1中输出结果为“★” C . 若变量x的值是8,则块If语句执行的顺序为①③⑤⑥⑦ D . 若变量x的值是10,则List1中输出结果为“★★”
有如下VB程序段:

Dim conn As New ADODB.Connection

Dim rs As New ADODB.Recordset

conn.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;

data source = "+ App.Path+"\score.Accdb"

conn.Open

Set rs.ActiveConnection = conn

rs.Open "Select * from cj"

n=1

Do While Not rs.EOF

  Score(n)=rs.fields(“成绩”):Name(n)=rs.fields(“姓名”)

  n=n+1:rs.MoveNext

Loop

下列说法中不正确的是(  )

A . 定义的ADO的Connection对象实例名称是“conn” B . 连接的数据库文件名是“\score.acedb” C . 查询的数据表名是“cj” D . 该程序段运行后,可知所查询的数据表共有n-1条记录
某查找算法的部分VB程序代码如下:

i=1:j=8:k=0

key=15

Do While i<=j

  k=k+1

  m=Int((i+j)/2)

  If key<a(m)Then j=m-1 Else i=m+1

Loop

数组元素a(1)到a(8)的数据依次是“14,15,15,17,28,30,37,40”,该程序执行完毕后,下列各变量的值不正确的是(    )

A . i=4 B . m=2 C . j=3 D . k=3
星期天,小龙来到动物园游玩,园内共有N个景点(可在10个以上),每个景点都有一个标号,标号为1至N。现在只知道每个景点有一条路连接下一个景点。小龙想知道,根据这些道路信息,从其中一个景点出发,最后再回到出发景点,最多能游玩多少个景点。

例如,共有N=5个景点,每个景点连接的下一个景点分别是2,4,5,5,2。

景点号

1

2

3

4

5

下一景点号

2

4

5

5

2

则他可以从2号景点出发,最多可以游玩2号、4号、5号三个景点。

程序代码如下:

Private Sub Command1_Click()

  Dim a(1 To 100) As Integer, d(1 To 100) As Integer

  Dim jd As String, m As String, c As Integer, i As Integer

  Dim s As Integer, p As Integer, k As Integer, ans As Integer

  jd = Text1.Text + ","

  s = 0: c = 0

  For i = 1 To Len(jd)

    m = Mid(jd, i, 1)

    If m <> "," Then

           ①      

    Else

      c = c + 1: a(c) = s: s = 0

    End If

  Next i

  ans = 0: k = 0

  For i = 1 To c

    For k = 1 To c

      d(k) = 0

    Next k

    If d(i) = 0 Then

      p = i

      Do While p <= c

        If d(p) = 0 Then

          k = k + 1: d(p) = k

        Else

                ②     

          If y > ans Then ans = y

          k = 0

          Exit Do

        End If

       

      Loop

    End If

  Next i

  Text2.Text = Str(ans)

End Sub

  1. (1) 要使程序运行时,Form1的BackColor属性值为黑色,以下代码正确的是(单选,填字母)。

    A .

    Private Sub Form_Load()

      Form1. BackColor = RGB(255, 255,255)

    End Sub

    B .

    Private Sub Form_Load()

      Form1.BackColor = RGB(0, 0, 0)

    End Sub

    C .

    Private Sub Form1_Load()

      orm1.BackColor = RGB(255,255,255)

    End Sub

    D .

    Private Sub Form1_Load()

      Form1.BackColor = RGB(0, 0, 0)

    End Sub

  2. (2) 若有7个景点,且每个景点的连接情况为:6,3,7,2,7,5,4,那么小龙最多可以游玩的景点数是
  3. (3) 请把划线处的代码补充完整:

     ② 

  4. (4) 程序加框处代码有错,请改正:
分析并完善程序 以下是计算s=1*2*3*…*10的程序代码,请补全程序。

Dim s As Long

Dim i As Integer

s=

For i=1 To 10

   s=

Next i

Print s

VB程序中“Dim  n  As  Integer”这条语句的作用是(     )
A . 定义一个变量 B . 定义一个数据处理方法 C . 定义一个数据输入方法 D . 定义一个事件过程
合数指自然数中除了能被1和本身整除外,还能被其他数(0除外)整除的数。与之相对的是质数,而1既不属于质数也不属于合数,最小的合数是4。编写合数“寻找质因子”的程序,程序功能:在文本框Text1中输入一个整型的合数,单击“计算”按钮Command1后,在文本框Text2中显示该整数可分解出的所有质因子。程序运行界面如图所示。

  1. (1) 观察程序界面,不具有Caption属性的对象的控件类名是
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

      Dim n, k As Integer

      Dims As String

         ①   

      k=2

      Do While n>1

          If n Mod k=0 Then

               ②   

            s=s+Str(k)

          Else

            k=k+1

          End If

      Loop

      Text2.Text=s

    End Sub

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

  3. (3) 运行上述程序,若在文本框Text1中输入1024,单击“计算”按钮后,文本框Text2中显示的内容为
猜年龄游戏。要求:允许用户最多尝试3次,每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y,就继续让其猜3次,以此往复,如果回答N或n,就退出程序,如果猜对了,就直接退出。
某比赛项目由多位评委打分,然后根据项目难度系数计算最终得分。规则为:

最终得分=(所有评委打分总和-1个最高分-1个最低分)×项目难度系数

编写VB程序,实现计算最终得分的功能。在文本框Text1中输入项目难度系数和多位评委的打分,中间用“,”隔开并以“,”结尾,然后点击计算按钮,在文本框Text2中显示最终得分。程序运行界面如图所示。

  1. (1) 程序中计算按钮的对象名是  (单选,填字母:A .Command1/B .Cmd1/C .Cmd1_Click)。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Cmd1_Click()

        Dim a(1 To 100) As Single

        Dim i As Integer, j As Integer, k As Integer, m As Integer, n As Integer

        Dim Tot As Single, tmp As Single

        Dim s As String, v As String, ch As String

        s = Text1.Text

        n = 1:v=""

       

        Do While n <= Len(s)

            ch = Mid(s, n, 1)

            If ch <> "," Then

                v = v & ch

            Else

                a(m) = Val(v)

                

                m = m + 1

            End If

            n = n + 1

        Loop

        For i = 2 To m - 2

            For j = m - 1 To i + 1 Step -1

                If a(i) < a(j) Then

                    tmp = a(i): a(i) = a(j): a(j) = tmp

                End If

            Next j

        Next i

        Tot = 0

        For

            Tot = Tot + a(i)

        Next i

        Text2.Text =

    End Sub

  3. (3) 程序中加框处代码有错,请改正。
以下Python代码的运行结果是(   )。

a = 3

b = 4

a = a * b

print(a)

A . 3 B . 4 C . 12 D . a*b
某Python程序段如下:

a = [28, 29, 79, 14, 24, 43]

m = int (input("请输入一个整数: "))

pos = -1

for i in range(len(a)):

    if a[i] > m:

        if pos == -1 or a[i] < a[pos]:

             pos=i

运行该程序段,若输入40,变量pos的值是(    )

A . -1 B . 2 C . 3 D . 5
根据数组中元素的个数是否可以变化,数组分为数组和数组。
如下Python程序段:

a = 7

b = 2 

c = 23

if a > b : m = a else: m = b

if c > m : m = c

运行后,m的值为(       )

A . 7 B . 2 C . 23 D . 9
已知x是一个三位正整数,要判断它的个位是否为5,正确的表达式有(     )。
A . x mod 5=0 B . x \ 10=5 C . x/5= x\5 D . x/5<>int(x/5)
用VB编写求句子中最长单词的程序。输入要求:句子以‘.’结束;单词之间用空格分隔,单词没有缩写形式和其他特殊形式。运行界面如图所示,程序功能:在文本框Text1中输入待统计的句子,单击“统计”按钮Command1,将结果显示在文本框Text2和Text3中。

  1. (1) 代码“Private Sub Command1_ Click”中的Command1_ Click ()是(单选,填字母:A .对象名;B .事件;C .事件处理过程;D .方法)。
  2. (2) 根据题意将下列程序补充完整。

    Private Sub Command1_ Click()

        Dim i As Integer, k As Integer

        Dim s As String, ch As String

        Dim max As Integer    '存储句子中最长单词的长度

        Dim ss As String    '存储句子中最长的单词

        s= Text1.Text

        i=1 :k=0:max=0

        ch=“”

        Do While ch<>“.“ Or i <= Len(s)

            ch= Mid(s, i, 1)

            If ch <>“”And ch<>“.”Then

               

            Else

                k=0

            End If

            If  Then

                max= k

                ss=

            End If

            i=i+1

        Loop

        Text2.Text= Str( max)

        Text3.Text= ss

    End Sub

阅读下列程序,写出运行结果

ls=[23,45,67,87]

def is_prime(n):

    for i in range(2,n):

        if n%i==0:

            return False

    return True

sum=0

for x in ls:

    if is_prime(x):

        sum=sum+x

print(sum)

运行结果是

下列VB表达式的值为True的是(    )
A . "9"< "10" B . 2021 Mod 100\ 10= 2 C . Len("12" + "3")= 3 D . Int(-4.1)=-4