实用参考Fortran课后习题答案Word文档下载推荐.docx
《实用参考Fortran课后习题答案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实用参考Fortran课后习题答案Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
3.下列数据中哪一些是合法的FORTRAN常量?
(1)9,87
(2).0(3)25.82(4)-356231
(5)3.57GE2(6)3.57E2.1(7)3.57E+2(8)3,57E-2
4.已知A=2,B=3,C=5(REAL);
且I=2,J=3(INTEGER),求下列表达式的值:
(1)AGB+C表达式的值:
11
(2)AG(B+C)表达式的值:
16
(3)B/CGA表达式的值:
1.2(4)B/(CGA)表达式的值:
0.3
(5)A/I/J表达式的值:
0.33(6)I/J/A表达式的值:
(7)AGBGGI/AGGJG2表达式的值:
4.5
(8)C+(B/A)GG3/BG2.表达式的值:
7.25
(9)AGGBGGI表达式的值:
512
5.将下列数学表达式写成相应的FORTRAN表达式:
(1)1E-2
(2)(-B+SQRT(BGB-4GAGC)/(2GA)
(3)1+G+GGG/2+GGG3/2/3
(4)COS(ATAN((AGG3+BGG3)GG(1.0/3)/(CGC+1)))
(5)EGP(AGGGG2+BGG+C)
(6)COS(GGP/SQRT(GGG+PGP))GG3
6.用FORTRAN语句完成下列操作:
(1)将变量I的值增加1。
I=I+1
(2)I的立方加上J,并将结果保存到I中。
I=IGG3+J
(3)将E和F中大者存储到G中。
G=MaG(E,F)
(4)将两位自然数N的个位与十位互换,得到一个新的数存储到M中(不考虑个位为0的情况)
M=MOD(N,10)G10+N/10
第三章选择结构程序设计第43页1、2、3、5、6、7、9
1.分析下列程序运行结果
(1)
LOGICALP
INTEGERI,I1,I2,I3
P=.FALSE.
READG,I
I1=MOD(I,10)
I2=MOD(I/10,10)
I3=I/100
IF(I1+I3.EQ.2GI2)P=.TRUE.
PRINTG,P
END
输入123时,输出:
T
输入132时,输出:
F
(2)
REALG,P,Z
READG,G,P
IF((GGP)>
0.AND.(G.NE.1.0))THEN
Z=10.0
ELSEIF(GGP<
0.0)THEN
Z=0.0
ELSE
Z=-1.0
ENDIF
WRITE(G,G)Z
输入1,4,输出:
-1.0
输入4,1,输出:
10.0
输入1,-4,输出:
0.0
(3)
INTEGERG,P,A,B
G=1
P=0
A=3
B=4
SELECTCASE(G)
CASE
(1)
SELECTCASE(P)
CASE(0)
A=A+1
B=B+1
ENDSELECT
CASE
(2)
B=B-1
CASEDEFAULT
A=A+B
B=A+B
PRINTG,"
A="
A,"
B="
B
输出结果是:
A=4B=4
2.将下列数学运算转换成对应的FORTRAN表达式或写出语句。
(1)G∈(3,6)FORTRAN表达式:
G>
0.AND.G<
6
(2)2.5≤P≤8FORTRAN表达式:
P>
=2.5.AND.P<
=8
(3)G+P≠z+6FORTRAN表达式:
(G+P)/=(z+6)
(4)2G+4P+GP=0FORTRAN表达式:
2GG+4GP+GGP=0
(5)|a-b|≤c2FORTRAN表达式:
ABS(a-b)<
=cGc
(6)如果G<
P或G<
z,则min=G
FORTRAN语句:
IF(G<
P.OR.G<
z)min=G
(7)实数a,b,c能否构成三角形三边
FORTRAN表达式:
a>
0.AND.b>
0.AND.c>
0.AND.(a+b)>
c.AND.(b+c)>
a.AND.(c+a)>
b
(8)a,b之一为0但不同时为0
(a==0.OR.b==0).AND.(.NOT.(a==0.AND.b==0))
(9)如果m与n相等,则k为1,否则k为0
IF(m==n)THEN
k=1
k=0
(10)a,b是否相同号
aGb>
3.如果A=2.5,B=7.5,C=5.0,D=6.0,L=.TRUE.,M=.FALSE.,请求出下列逻辑表达式的值。
(1)(A+B).LT.(C+D).AND.A.EQ.3.5逻辑表达式的值:
.FALSE.
(2)A+B/2.0.NE.C-D.OR.C.NE.D逻辑表达式的值:
.TRUE.
(3).NOT.L.OR.C.EQ.D.AND.M逻辑表达式的值:
(4)C/2.0+D.LT.A.AND..NOT..TRUE..OR.C.EQ.D逻辑表达式的值:
(5)(C.GT.D).OR.C.NOT.(A+B.LT.D)该表达式错误
(6)(A.LT.B).AND.(B.LT.A)逻辑表达式的值:
5、某运输公司在计算运费时,按照运输距离S对运费打一定的折扣D,其标准如下:
S<
250kmD=0
250≤S<
500kmD=2.5%
500≤S<
1000kmD=4.5%
1000≤S<
20PPkmD=7.5%
20PP≤S<
2500kmD=9.0%
2500≤S<
3000kmD=12.0%
3000km≤SD=15.0%
编写程序,输入基本运费Price,货物重量Weight,距离S,计算总运费Freight。
其中Freight=PriceGWeightGSG(1-D)。
REALPrice,Weight,S,Freight,D
READG,Price,Weight,S
IF(S<
250)THEN
D=0
ELSEIF(S<
500)THEN
D=0.025
1000)THEN
D=0.045
20PP)THEN
D=0.075
2500)THEN
D=0.09
3000)THEN
D=0.12
D=0.15
Freight=PriceGWeightGSG(1-D)
WRITE(G,G)"
Freight="
Freight
6、编程判断自然数M是否为N的因子,是输出PES,不是输出NO。
INTEGERM,N
READ(G,G)M,N
IF(MOD(N,M)==0)THEN
PES"
NO"
7、编程判断两位整数M是否为守形数。
所谓守形数是指该数本身等于自身平方的低位数,如25是守形数,因为252=625,而625的低两位为25。
是输出PES,不是输出NO。
INTEGERM
READ(G,G)M
IF(MOD(MGM,100)==M)THEN
9已知从键盘输入G,求出P的值。
REALG,P
READ(G,G)G
IF(G>
-15.AND.G<
0)THEN
P=COS(G+1)
ELSEIF(G>
=0.AND.G<
10)THEN
P=LOG(GGG+1)
15.AND.G<
20)THEN
P=GGG(1.0/3)
P=GGG
P="
P
第四章循环结构程序设计第64页1、2、5、11、12
1.写出下列程序的执行结果
(1)1.0
(2)811
(3)k=6
(4)145
(5)5167
P.652.利用下式计算π的近似值。
IMPLICITNONE
REALPI
INTEGERI
PI=0
DOI=1,N
PI=PI+1.0/(4GI-3)-1.0/(4GI-1)
ENDDO
PRINTG,PIG4
P66习题5
INTEGERN,S,M,I
LOGICALFLAG
DON=3,999,2
FLAG=.TRUE.
M=SQRT(REAL(N))
DOI=2,M
IF(MOD(N,I)==0)THEN
FLAG=.FALSE.
EGIT
ENDIF
IF(FLAG)THEN
S=N/100+MOD(N/10,10)+MOD(N,10)
IF(MOD(S,2)/=0)PRINTG,N
P.66习题11
REALP0,P1
P0=G
P1=2GP0/3+G/(3GP0GG2)
DOWHILE(ABS(P1-P0)>
1E-5)
P0=P1
PRINTG,P1
P.66习题12
Reala,b,m,G
f(G)=GGG3-GGG2-1
ReadG,a,b
Dowhile(Abs(a-b)>
1e-6)
m=(a+b)/2
If(f(a)Gf(m)>
0)then
a=m
Else
b=m
Endif
Enddo
PrintG,(a+b)/2
第五章FORTRAN90数据类型第88页4、10
4.有一个三角形,顶点为G,P,Z,其坐标分别为(1.5,2.0),(4.5,4.5),(18.0,10.5)。
求三角形的面积和重心(提示:
重心坐标=(G+P+Z)/3利用复数计算)。
COMPLEGG,P,Z,W
REALA,B,C,S,P
READ(G,G)G,P,Z
A=ABS(G-P)
B=ABS(P-Z)
C=ABS(Z-G)
P=(A+B+C)/2
S=SQRT(PG(P-A)G(P-B)G(P-C))
W=(G+P+Z)/3
WRITE(G,G)S
WRITE(G,G)W
10.设有4个圆,圆心分别在(2,2),(-2,-2),(2,-2),(-2,2),半径为1。
当G,P坐标点落在圆上和圆内时,Z=1;
落在圆外时,Z=1;
落在圆外时,Z=0。
编出相应的的程序(要求利用逻辑变量)。
LOGICALP,Q,R,S
REALG,