4.1.1 Python的常量和变量 知识点题库

【加试题】某VB程序功能:输入正整数n,单击命令按钮Command1后,则会衍生出一串有规律的数字,形式为“1 2 3…n-1 n n-1…3 2 1 ”。例如n=6时,显示的数字串为“1 2 3 4 5 6 5 4 3 2 1 ”。

Private Sub Command1_Click()

  Dim a As intger, i As intger, s As String

  n = Val(Text1.Text)

  s = ""

  For i = 1 To 2 * n - 1

    If i > n Then          ①          Else          ②            

  Next i

  text2.Text = s

End Sub

为实现以上功能,①②处分别填写(  )

A . ①s=Str(2*n-i)     ②s=Str(i)          B . ①s=s+Str(2*n-i)   ②s=s+Str(i) C . ①s=s+Str(2*n-1)   ②s=s+Str(2*n)      D . ①s= Str(2*n-1)    ②s= Str(2*n)
数组a初始值均为0,生成n个1到100之间的随机整数依次存入数组a,要求a(1)至a(n)中的奇数位上的都是偶数,偶数位上的都是奇数且都升序排序,例如n=4时有数列2,5,6,9,n=5时有数列2,5,6,9,8,运行程序,向文本框text2 输入个数,单击“生成”按钮后按上面的规则生成数据并排序,然后在文本框text1中显示结果,在文本框text3中输入一个1到100之间的整数,单击“添加”则向已生成的数据中添加该数,要求保持偶数在奇数位上升序,奇数在偶数位上升序,如存在与该数相同的数据则插入到最后一个相同数据的后面,并将最终结果显示在text1中。运行程序生成5个数据“28,5,50,25,98,”,添加1次17得到“28,5,50,17,98,25,”,再添加1次17得到“28,5,50,17,98,17,0,25,”,运行效果如图所示。

  1. (1) 为了“生成”按钮command1被单击后处于不可点状态,应该向程序添加代码(单选填字母:A .command1.Visible=False B .command1.Enabled=False C .command1.Caption="False")
  2. (2) 请将划线部分补充完整。

    Dim a(1 To 1000) As Integer

    Dim n As Integer, p As Integer, q As Integer

    Private Sub Command1_Click() '生成随机数据

        n = Val(Text2.Text)

        If n Mod 2 = 0 Then p = n - 1: q = n Else p = n: q = n - 1

          'p,q 分别为生成的数列的奇数位和偶数位最大下标

          '以下代码为生成随机数并按要求排序输出,代码略

    End Sub

    Private Sub Command2_Click() '添加数据

        Key = Val(Text3.Text)

        If Key Mod 2 = 0 Then

            i = 1: j = p: p = p + 2

        Else

            i = 2: j = q: q = q + 2

        End If

        Do While i <= j

            m = (i + j) / 2

            If Key Mod 2 = 0 And m Mod 2 = 0 Then m = m - 1

            If Key Mod 2 = 1 And m Mod 2 = 1 Then m = m - 1

            If Then i = m + 2 Else j = m – 2

        Loop

        If Key Mod 2 = 0 Then '插入一个偶数

            For k =

                a(k) = a(k - 2)

            Next k

            a(k) = Key

        Else

            '插入一个奇数,代码略

        End If

        If p > q Then n = p Else n = q

        For i = 1 To n

            s = s + Str(a(i)) + ","

        Next i

        Text1.Text = s

    End Sub

  3. (3) 运行程序时在 text1 中生成“6,53,” ,先后添加数据“2”和“8”则在 text1 中显示的内容为
如下数组声明语句:Dim a(3,-2 To 2,5) ,则数组a包含的元素的个数为(  )
A . 120 B . 75 C . 60 D . 13
奇偶校验是一种校验数据传输正确性的方法。其中奇校验方法为:统计二进制数据的数位中“1”的个数,若个数为奇数,则校验位值为0,否则校验位值为1小李编写了一个计算奇校验位值的VB程序,功能如下:文本框Text中输入1~255的十进制待校验数,单击“计算”按钮Command1后,文本框Text2中显示该数对应的二进制值,并在标签 Label3中显示该数的校验位值。程序运行界面如图所示。

  1. (1) 在设计程序界面时,要清空文本框中的显示内容,应修改该文本框的属性。
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Command1_Click( )

    Dim a As Integer, s As String

    Dim. n As Integer, t As Integer, v As Integer

    n= Val(Text1. Text)

    t=0

    s= “”

    Do While n >0

        a= n Mod 2

        n=n\2

        t=  ①  

        s=Str(a)+ s

    Loop

    v=t Mod 2

    Text2. Text =s

    Label3. Caption=校验位值: “+  ②  

    End Sub

     ② 

  3. (3) 运行该程序,在文本框Text1中输入22,击“计算”按钮,则显示的校验位值是
