FORTRAN习题答案

更新时间:2023-09-30 14:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

习题二

一、问答题

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.下面是Visual Fortran中正确的表达式是 。

(A)A*COS(X)+∣B∣ (B)2*EXP(2*X)/SQRT(16.0) (C)B-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/D 3.算术表达式1/3+2/3的值为 。

(A) 二、问答题

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

Ax0?By0?C2

0 (B) 1 (C) 0.99999999 (D)值不确定

1y?e sin① 2 2 ② 2 z

A?B

③ 4sin3A-3sinA+sin3A ④

sin(p?a)sin(p?b)sin(p?c)sinp 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

习题四

一、运行程序题

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 FORMAT ( 4X, 2F5.0, 2I5 ) (5) WRITE ( 8,33 ), X, Y, M, Z, N, 33 FORMAT ( 4X, 2F5.0 2I5 ) (6) READ ( *,44 ) NF, G, H, I, J

44 FORMAT ( 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 FORMAT ( 1X, I4 ) (2) 100 FORMAT ( 1X, 2I5 )

56 1274 5126

(3) 100 FORMAT ( 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 FORMAT ( 1X,I5,2X,2 ( F10.2,2X ),F12.1 ) 512 0.00E+00 18.34 -2.14 112.46 -2174.57

(2) 100 FORMAT ( 3X,2 ( I4,2X ),2 ( F10.2,2X ),′NEW′ ) 512 0.00E+00 18.34 -2.14 NEW

112.46 -2174.57 NEW 5. 有读入语句:

READ ( *,100 ) I,J,B

设输入的值为:I=63,A=76.5,J=122,B=156.783。如用下面的FORMAT语句应如何输入数据。

(1) 100 FORMAT ( I4,F6.2,I5,F8.2 ) (2) 100 FORMAT ( I4,2X,F6.2,I5,F8.2 ) (3) 100 FORMAT ( 1X,2 ( I4,2X,F10.2 ) ) (4) 100 FORMAT ( I4,F6.2/I5,F8.2 ) (5) 100 FORMAT ( I4/F6.2/I5/F8.2 ) (6) 100 FORMAT ( 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 FORMAT(1X,I3,:,I3,:,I3)

PRINT * i,j,k PRINT 10 i,j,k WRITE *,?i=?,i,?j=?,j WRITE(20,*) i,j,125

PRINT(*,?(“i=”,I3,“j=”,I3)?) i,j

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

20 FORMAT(1X,I3,I3 I3) 9.给定下面READ和FORMAT语句: READ 100,i,j,k,m,n

100 FORMAT(I2,I3,2X,I2,1X,I4.1,I3) 执行READ语句,输入以下5组数据:

12345678901234567890↙ 1?322?43??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和FORMAT语句: READ 100,a,b,c

100 FORMAT(F5.2,F5.1,E8.3) 执行READ语句,输入以下5组数据:

12345678901234567890↙ 123,456789012,345890↙ 1?322?43??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 对下面不同的FORMAT语句,写出输出结果:

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

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

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

④ 100 FORMAT(2(2X,I4,2X,F9.2),2I5,2E12.3)

⑤ 100 FORMAT(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 对下面不同的FORMAT语句,写出输出结果: ① 100 FORMAT(1X,I4,2X,I5,2X,2(F7.2,2X),F10.1) ② 100 FORMAT(1X,2(I4,2X),2(F7.2,2X),?OLD?) 13.给定下面程序:

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

10 FORMAT(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) AC.EQV..NOT.L D) L.EQV.A

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

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

3、以下能表示条件“X、Y中至少有一个大于0且小于等于10”的逻辑表达式是 。

A) (0

B) (0

4、以下能表示条件“X、Y中至少有一个大于等于10或小于5”的逻辑表达式是 。 A) .NOT. (X>=10.OR.X<5).OR.Y>=10.OR.Y<5

B) (X>=10.OR.X<5).OR.(Y>=10.OR.Y<5) C) (X.OR.Y)>=10.0R.(X.OR.Y)<5

D) (X>=10.AND.X<5).AND.(Y>=10.AND.Y<5)

5、以下正确的逻辑表达式是 。(其中A,B,C,D,X均是数值型变量)

本文来源:https://www.bwwdw.com/article/wvfd.html

Top