FORTRAN习题答案

  • 格式:pdf
  • 大小:99.26 KB
  • 文档页数:15

FORTRAN习题答案

习题⼆

⼀、问答题1. 给出下⾯变量名称,哪些是合法变量?哪些是⾮法变量?说明原因。

Count 、num_2、x&y 、4x+5y 、china-suzhou 、$us 、AbCdE 、Mr.bai 、t5、

_another 、school_class_25、#125、2002Y 、π、β、A01/02、alpha 、date(1) 1. 判定下⾯整数,指出哪些是合法整数,哪些是⾮法整数?说明原因。-0、+ 215、$125、3,245,895、5.3245、5#384、-524_3、#5DFE 、

23-345、16#1A2B 、38#ABCD 、8#275_2、+327890、4 #321

2. 判定下⾯实数,指出哪些是合法实数,哪些是⾮法实数?说明原因。

-0E2、45.2345E3.5、-5489E25_8、-.2345E-35、$185.45E 、+ 2.753425E24_3、 58D85、+0.E-0、-00000.001E5、5,443,223.44、-12 34E+2、+ 18.5E 18、2.5E42

习题三

⼀、选择题1.下⾯是V isual Fortran 中正确的表达式是 。

(A )A*COS(X)+∣B ∣ (B )2*EXP(2*X)/SQRT(16.0)

(C )B 2-4AC (D )MOD (24.5,0.5)2.下⾯算术赋值语句中正确的语句是 。

(A )M*N=(X-Y)/Z (B )+R=A+B/C

(C )X=Y=Z-1.0 (D )Y=A*B/C/D3.算术表达式1/3+2/3的值为 。

(A )0 (B ) 1 (C ) 0.99999999 (D )值不确定 ⼆、问答题

1. 将下列代数式⽤Visual Fortran 表达式描述:

① ②

③ 4sin 3A-3sinA+sin3A ④ 2.执⾏下列赋值语句后,变量中的值。变量的类型遵循I —N 规则。设I=6,K=2,N=-3,T=7.5,Y=1.5

①L=T/Y/2.0 2 ②M=I/K*Y+1.5 6

③Z=I*K+Y 13.5 ④A=I**K/N+T/Y -7.0

习题四

⼀、运⾏程序题2200B

A C By Ax +++z sin e 21y -p

