vb程序 谁能详细解释一下下面代码的运算过程?

来源:百度知道 编辑:UC知道 时间:2024/06/04 11:55:06
Private Sub Command1_Click()
For j = 5 To 3 Step -1
Call s(n)
m = m + n
Next j
Print m, n
End Sub
Private Sub s(n)
n = 1 + 2 * n
End Sub
请帮我解释一下其运算方法或过程。3Q!

呃,(1)以J从5到3递减做三次循环
(2)n 初始值N(0)为0 所以第一次CALL S(N) 结果N1=1+2*N(0)=1,第二次N2=1+2*N1=1+2*1=3,第三次N3=1+2*N2=1+2*2=7
(3)m初始值M(0)为0,第一次M1=0+N1=1 第二次M2=M1+N2=1+3=4,第三次M3=M2+N3=4+7=11
所以结果为: 11,7
其实你只要把程序改成这样就很明了
Private Sub Command1_Click()
For j = 5 To 3 Step -1
Call s(n)
m = m + n
Print m, n '打印每次运算情况
Next j
End Sub
Private Sub s(n)
n = 1 + 2 * n
End Sub

For j = 5 To 3 Step -1
·循环从5到3,依次5,4,3
Call s(n)
调入函数S,第一次N=5,运算后N=1+2*5=11,第二次N=9第三次N=7
m = m + n
第一次循环M=11你没对M赋值,默认是0)第二次M=11+9,第三次M=20+7=27
Next j
Print m, n
输出M=27,N=7
End Sub
Private Sub s(n)
n = 1 + 2 * n
End Sub

Private Sub Command1_Click()
'名称为Command1的按钮被点击时,该过程将被执行
For j = 5 To 3 Step -1
'J作为循环变量,从5至3每循环一次递减1(5->4->3)
'以下为循环体
Call s(n)
'把n作为参数传递给过程S,并执行之,执行后参数n可能被过程s改变
m = m + n
'm=m+执行完过程S之后的n