辗转相除法,又名欧几里德算法(Euclidean algorithm),是求两个正整数最大公约数的算法。它是已知最古老的算法之一,其可追溯至3000年前。用辗转相除法来得一个分数的约分后的最简形式的算法如下:

第一步:设两数为a、b,且令a>b;
第二步:a÷b,令r为所得余数,若r=0,算法结束,b 即为最大公约数;若r>0则a←b,b←r,并返回第二步;
第三步:即为约分后的最简形式。
编写VB程序,程序运行界面如第6题图1所示,请根据算法将下列程序补充完整。
Private Sub Command1_Click()
Dim a As Integer, b As Integer, r As Integer 'a、b为分子和分母,r为最大公约数
a = Val(Text1.Text)
b = Val(Text2.Text)
If b =" 0" Then c = MsgBox("分母不能为0"): Exit Sub
'如果分母为0,则提示“分母不能为0”并退出该过程
r = (3分)
Text3.Text =" Str(a" / r)
Text4.Text =" Str(b" / r)
End Sub
Function gys(ByVal m As Integer, ByVal n As Integer) As Integer
'gys函数用于求最大公约数
Dim s As Integer
If m < n Then
t =" m:" m =" n:" n = t
End If
Do While n <> 0
s =" m" Mod n
m = n
n = s
Loop
(3分)
End Function
当前题号:1 | 题型:填空题 | 难度:0.99
国内特快专递每200克为一个计费单位,200克以内22元,200克以上每续重200克(不足200克以200克计算)8元,现在要编写一个程序输入包裹重量自动计算出价格。解决上述问题,最合适的算法是( )
A.解析算法B.枚举算法C.排序算法D.递归算法
当前题号:2 | 题型:选择题 | 难度:0.99
下列VB程序模块可以计算正整数n阶乘的值。
Function f(n As Integer) As Integer
If n < =" 1" Then
f = 1
Else
f =" n" * f(n - 1)
End If
End Function
该模块采用的算法是(   )
A.枚举B.查找C.排序D.递归
当前题号:3 | 题型:选择题 | 难度:0.99
某VB程序的一个事件过程如下:
Private Sub Commandl_Click()
Dim i As Integer,j As Integer.s As String
Dim a(1 To 5) As Integer
List1.Clear
Randomize
For i="1" To 10
j="Int(Rnd*6)+1"
a(j)=a(j)+1
Next i
For i="1" To 5
s=Str(a(i))
List1.AddItem s
Next i
End Sub
程序运行时,单击按钮Commandl后弹出如图所示的错误提示。出现错误的语句是(  )
A.j=Int(Rnd*6)+1B.a(j)=a(j)+1
C.s=Str(a(i))D.List1.AddItem s
当前题号:4 | 题型:选择题 | 难度:0.99
下列VB程序运行时,单击命令按钮command1后,在列表框 list1 中输出的是_______________
Private Sub Command1_Click()
Dim I  as integer
For  i=1  to 10  step 2
If  i>=5  then
List1.additem str(i-3)
Else
List1.additem str(i)
Next i
End Sub
当前题号:5 | 题型:填空题 | 难度:0.99
下列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
当前题号:6 | 题型:填空题 | 难度:0.99
以下语句运行后变量c的值是( )
a=”2009”
b=”2008”
c=Val(a)+Val(b)
A.2009+2008B.4017C.”20092008”D.20092008
当前题号:7 | 题型:选择题 | 难度:0.99
下列程序的功能是:随机产生10个1—100之间的正整数,按从小到大排序并输出。为了实现这一目标,程序中划线处应填入的合适语句是:
______________ _
__________ _____
Const n=10
Dim i As Integer,j As Integer,t As Integer
Dim a(1 to 10) As Integer
For i="1" to 10
____________
Next  i
For i="1" to n-1
For j="i+1" to n
If  ________ Then
k=a(i):a(i)=a(j):a(j)=k
End If
Next j
Next i
For i="1" To n
Print a(i)
Next i
当前题号:8 | 题型:填空题 | 难度:0.99
下面程序的功能是:计算表达式1+3+5+…+(2n-1)的值,程序运行时在文本框Text1中输入n的值,计算结果在文本框Text2中输出。则程序中加框处的语句应分别更正为:
(1)__________________
(2)__________________
Private Sub Command1_Click()
Dim sum As Long,i As Integer,n As Integer
sum = 0
n =Val( Text1.Text)
For i =" 1" To 2 * n - 1 Step 2
sum =" sum" + 2
Next i
Text2.label=Str(sum)
End Sub
当前题号:9 | 题型:填空题 | 难度:0.99
如下程序段运行后,k的值是   
Dim d(1 to 5)  As Integer
k=0
For i="1" to 5
d( i )=i
If d( i )>k Then k="d(" i )
Next i
Print k
当前题号:10 | 题型:填空题 | 难度:0.99