sin )c p sin()b p sin()a p sin(---

1. 判断下列输⼊输出语句是否正确?

(1) PRINT*, ′X=′, X, ′X*Y**2=′, X*Y**2(2) WRITE ( * , * ) A, B, NO, ′Y=′, Y

(3) READ*, N, M, 5.0K

(4) WRITE ( *,22 ) A, B, I, K, C

22 FORMA T ( 4X, 2F5.0, 2I5 )

(5) WRITE ( 8,33 ), X, Y, M, Z, N,

33 FORMA T ( 4X, 2F5.0 2I5 )

(6) READ ( *,44 ) NF, G, H, I, J

44 FORMA T ( 4X, I5, 2 ( F6.2, I5 ) )

2. 已知整型变量i、j、k、l、m、n,执⾏下⾯表控输⼊语句:

READ*, i,j

READ*, k,l,m

READ*, n

按以下格式输⼊8个数据:25

26 50 45 57 43

27 28

输⼊语句执⾏后,每个变量取何值?i=25、j=26、k=27、l=28、m=0、n=0

3. 写出输出结果,设I=56,J=1274,K=5126

WRITE ( *,100 ) I, J, K

(1) 100 FORMA T ( 1X, I4 )

(2) 100 FORMA T ( 1X, 2I5 )

56 1274

5126

(3) 100 FORMA T ( 1X, 2 ( I5,2X ) / )

56 1274

5126

4. 写出输出结果,设I=512,J=612,A=18.34,B=-21.4,C=112.463,D=-2174.573

WRITE ( *,100 ) I,J,A,B,C,D

(1) 100 FORMA T ( 1X,I5,2X,2 ( F10.2,2X ),F12.1 )

512 0.00E+00 18.34 -2.14

112.46 -2174.57

(2) 100 FORMA T ( 3X,2 ( I4,2X ),2 ( F10.2,2X ),′NEW′)

512 0.00E+00 18.34 -2.14 NEW

112.46 -2174.57 NEW5. 有读⼊语句:

READ ( *,100 ) I,J,B

设输⼊的值为:I=63,A=76.5,J=122,B=156.783。如⽤下⾯的FORMA T语句应如何输⼊数据。(1) 100 FORMA T ( I4,F6.2,I5,F8.2 )

(2) 100 FORMA T ( I4,2X,F6.2,I5,F8.2 )

(3) 100 FORMA T ( 1X,2 ( I4,2X,F10.2 ) )

(4) 100 FORMA T ( I4,F6.2/I5,F8.2 )

(5) 100 FORMA T ( I4/F6.2/I5/F8.2 )

(6) 100 FORMA T ( I5,F8.1 )

6.IMPLICIT NONE

INTEGER::I,J,K

READ *,I,J

K=I/J

PRINT *,?K=?,K

END

当输⼊9,2时,输出结果为K=4 。7.IMPLICIT NONE

REAL::I,J,K

READ(*,*)I,J

K=I/J

WRITE(*,*)?K=?,K

END

当输⼊9,2时,输出结果为K=4.500000。8.下⾯是⼀些⾮法的输⼊输出语句和格式说明语句。说明其⾮法原因。

READ * i,j,k

READ 10 i,j,k

READ *,…i=?,i,…j=?,j

READ(*,10) i,j,125

READ(*,…(“i=”,I3,“j=”,I3)?) i,j

READ(…(I3,I3)?,*) i,j

10 FORMA T(1X,I3,:,I3,:,I3)

PRINT * i,j,k

PRINT 10 i,j,k

WRITE *,…i=?,i,…j=?,j

WRITE(20,*) i,j,125PRINT(*,…(“i=”,I3,“j=”,I3)?) i,j

WRITE(…(I3,I3)?,*) i,j

20 FORMA T(1X,I3,I3 I3)

9.给定下⾯READ和FORMA T语句:

READ 100,i,j,k,m,n

100 FORMA T(I2,I3,2X,I2,1X,I4.1,I3)

执⾏READ语句,输⼊以下5组数据:12345678901234567890↙

1 32

2 4

3 565 768 78↙

12,3 43 7 ,2 3455↙

1232;45A18 93 215↙

1 23;324;445;555;777↙

READ语句执⾏后,每组i,j,k,m,n的值分别是多少?

10.给定下⾯READ和FORMA T语句:

READ 100,a,b,c

100 FORMA T(F5.2,F5.1,E8.3)

执⾏READ语句,输⼊以下5组数据:12345678901234567890↙

123,456789012,345890↙

1 32

2 4

3 565 E+ 28↙

123E2343 7 2 3455↙

1.23245.E3.1893 215↙

READ语句执⾏后,每组a,b,c的值分别是多少?

11.已知:i=25,j=-125,k=-4725,m=-31500,a=48.57,x=-1.5E+11,y=158.895E-11。

给定输出语句:WRITE(*,100)i,a,j,b,k,m,x,y

对下⾯不同的FORMA T语句,写出输出结果:

①100 FORMA T(1X,I3,1X,F5.2,1X,I4,1X,F9.2,I5,I6,E12.3,E12.3E3)

②100 FORMA T(3X,I4,1X,F9.2,1X,I4,1X,F9.2,2I5,2E12.3)

③100 FORMA T(… i=?,I3,…a=?,F5.2,…j=?,I4,…b=?,F9.2,…k=?,I5,…m=?,I6,

…x=?,E12.3,…y=?,E12.3E3)

④100 FORMA T(2(2X,I4,2X,F9.2),2I5,2E12.3)⑤100 FORMA T(1X,I3,1X,F5.2/1X,I4,1X,F9.2/I5,I6,E12.3,E12.3E3)

12.已知:i=315,j=512,a=43.57,b=-15.9,c=123.456,d=-5231.573。

给定输出语句:WRITE(*,100)i,j,a,b,c,d

对下⾯不同的FORMA T语句,写出输出结果:

①100 FORMA T(1X,I4,2X,I5,2X,2(F7.2,2X),F10.1)

②100 FORMA T(1X,2(I4,2X),2(F7.2,2X),…OLD?)

13.给定下⾯程序:

READ 10,i,j,k,m,n

10 FORMA T(1X,I3, T5,I3,I4,TL8,I2,TR5,I3)

PRINT *,i,j,k,m,n

END

程序执⾏时,输⼊数据:1234567890987654321↙

程序执⾏后,变量i,j,k,m,n的值是什么?

⼆、填空题

下⾯程序是求任意两个整型数M、N的和,要求输出形式为:M+N=和,如M=3,N=8,则输出形式为:M+N= 11。请填空。

IMPLICIT NONE

INTEGER::M,N,S

READ*,M,N

S=M+N

PRINT *,…M+N=? ,S

END

习题五

⼀、选择题1、已知:A=4.9,B=5.5,C=8.0,L=.FALSE.,则其值为’假’的表达式是。

A) A

B) L.OR.A

C) 13>C.EQV..NOT.L

D)L.EQV.A

2、以下不合法的Visual Fortran表达式是。

A)A

B) .NOT.(X<0.0)

C)A>=B.EQV.C>D

D)A.AND.B.AND.C

3、以下能表⽰条件“X、Y中⾄少有⼀个⼤于0且⼩于等于10”的逻辑表达式是。