1、下列 For-Next 循环的循环体的执行次数为(6 ) 。 For I=1 to 11 I=I+1 Next I 2、下列程序的输出结果是(0 ) 。 P=0 For I=1 to 4 p=p*I Next I Print p 3、下列程序段的输出为(30 ) 。 S=0 For I=1 to 10 I=I+1:s=s+I Next I Print s 4、以下程序段的输出结果是(4 ) 。 X=1:y=4 do until y>4 x=x*y:y=y+1 loop Print x" 5、以下程序段的输出结果是(5 ) 。 N=4:k=1:I=0 For I=1 to n k=k*I Next I Print I" 6、以下程序段的输出结果是( 24) 。 N=4:k=1:I=0 For I=1 to n k=k*I Next I Print k" 7、 以下程序段的输出结果是( 1 2 Num=0 While num<=2 num=num+1 Print num; Wend" 。 8、 以下程序段运行的结果为(25 ) 3) 。 Dim m(10) For I=1 to 5 m(I)=I*I Next I Print m(I-1)" 9 、以下程序段运行的结果为( 16) 。 Dim m(10) For I=1 to 5 m(I)=I*I Next I Print m(I-2)" 10 、假定有以下程序段 For I=1 to 3 For j=5 to 1 step –1 Print I*j Next j,I 则语句 Print I*j 的执行次数是(15 ) 。 2、设有程序: Option Base 1 Private Sub Command1_Click() Dim arr1, Max as Integer arr1 = Array(12, 435, 76, 24, 78, 54, 866, 43) = arr1(1) For i = 1 To 8 If arr1(i) > Max Then Next i Print "最大值是: "; Max End Sub 以上程序的功能是: 用Array函数建立一个含有8个元素的数组, 然后查找并输出该数组中元 素的最大值。请填空。 答案: Max Max=arr(i) 本程序的功能是利用随机数函数模拟投币,方法是:每次随机产生一个 0 或 1 的整数,相当 于一次投币,1 代表正面,0 代表反面。在窗体上有三个文本框,名称分别是 Text1、Text2、 Text3,分别用于显示用户输入投币总次数、出现正面的次数和出现反面的次数,如图所示。 程序运行后,在文本框 Text1 中输入总次数,然后单击“开始”按钮,按照输入的次数模拟 投币,分别统计出现正面、反面的次数,并显示结果。以下是实现上述功能的程序,请填空 Private Sub Command1_Click() Randomize n = CInt(Text1.Text) n1 = 0 n2 = 0 For i = 1 To r = CInt(Rnd*2) If r = Then n1 = n1 + 1 Else n2 = n2 + 1 End If Next Text2.Text = n1 Text3.Text = n2 End Sub 答案: n 1 在窗体上画两个名称分别为 Command1 和 Command2、标题分别为“初始化”和“求和”的命 令按钮。程序运行后,如果单击“初始化”命令按钮,则对数组 a 的各元素赋值;如果单击 “求和”命令按钮,则求出数组 a 的各元素之和,并在文本框中显示出来,如图所示。请填 空。 Option Base 1 Dim a(3,2) As Integer Private Sub Command1_Click() For i = 1 To 3 For j = 1 To 2 = i + j Next j Next i End Sub Private Sub Command2_Click() For j = 1 To 3 For i = 1 To 2 s = s + Next i Next j Text1.Text = End Sub 答案:a(i,j) a(i,j) s 1. 程序说明】 【 下面是一段计算数学表达式 1? Private Sub Form_Click() Dim n As Integer, p As Integer, s As Sigle, q As Integer, i As Integer n = InputBox("请输入 N 的值:") s = 0:p = -1:q = 1 For i = 1 To n p = -p: q = s = (2) (3) Print s End Sub (1) 2 3 4 n + 1 n 的程序。 + ? + … + (? 1 ) 2 ! 3! 4 ! n! 4. 【程序说明】以下程序产生 30 个两位随机整数、并按从小到大的顺序存入数组 a 中,再 将其中的奇数按从小到大的顺序在窗体中用紧凑格式输出。 Private Sub Form_Click() Dim a(30) As byte, i as Byte, j As Byte, m As Byte For i = 1 To 30: a(i) = For i = 1 To 29 For j = ⑵ If a(i) > a(j) Then m = a(i): End If Next j,i For i = 1 To 30 If ⑷ Next i End Sub ⑶ :a(j) = m ⑴ : Next i Then Print a(i); 程序 1. 请写出在 Text1、Text2、Text3 中依次输入 3、4、5 后,单击窗体时 Label1 的显示结 果。 Private Sub Form_Click() Dim a As Single, b As Single, c As Single a = Text1.Text: b = Text2.Text: c = Text3.Text Label1.Caption = Str(a * a + 2 * b * b + 3 * c * c) End Sub 答案:116 程序 2. 请写出在 Text1、Text2 中输入 96、40 后,单击 Command1 时窗体上的显示结果。 Private Sub Command1_Click() Dim a As Long,b As Long,r As Long a = Text1.Text: b = Text2.Text Do While b <> 0 r = a Mod b: a = b: b = r Loop Print a End Sub 答案:8 程序 3. 请写出在文本框中输入“12345” 个字符)并按回车键后标签控件上的显示结果。 (5 Private Sub Text1_KeyPress(KeyAscii As Integer) Dim a As String * 1, b As String, n As Byte, i As Integer If KeyAscii = 13 Then b = Text1.Text: n = Len(b) For i = 1 To n \ 2 a = Left(b, 1) b = Right(b, n - 1) + a Label1.Caption = Label1.Caption + b + Chr(13) + Chr(10) Next i End If End Sub 答案:23451 程序 7. 已知水平滚动条 HScroll1 的有关属性已经在属性窗口进行了如下的设置: HScroll1.Min:1 HScroll1.Max:10 HScroll1.SmallChange:1 HScroll1.LargeChange:2 HScroll1.Value:5 写出连续 3 次单击水平滚动条 HScroll1 右端箭头后,窗体上显示的结果。 Private Sub HScroll1_Change() Static y As Integer If HScroll1.Value Mod 2 = 0 Then y = y + HScroll1.Value Print "y="; y End If End Sub 答案:y=6 Y=14 End Sub 2. 【程序说明】窗体上有两个命令按钮:Command1(显示)和 Command2(退出) 。下列 程序运行时, “显示”按钮能响应, “退出”按钮不能响应;单击“显示”按钮后,在窗体上 显示一个用字符“*”组成的 5 层的金字塔,同时“显示”按钮不能响应, “退出”按钮能响 应。 Private Sub Command1_Click() Dim i As Integer, j As Integer For i = 1 To 5 Print Spc(5 - i); : Print "*"; : Next j For j = (1) Print Next i Command1.Enabled = False (2) End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Command1.Enabled=True (3) End Sub 3. 【程序说明】下列程序能在一定范围内找出所有素数,要求:文本框用来输入所要找的数 的范围,且只能先在 Text1(必须大于 1)输入结束后才能在 Text2(必须大于 Text1 中的数) 中输入,按回车键表示输入结束。在 Text2 输入结束后,才能单击“Command1” (确定)命 令按钮,并在窗体上输出该范围内的所有素数。 以上过程可重复。 Private Sub Form_Load() Command1.Enabled = False: End Sub (1) Private Sub Command1_Click() Dim n As Integer, m As Integer, i As Integer, p As Integer n = Val(Text1.Text): m = Val(Text2.Text) For i = n To m (2) Do While p< = Int(Sqr(i)) If i Mod p = 0 Then Exit Do Else p = p + 1 Loop If p > Int(Sqr(i)) Then (3) Next i Text1.Text = "": Text2.Text = "" Text1.Enabled = True: Text2.Enabled = False Command1.Enabled = False End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then If (4) Then Text1.Text = "" Else Text2.Enabled = True: Text1.Enabled = False End If End If End Sub Private Sub Text2_KeyPress(KeyAscii As Integer) If (5) Then If Val(Text2.Text) <= Val(Text1.Text) Then Text2.Text = "" Else Text2.Enabled = False Command1.Enabled = True End If End If End Sub