最新FORTRAN习题答案资料.docx
《最新FORTRAN习题答案资料.docx》由会员分享,可在线阅读,更多相关《最新FORTRAN习题答案资料.docx(21页珍藏版)》请在冰豆网上搜索。
最新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、-1234E+2、+18.5E18、2.5E42
习题三
一、选择题
1.下面是VisualFortran中正确的表达式是。
(A)A*COS(X)+∣B∣(B)2*EXP(2*X)/SQRT(16.0)
(C)B2-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)0(B)1(C)0.99999999(D)值不确定
二、问答题
1.将下列代数式用VisualFortran表达式描述:
①②
③4sin3A-3sinA+sin3A④
2.执行下列赋值语句后,变量中的值。
变量的类型遵循I—N规则。
设I=6,K=2,N=-3,T=7.5,Y=1.5
①L=T/Y/2.02②M=I/K*Y+1.56
③Z=I*K+Y13.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
22FORMAT(4X,2F5.0,2I5)
(5)WRITE(8,33),X,Y,M,Z,N,
33FORMAT(4X,2F5.02I5)
(6)READ(*,44)NF,G,H,I,J
44FORMAT(4X,I5,2(F6.2,I5))
2.已知整型变量i、j、k、l、m、n,执行下面表控输入语句:
READ*,i,j
READ*,k,l,m
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
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)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:
:
I,J,K
READ(*,*)I,J
K=I/J
WRITE(*,*)’K=’,K
END
当输入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)
执行READ语句,输入以下5组数据:
12345678901234567890↙
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
对下面不同的FORMAT语句,写出输出结果:
①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
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)AB)L.OR.AC)13>C.EQV..NOT.L
D)L.EQV.A
2、以下不合法的VisualFortran表达式是。
A)A
B).NOT.(X<0.0)
C)A>=B.EQV.C>D
D)A.AND.B.AND.C
3、以下能表示条件“X、Y中至少有一个大于0且小于等于10”的逻辑表达式是。
A)(0B)(0C)(0D)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>=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均是数值型变量)
A)(A+B).AND.CB)(A+B)==CC)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>Y)Z=X+Y
D)IF(X>Y)
Z=X+Y
ELSE
Z=X-Y
ENDIF
7、下面程序段中有错误的语句是。
A)IFA>BTHEN
B)A=B
C)ELSE
B=A
D)ENDIF
8、下面程序段中有错误的语句是。
A)IF(A.GT.B)THEN
B)A=B
C)ELSEB=A
D)ENDIF
9、下面程序段中有错误的语句是。
READ*,X
A)IF(X<0.0)THEN
Y=1.0
B)ELSEIF(X<=10.0)THEN
Y=2.0
C)ELSE
Y=3.0
D)ENDIF
ENDIF
PRINT*,Y
END
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
END
二、运行程序题
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
ENDIF
ENDIF
PRINT*,M,K
其运行结果是:
33。
2、阅读下面程序:
IMPLICITNONE
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
END
其运行结果是:
21。
3、阅读下面程序:
IMPLICITNONE
INTEGER:
:
I,J,K,M
I=10
J=20
K=30
M=-32768
IF(I>M)M=I
IF(J>M)M=J
IF(K>M)M=K
PRINT*,M
END
其运行结果是:
30。
4、阅读下面程序:
IMPLICITNONE
REAL:
:
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
END
若从键盘输入2.0↙
则程序的运行结果是:
0.5。
5、阅读下面程序:
IMPLICITNONE
LOGICAL:
:
L1,L2,L3,L4
L1=.TRUE.
L2=.FALSE.
L3=.TRUE.
L4=.NOT.L2.OR.L1.AND..NOT.L3
PRINT*,L4
END
则运行结果是:
T。
6、阅读下面程序:
IMPLICITNONE
LOGICAL:
:
A,B,L
A=.FALSE.
B=.TRUE.
L=.NOT.A.AND.B
PRINT*,L
END
则运行结果是:
T。
7、阅读下列程序,若运行中的输入值分别为2.5和-1.0,则两次运行结果分别是。
IMPLICITNONE
LOGICAL:
:
L
REAL:
:
X
L=.TRUE.
READ*,X
IF(X<0.)THEN
L=.FALSE.
ELSE
PRINT*,X
ENDIF
IF(.NOT.L)PRINT*,-X
END
当输入的数值为2.5↙
则输出结果为:
2.500000。
当输入的数值为-1.0↙
则输出结果为:
1.000000。
8、阅读下面程序:
IMPLICITNONE
INTEGER:
:
X=1,Y=0,A=2,B=2
SELECTCASE(X)
CASE
(1)
SELECTCASE(Y)
CASE(10)
A=A+1
CASE
(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
END
程序运行结果为:
A=2B=2。
9、阅读下面程序:
IMPLICITNONE
LOGICAL:
:
P,Q
REAL:
:
X=0.0,Y=0.0
READ(*,’(1X,2L4)’)P,Q
IF(P)X=1.0
IF(Q)Y=1.0
PRINT*,X,Y
END
当从键盘输入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”
ENDSELECT
END
若从键盘输入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的实根,请填空。
IMPLICITNONE
REAL:
:
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
ELSE
X1=-B/2.0
X2=X1
PRINT*,X1,X2
ENDIF
ELSE
PRINT*,‘ERROE’
ENDIF
END
2、下面程序的功能是求以下函数的函数值,请填空。
IMPLICITNONE
REAL:
:
X,Y
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
PRINT*,Y
END
3、下面程序的功能是判断一个整数是否能被3或7整除,若能被整除,则输出’YES’,否则输出’NO’,请填空。
IMPLICITNONE
INTEGER:
:
M
READ(*,*)M
IF(mod(M,3)==0.OR.mod(M,7)==0)THEN
PRINT*,‘YES’
ELSE
PRINT*,‘NO’
ENDIF
END
4、下面程序是判断YEAR是否为闰年,是输出’YES’,不是输出’NO’.
IMPLICITNONE
INTEGER:
:
YEAR
CHARACTER(LEN=3):
:
RES=’NO’
READ*,YEAR
IF(MOD(YEAR,100)==0)THEN
IF(MOD(YEAR,400)==0)RES=’YES’
ELSE
IF(MOD(YEAR,4)==0)RES=‘YES’
ENDIF
PRINT*,RES
END
习题六
一、选择题:
1、阅读下列VisualFortran程序段
INTEGER:
:
I,J,K
DOI=1,5,2
DOJ=2,6,3
K=I+J
ENDDO
ENDDO
上述称序段执行完后K的值是
A)11B)10C)12D)30
2、阅读下列VisualFortran程序段
INTEGER:
:
N,K
REAL:
:
S,T
READ*,N
S=0.0
K=1
IF(N>=5)THEN
S=S+32
T=1
DOWHILE(KT=T*2
S=S+T
K=K+1
PRINT*,S
ENDDO
ENDIF
PRINT*,S
END
若从键盘输入:
6,则运行后S的值为:
A)64.0B)32.0C)94.0D)96.0
二、运行程序题:
(1)1IMPLICITNONE
INTEGER:
:
M,I,J
M=0
DOI=1,5,4
DOJ=4,19,4
M=M+1
ENDDO
ENDDO
PRINT*,M
END
M的值为___8________。
(2)IMPLICITNONE
INTEGER:
:
K,J
REAL:
:
S
DOK=2,5,2
S=1.0
DOJ=K,5
S=S+J
ENDDO
ENDDO
培养动手能力□学一门手艺□打发时间□兴趣爱好□PRINT*,S
END
自制性手工艺品。
自制饰品其实很简单,工艺一点也不复杂。
近两年来,由于手机的普及,自制的手机挂坠特别受欢迎。
S的值为__10.0__。
而手工艺制品是一种价格适中,不仅能锻炼同学们的动手能力,同时在制作过程中也能体会一下我国传统工艺的文化。
无论是送给朋友还是亲人都能让人体会到一份浓厚的情谊。
它的价值是不用金钱去估价而是用你一颗真诚而又温暖的心去体会的。
更能让学生家长所接受。
三、填空题
题目要求:
从键盘输入5组数,每组有5个数,求出各组中元素绝对值之和的最大者和最小者。
IMPLICITNONE
INTEGER:
:
I,J,SUM,MAX1,MAX2
MAX1=0;MIN1=0
DOI=1,5
SUM=0
3.www。
oh/ov。
com/teach/student/shougong/DOJ=1,5
当然,在竞争日益激烈的现代社会中,创业是件相当困难的事。
我们认为,在实行我们的创业计划之前,我们首先要了解竞争对手,吸取别人的经验教训,制订相应竞争的策略。
我相信只要我们的小店有自己独到的风格,价格优惠,服务热情周到,就一定能取得大多女孩的信任和喜爱。
READ*,X
SUM=SUM+ABS(X)
附件
(二):
ENDDO
IF(SUM>MAX1)MAX1=SUM
价格便宜些□服务热情周到□店面装饰有个性□商品新颖多样□
IF(I==1.OR.SUM营销环境信息收集索引
ENDDO
PRINT*,MAX1,MIN1
(2)东西全END
自制性手工艺品。
自制饰品其实很简单,工艺一点