回 帖 发 新 帖 刷新版面

主题:QB的一些函数问题

问下DEF函数可不可以嵌套调用..
function函数可不可以嵌套定义....
类似的子程序那些也说明下..谢谢!

回复列表 (共3个回复)

沙发

DEF好像不可以嵌套使用啊!!
FUNCTION ,SUB,等函数可以递归使用啊!
自己调用自己啊!

板凳


对不起DEF我不知道,但SUB 中不能有SUB,FUNCTION嵌套 !我在书上找的:函数与子程序的嵌套和递归调用中有个过程的嵌套调用,它的意义是在一个过程(子程序或函数)执行的过程中又调用另一个过程,称为过程的嵌套调用。
有一例题:
求N!/X!(N-X)!,设N=10,X=2,4,6
在程序中用两个函数来实现此功能。程序如下:
DECLARE FUNCTION comb(n,x)
DECLARE FUNCTION fact(x)
CLS
INPUT"n=";n
FOR I= 2 TO 6 STEP 2
PRINT "C(";N;",";I;")=";comb(n,I)
NEXT I
END


FUNCTION comb(n,x)
  comb=fact(n)/(fact(x)*fact(n-x))
END FUNCTION
FUNCTION fact(x)
P=1
FOR I=1 TO X
  P=P*I
NEXT I
fact=P
END FUNCTION



其运行结果如下:
n=?11
C(11,2)=55
C(11,4)=330
C(11,6)=462


由于程一序中定义了两个FUNCTION子程序即comb函数过程和fact函数过程,所以在主程序中有两条DECLARE语句。在FUNCTION子程序comb中又调用了FUNCTION子程序fact,这就是过程的嵌套调用。


不知对不对?

3 楼

DEF FN
这个语句你可以不学它。
它是QB将就以前的Basic版本弄的一个四不象,功能很弱的。

就用SUB 和 FUNCTION 就足够了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册