生物学家将DNA表示成关于“A、C、G、T”4个字符的字符串,为方便存储与传输,通常将字符“A、C、G、T”分别用“0、100、101、11”来代替编码,如:“CTAG”编码为“100110101”,小李编写了以下程序,界面如图所示将接收到的代码输入到文本框,点击“转换”按钮后,在标签Label1上显示由“A、C、G、T”字符组成的DNA序列,若转换时出现非“A、C、G、T”4个字符,则显示“接收有误”。请回答下列问题:


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

    Private Sub com _ Click( )

    Dim i As Integer, a As String, p As string

    s=Text1.Text

    n=Len (s)

    p= “”

    i=1

    f =True

    Do While i < = n

        If Mid(s, i, 1)= “0” Then

            p= p + “A”

            i=i+1

        ElseIf Mid(s, i+1, 1)= “1” Then

            p = p + “T”

                  ①     

        ElseIf Mid(s, i+2, 1) = “1” Then

            p = p+ “G”

            i=i+3

        ElseIf Mid(s,      ②     , 1)= “0” Then

            p = p + “C”

            i=1+3

        Else

            f=False

            i=i+n

        End If

    Loop

    If f Then Label1. Caption Else. Caption = “接收有误”

    End Sub

     ② 

  2. (2) 若接收到的代码是:000111,则显示的是
有如下VB程序段:

Dim a(1 To 5)As Integer

Dim res As string

n = 19: i = 0

Do While n < 0

  i = i + 1

  a(i) = n Mod 2

  n = n\2

Loop

程序运行后,数组元素a(1)~a(5)的值依次是(  )

A . 1,0,0,1,1 B . 1,1,0,0,1 C . 1,0,0,1,0 D . 1,0,1,0,0
下列程序执行后文本框Text1显示的内容是(  )

s = "Inter(R) Core(TM) i3-4130 CPU @ 3.40GHz"

flag = False:k = 0

For i = 1 To Len(s)

 ch = Mid(s, i, 1)

 If ch >= "A" And ch <= "Z" or ch >= "0" And ch <= "9" Then

  If Not flag Then

   k = k + 1

   flag = True

  End If

 Else

  flag = False

 End If

Next i

Text1.Text = Str(k)

A . 6 B . 9 C . 10 D . 18
小红编写了一个将5位以内的十六进制正整数转化成十进制数的VB程序,功能如下:在文本框Text1中输入一个十六进制正整数,单击“转换”按钮Command1,在标签Label3中显示结果。程序运行界面如图所示。

  1. (1) 要使窗体Form1标题显示“数制转换”,则需修改窗体的(单选,填字母:A .Font/B .Caption/C .BackColor)属性.
  2. (2) 实现上述功能的VB程序如下,请在划线处填入合适的代码。

    Private Sub Commandl_Click ()

    Dim x As String,ch As String

    Dim flag As Boolean,i As Integer,result As Long

    x =   ①   

    i = l

    result = 0

    flag = True

    ch = Mid(x,1,1)

    Do While i <=Len(x)And flag =True

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

        result = result * 16 + Val(ch)

      Elself ch>="A"And ch <="Z" Then

        result =result * 16 +(Asc(ch)- Asc("A")+10)

      ElseIf ch >="a" And ch <= "z" Then

        result = result * 16 +(Ase(ch)- Ase("a")+ 10)

      Else

        flag = False

      End If

      i = i + l

      ch =   ②   

    Loop

    If flag = True Then

      Label 3.Caption =Su(result)

    Else

      Label3.Caption ="输入错误"

    End If

    End Sub

  3. (3) 若在文本框Text 1中输人5+9,单击“转换”按钮后,标签Label3中显示的内容是(单选,填字母:A .14/B .E/C .输入错误)。
有VB程序段如下:

a(1)= 2:a(2)= 2:a(3)= 5:a(4)= 6:a(5)= 7

Key=2

i = 1:j =5:flag = False

Do While i<= j And Not flag

  m=(i+j)\2

  If Key = a(m)Then

    s = "找到第" + Str(m)+"个"

    flag = True:Exit Do

  Elself Key < a(m)Then

    j = m - 1

  Else

    i = m + 1

  End If

  s = Str(m)+ s

Loop

Labell.Caption =s

执行该程序段后,在标签Label1中显示的内容是(  )

A . 1 3 B . 3 1 C . 找到第1个 D . 找到第2个
生成0~9组成的10位随机密码,无重复数字出现的VB程序段如下:

