4.下段程序执行的输出结果是 。
S=0:T=0:U=0 For i=1 To 3 For j=1 To i For K=j To 3 S=S+1 Next K T=T+1 Next j U=U+1 Next i Print S;T;U
A.3 6 14 B.14 6 3 C.14 3 6 D.16 4 3
5.下程序段循环结构执行后,输出i的值是:
A.25 B.10
C.11 D.因为y的初值不知道,所以不确定
For i=1 to 10 step 2 y=y+i Next i Print i;
6.下列程序段的循环结构执行过程中共循环了 次。
For i% = 1 To 10 Step 2 y = y + i Next i
A.3 B.4 C.5 7.以下程序循环的执行次数是 。
a=0
Do while a<=10 a=a+2 loop
D.6
A.4 三、填空题
B.5 C.6 D.7
1. 由下列循环语句控制的循环次数是 。
For k=25 to 0 step-2 k=k-2 Next k
2. 循环结构的三种语句是: 、 、 。
3. 写出For i= -12 To –33 Step –4 所进行的循环后,i的值是 。 四、程序阅读题
1.写出以下程序在单击窗体后的输出结果。
Private Sub Form_click() mun=4
while mun<=3
mun=mun+1 Print mun Wend Print mun End Sub
2.程序运行时单击 Command1后,输入12345678,写出窗体上的输出结果。
Private Sub Command1_Click() Dim x As Long, y As String x = InputBox(\输入一个数\ Do While x <> 0 y = y & x Mod 10 y = x Mod 10 & y x = x \\ 100 Print y Loop End Sub
3.写出程序运行后,单击窗体Form1上显示的内容。
Private Sub Form_Click()
Dim i As Integer, j As Integer, y As Double i = 0 y = 1
Do While i <= 3
For j = 1 To (i + 1) y = y * j Next j
Print \ i = i + 1 Loop End Sub
4. 写出以下程序在单击窗体后的输出结果。
Private Sub Form_click() Dim k,a,b as integer a=20 b=2 k=2
Do While k<=a b=b*2 k=k+5 Loop Print b End Sub
5. 写出以下程序在单击命令按钮后的输出结果。
Private Sub Form_click() k=0
for i=1 to 5 for j=1 to 3
if j mod 2<>0 then k=k+1 end if k=k+1 next j next i Print k End Sub
6.Private Sub Form_Click()
Dim i As Integer, j As Integer Dim star As String star = \ For i = 1 To 6 For j = i To 6 Form1.Print star; Next j Form1.Print Next i End Sub
写出程序运行后,单击窗体后,Form1上输出结果为。 五、程序填空题
1. 下面程序的功能是:计算f=1-1/(2*3)+1/(3*4)-1/(4*5)+??+1/(19*20)。
Private Sub Form_Click()
Dim f As Single, i As Integer, sign As Integer ⑴ f = 1 ⑵ ⑶
f = f + sign / (i * (i + 1)) Next i
Print \End Sub
2.下面的程序是在一个字符串变量中查找\,并用消息框给出查找结果的报告:没有找到或找到的个数,程序如下:
Private Sub Form_Click() Dim str1 As String Dim sum As Integer Dim i As Integer
str1 = InputBox(\请输入一个字符串\ length = ⑴ i = 1
' 在字符串str1中查找\' 字符串长度 ' 查到的个数
Dim length As Integer
sum = 0
Do While i <= ⑵ If ⑶ = \ sum = sum + 1 End If i = i + 1 Loop
If ⑷ Then MsgBox \没有找到!\ Else
MsgBox \找到了\个\ End If End Sub
3.找出1个在1~1000中被7除余5、被5除余3、被3除余2的数(用Exit For)。
Private Sub Form_Click() Dim i As Integer
For i = 5 To 1000 Step 7 If ⑴ Then Exit For Next i
If ⑵ Then Print i End Sub
4.以下程序的功能是:从键盘输入若干个学生的考试成绩,统计并输出最高分和最低分,当输入负数时结束输入,输出结果。请填空。
Private Sub form_Click() Dim x,amax,amin as single X=inputbox(”enter a score”) amax=x amin=x
do while ⑴ if x>amax then amax=x end if
if ⑵ then amin=x end if
x=inputbox(“enter a score”) loop
print “max=”;amax;”min=”;amin End Sub
5.现面的程序功能是:求Fabonia数列的第17个数是多少?第几个数起每个数都超过1E+8?
Public Sub Form_Click()
从第
四个数起,每个数都是它前面的两个
' Fabonia数列的前三个数是0,1,2,
数之和
Dim last_one As Long,last_two As Long,this_one As Long,i As
Integer
last_one = 1 last_two = 2 i = 4 Do
this_one = last_one + last_two ⑴ ⑵ If i = 17 Then
Print \ End If
⑶
Loop While this_one <= 100000000# Print \⑷ ; \End Sub
' 数列的第二个数 ' 数列的第三个数 ' 从数列的第四个数求起
6.以下程序是验证100至200之间的所有偶数都能分解为两个素数之和。
Private Sub Form_click() Dim n As Integer,m As Integer Dim i As Integer,j As Integer For n=100 to 200 Step 2 For m=2 To (n/2) For i=2 To Int(Sqr(m)) If m Mod i=0 Then Exit For Next i
If ⑴ Then For j=2 To ⑵
If(n-m) Mod j=0 Then Exit For Next j
If j>Int (Sqr(n-m)) Then Print n,m,n-m
End If
Next m
Next n End Sub
六.编程题
(1)编程序计算:1!+3!+5!+….+11!
(2)输入两个正整数m和n,求其最大公约数a和最小公倍数b,计算最大公约数a的方法如下:先算出m/n 余数r,若r等于0,则n为最大公约数;若r不为0,则把原来的n值作为新的m值,把原来的r值作为新的n值,继续运算。这样辗转相除,直到r为0,此时的n值为最大公约数a,最小公倍数则可用原始m与n值的积除以最大公约数求得。
(3)打印由数字组成的如下所示金字塔图案 1 222 33333