fortran问题:error FOR1768: missing END statement or missing program unit (pos
我使用的F文件格式调试它,解决一些BUG,不知道能不能做,你试试
! F文档,固定格式,Mar/18/2012
! 梯形截面出罐水源曲线计算:?WTSF.FOR
外部方正香港,FHO,FE
REAL I,N,M,J1,J2
尺寸H(201) ,V(201),S(201)
常见Q,I,N,M,B,CSN,SRM,阿尔法,DS,DR,V2,J1,J2,ES1,ES2
OPEN( 2,FILE ='结果。TXT')!输出数据文件
WRITE(*,1001)
写(2,1001)
1001格式(4(5X,A / /))
WRITE(*,*)'键盘输入Q,I,N,M,B'
READ(*,*)Q,I,N,M,B
WRITE(*,1000)Q,I,N,M,B
写(2,1000)Q,I,N,M,B
1000格式(5X,'Q =',F6.2,'(M ** 3 /秒)“,4倍, “我=',F8.5,4X,
1'N =',F6.4,5X,'M =',F4.2,4X,'B =',F7.2,'(M )')
阿尔法= 1.05
CSN =(1-I * I)* 0.5
SRM =(1 + M * M)** 0.5
! 计算临界深度
港币= ERFENFA(方正香港,0.0,40.0,0.0005)
WRITE(*,1010)香港
写(2,1010)香港
1010格式(5X ,“临界深度港币=',F9.6,'(M)')
! 计算正常水深,平坡,当反向坡豪取大值
如果(I.LE.0)THEN
HO = 100
WRITE(*,*)'底坡度I <= 0,没有正常的深度“
写(2 *)'底坡I <= 0,没有正常的深度”
何= ERFENFA(FHO,0.0,40.0 ,0.0005)
WRITE(*,1020)何
写(2,1020)何
1020格式(5X,'HO =',F7.4,'( M)')
WRITE(* 1021)
1021 FORMAT(/ / 3(5X,A /)/)
WRITE(*,*)'输入高清, DS,NS'
READ(*,*)HD,DS,NS
H(1)=高清
A =(B + M * H(1))*高(1)
R = A /(B +2 *高(1)* SRM)
V(1)= Q / A
姬=(X(1)* N)* 2 / R **(4.0 / 3)
ES1 = CSN *高(1)+阿尔法* V(1)** 2/19.6
C是计算,以确定水位线的方向:DR = 1,在上游侧的控制部分; DR = -1时,控制部分下游
IF((HD> HK)!或。((高清==香港)与(HD <HO)))THEN
何= -1
何= 1
! 二分法HB区间端点值?
IF(((香港> HO)与(HD>香港))。或。
1((HO>香港)与(HD <香港)))THEN
HB =港币
HB =何
S(1)= 0.0
!每个部分H(L)的C + +计算深度和流速V(L)
DO 10 L = 2,NS +1
IF(ABS(H(L-1)-HO)<0.0005 )THEN
H(L)=何
V(L)= V(L-1)
H(L)= ERFENFA(FE,H(L-1 ),HB,0.00001)
V(L)= V2
ES1 = ES2
ENDIF
S(L)=(L-1)* DS
10 CONTINUE
! C的输出结果
写(2 *)
写(2,1030)HD,DS,NS
1030格式(5X,'控制HD =深度',F6.3,'间距的NS(M)',5X,'节间距DS =',F7.2,'(M)“,
1 5X,'数=',I3 /)
如果(DR < 0),则
WRITE(2,*)'慢流量控制部分下游'
WRITE(2,*)'险滩,控制部分上游“
ENDIF
>写(2,1035)
1035 FORMAT(/ 7X,'L',10X,'H(L)',10X,'V(L)',9X,“S(L)'/ 18X,
1'(米)“,10X,'(米/秒)”,9X“(米)'/ 5X,
2'------------- ------------------------')
WRITE(2,1040)(L,H(L),V(L),S (L),L = 1,NS +1)
1040格式(5X,I3,7X,F7.3,7X,F7.3,4X,F10.2)
完
! 求临界深度功能
功能方正香港(H)
REAL I,N,M
常见Q,I,N,M,B,CSN,SRM,阿尔法,DS,DR,V2 ,J1,J2,ES1,ES2
FHK = 9.8 * CSN *((B + M * H)*高)** 3-α* Q * Q *(B + 2 *宽*高)结束
功能FHO(H)
REAL I,N,M
常见Q,I,N,M,B,CSN,SRM,阿尔法,DS,DR ,V2,J1,J2,ES1,ES2
FHO = Q * N / I * 0.5 *(B +2 * SRM *高)**(2.0 / 3) - ((B + M×H) * H **(5.0 / 3))
函数fe(H)
REAL I,N,M,J1,J2
常见Q,我,N,M,B,CSN,SRM,阿尔法,DS,DR,V2,J1,J2,ES1,ES2
A =(B + M×H)*高 V 2 = Q / A
J2 =(N * V2)* 2 /(A /(B +2 *高* SRM))**(4.0 / 3)
ES2 = CSN * H +的阿尔法* V2 * V2/19.6
FE = ES1,ES2 + DR *(I-(J1 + J2)/ 2)* DS
!两分法功能程序
功能ERFENFA(F,X1,X2,EPS)
A = X1
B = X2
10 FA = F(A)
FB = F(B)
如果(FA * FB.GT.0)THEN
WRITE(*,*)'(X1,X2)没有扎根的时间间隔,请重新输入X1,X2' READ(*,*)A,B
GOTO 10
DO 50 I = 1,30
ERFENFA =(A + B)* 0.5
IF(ABS(BA)。LT.EPS)返回
FM = F(ERFENFA)
IF(FM * FA.LT.0)THEN
B = ERFENFA
ELSE BR /> A = ERFENFA
50 CONTINUE
完