fortran77转fortran90

来源:百度知道 编辑:UC知道 时间:2024/06/25 03:30:21
fortran77中的计算GO TOGOTO语句已经被列为过时的控制转移方法,那在FORTRAN90中用什么代替呢?比如:
(10,20,30,40,50,60),NO
10 FO(2)=-Q*C*(1.0-C2+C3/2.0)
FO(3)=-Q*C*C*(0.5-2.0*C1/3.0+0.25*C2)
FO(5)=-Q*C*C2*(1.0-0.5*C1)
FO(6)=Q*C*C*C1*(1.0/3.0-0.25*C1)
RETURN
20 FO(2)=-Q*B*B*(1.0+2.0*C1)/BL/BL
FO(3)=-Q*C*B*B/BL/BL
FO(5)=-Q*C2*(1.0+2.0*B/BL)
FO(6)=Q*C2*B
RETURN
30 FO(2)=6.0*Q*C1*B/BL/BL
FO(3)=Q*B*(2.0-3.0*B/BL)/BL
FO(5)=-6.0*Q*C1*B/BL/BL
FO(6)=Q*C1*(2.0-3.0*C1)
RETURN
40 FO(2)=-Q*C*(0.5-0.75*C2+0.4*C3)
FO(3)=-Q*C*C*(1.0/3.0-0.5*C1+0.2*C2)
FO(5)=-Q*C*C2*(0.75-0.4*C1)
FO(6)=Q*C*C*C1*(0.25-0.2*C1)
RETURN
50 FO(1)=-Q*C*(1.0-0.5*C1)
FO(4)=-0.5*Q*C*C1
RETURN
60 FO(1)=-Q*B/BL
FO(4)=-Q*C1
END

go to 语句用起来很混乱,而且一不小心就会出错,造成严重后果也是常有的事,为此才慢慢没人用了,要把这些语句改成fortran90的,你慢慢来了,用一些循环语句和条件语句改写,应该不是很难,但很繁琐!自己慢慢来了!

随便说一句,不算回答!

goto语句不是必须的,可以用其它结构代替,上面的程序用if或者select case都可以。