s1=“0123456789”

n=Len(s1)

For i=1 To 10

    

    n=n-1

Next i

Text1.Text=s

方框中的代码由以下三部分组成:

①s=s+Mid(s1,x,1)

②x=Int(Rnd*n)+1

③s1=Mid(s1,1,x-1)+Mid(s1,x+1)

代码顺序正确的选项是(  )

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

Private Sub Form Load()

Dims As String

s=Str(Val(“2020”) +Len(“加油!”) )

Label1.Caption=s

End Sub

下列说法正确是(  )

A . 响应此事件的对象名肯定为“Form” B . “=”在VB中只能表示为赋值 C . 这段程序共涉及到2个对象 D . 运行该程序段后,Label1中显示“2020加油!”
有一个报数游戏,n个人排成一圈,游戏开始时规定个报数号m,然后从其中一个人开始按顺时针报数1,2,3,…,n,当某人报到的数为m的倍数时,即被淘汰,其他人继续游戏,直到最后。现用VB设计了一个程序,程序界面如下图所示。在文本框Text1中输入参加游戏的人数n,在文本框Text2中输入报数号m,单击“报数”按钮,即在列表框List1中显示每次被淘汰的人的顺序号。

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

Private Sub Command1_Click()

Dim n As Integer, m As Integer

Dim a(1 To 50)As Integer

n= Val(Text1. Text)

m= Val(Text2. Text)

For i= 1 To n

Next i

s=0;j=0

Do While s <n

t=0

Do While t <m

     ①   

t=t+ a(j)

Loop

a(j)=0

s=s+1

List1. Additem"第"+Str(s)+"次:"+Str(j)

Loop

End sub

  1. (1) “报数”按钮的对象名称是
  2. (2) 程序代码中,加框处有错,请改正。
  3. (3) 程序代码中,将①处语句补充完整。
  4. (4) 程序运行结束后,变量t的值是
有如下VB程序段:

Dim a(1 To 5) As Integer, i As Integer, c As Integer

a(1) = 2: a(2) = 1: a(3) = 3: a(4) = 4: a(5) = 5

c = 0

For i = 1 To 4

  If a(i) <= a(i+1) Then c = c + 1

Next i

Print c

该程序的运行结果是

运行以下VB程序,结果是

有如下VB程序段:

For i = 1 To 5

B(i)=a(i)

Next i

For i= 2 To 5

If a(i)+b(i-1)>a(i) Then b(i)=a(i)+b(i-1)

Next i

数组元素a(1)到a(5)的值依次为5,-1,9,2,-7,执行该程序段后,数组变量b(4)的值为(   )。

A . 4 B . 5 C . 11 D . 15
用VB编写寻找自然数中第n个素数的程序,具体功能如下:在文本框Text1中输入正整数n,单击“寻找”Command1按钮后,在Label1中显示结果。程序运行界面如下图所示。

  1. (1) 程序启动后,窗体的标题栏显示“寻找第n个素数”,Form_Load事件处理过程中应添加语句            (单选,填字母)
    A . Form1="寻找第n个素数" B . Form1.Name="寻找第n个素数" C . Form1.Caption="寻找第n个素数" D . Form1.Text="寻找第n个素数"
  2. (2) 请在下划线处填入合适的代码

    Private Sub Command1_Click()

      Dim n As Integer, i As Integer

      Dim s As Integer, x As Integer, f As Boolean

      n= Val(Text1.Text)

      f= False: s=0

      i=2

      Do While    ①  

        For x=2 To i\2

          If i Mod x=0 Then Exit For     ‘Exit For用于退出For循环

        Next x

        If    ②    Then

          s=s+1

          If  Then      ‘③

            Label1.Caption= "第"& Str(n) & "个素数为:"& Str()

            f= True

          End If

        End If

        i=i+1

      Loop

    End Sub

     ② 

  3. (3) 加框处代码有错误,请改正。
某算法的部分流程图如图所示。执行这部分流程,若输入x的值分别为16、9、8、7、6、5、4、1,则输出的结果是            

A . 6 B . 6.5 C . 7 D . 9.33
下列给变量名b的赋值语句中,赋值后变量a是整型的是(     )
A . a=0x16 B . a=8/4 C . a =1e-2 D . a ='1'
四个选项中Python语句没有错误的是(    )
A . n=int(input(“n=5”) B . PRINT(‘a=’,35) C . a,b=b,a D . a=3/{[45-2]*11}
下列变量中,符合Python变量命名规则的是(      )
A . in B . 5age C . _Sum D . money$
最近更新