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

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

Private Sub Command1_Click()

Dim i As Integer, c As Integer, n As Integer

c = 0: n = 10

For i = 1 To 10 Step 2

    If n Mod i = 0 Then

       c = c * i

    Else

       c = c + i

    End If

Next i

Text1.Text = Str(c)

End Sub

下列VB程序运行时,单击命令按钮Command1后,在文本框Text1中输入“1024”,语句“a(i)=a(i+1)/2”共被执行了 次。

Private Sub Command1_C1ick ( )

Dim a(9) As Integer

a(9)=Val(Text1.text)

For i=8 to 1 step -2

a(i)=a(i+1)/2

Next i

Text2.text=str(a(i))

End Sub

如下图所示,该流程图所表示的算法违背了算法的有穷性特征,下列修改方法中,可以改正该错误的是(    )

A . 将①处改为 i ← 0 B . 将②处改为 s ≥ 0 ? C . 将③处改为 i ← i-2 D . 将④处改为 s ← s-i
阅读以下程序,完成后面的题目:

Private Sub Command1_Click()

        Dim  N  As  Integer

        Dim  S  As  Integer

        N = val(Text1.Text)    

        S = 0

          For i = 1 To N

             S = S +  i * (i + 1)

          Next i

        Text2.Text = str(S)

End Sub

  1. (1) 当程序运行时,在Text1文本框中输入4,单击按钮command1,结果在Text2输出
  2. (2) 在text1中输入10000,程序会出现什么错误?。(选填:要求对象/下标越界/无效的调用过程/溢出)
某算法的部分流程图如图所示。

执行这部分流程后,变量x,y的值分别是(  )

A . 7,9 B . 13,12 C . 9,10 D . 11,11
某算法部分流程图如图所示,执行这部分流程后,变量a和b的值分别为(  )

A . 5和6 B . 11和5 C . 6和5 D . -3和-4
数制转换。将一个K进制(k<=10)数x转换成十进制数可采用如下方法:主要方法是从右向左,依次取数x的各位数字,分别计算出该数从右边数起的第i位数字与k(i-1)的积,再将其累加,直到所有的数字取完为止。例如,将五进制数1231转换成十进制数的方法如下:

下列Visual Basic程序的功能是将K进制(k<=10)数x转换成十进制数。界面如图所示,在文本框Text1中输入数制k,在文本框Text2中输入数x,单击"转换"按钮(Command1)后,在标签Label4中输出转换的结果。

 

解决此问题的算法流程图如图所示,相应的Visual Basic程序如下:

Private Sub Command1_Click()

Dim b As Long, i As Integer, k As Integer, x As Long, t As Integer

b = 0: i = 1

k = Val(Text1.Text)

x = Val(Text2.Text)

t = x Mod 10

    Do While      ①    

        b =       ②     

        x = x \ 10

        t = x Mod 10

        i = i + 1

    Loop

Label4.Caption = Str(k) + "进制数" + Text2.text + "转换成十制数为" + Str(b)

End Sub

在程序①和②划线处,填入适当的语句或表达式,把程序补充完整:

  1. (1) 程序中①划线处应填入
  2. (2) 程序中②划线处应填入
根据以下程序,在文本框Text1中输入3,最后List1中输出的是(  )

Private Sub Command 1_Click()

Dim i As Integer

Dim t As Integer

Dim s As String

i = 1:t = 1:n = Text1.Text

List1.Clear

Do While t< = n

  s = s + “*”

  If i = t Then

  List1.AddItem s

  t = t + 1

  i=0

 End If

i = i + 1

Loop

End Sub

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

Const n=6

Dim a(1 To n)As Integer

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

Do While True

  For i=1 To n-1

      If a(i)>a(i+1)Then Exit For

  Next i

  If i < n Then

      For i=1 To n

        j=Int(Rnd * 6)+1

        t=a(j):a(j)=a(i):a(i)=t

      Next i

  Else

      Exit Do

  End If

Loop

数组中a(1)到a(6)的值依次为“56,34,48,87,65,96”,上述程序段执行后a(1)到a(6)的值依次为(  )

A . 96 87 65 56 48 34 B . 344856658796 C . 选项A和B都有可能 D . 选项A和B都不可能
某算法的部分流程图如图所示。执行这部分流程,若输出b的值为5,则输入a的值可能为(  )

A . 20 B . 25 C . 30 D . 50
若依次输入12、6,运行以下VB程序的结果是(  )

Dim a as string, b as string

a=inputbox(“a=”)

b=inputbox(“b=”)

if a>b then

   a=a+b

else

   b=b+a

endif

print a+b

A . 24 B . 30 C . 1226 D . 12612
下图所示的流程图表示的是分支结构。

分析并完善流程图

 

执行流程图,当输入x的值为4时,输出y的值为2,则菱形判断框中的条件可能为(    )。

A . x>3 B . x>4 C . x<=4 D . x<=5
运行以下VB程序,输出结果是

Private Sub Command1_Click()

Dim s As Integer, x As Integer

s = 0

x = 20

For x = 20 To 1 Step -3

    s = s + x

Next x

Print x

End Sub

数学老师布置了一道题目“求1*2*3*……*100”,如果用计算机编程的方法求解,应该选择的程序结构是(     )。
A . 顺序结构 B . 选择结构 C . 循环结构 D . 树型结构
下列哪种结构,可是实现计算机自动完成重复性的工作(   )。
A . 循环结构 B . 选择结构 C . 顺序结构 D . 组合结构
以下结构不属于算法基本控制结构的是(    )
A . 顺序结构 B . 分支结构 C . 循环结构 D . 树形结构
算法有三种基本控制结构,分别是顺序结构、选择结构和循环结构。
程序的基本结构不包括(    )。
A . 顺序结构 B . 逻辑运算结构 C . 选择结构 D . 循环结构
如下图片中体现了程序设计的哪种主要结构(    )。

A . 顺序结构 B . 树型结构 C . 分支结构 D . 循环结构
最近更新