FORTRAN习题答案Word格式.docx
- 文档编号:21151508
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:18
- 大小:41.20KB
FORTRAN习题答案Word格式.docx
《FORTRAN习题答案Word格式.docx》由会员分享,可在线阅读,更多相关《FORTRAN习题答案Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
READ*,n
按以下格式输入8个数据:
25
2650455743
2728
输入语句执行后,每个变量取何值?
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)100FORMAT(1X,I4)
(2)100FORMAT(1X,2I5)
561274
5126
(3)100FORMAT(1X,2(I5,2X)/)
561274
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)100FORMAT(1X,I5,2X,2(F10.2,2X),F12.1)
5120.00E+0018.34-2.14
112.46-2174.57
(2)100FORMAT(3X,2(I4,2X),2(F10.2,2X),´
NEW´
)
5120.00E+0018.34-2.14NEW
112.46-2174.57NEW
5.有读入语句:
READ(*,100)I,J,B
设输入的值为:
I=63,A=76.5,J=122,B=156.783。
如用下面的FORMAT语句应如何输入数据。
(1)100FORMAT(I4,F6.2,I5,F8.2)
(2)100FORMAT(I4,2X,F6.2,I5,F8.2)
(3)100FORMAT(1X,2(I4,2X,F10.2))
(4)100FORMAT(I4,F6.2/I5,F8.2)
(5)100FORMAT(I4/F6.2/I5/F8.2)
(6)100FORMAT(I5,F8.1)
6.IMPLICITNONE
INTEGER:
:
I,J,K
READ*,I,J
K=I/J
PRINT*,’K=’,K
END
当输入9,2时,输出结果为K=4。
7.IMPLICITNONE
REAL:
READ(*,*)I,J
WRITE(*,*)’K=’,K
当输入9,2时,输出结果为K=4.500000。
8.下面是一些非法的输入输出语句和格式说明语句。
说明其非法原因。
READ*i,j,k
READ10i,j,k
READ*,‘i=’,i,‘j=’,j
READ(*,10)i,j,125
READ(*,‘(“i=”,I3,“j=”,I3)’)i,j
READ(‘(I3,I3)’,*)i,j
10FORMAT(1X,I3,:
I3,:
I3)
PRINT*i,j,k
PRINT10i,j,k
WRITE*,‘i=’,i,‘j=’,j
WRITE(20,*)i,j,125
PRINT(*,‘(“i=”,I3,“j=”,I3)’)i,j
WRITE(‘(I3,I3)’,*)i,j
20FORMAT(1X,I3,I3I3)
9.给定下面READ和FORMAT语句:
READ100,i,j,k,m,n
100FORMAT(I2,I3,2X,I2,1X,I4.1,I3)
执行READ语句,输入以下5组数据:
12345678901234567890↙
13224356576878↙
12,3437,23455↙
1232;
45A1893215↙
123;
324;
445;
555;
777↙
READ语句执行后,每组i,j,k,m,n的值分别是多少?
10.给定下面READ和FORMAT语句:
READ100,a,b,c
100FORMAT(F5.2,F5.1,E8.3)
123,456789012,345890↙
132243565E+28↙
123E2343723455↙
1.23245.E3.1893215↙
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语句,写出输出结果:
①100FORMAT(1X,I3,1X,F5.2,1X,I4,1X,F9.2,I5,I6,E12.3,E12.3E3)
②100FORMAT(3X,I4,1X,F9.2,1X,I4,1X,F9.2,2I5,2E12.3)
③100FORMAT(‘i=’,I3,‘a=’,F5.2,‘j=’,I4,‘b=’,F9.2,‘k=’,I5,‘m=’,I6,
‘x=’,E12.3,‘y=’,E12.3E3)
④100FORMAT(2(2X,I4,2X,F9.2),2I5,2E12.3)
⑤100FORMAT(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
①100FORMAT(1X,I4,2X,I5,2X,2(F7.2,2X),F10.1)
②100FORMAT(1X,2(I4,2X),2(F7.2,2X),‘OLD’)
13.给定下面程序:
READ10,i,j,k,m,n
10FORMAT(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。
请填空。
IMPLICITNONE
M,N,S
READ*,M,N
S=M+N
PRINT*,‘M+N=’,S
习题五
1、已知:
A=4.9,B=5.5,C=8.0,L=.FALSE.,则其值为’假’的表达式是。
A)A<
B.OR..NOT.B<
C
B)L.OR.A<
C.NEQV.L
C)13>
C.EQV..NOT.L
D)L.EQV.A<
B+C
2、以下不合法的VisualFortran表达式是。
B<
C<
D
B).NOT.(X<
0.0)
C)A>
=B.EQV.C>
D)A.AND.B.AND.C
3、以下能表示条件“X、Y中至少有一个大于0且小于等于10”的逻辑表达式是。
A)(0<
X<
=10).OR.(0<
Y<
=10)
B)(0<
X.AND.X<
=10).AND.(0<
Y.AND.Y<
C)(0<
D)0<
(X.OR.Y)<
=10
4、以下能表示条件“X、Y中至少有一个大于等于10或小于5”的逻辑表达式是。
A).NOT.(X>
=10.OR.X<
5).OR.Y>
=10.OR.Y<
5
B)(X>
5).OR.(Y>
5)
C)(X.OR.Y)>
=10.0R.(X.OR.Y)<
D)(X>
=10.AND.X<
5).AND.(Y>
=10.AND.Y<
5)
5、以下正确的逻辑表达式是。
(其中A,B,C,D,X均是数值型变量)
A)(A+B).AND.C<
A+C
B)(A+B)==C<
C)A<
=B.AND.C>
=X
D)(A+B)>
CAND(C+D)<
0
6、要实现“当X>
Y时,Z=X+Y,否则Z=X-Y”。
以下能完成该功能的程序段是。
A)IF(X>
Y)Z=X+Y
ELSEZ=X-Y
B)IF(X>
Y)THENZ=X+Y
Z=X-Y
C)Z=X-Y
IF(X>
D)IF(X>
Y)
Z=X+Y
ELSE
ENDIF
7、下面程序段中有错误的语句是。
A)IFA>
BTHEN
B)A=B
C)ELSE
B=A
D)ENDIF
8、下面程序段中有错误的语句是。
A)IF(A.GT.B)THEN
C)ELSEB=A
9、下面程序段中有错误的语句是。
READ*,X
A)IF(X<
0.0)THEN
Y=1.0
B)ELSEIF(X<
=10.0)THEN
Y=2.0
Y=3.0
PRINT*,Y
10、下面程序段中有错误的语句是。
LOGICAL:
L
A)L=0.1.GT.1.0
B)IF(L==.FALSE.)C=0.0
C)D=1.0-0.1
D)IF(1.0>
0.1)D=0.1-1.0
PRINT*,D,C
二、运行程序题
1、己知整型变量M=3,N=10,K=0,J=0,阅读下面程序段:
IF(MOD(M,N)/=0)THEN
K=N/M
IF(K>
M)THEN
J=K
K=M
M=J
PRINT*,M,K
其运行结果是:
33。
2、阅读下面程序:
INTEGER:
I,J
I=2
J=0
IF(I>
=2)J=1
IF(J==1)I=J
IF(I<
2)I=I+1
PRINT*,I,J
其运行结果是:
21。
3、阅读下面程序:
I,J,K,M
I=10
J=20
K=30
M=-32768
M)M=I
IF(J>
M)M=J
IF(K>
M)M=K
PRINT*,M
其运行结果是:
30。
4、阅读下面程序:
IMPLICITNONE
X,Y
READ*,X
IF(X<
0.0)THEN
Y=0.0
ELSEIF(X<
10.0)THEN
Y=1.0/X
ELSE
Y=10.0
ENDIF
PRINT*,Y
若从键盘输入2.0↙
则程序的运行结果是:
0.5。
5、阅读下面程序:
LOGICAL:
L1,L2,L3,L4
L1=.TRUE.
L2=.FALSE.
L3=.TRUE.
L4=.NOT.L2.OR.L1.AND..NOT.L3
PRINT*,L4
则运行结果是:
T。
6、阅读下面程序:
A,B,L
A=.FALSE.
B=.TRUE.
L=.NOT.A.AND.B
PRINT*,L
7、阅读下列程序,若运行中的输入值分别为2.5和-1.0,则两次运行结果分别是。
L
REAL:
X
L=.TRUE.
READ*,X
0.)THEN
L=.FALSE.
PRINT*,X
IF(.NOT.L)PRINT*,-X
当输入的数值为2.5↙
则输出结果为:
2.500000。
当输入的数值为-1.0↙
1.000000。
8、阅读下面程序:
IMPLICITNONE
X=1,Y=0,A=2,B=2
SELECTCASE(X)
CASE
(1)
SELECTCASE(Y)
CASE(10)
A=A+1
B=B+1
ENDSELECT
CASE
(2)
A=A+1;
B=B-1
CASE(3)
A=A-1;
B=B+1
ENDSELECT
PRINT*,‘A=’,A,’B=’,B
程序运行结果为:
A=2B=2。
9、阅读下面程序:
P,Q
X=0.0,Y=0.0
READ(*,’(1X,2L4)’)P,Q
IF(P)X=1.0
IF(Q)Y=1.0
PRINT*,X,Y
当从键盘输入FFTTFFTTFFTT,则X与Y的值为_0.0___0.0__。
10、阅读下面程序:
IMPLICITNONE
INTEGER:
A,B,C,X
READ*,A,B,C
X=A+2+B+C**2
SELECTCASE(X)
CASE(:
7)
PRINT*,“A”
CASE(8:
10)
PRINT*,“B”
CASE(11:
15)
PRINT*,“C”
CASE(16:
)
PRINT*,“N”
若从键盘输入0,1,2↙
其运行结果为:
A ;
若从键盘输入1,2,3↙
C ;
若从键盘输入3,2,1↙
B 。
11.给出下列关系表达式和逻辑表达式,判定表达式的值。
25.5>
54F
(35+3*8).GE.75F
(2.5,5.7)>
(1.2,3.5)错误的表达式
(25.9,58.4).NE.(58.4,25.9)T
‘banana’<
’bananas’T
12+2*5>
20.AND..NOT.(’pen’//’s’<
’pencil’.OR.45+5.3>
80)T
三、填空题
1、下面程序的功能是求方程X**2+BX+C=0的实根,请填空。
B,C,X1,X2
READ(*,*)B,C
D=B**2-4*C
IF(D>
0)THEN
IF(D/=0)THEN
X1=-B/2.0+SQRT(D)/2.0
X1=-B/2.0-SQRT(D)/2.0
PRINT*,X1,X2
X1=-B/2.0
X2=X1
PRINT*,X1,X2
ENDIF
PRINT*,‘ERROE’
ENDIF
2、下面程序的功能是求以下函数的函数值,请填空。
READ(*,*)X
IF(X<
0)THEN
Y=3*X-LOG(ABS(X))
ELSEIF(x>
=0.AND.x<
=10)THEN
Y=X**3+6
ELSE
Y=1
ENDDO
3、下面程序的功能是判断一个整数是否能被3或7整除,若能被整除,则输出’YES’,否则输出’NO’,请填空。
M
READ(*,*)M
IF(mod(M,3)==0.OR.mod(M,7)==0)THEN
PRINT*,‘YES’
PRINT*,‘NO’
ENDIF
4、下面程序是判断YEAR是否为闰年,是输出’YES’,不是输出’NO’.
INTEGER:
YEAR
CHARACTER(LEN=3):
RES=’NO’
READ*,YEAR
IF(MOD(YEAR,100)==0)THEN
IF(MOD(YEAR,400)==0)RES=’YES’
IF(MOD(YEAR,4)==0)RES=‘YES’
ENDIF
PRINT*,RES
习题六
一、选择题:
1、阅读下列VisualFortran程序段
INTEGER:
:
I,J,K
DOI=1,5,2
DOJ=2,6,3
K=I+J
ENDDO
上述称序段执行完后K的值是
A)11B)10C)12D)30
2、阅读下列VisualFortran程序段
N,K
REAL:
S,T
READ*,N
S=0.0
K=1
IF(N>
=5)THEN
S=S+32
T=1
DOWHILE(K<
N)
T=T*2
S=S+T
K=K+1
PRINT*,S
ENDDO
若从键盘输入:
6,则运行后S的值为:
A)64.0B)32.0C)94.0D)96.0
二、运行程序题:
(1)1IMPLICITNONE
M,I,J
M=0
DOI=1,5,4
DOJ=4,19,4
M=M+1
PRINT*,M
M的值为___8________。
(2)IMPLICITNONE
INTEGER:
K,J
REAL:
S
DOK=2,5,2
S=1.0
DOJ=K,5
S=S+J
ENDDO
PRINT*,S
S的值为__10.0__。
题目要求:
从键盘输入5组数,每组有5个数,求出各组中元素绝对值之和的最大者和最小者。
I,J,SUM,MAX1,MAX2
MAX1=0;
MIN1=0
DOI=1,5
SUM=0
DOJ=1,5
READ*,X
SUM=SUM+ABS(X)
IF(SUM>
MAX1)MAX1=SUM
IF(I==1.OR.SUM<
MIN1)MIN1=SUM
PRINT*,MAX1,MIN1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FORTRAN 习题 答案