算法的控制结构 知识点题库

有如下的VB程序段:

  s =0

  i =0

   Do While i<=11

      i=i+3

      s=s+i

   Loop

程序执行结束时,变量s的值为(   )

A . 9 B . 18 C . 13 D . 30
有如下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=3 To 5

If a(i-2)+a(i-1)=a(i) Then c=c+1

Next i

Text1.Text=Str(c)

该程序段运行后,文本框Text1中显示的内容是(   )

A . 1 B . 2 C . 3 D . 4
某流程图如图所示。执行该算法,下面说法错误的是(   )

 

A . s 的值最终为-5 B . 语句“k=k+1”共执行了 4 次 C . 语句“s≤0”共判断了 5 次 D . 该算法转成 VB 代码时能用 Do 循环语句实现
某算法的部分流程图如图所示。执行该流程后,输出i,k的值分别是(  )

A . 102,9 B . 100,8 C . 102,8 D . 100,9
某算法的部分流程图如图所示,执行这部分流程后,输出a,b的值分别是(  )

A . 5,8 B . 4,8 C . 5,11 D . 4,11
某算法的部分流程图如图所示。执行这部分流程,则输出 x 的值是(  )

A . 50 B . 55 C . 60 D . 65
某算法的部分流程图如下图所示,若输入的 X 依次为为10、25、21、3、50、1、60、45、20、0,执行这部分流程后,输出min的值是(  )

A . 21 B . 25 C . 0 D . 60
如下VB程序段:

x=Text1.Text

p=0

For i=1 to Len(x)

 If Mid(x,i,1)=“a” Then p=p+1

Next i

Print p

若程序运行时,在文本框Text1中键入“Are you happy”,则运行结果是(  )

A . 0 B . 1 C . 2 D . 11
下列程序段的执行结果为(  )

   Dim A(10),B(5)

   For i = 1 To 10

       A(i) = i

       Next i

   For j = 1 To 5

       B(j) = j * 20

   Next j

   A(5) = B(2)

   Print "A(5)=";A(5)

A . A(5)=5 B . A(5)=10 C . A(5)=20 D . A(5)=40
某算法部分流程图如图所示。执行这部分流程,依次输入:22、29、38、47、16、33、37、28、55、18、28。则输出值是(  )

A . 2 B . 4 C . 6 D . 8
编写“二进制数转换为十六进制数”程序,实现如下功能:在文本框Text1输入一个二进制数,单击“转换”按钮 Commandl,将二进制数转换为十六进制数并在文本框Text2中显示。程序运行界面如图所示。

  1. (1) 设计如图所示的程序界面,至少要使用个类(填数字)。
  2. (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。

    Private Sub Command1_Click( )

    Dim s1 As String, s2 As String

    Dim i As Integer, x As Integer

    Const code=“0123456789ABCDEF”

    S1=Text1,Text:s2=“”

    Do While Len (s1) Mod 4<>0

        S1=“0”+s1

    Do While i < Len(s1)

        x= x*2+Val (Mid (s, i, 1))

        i=i+1

        If   ①   Then

        s2=s2+ Mid (code, x+1,1)

          ② 

        End If

    Loop

    Text2 Text= s2

    End Sub

     ② 

  3. (3) 若文本框Text1中输入的内容为“101101”,单击“转换”按钮后,文本框Text2中显示的内容是
编写VB程序,实现如下功能:在文本框Text1输入一个字符串,单击命令按钮Command1,判断这个字符串是不是回文字符串(回文字符串就是一个对称的字符串,如“abcba”和“abccba”都是回文字符串,“abc”不是回文字符串)。在文本框Text2中显示结果,是回文字符串显示“yes”,否则显示“no”。程序运行效果如图所示。

  1. (1) 要使命令按钮 Command1的标题变为“判断”,则应该修改该对象的属性。
  2. (2) 为实现上述功能,请在划线处填入合适的代码。

    Private Sub Command1_Click( )

    Dim st As String

    Dim i As Integer, j As Integer

    Dim flag As Boolean

       ①  

    J= Len (st)

    i=1

    flag=True

    Do While flag And (i < = j)

        If Mid(st,i,1)= mid (st,j,1) Then

            i=i+1

               ②   

        Else

            flag=False

        End If

    Loop

    If   ③   then

        Text2. Text = “yes”

    Else

        Text2. Text = “no”

    End If

    End Sub

     ② ③ 

下列程序执行后文本框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
某数据压缩方法描述如下:

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

下图描述的算法执行结果是

某算法的部分流程图如图所示,若输入的n值为 95,最终输出的S值为(  )

A . 00010111 B . 11010000 C . 11100000 D . 00000111
某算法的部分流程图如图所示。执行这部分流程后,a,b的值分别是(  )

A . 3,0 B . 6,0 C . 3,3 D . 6,3
某 VB 段程序如下:

s = Text1.Text

For i = 1 To Len(s)

      c = Mid(s, i, 1)

               

      s1 = c + s1

Next i

Text2.Text = s1

程序运行时,文本框Text1中输入“ABC123xyz”,文本框Text2中输出“baz321edc”,则下划线处的代码是(    )。

A . B . C . D .
分析并完善程序。

以下是计算s=1+6+11+…+101的程序代码,请完善程序。

Dim s As Integer

Dim i As Integer

s=0

For i=1 To 101 Step

   s=

Next i

Print s

某算法的部分流程图如图所示。执行这部分流程后,输出sum,i的值分别是(    )

A . 28,6 B . 60,6 C . 28,5 D . 60,5
最近更新