以文本方式查看主题

-  Fortran中文网  (http://www.fortran.cn/bbs/index.asp)
--  Fortran语言开发经验交流  (http://www.fortran.cn/bbs/list.asp?boardid=3)
----  怎样读入数据?  (http://www.fortran.cn/bbs/dispbbs.asp?boardid=3&id=985)

--  作者:ccy7270801
--  发布时间:2007/9/1 16:17:28

--  怎样读入数据?
各位大哥,小弟是个菜鸟,这里调试个程序,但是不知道该如何把数据输入啊?KEY(I)控制输入的各项目,我改弄个什么样的输入文件?行得通?

C *** READ DATA ACCORING TO KEYS SET ***

C *** KEY(I) SET TO 1 FIRST TIME ***

DO 10 I=1,14

10 KEY(I)=1

20 IF (KEY(1).NE.1) GO TO 30

READ (5,440) TITLE

30 CONTINUE

WL=0.

NK=128

DK=1.

C

IF (KEY(3).NE.1) GO TO 50

READ (5,450) XNS

NS=XNS

N=NS-1

LIMP=2

DO 40 I=1,6

40 IS(I)=0

IF (LIMP.NE.0) IS(LIMP)=1

50 IF (KEY(4).NE.1) GO TO 70

DO 60 I=1,NS

READ (5,460) ED(I),VD(I),ALP(I),GM(I),BB(I)

T1=ALP(I)**2*(1.+VD(I))*(1.-2.*VD(I))*GM(I)

V(I)=(VD(I)*ED(I)+T1)/(ED(I)+2.*T1)

E(I)=(1.+V(I))/(1.+VD(I))*ED(I)

60 CONTINUE

70 IF (KEY(5).NE.1) GO TO 80

C *** HH(I) IS THICKNESS OF I-TH LAYER ***

READ (5,460) (HH(I),I=1,N)

80 IF (KEY(6).NE.1) GO TO 90

READ (5,450) XIR

C *** IR IS NUMBER OF POINTS FOR EVALUATION ***

IR=XIR

90 IF (KEY(7).NE.1) GO TO 110

DO 100 I=1,IR

100 READ (5,460) RX(I),RY(I)

110 IF (KEY(8).NE.1) GO TO 120

READ  (5,450) XIZ

C *** IZ IS NUMBER OF DEPTH***

IZ=XIZ

120 IF (KEY(9).NE.1) GO TO 150

READ  (5,460) (ZZ(I),I=1,8)

IF (IZ-8) 140,140,130

C *** ZZ(I) IS I-TH DEPTH ***

130 READ (5,460) (ZZ(I),I=9,IZ)

140 CONTINUE

150 IF (KEY(10).NE.1) GO TO 160

READ (5,450) XIP

C *** IP IS NUMBER OF VELOCITIES ***

IP=XIP

160 IF (KEY(11).NE.1) GO TO 170

READ (5,460) (PE(I),I=1,IP)

170 CONTINUE

440 FORMAT (20A4)

450 FORMAT (F10.0)

460 FORMAT (8F10.0)

470 FORMAT (1H1,5A4,1X,20A4,1X,5A4,6H PAGE,I3)

480 FORMAT (5X,5HLAYERS,5X,8H SOLID- ,9X,8H PRIME ,9X,8H FLUID-,

1 9X,8H PRIME ,9X,8H ALPHA //)


--  作者:lm_lxt
--  发布时间:2007/9/3 18:28:21

--  
根据程序中READ语句中的通道号和格式读入准备数据文件
京ICP备05056801号