Function f(n As Integer) As Integer
If n <= 1 Then
f = 1
Else
f = n + f(n - 1)
End If
End Function
Private Sub Command1_Click()
Dim y As Long
Text1.Text = ""
y = f(3)
Label1.Caption = Str(y)
End Sub
Function f(n As Integer) As Long
Text1.Text = Text1.Text + Str(n)
If n <= 1 Then
f = 1
Else
f = f(n - 1) + 2
End If
End Function
程序运行时,单击命令按钮Command1后,文本框Text1中显示的内容是( )
Private Sub Command1_Click()
Text1.Text = f(3)
End Sub
Function f(x As Integer) As String
If x = 1 Then f = 1 Else f = f(x - 1) + 2
End Function
运行程序并点击按钮Command1后,文本框Text1中显示的内容是( )
Private Sub Command1_Click()
Dim a As Integer, b As Integer
a = 5: b = 3
Print work(a, b)
End Sub
Function work(x As Integer, y As Integer) As Integer
If (x < y) Then
work = 0
Exit Function
End If
If (y = 0) Then
work = 1
Exit Function
End If
work = work(x - 1, y - 1) + work(x - 1, y)
End Function
Do While i <= 5
If i = 1 Or a(i - 1) <= a(i) Then i = i + 1
Else
t = a(i): a(i) = a(i - 1): a(i - 1) = t i = i - 1
End If Loop
数组元素a(0)到a(8)的初始值依次为“0,4,7,3,5,1,8,6,2”。执行该程序段后,数组元素a(1)到a(8)的值分别是
Private Sub Commandl_Click()
Text1.Text = f(3)
End Sub
Function f(x As Integer)As String
If x = 1 Then f= 1 Else f = f(x-1)+ 2
End Function
运行程序并点击按钮Command1后,文本框Text1中显示的内容是( )
Dim a(1 To 10)As Integer
Function find(L As Integer,R As Integer,key As Integer)
As Integer
If L>R Then
find = 0:Exit Function
Elself a(L)>= key Then
find = L:Exit Function
Else
①
If a(m)<key Then
find = find(M + 1,R,key)
Elself ② Then
find = find(L,M - 1,key)
Else
find = M
End If
End If
End Function
Private Sub Command1_Click()
Dim k As Integer
Dim p As Integer
k = Val(Text1.Text)
③
Text2.Text = a(p)
Text3.Text = Str(p)
If p = 0 Then
Text2.Text = "无"
End If
End Sub
Private Sub Form_Load()
a(1)= 3:a(2)= 3:a(3)= 3:a(4)= 4:a(5)= 7:a(6)
=7:a(7)= 10:a(8)= 13:a(9)= 19:a(10)= 21
For i= 1 To 10
Listl.AddItem Str(a(i))
Next i
End Sub
①②③
Dim a(1 To 10)As Integer
Function find (L As Integer, R As Integer, key As Integer) As Integer
If L>R Then
find=0:Exit Function
ElseIf a(L)>=key Then
find=L: Exit Function
Else
If a(m)<key Then
find=find(M+1, R, key)
Else If Then
find=find(L, M-1, key)
Else
find=M
End If
End If
End Function
Private Sub Command1_Click( )
Dim k As Integer
Dim p As Integer
k=Val(Text1.Text)
Text2.Text=Str(a(p))
Text3.Text=Str(p)
If p=0 Then
Text2.Text="无"
End If
End Sub
Private Sub Form_Load( )
a(1)=3: a(2)=3: a(3)=3: a(4)=4: a(5)=7: a(6)=7
a(7)=10: a(8)=13: a(9)=19: a(10)=21
For i=1 To 10
List1.AddItem Str(a(i))
Next i
End Sub
Function f(i As Integer)
If i=1 Then
f=2
Else
f=2 * 10^(i-1)+f(i-1)
End If
End Function
Private Sub Command1_Click()
Dim n As Integer,s As Integer,i As Integer
n=Val(Text1.Text)
s=0
For i=1 To n
s=s+f(i)
Next i
Labell.Caption=Str(s)
End Sub
若在Textl中输入5,则Labell中显示的内容为( )
将数组a转换成数组c的方法描述如下:
①将数组a中的元素依次存储到数组c中,把当前数组c看作第一层;
②把第一层中的各元素进行如下处理:奇数项值不变,偶数项的值更新为自己与自己前一项的和,将更新后的数组元素看作第二层;
③把第二层中的各元素,按上述方法进行同样操作,更新后的数组元素看作第三层;
④以此类推,直到当前层中仅有一项为止。
例如x=11时,转换过程如图所示:
借助数组c,可快速计算出数组a中前x项的和.例如,数组a中前11项的和,可由表达式c(11)+c(10)+c(8)得到.表达式具体分析过程如下:
②表达式第一项为c(11);
②将下标11转换成二进制数1011,计算该二进制数最右边的“1”所对应的权值,再用11减去此权值得到10,即表达式第二项为c(10);
③按上述方法继续操作,直到计算结果等于0为止。
小龙依据上述方法设计了如下vb程序.请回答下列问题:
Dim n As Integer
Dim a(1 To 1000) As Long, c(1 To 1000) As Long
Private Sub Form_Load()
'读取n个数据,并存储到数组a中(代码略)
End Sub
Private Sub Command1_Click()
Dim i As Integer, j As Integer, k As Integer, space As Integer
For i = 1 To n
c(i) = a(i)
Next i
k = 2 '当前层第一个偶数项的位置
space = 1 '当前层偶数项与前一项的间距
Do While k <= n
For i = k To n Step k
c(i) = c(i) + c(i - space)
Next i
k = k * 2
①
Loop
End Sub
Private Sub Command2_Click()
Dim x As Integer, sum As Long
x = Val(Text1.Text): sum = 0
Do While x <> 0
sum = sum + c(x)
②
Loop
Text2.Text = Str(sum)
End Sub
Function lowbit(x As Integer) As Integer
Dim temp As Integer
temp = x: lowbit = 1
Do While ③'
lowbit = lowbit * 2
temp = temp \ 2
Loop
End Function
Dim i As Integer,Sum As Integer
Dim a(1 To 11)As Integer
i=10:a(11)=49
Do While i>=1
a(i)=a(i+1)-1
If a(i)Mod 3=0 Then Sum=Sum+a(i)
i=i-1
Loop
Text1.Text=Str(Sum)
该程序段运行后,文本框Text1中显示的内容是( )
阅读下列程序。
def hanno(n,s,m,t):
if n==1:
print(s,'-->',t)
else:
hanno(n-1,s,t,m)
print(s,'-->',t)
hanno(n-1,m,s,t)
#主程序
n=int(input('请输入汉诺塔的层数:'))
hanno(n,'A','B','C')
input("运行完毕,请按回车键退出...")
下列说法错误的是( )
阅读下列程序。
def hanno(n,s,m,t):
if n==1:
print(s,'-->',t)
else:
hanno(n-1,s,t,m)
print(s,'-->',t)
hanno(n-1,m,s,t)
#主程序
n=int(input('请输入汉诺塔的层数:'))
hanno(n,'A','B','C')
input("运行完毕,请按回车键退出...")
下列说法错误的是( )
Function f(n As Integer) As Long
If n<=1 Then
f= 1
Else
f=n* f(n-1)
End If
End Function