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

某电信部门规定:拨打市内电话时,如果通话时间不超过3分钟(含3分钟),则收取通话费0.2元,如果通话时间超过3分钟,则超过部分以每分钟0.1元收取通话费(通话时间为整数)。下面是计算通话费用的程序界面和程序,请认真分析并回答问题。

  1. (1) 在设计程序界面时,为添加“确定”按钮,应使用如上右图所示“控件工具箱”中的(填相应编号)添加标签控件。要让Command1显示为“确定”,需要在属性面板中修改的值为“确定”。
  2. (2) Command1_Clik事件过程如下,并请填写程序空白处。

        Private Sub Command1_Click()

        Dim x as  '定义 x 为整型

        x = Val(Text1.Text)

          Then  '条件语句

         Text2.Text=

    Else

         Text2.Text = Str(0.2 + 0.1 * (x - 3))

         End If

         End Sub

  3. (3) 这段程序属于结构程序设计。(填:顺序、选择或循环)
对输入的两个整数a和b,找出其中的较大者赋给c并输出。解决该问题的算法流程图如图所示,流程图中虚线框部分的内容可为(   )

A . B . C . D .
有如下程序段:

Dim a(1 To 9) As Integer, m As Integer, k As Integer, i As Integer

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

m = 1: k = 1

For i = 2 To 9

    If a(i) > a(i - 1) Then

        k = k + 1

        If k > m Then m = k

    Else

        k = 1

    End If

Next i

Text1.Text = Str(m)

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

A . 4 B . 6 C . 8 D . 9
现要求编写VB程序,界面如图1所示。程序功能如下:在文本框Text1中输入身份证号码,单击“识别”按钮Command1,在标签Label3中输出对应的性别。

具体方法为:(1)若身份证号为15位,则根据第15位数字来判断,若为偶数则性别“女”,否则为“男”;(2)若身份证号为18位,则根据第17位数字来判断,若为偶数时则性别为“女”,否则为“男”。

图1

  1. (1) 应用程序界面设计时,为添加“识别”按钮,应使用图2中“控件工具箱”中的(填写相应编号),并修改图3“属性窗口”中,将属性值设置为“识别”

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

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

       x = Text1.Text

       n = Len(x)

       If n = 15 Then

          s = Mid(, Len(x), 1)

          If Val(s) Mod 2 = 0 Then

             Text2.Text = "女"

          Else

             Text2.Text = "男"

          End If

       Else

          s=Mid(x, 17, 1)             

          If  Then   

             Text2.Text = "男"

          Else

             Text2.Text = "女"

          End If

       End If

单击窗体后,文本框Text1、Text2中显示的内容是(  )

Private Sub Form_Click(  )

Dim x as Integer, n as Integer

 x=1

 n=0

Do While x < 20

    n=n+1

    x=x * 3

Loop

Text1.Text=Str(x)

Text2.Text=Str(n)

End Sub

A . 27 3 B . 3 27 C . 20 3 D . 3 21
某算法的部分流程图如图所示。执行这部分流程,依次输入“3,6,5 ,0,-1,-2”,则输出s的值是(   )

图片_x0020_10

A . 8 B . 10 C . 14 D . 16
【加试题】有如下VB程序段:

    max=10 000

    For i=1 To 10

        s=0

        For j=i To 10

          s=s+a(j)

          If s>max Then max=s

        Next j

Next i

已知数组a(1)到a(10)的原始数据为6,-6,8,-7,7,2,-2,-1,-2,4。程序执行后,变量max的值为(  )

A . 9 B . 10 C . 27 D . 4
有如下Visual Basic程序:

Private Sub Command1_Click()

  Dim sum As  Double, x As Double

  sum=0

  n=0

  For i=1 To 5

     x=n/i

     n=n+1

     sum=sum+x

  Next i

End Sub

该程序计算了一个表达式的值,这个表达式是(  )

A . 1/2+2/3+3/4+4/5 B . 1+1/2+2/3+3/4 C . 1+1/2+2/3+3/4+4/5 D . 1+1/2+1/3+1/4+1/5
某算法的部分流程图如图所示,执行这部分流程,输出m,n的值分别为(   )

A . 1,14 B . 1,20 C . 6,14 D . 7,20
编写“输出所有子串”程序,实现如下功能:在文本框Text1中输入字符串,在列表框List1中输出该字符串的所有子串并输出子串的总数。程序运行界面以及工程资源窗口如下图所示。

  1. (1) 观察上图,该程序中的窗体对象名为

    (单选,填字母: A .求所有子串/  B.Forml /  C .子串 .frm /  D .工程 l . vbp )

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

    Private Sub Command 3_ Click ()

    Dim s As String , sum As Integer

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

    s = Text1. Text

    t = Len ( s ) : sum = 0

    For i = 1 To t

        For j = i To t

            List1.Addltem

            sum=sum + 1

        Next j

    Next i

    List1. Addltem "总共有"+ + "个子串"

    End Sub

  3. (3) 如果输入的字符串是“abcdefg”,则输出中有 个子串
有如下VB程序段:

    Dim a(1 To 5) As Integer

    a(1) = 1

    For i = 2 To 5

      a(i) = Int(Rnd() * 3) + 3

    Next i

    For i = 2 To 5

      If a(i) Mod 2 = 1 Then

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

      Else

        a(i) = a(i) / 2

      End If

    Next i

执行程序后,a数组各元素可能是(  )

A . 1,2,6,10,13 B . 1,5,8,15,22 C . 1,4,9,2,7 D . 1,2,5,11,1
某算法的部分流程图如图所示,输出值s为(  )

A . 4 B . 9 C . 16 D . 25
某算法的部分流程图如图所示。依次输入3、3、4、1、6,执行这部分流程后,输出s、i的值分别是(  )

A . 5,2 B . 15,2 C . 6,2 D . 14,3
如下图1所示,最外圈方格中已有数字0。机器人小艾相据图2所示的算法从数字1所在方格出发,沿箭头所指方问前进,并在空白方格中写入数字,方格x中写入的数字是(  )。

A . 16 B . 15 C . 12 D . 11
某算法的部分流程图如图所示。执行这部分流程,若输入数据依次为 6,4,2,5,3,0。则输出s的值为(    )。

A . 10 B . 12 C . 16 D . 20
阅读下列程序,写出运行结果。运行输出结果是:

Dim Sum As Long

Dim i As Long

Sum=0

i=0

Do While Sum<10

 i=i+1

 Sum=Sum+i*i

Loop

Print Sum

下列哪种基本控制结构,可是实现如果a>b的判断(     )。
A . 组合结构 B . 选择结构 C . 循环结构 D . 顺序结构
下图从左至右分别表示程序的三种基本控制结构(    )

A . 顺序结构、分支结构、选择结构 B . 顺序结构、选择结构、循环结构 C . 顺序结构、情况结构、选择结构 D . 模块结构、分支结构、循环结构
程序的基本结构有顺序结构、选择结构和
关于算法的几种基本结构下列说法错误的是(      )
A . 循环结构中的步骤必定会被执行一次 B . 对于分支结构来说,必定有一个分支被执行,其它的分支则被忽略 C . 算法的基本结构分顺序结构、分支结构和循环结构三种 D . 顺序结构中的每个步骤一定会被执行一次,而且仅被执行一次