我并不是全新的编程,但我正在尝试使用继承的功能,这会带来一些不熟悉的问题。 我正在寻找一个如何进行的方向。
该功能是250多行,所以我在这里只显示开头:
FUNCTION Z(XNT,XK,ALFA,VNU,GAMMA)
DIMENSION XPI(365)
COMMON/A01R/XVE(365),XVC(365),DXVE(365),DXVC(365)
COMMON/A02R/XP(365),PSITF(365)
COMMON/V02R/DFI
COMMON/V03R/XMUE,XMUXE,XMUR,XMUXC,XMUC
COMMON/V04R/XQXE,XQEPOS,XQENEG,XQXC,XQCPOS,XQCNEG
COMMON/V05R/XDSE(365),XDSC(365)
COMMON/V05RI/DSEI(365),DSCI(365),DQE(36S),DQC(365)
COMMON/V06R/XPRAT
COMMON/V011/N
PARAMETER (ZERO=0.0E+00,ONE=1.0E+00,PI=3.141592654)
我使用Z功能的程序如下:
PROGRAM Test
REAL FOO
REAL A,B,C,D,E
DATA A,B,C,D,E/3.0,1.0,90.0,0.1,1.4/
REAL XMUE,XMUXE,XMUR,XMUXC,XMUC
DATA XMUE,XMUXE,XMUR,XMUXC,XMUC/0.1266,0.0918,0.316,0.0918,0.15/
FOO=Z(A,B,C,D,E)
FUNCTION Z(XNT,XK,ALFA,VNU,GAMMA)
...
...
RETURN
END
END PROGRAM Test
我已经研究了如何最好地将数据传递给函数Z;有5个输入直接传递给函数(XNT,XK,ALFA,VNU,GAMMA),但其他几个通过COMMON块传递。 在Fortran我没有足够的实践来决定最好的方案。我也尝试过使用DATA BLOCK。
以下几条错误消息中的第一条:
bash-3.1$ gfortran prog01.f90
prog01.f90:19:
FUNCTION Z(XNT,XK,ALFA,VNU,GAMMA)
1
Error: Unclassifiable statement at (1)
prog01.f90:20.18:
DIMENSION XPI(365)
1
“DIMENSION XPI(365)”是一份法律声明吗?
任何关于前进道路的提示都会感激不尽。 添