注册 登录
编程论坛 VB6论坛

函数过程

弗朗明哥 发布于 2019-12-24 15:44, 2856 次点击
Function aa(x As Integer) As Long
z = x ^ 2 '过程一
aa = z

End Function
Function ii(n As Integer) As String
y = aa(n) ^ 2 '过程二
ii = y
End Function
Function ll(l As Integer) As Long
h = ii(l) + aa(l) '过程三
ll = h
End Function


Private Sub Command1_Click()
Dim n As Integer
Print aa(2)
Print ii(2)
Print ll(2)
End Sub
这个可以算作过程的递归吗?
子过程可以怎样使用?
4 回复
#2
风吹过b2019-12-25 19:58
这个真不算递归。递归要求调用自己。

如比输入数字N,求从1+...+N 的和
Function Nj(n as long) as long
if n>1 then
   Nj=n+Nj(n-1)
else
   Nj=1
end if
End Function

Private Sub Command1_Click()
  print Nj(5)
end sub

------------------
子过程,这个只是兼容历史的东西,使用 gosub 调用的,使用 Return 返回,只能在一个过程中使用,限制很多,不建议过多去了解了。
#3
弗朗明哥2019-12-27 08:28
回复 2楼 风吹过b
我在学子过程的时候他说子过程是为了减少亢余的,可是我发现子过程在应用时候条件限制颇多,反倒很麻烦的感觉,那么它到底是为了什么存在呢?
#4
风吹过b2019-12-28 23:16
子程度
1 封装具体功能,方便组合代码
2 重复使用代码,提高代码复用
3 大工程,拆分后,多人协同编程
………

练习的小程序,尽量按功能划分
一些特定的功能,建立专用 bas 文件,在多个工程之间使用。
如读写 ini 文件,有对应的api ,但因字符串格式问题,vb 需要针对处理,就可以封装成一个过程,工程里直接调用,而不每次都写 字符串处理,再调用api 。
#5
好吧好吧2020-01-11 01:04
1