FORTRAN习题答案.doc

上传人:豆**** 文档编号:23952703 上传时间:2022-07-02 格式:DOC 页数:70 大小:254.50KB
返回 下载 相关 举报
FORTRAN习题答案.doc_第1页
第1页 / 共70页
FORTRAN习题答案.doc_第2页
第2页 / 共70页
点击查看更多>>
资源描述

《FORTRAN习题答案.doc》由会员分享,可在线阅读,更多相关《FORTRAN习题答案.doc(70页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateFORTRAN习题答案习题二习题二一、问答题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. 判定下面整数,指出哪些是合法整

2、数,哪些是非法整数?说明原因。-0、+ 215、$125、3,245,895、5.3245、5#384、-524_3、#5DFE、23-345、16#1A2B、38#ABCD、8#275_2、+327890、4 #3212. 判定下面实数,指出哪些是合法实数,哪些是非法实数?说明原因。-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

3、中正确的表达式是 。 (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. 将下列代数式用Visual Fortran表达式描述: 4sin3A-3sinA+sin3A 2执行下列赋值语句后,变量中的值。变量的类型遵循IN规则。设I=6,K=2,N=-3,T

4、=7.5,Y=1.5L=T/Y/2.0 2 M=I/K*Y+1.5 6Z=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 2

5、I5 ) (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,jREAD*, k,l,mREAD*, n按以下格式输入8个数据:2526 50 45 57 4327 28输入语句执行后,每个变量取何值?i=25、j=26、k=27、l=28、m=0、n=03. 写出输出结果,设I=56,J=1274,K=5126WRITE ( *,100 ) I, J, K(1) 100 FORMAT ( 1X, I4 ) (2) 100 F

6、ORMAT ( 1X, 2I5 ) 56 12745126(3) 100 FORMAT ( 1X, 2 ( I5,2X ) / ) 56 127451264. 写出输出结果,设I=512,J=612,A=18.34,B=-21.4,C=112.463,D=-2174.573WRITE ( *,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 ),

7、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。如用下面的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 FORM

8、AT ( I4/F6.2/I5/F8.2 )(6) 100 FORMAT ( I5,F8.1 )6IMPLICIT NONE INTEGER:I,J,K READ *,I,J K=I/J PRINT *,K=,KEND 当输入9,2时,输出结果为 K=4 。7IMPLICIT NONE REAL:I,J,K READ(*,*)I,J K=I/J WRITE(*,*)K=,KEND当输入9,2时,输出结果为 K=4.500000 。8下面是一些非法的输入输出语句和格式说明语句。说明其非法原因。READ * i,j,kREAD 10 i,j,kREAD *,i=,i,j=,jREAD(*,10)

9、i,j,125READ(*,(“i=”,I3,“j=”,I3) i,jREAD(I3,I3),*) i,j 10 FORMAT(1X,I3,:,I3,:,I3)PRINT * i,j,kPRINT 10 i,j,kWRITE *,i=,i,j=,jWRITE(20,*) i,j,125PRINT(*,(“i=”,I3,“j=”,I3) i,jWRITE(I3,I3),*) i,j 20 FORMAT(1X,I3,I3 I3)9给定下面READ和FORMAT语句: READ 100,i,j,k,m,n100 FORMAT(I2,I3,2X,I2,1X,I4.1,I3)执行READ语句,输入以下5

10、组数据:123456789012345678901322435657687812,3437,234551232;45A1893215123;324;445;555;777 READ语句执行后,每组i,j,k,m,n的值分别是多少?10给定下面READ和FORMAT语句: READ 100,a,b,c100 FORMAT(F5.2,F5.1,E8.3)执行READ语句,输入以下5组数据:12345678901234567890123,456789012,345890132243565E+28123E23437234551.23245.E3.1893215READ语句执行后,每组a,b,c的值分别

11、是多少?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

12、,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),O

13、LD)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

