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”的逻辑表达式是。