14、=8.0,L=.FALSE.,则其值为假的表达式是 。A) AB.OR.NOT.BCB) L.OR.AC.EQV.NOT.LD) L.EQV.AB+C2、以下不合法的Visual Fortran表达式是 。A) ABCDB) .NOT.(X=B.EQV.CDD) A.AND.B.AND.C3、以下能表示条件“X、Y中至少有一个大于0且小于等于10”的逻辑表达式是 。A) (0X=10).OR.(0Y=10)B) (0X.AND.X=10).AND.(0Y.AND.Y=10)C) (0X.AND.X=10).OR.(0Y.AND.Y=10)D) 0 (X.OR.Y)=10.OR.X=10.OR.

15、Y=10.OR.X=10.OR.Y=10.0R.(X.OR.Y)=10.AND.X=10.AND.Y5) 5、以下正确的逻辑表达式是 。(其中A,B,C,D,X均是数值型变量)A)(A+B).AND. CA+CB) (A+B)=CDC) A=XD) (A+B)C AND (C+D)Y时,Z=X+Y,否则Z=X-Y”。以下能完成该功能的程序段是 。A) IF (XY) Z=X+Y ELSE Z=X-YB) IF (XY) THEN Z=X+Y Z=X-YC) Z=X-Y IF (XY) Z=X+YD) IF (XY) Z=X+Y ELSE Z=X-Y END IF7、下面程序段中有错误的语句是

16、。A) IF AB THENB) A=BC) ELSE B=AD) END IF8、下面程序段中有错误的语句是 。A) IF (A.GT.B) THENB) A=BC) ELSE B=AD) END IF9、下面程序段中有错误的语句是 。 READ *,XA) IF (X0.0)THEN Y=1.0B) ELSE IF (X0.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 (KM) THEN J=K K=M M=J END IF END IF

17、PRINT *,M,K 其运行结果是: 3 3 。2、阅读下面程序:IMPLICIT NONEINTEGER:I,JI=2J=0IF (I=2) J=1IF (J=1) I=JIF (IM) M=IIF (JM) M=JIF (KM) M=KPRINT *,MEND 其运行结果是: 30 。4、阅读下面程序: IMPLICIT NONE REAL:X,YREAD *, XIF (X0.0) THEN Y=0.0ELSE IF (X10.0) THEN Y=1.0/XELSE Y=10.0END IFPRINT *,Y END 若从键盘输入2.0则程序的运行结果是: 0.5 。5、阅读下面程序:

18、 IMPLICIT NONELOGICAL: L1,L2,L3,L4L1=.TRUE.L2=.FALSE.L3=.TRUE.L4=.NOT.L2.OR.L1.AND.NOT.L3PRINT *,L4END 则运行结果是: T 。6、阅读下面程序: IMPLICIT NONELOGICAL:A,B,LA=.FALSE.B=.TRUE.L=.NOT.A.AND.BPRINT *,LEND 则运行结果是: T 。7、阅读下列程序,若运行中的输入值分别为2.5和-1.0,则两次运行结果分别是 。IMPLICIT NONELOGICAL:LREAL:XL=.TRUE.READ *,XIF (X54 F(

19、35+3*8).GE.75 F(2.5,5.7)(1.2,3.5) 错误的表达式(25.9,58.4).NE.(58.4,25.9) Tbanana20 .AND. .NOT.(pen/s80) T三、填空题1、下面程序的功能是求方程X*2+BX+C=0的实根,请填空。IMPLICIT NONEREAL:B,C,X1,X2READ (*,*) B,CD=B*2-4*CIF( D0 ) THEN IF( D/=0 ) THEN X1=-B/2.0+SQRT(D)/2.0 X1=-B/2.0-SQRT(D)/2.0 PRINT *,X1,X2 ELSEX1=-B/2.0X2=X1PRINT *,X1,X2 ENDIF ELSEPRINT *,ERROEENDIFEND2、下面程序的功能是求以下函数的函数值,请填空。 IMPLICIT NONE REAL:X,YREAD(*,*) X IF (X=0 .AND. x= 5 ) THENS = S + 32T = 1DO WHILE ( K MAX1 ) MAX1= SUM IF ( I= =1 .OR. SUM MIN1 ) MIN1 = SUMEND DOPRINT * , MAX1 , MIN1END-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com