文档库 最新最全的文档下载
当前位置:文档库 › FORTRAN习题答案

FORTRAN习题答案

FORTRAN习题答案
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、-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 2-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 表达式描述:

① ② ③ 4sin 3A-3sinA+sin3A ④ 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

习题四

一、运行程序题

2200B A C By Ax +++z sin e 21y -p

sin )

c p sin()b p sin()a p sin(---

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。如用下面的FORMA T语句应如何输入数据。

(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和FORMA T语句:

READ 100,i,j,k,m,n

100 FORMAT(I2,I3,2X,I2,1X,I4.1,I3)

执行READ语句,输入以下5组数据:

123456789↙

1 32

2 4

3 ?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和FORMA T语句:

READ 100,a,b,c

100 FORMAT(F5.2,F5.1,E8.3)

执行READ语句,输入以下5组数据:

123456789↙

123,456789012,345890↙

1 32

2 4

3 ?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 FORMA T(1X,I3,1X,F5.2,1X,I4,1X,F9.2,I5,I6,E12.3,E12.3E3)

②100 FORMA T(3X,I4,1X,F9.2,1X,I4,1X,F9.2,2I5,2E12.3)

③100 FORMA T(‘ i=’,I3,‘a=’,F5.2,‘j=’,I4,‘b=’,F9.2,‘k=’,I5,‘m=’,I6,

‘x=’,E12.3,‘y=’,E12.3E3)

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

⑤100 FORMA T(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 FORMA T(1X,I4,2X,I5,2X,2(F7.2,2X),F10.1)

②100 FORMA T(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) A

B) L.OR.A

C) 13>C.EQV..NOT.L

D)L.EQV.A

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

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)(0

B)(0

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>=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. C

B) (A+B)==C

C) A<=B.AND.C>=X

D) (A+B)>C AND (C+D)<0

6、要实现“当X>Y时,Z=X+Y,否则Z=X-Y”。以下能完成该功能的程序段是。

A) IF (X>Y) Z=X+Y

ELSE Z=X-Y

B) IF (X>Y) THEN Z=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

END IF

7、下面程序段中有错误的语句是。

A) IF A>B THEN

B) A=B

C) ELSE

B=A

D) END IF

8、下面程序段中有错误的语句是。

A) IF (A.GT.B) THEN

B) A=B

C) ELSE B=A

D) END IF

9、下面程序段中有错误的语句是。

READ *,X

A) IF (X<0.0)THEN

Y=1.0

B) ELSE IF (X<=10.0) THEN

Y=2.0

C) ELSE

Y=3.0

D) END IF

END IF

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

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

END IF

END IF

PRINT *,M,K

其运行结果是:3 3 。

2、阅读下面程序:

IMPLICIT NONE

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

其运行结果是: 2 1 。

3、阅读下面程序:

IMPLICIT NONE

INTEGER::I,J,K,M

I=10

J=20

K=30

IF (I>M) M=I

IF (J>M) M=J

IF (K>M) M=K

PRINT *,M

END

其运行结果是:30 。

4、阅读下面程序:

IMPLICIT NONE

REAL::X,Y

READ *, X

IF (X<0.0) THEN

Y=0.0

ELSE IF (X<10.0) THEN

Y=1.0/X

ELSE

Y=10.0

END IF

PRINT *,Y

END

若从键盘输入2.0↙

则程序的运行结果是:0.5 。

5、阅读下面程序:

IMPLICIT NONE

LOGICAL:: L1,L2,L3,L4

L1=.TRUE.

L2=.FALSE.

L3=.TRUE.

L4=.NOT.L2.OR.L1.AND..NOT.L3

PRINT *,L4

END

则运行结果是:T 。6、阅读下面程序:

IMPLICIT NONE

LOGICAL::A,B,L

A=.FALSE.

B=.TRUE.

L=.NOT.A.AND.B

END

则运行结果是:T 。

7、阅读下列程序,若运行中的输入值分别为2.5和-1.0,则两次运行结果分别是。

IMPLICIT NONE

LOGICAL::L

REAL::X

L=.TRUE.

READ *,X

IF (X<0.) THEN

L=.FALSE.

ELSE

PRINT *,X

END IF

IF (.NOT.L) PRINT *, -X

END

当输入的数值为2.5↙

则输出结果为: 2.500000 。

当输入的数值为-1.0↙

则输出结果为: 1.000000 。

8、阅读下面程序:

IMPLICIT NONE

INTEGER:: X=1,Y=0,A=2,B=2

SELECT CASE(X)

CASE(1)

SELECT CASE(Y)

CASE(10)

A=A+1

CASE(1)

B=B+1

END SELECT

CASE(2)

A=A+1;B=B-1

CASE(3)

A=A-1; B=B+1

END SELECT

PRINT *,‘A=’,A,’B=’,B

END

程序运行结果为:A= 2B= 2 。

9、阅读下面程序:

IMPLICIT NONE

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、阅读下面程序:

IMPLICIT NONE

INTEGER ::A,B,C,X

READ *,A, B, C

X=A+2+B+C**2

SELECT CASE ( X )

CASE ( : 7 )

PRINT *, “A”

CASE ( 8 : 10 )

PRINT *, “B”

CASE ( 11: 15 )

PRINT *, “C”

CASE ( 16 : )

PRINT *, “N”

END SELECT

END

若从键盘输入0,1,2↙

其运行结果为:A;

若从键盘输入1,2,3↙

其运行结果为:C;

若从键盘输入3,2,1↙

其运行结果为:B。

11.给出下列关系表达式和逻辑表达式,判定表达式的值。

25.5>54 F

(35+3*8).GE.75 F

(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的实根,请填空。

IMPLICIT NONE

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、下面程序的功能是求以下函数的函数值,请填空。

??

???><=<=+<=10)(X 110)X (06

*3*X 0)(X lnX -3X Y

IMPLICIT NONE

REAL::X,Y

READ(*,*) X

IF (X<0) THEN

Y=3*X-LOG(ABS(X)) ELSE IF ( x>=0 .AND. x<=10 ) THEN

Y=X**3+6

ELSE

Y=1

ENDDO

PRINT *,Y

END

3、下面程序的功能是判断一个整数是否能被3或7整除,若能被整除,则输出’YES’,否则输出’NO’,请填空。

IMPLICIT NONE

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’.

IMPLICIT NONE

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、阅读下列Visual Fortran程序段

INTEGER::I,J,K

DO I = 1,5,2

DO J = 2,6,3

K = I + J

ENDDO

ENDDO

上述称序段执行完后K的值是

A) 11 B) 10C)12 D) 30

2、阅读下列Visual Fortran程序段

INTEGER::N,K

REAL::S,T

S = 0.0

K = 1

IF ( N >= 5 ) THEN

S = S + 32

T = 1

DO WHILE ( K < N )

T = T * 2

S = S + T

K = K +1

PRINT * , S

END DO

END IF

PRINT * , S

END

若从键盘输入:6,则运行后S的值为:

A) 64.0 B) 32.0 C)94.0D) 96.0

二、运行程序题:

(1) 1IMPLICIT NONE

INTEGER::M,I,J

M=0

DO I=1,5,4

DO J=4,19,4

M=M+1

ENDDO

ENDDO

PRINT*,M

END

M的值为___8________。

(2) IMPLICIT NONE

INTEGER::K,J

REAL::S

DO K=2,5,2

S=1.0

DO J=K,5

S=S+J

ENDDO

ENDDO

END

S的值为__10.0__。

三、填空题

题目要求:从键盘输入5组数,每组有5个数,求出各组中元素绝对值之和的最大者和最小者。

IMPLICIT NONE

INTEGER::I,J,SUM,MAX1,MAX2

MAX1 = 0; MIN1 = 0

DO I = 1 , 5

SUM = 0

DO J = 1 , 5

READ*,X

SUM = SUM + ABS(X)

END DO

IF ( SUM > MAX1 ) MAX1= SUM

IF ( I= =1 .OR. SUM < MIN1 ) MIN1 = SUM

END DO

PRINT * , MAX1 , MIN1

END

(完整)Fortran经典编程语言笔记(你值得拥有)

FORTRAN笔记 2014.10.07 目录 第七讲_FORTRAN的基本知识.ppt (2) FORTRAN语言程序设计初步 (2) FORTRAN源程序的书写格式(以77为例) (2) 变量 (2) 变量类型 (2) 算术运算符和运算优先级 (3) 赋值语句 (3) 参数语句(PARAMETER语句) (3) END语句 (3) PAUSE语句 (3) 逻辑运算和选择结构 (4) 关系表达式 (4) FORTRAN中数组的定义及使用 (4) 其他 (5) 1. fortran语言定义CHARACTER*6 TTL(14,3),CNAM(400)是什么意思? (5) 2. fortran里character*10 是什么意思 (5) 3. Fortran中kind是什么函数? (5)

第七讲_FORTRAN的基本知识.ppt FORTRAN语言程序设计初步 FORTRAN是Formula Translation的缩写,意为“公式翻译”,它是为科学、工程问题或企事业管理中的那些能够用 数学公式表达的问题而设计的,其数值计算的功能较强。 常用的是FORTRAN77和FORTRAN90两种标准。 1、一个程序由若干个程序单位组成。主程序和每一个子程序分别是一个独立的程序单位。 2、每一个程序单位都是以“END”结束的。 3、一个程序单位包括若干行。 1)语句行。由一个FORTRAN语句组成。 2)非语句行,即注释行。 4、FORTRAN程序中的语句可以没有标号,也可以有标号,根据需要而定。标号的作用是标志一个语句以便被其 他语句引用。 5、一个程序单位中各类语句的位置是有一定规定的。 6、FORTRAN源程序必须按一定的格式书写。 FORTRAN源程序的书写格式(以77为例) 每一行有80列,分别如下: 1、第1-5列为标号区。一行中第一列为“C”或“*”,该行即被认为是注释行。 2、第6列为“续行标志区”,如果在一行的第6列上写一个非空格和非零的字符,则该行作为其上一行的续行。 3、第7-72列为语句区。 4、第73-80列,注释区。 变量 变量名:一个变量需要用一个名字(变量名)来识别。在同一个程序单位中不能用同一个变量名代表两个不同的变 量。 FORTRAN的变量名按以下规则选定: 1)第一个字符必须是字母,即变量名必须以字母开头; 2)在一个字母后面可以跟1-5为数字或字母。 如果选定的变量名超过6个字符,则只有前面6个字符有效。 注:在变量名中大写与小写字母是等价的。 变量类型 整型变量Integer、实型变量Real、双精度变量Double Precision、复型变量Complex、逻辑型变量Logical和字符型变量Character。 1、隐含约定(I-N规则) FORTRAN规定:在程序中的变量名,凡以字母I,J,K,L,M,N六个字母开头的,即认为该变量为整型变量。 在程序中,凡是变量名以字母I,J,K,L,M,N,i,j,k,l,m,n开头的变量被默认为整型变量,以其他字母开头的变量被 默认为实型变量。 2、用类型说明语句确定变量类型 1)INTEGER语句(整型说明语句) 2)REAL语句(实型说明语句) 3)DOUBLE PRECISION语句(双精度说明语句) 4)COMPLEX语句(复型说明语句) 5)LOGICAL语句(逻辑型说明语句)

大学FORTRAN考试试题样题

《高级语言程序设计(FORTRAN)》考试样题 一、选择题(每小题2分,共40分) 1. 下列标识符中不能作为FORTRAN的合法变量名的是_____D_____。 A) A_1 B) A1 C) A1A D) A+1 2. 在FORTRAN的变量类型说明语句中没有 B A) REAL语句B)CHAR语句C)INTEGER语句 D)LOGICAL语句 3.FORTRAN90 源程序的扩展名是 C 。 A. TXT B. F C. F90 D. FOR 4.下列关于符号常量的说法正确的是___C____。 A.符号常量的定义应该放在所有语句之前 B.符号常量不可以是字符型常量 C.在一个程序单位中定义一个符号常量后,不能再改变它的值 D.符号常量定义语句与赋值语句一样,是可执行语句 5、在下列写法中,__D______不是FORTRAN常量。 A. .TRUE. B.1E-2 C. (0.0,2.4) D.1,000,000 6.表达式15/4/2.0的值是 B 。 A.整数2 B.实数1.5 C.实数2.25 D.实数1. 3 7. 下列不是FORTRAN赋值语句的是 _____D______。 A) X=.TRUE. B) X=X*X C) X=X**2**2 D) X=X++ 8. 梯形的上底为A,下底为B,高为H,计算其面积的FORTRAN表达式中错误的是____A____。 A)1/2*(AB)*H B)(A+B)*H/2 C)(A+B)/2*H D)0.5*(A+B)*H 9. 要选拔身高T>1.7米且体重W<62.5公斤的人,FORTRAN的逻辑表达式是__C_____。 A)T.ce.1.7.AND.w.le.62.5 B)T.le.1.7.OR.w.ge.62.5 C)T.gt.1.7. AND.w.lt.62.5D)T.gt.1.7.OR.w.lt.62.5 10.FORTRAN 90规定,变量类型声明的优先顺序是 C 。 A.隐含约定(I-N规则)、IMPLICIT声明、类型声明 B.类型声明、隐含约定(I-N规则)、IMPLICIT声明 C.类型声明、IMPLICIT声明、隐含约定(I-N规则) D.IMPLICIT声明、类型声明、隐含约定(I-N规则) 11、假设CH是一个字符型变量,并且具有足够的长度,则对于CH(3:7),下面说法正确的是___D________。 A.它是一个数组片段 B.它是一个数组定义形式 C.它是CH的一个子串,并且长度是4 D.它是CH的一个子串,并且长度是5 12.数组声明语句为: INTEGER,DIMENSION(-5:-1,-3:3,11:15) ::A 数组共有 A 个元素。 A.175 B.150 C.120 D.17 13. 下列DATA语句中正确的是______C____。 A) DATA /A,B/-1.0, -1.0/ B) DATA A, B/2*(-1.0)/ C) DATA A, B/2*-1.0/ D) DATA A/-1.0, B/-1.0 14. 下列有关FORTRAN数组的说法正确的是______D_____。 A) 数组定义语句只能定义一维或二维数组 B) 数组元素下标不能出现负值 C) 在赋值语句中出现的A(3)肯定是数组元素 D) 程序中使用的数组必须进行说明

Fortran复习题讲解

FORTRAN程序设计复习题 选择题 B (1)下列各FORTRAN表达式中合法的是 A) S+T*2P >= 0.0 B) .NOT. (A*B+C) C) A2+B2/(C+D) <= 0.0 D) (A+B).NOT.A*B.GT.0.0(.NOT.只跟一个表达式) C (2)数学式(3/5)ex+y的FORTRAN表达式是 A) 3*EXP(X+Y)/5 B) 3*E* *(X+Y)/5.0 C) (3/5)*EXP(X+Y) D) (3.0/5.0)EXP(X+Y) D (3)下列FORTRAN77表达式中不合法的是 A) A.GT.B.EQV.C.GT.D B) A.AND.B.AND.C.AND.D C) .NOT.(X.LE.0.0) D) A.LT.B.LT.C.LT.D D (4)下列叙述中不正确的是 A) FORTRAN子程序可以单独编译 B) 对一个FORTRAN源程序进行编译和连接无误后可生成可执行文件 C) 即使编译和连接都正确无误,FORTRAN程序运行时仍可能出错 D) FORTRAN连接的主要任务是把函数库中的函数翻译成机器指令(主要任务为连接目标文件) B (5)在下列FORTRAN77运算符中,优先级最高的是 A) .AND. B) .NOT. C) .OR. D) .EQ. B (6)FORTRAN表达式"6/5+9/2**3/2"的值为 A) 33 B) 1 C) 5 D) 3 A (7)下列FORTRAN77 表达式中,合法的是:A)相当于0.0.LE.X .AND.(.NOT.(X.GE.10.0 ))A) 0.0.LE.X .AND..NOT.X.GE.10.0 B) 0.0.GE.X.LT.10.0 C) 0.0.LE.X.GE.10. D) 10.0.LE.X.OR..AND.X.GT.0.0 D (8)关于编译一个FORTRAN源程序文件,下列说法中错误的是 A) 允许编译只有一个主程序而没有子程序的源文件 B) 允许编译有多个子程序的源文件 C) 允许编译只有一个子程序而没有主程序的源文件 D) 允许编译有多个主程序的源文件 C (9)在FORTRAN77源程序中,续行标志符必须放在 A) 第1列 B) 第1-6列 C) 第6列 D) 第5列 D (10)下列关于"SUBROUTIN E MAP(X,Y)"语句行的叙述中,不正确的是 A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参 D) 子程序执行后,MAP将返回整型数据(子程序无返回值,自定义函数才有) A (11)FORTRAN表达式"2/4+0.5"的值是 A) 0.5 B) 1 C) 1.0 D) 0 D (12)FORTRAN表达式"MOD(4.9,1.3)"的值是 A)1.3 B)0.0 C)4.9 D)1.0 A (13下列FORTRAN运算符中,优先级最低的是 A)逻辑运算符.AND. B)算术运算符* C)关系运算符 >= D)算术运算符+ A (14下列语句函数的定义中正确的是 A)F(X,Y)=(X+Y)/(X*Y)+7.0 B)FUNCTION FUN(I,J,K)=3*I+2*J+0.5*K

大学FORTRAN考试试题1

1.下列叙述中,正确的是(D ) A.语句标号的大小影响程度执行的顺序 B.程序完全按语句出现的先后顺序执行 C.不同程序单位不能有相同的语句标号 D.同一程序单位不能有相同的语句标号 2.下列标识符中,不能作为合法的FORTRAN90标识符的是( C) A.A3_B3 B.VOID C._123 D.IF 3.下列哪一个为正确的常量( D ) A.123,000 B. 3.5E+2.5 C. TRUE D. “HELLO” 4.若A=2,B=2,I=3,则表达式A**B**I的值为( C ) A. 64 B.12 C.256 D16. 5.圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是( D ) A. 3.14159*(D/2)*(D/2) B. 3.14159*(D*D/4) C. 3.14159*(D/2)**2 D. 3.14159*D*D/4 6.下列运算符中,运算优先级最高的是(B ) A. 关系运算 B. 算术运算 C. 逻辑非运算 D. 逻辑与运算 7.下列FORTRAN的表达式中值为0.5的是( C) A.MOD(4.8,0.5) B.100/20/10 C.50.0/4/25 D.MOD(15,10)/10 8.下列是完整的FORTRAN程序,编译时出错的语句是( C ) A.PROGRAM PRINT B.PARAMETER (PI=3.1415926) C.PI=PI+1 D.WRITE(*,*)SIN(PI+0.5) END 9.变量的类型定义中,优先级由高到低的顺序为( A ) A.类型说明语句、IMPLICIT 说明语句、隐含约定 B.隐含约定、IMPLICIT 说明语句、类型说明语句 C.IMPLICIT 说明语句、类型说明语句、隐含约定 D.隐含约定、类型说明语句、IMPLICIT 说明语句 10.“两整数M与N不能同时小于零”的FORTRAN表达式( D ) A.M>=0.AND.N>=0 B.(M.GE.0.AND.N.LT.0).OR.(M.LT.0.AND.N.GE.0)C.(M.LE.0.AND.N.LE.0).OR.(M.LE.0.AND.N.GE.0)D.M.GE.0.OR.N.GE.0

FORTRAN 95 语法速查

FORTRAN 95 语法速查 ----------白云、李学哲、陈国新、贾波编著《FORTRAN95程序设计》读书笔记 目录:一、应用程序的创建与运行/FORTRAN 95所用的字符/ 变量类型及其声明,常量声明/表达式与运算符 二、输入与输出:表控、有格式 三、选择语句与结构:IF语句、CASE结构 四、DO循环结构 五、数组:数组的声明,数组的引用,数组的算术运算,数组的输入、输出,给数组赋初值, 动态数组,WHERE、FORALL语句 六、子程序:语句函数,内部子程序,调用子程序时的虚实结合:形参为数组、非定界数组、子 程序名、星号,递归子程序,外部子程序,纯子程序,逐元子程序 七、派生数据类型与结构体 八、指针与动态链表 九、文件:存取方式,基本操作语句,各类文件的读写操作 十、接口、模块 十一、公用区、存储关联、数据块子程序 十二、绘图:坐标系、设置图形颜色、创建图形程序/ 常用过程:设置线型、绘一像素点、设置当前位置、绘直线、绘弧线、绘矩形、绘多边形、绘制扇形(圆、椭圆)/ 文字信息的显示 附/录:标准函数与标准子例行程序 一、基础部份 1-1 FORTRAN 95 应用程序的创建与运行 创建或运行FORTRAN 95程序必须在Microsoft Developer Studio平台上进行。尽管程序文本及相关文件的编辑可以在任一文本编辑器上进行,然后再拷到Studio的文档窗口中。但最好还是一开始就进入Studio环境。创建FORTRAN 95 程序的步骤大致如下: 1)启动Microsoft Developer Studio 可以通过不同方式运行dfdev.exe程序以启动Microsoft Developer Studio [开始] \ Compaq Visual Fortran 6 \ Developer Studio \ dfdev.exe:或 ……\CVF66 \https://www.wendangku.net/doc/c88013952.html,\MSDEV98\dfdev.exe Microsoft Developer Studio的界面如下图所示: 文档窗口 工作空间窗口 输出窗口

FORTRAN77试题B

贵州大学2006-2007学年第一学期考试试卷 B 高级语言程序设计 注意事项: 1. 请考生按要求在试卷装订线内填写姓名、学号和年级专业。 2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。 3. 不要在试卷上乱写乱画,不要在装订线内填写无关的内容。 4. 满分100分,考试时间为120分钟。 一、选择题(共50分,每小题2分,各题中A)、B)、C)、D) 四个选项中,只有一个选项是正确的,请将正确的编号填在括号内) 1. 使用超大规模集成电路制造的计算机应该归属于() A) 第一代B) 第二代C) 第三代D) 第四代 2. 下列FORTRAN77运算符中,优先级最低的是()A)逻辑运算符.AND. B)算术运算符* C)关系运算符.GE. D)算术运算符+ 3.下列标识符中,不属于FORTRAN77常量的是()A).TRUE. B)FALSE C)ˊROOT=ˊ D)ˊ123.0ˊ 4.下列叙述中错误的是()A)PROGRAM语句可以是FORTRAN77主程序的第一个语句 B)每一个FORTRAN77程序块的最后一个语句必须是END语句 C)FORTRAN77的所有语句都是可执行语句 D)FORTRAN77的任何可执行语句都可以有标号 5.下列FORTRAN77表达式中,值为.FALSE.的是()A).NOT.(.FALSE. .AND. .NOT. .TRUE.) B).NOT. .FALSE. .OR. .NOT. .TRUE. C).NOT. .TRUE. .AND. .NOT. .FALSE. D)X .GT. Y .OR. X .LE. Y 6. 在计算机内部,一切信息存取、处理和传送的形式是() A) ASCII码B) BCD码C) 二进制D) 十六进制

fortran语言语法

FORTRAN是世界上最早出现的高级编程语言,是工程界最常用的编程语言,它在科学计算中(如航空航天、地质勘探、天气预报和建筑工程等领域)发挥着极其重要的作用。经过40多年的发展,伴随着FORTRAN语言多次版本的更新及相应开发系统的出现,其功能不断完善,最新版本的开发系统几乎具备了VC、VB的所有特点,如图形界面编程、数据库等。目前,工科院校开设的计算机编程语言课首选仍然是FORTRAN :< 说实话,从科技发展的趋势来说这不是好事。您可以设想一下,如果需要用鹅毛笔抄写大量的古籍是什么感受! 强烈建议阅读《发掘C#特性赋予科学计算项目以威力》 1 FORTRAN77四则运算符 + - * / ** (其中**表示乘方) 在表达式中按优先级次序由低到高为: +或-→*或/→**→函数→() 2 FORTRAN77变量类型 隐含约定:I-N规则 凡是以字母I,J,K,L,M,N六个字母开头的,即认为是整型变量,其它为实型变量。 用类型说明语句确定变量类型:可以改变I-N规则

用IMPLICIT语句将某一字母开头的全部变量指定为所需类型 如IMPLICIT REAL (I,J) 三种定义的优先级别由低到高顺序为:I-N规则→IMPLICIT语句→类型说明语句,因此,在程序中IMPLICIT语句应放在类型说明语句之前。 数组的说明与使用 使用I-N规则时用DIMENSION说明数组,也可在定义变量类型同时说明数组,说明格式为:数组名(下标下界,下标上界),也可省略下标下界,此时默认为1,例:DIMENSION IA(0:9),ND(80:99),W(3,2),NUM(-1:0),A(0:2,0:1,0:3)

计算机技术基础(Fortran)试题库

一、选择题 1、下列关于"SUBROUTINE MAP(X,Y)"语句行的叙述中,不正确的是( ) A) 这是子程序的第一个语句B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参D) 子程序执行后,MAP将返回整型数据 2、FORTRAN表达式"2/4+"的值是( ) A) B) 1 C) D) 0 3、阅读下列FORTRAN程序: PI=3. WRITE(*,' ')PI END 程序运行后输出结果是( ) A) B) 3.1415 C) D) 4、圆的直径存放在整型变量K之中,下列计算圆面积的表达式中正确的是( ) A) *K*K/4 B) *(K*K/4) C) *(K/2)**2 D) *(K/2)*(K/2) 5、要判断"月收入M在2000元以上(含2000元)且5000元以下)不含5000元)"的职工,应该使用的逻辑表达式是( ) A) M .GE. 2000 .AND. M .LE. 5000 B) M .GE. 2000 .OR. M .LE. 5000 C) M .GE. 2000 .AND. M .LT. 5000 D) M .GE. 2000 .OR. M .LT. 5000 6、设FORTRAN子程序如下: SUBROUTINE SUB(I,X) B=I+1 X=X+B END 若主程序中的变量M,B已按I-N规则赋值,则调用上述子程序的语句中正确的是( ) A) CALL SUB(M,M) B) CALL SUB(M+4,B) C) CALL SUB(B,B) D) CALL SUB(M,B+4) 7、下列不是FORTRAN常量的是( ) A) , B) +00 C) 2/3 D) 'Very good!' 8、阅读下列FORTRAN程序: F= DO 20 K=3, 7, 3 DO 20 L=K-1, K

Fortran 上机题汇总

Fortran 复习题汇总program exer101_1 implicit none realpi,r,t,s C 说明符号常量 parameter(pi=3.1415926) C 打开用于保存结果的文件 open(9,file='mydata.dat') write(*,*)"请输入r和t的值:" read*,r,t s=t/360.0*pi*r**2 C 在屏幕上显示结果 print*,'r=',r,'t=',t,'s=',s C 采用格式说明语句显示结果 write(*,100)'r=',r,'t=',t,'s=',s 100 format(1X,3(A2,F10.5,1X)) C 将结果保存至文件中 write(9,*)'r=',r,'t=',t,'s=',s end program exer101_2 implicit none realpi.r,t,s parameter(pi=3.1415926) !说明符号常量 open(9,file='mydata.dat') !打开用于保存结果的文件write(*,*)"请输入r和t的值:" read*,r,t s=t/360.0*pi*r**2 print*,'r=',r,'t=',t,'s=',s !在屏幕上显示结果 write(*,100)'r=',r,'t=',t,'s=',s !采用格式说明语句显示结果100 format(1X,3(A2,F10.5,1X)) write(9,*)'r=',r,'t=',t,'s=',s !将结果保存至文件中 end 1

2 program ex202 implicit none real F,C print*,"请输入一个华氏温度:" read*,F

fortran语言内部函数

附录 FORTRAN 90标准函数 符号约定: ●I代表整型;R代表实型;C代表复型;CH代表字符型;S代表字符串;L代表逻辑型;A代表数组;P代表指针;T代表派生类型;AT为任意类型。 ●s:P表示s类型为P类型(任意kind值)。s:P(k)表示s类型为P类型(kind值=k)。 ●[…]表示可选参数。 ●*表示常用函数。 表1 数值和类型转换函数 函数名说明 ABS(x)*求x的绝对值∣x∣。x:I、R,结果类型同x; x:C,结果:R AIMAG(x)求x的实部。x:C,结果:R AINT(x[,kind])*对x取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) AMAX0(x1,x2,x3,…)*求x1,x2,x3,…中最大值。x I:I,结果:R AMIN0(x1,x2,x3,…)*求x1,x2,x3,…中最小值。x I:I,结果:R ANINT(x[,kind])*对x四舍五入取整,并转换为实数(kind)。x:R, kind:I,结果:R(kind) CEILING(x)*求大于等于x的最小整数。x:R,结果:I CMPLX(x[,y][,kind]))将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,kind:I,结果:C(kind) CONJG(x)求x的共轭复数。x:C,结果:C DBLE(x)*将x转换为双精度实数。x:I、R、C,结果:R(8) DCMPLX(x[,y])将参数转换为x、(x,0.0)或(x,y)。x:I、R、C, y:I、R,结果:C(8) DFLOAT(x)将x转换为双精度实数。x:I,结果:R(8) DIM(x,y)*求x-y和0中最大值,即MAX(x-y,0)。x:I、R, y的类型同x,结果类型同x DPROD(x,y)求x和y的乘积,并转换为双精度实数。x:R, y:R,结果:R(8)

fortran习题参考答案

工程分析程序设计上机作业(五) 模块化编程 上机目的:掌握内部例程、主程序、外部例程、模块等功能的使用方法。 1、有一个六边形,求其面积。为求面积,作了3条辅助线。如图所示:(提示,三角形面 积 2 a b c s ++ =,a、b、c为三个边长)。要求用内部函 数来计算每个三角形的面积。 =21 program main implicit none real :: A(9)=(/10,30,16,13,21,14,20,36,28/) integer i real s s=area(A(3),A(4),A(7))+area(A(2),A(7),A(8))+ & area(A(1),A(8),A(9))+area(A(5),A(6),A(9)) print*,'The area is',s contains function area(x,y,z) implicit none real x,y,z real p,area p=(x+y+z)/2 area=sqrt(p*(p-x)*(p-y)*(p-z))

end function end 2、编写一个子例程子程序,SUM(S,T,N1,N2)。把整型数N1到N2进行求和,并把求 和的结果放置到S,把整型数N1到N2进行求积,并把求积的结果放置到T。并用这个子程序来计算: y=++++++++++- (1234)(345678)(3*4*5*6)(1*2*3) program main implicit none integer A(8) integer i,b,c,d,e,f,g,m,n,y b=0;d=0;g=1;n=1 do i=1,8 A(i)=i end do call sum(b,c,1,4) call sum(d,e,3,8) call sum(f,g,3,6) call sum(m,n,1,3) y=b+d+g-n print*,'y=(1+2+3+4)+(3+4+5+6+7+8)+(3*4*5*6)-(1*2*3)=',y contains subroutine sum(s,t,N1,N2) integer s,t,N1,N2,i do i=N1,N2 s=s+A(i) t=t*A(i) end do end subroutine end 3、编写函数子程序GDC求两个数的最大公约数。求最大公约数的算法如下:把两个数中 大的那个数作为被除数,两数相除得到一个余数。把余数去除除数得到新一轮的余数。 不断重复这一过程直到余数为0,这时的除数就是两个数的最大公约数。

fortran考试试题(A)有答案版

中南林业科技大学课程考试试卷 课程名称: Fortran 语言程序设计 ;试卷编号:A 卷;考试时间:120分钟 题号 一 二 三 四 总分 应得分 30 10 20 40 实得分 一、填空题(30分,每题2分) 得分 评卷人 复查人 1. Fortran 语言中有:整数型 逻辑型 字符型 实数型 复数型五种基本数据类型。 2. Fortran 程序的书写格式有两种固定格式 自由格式。 3. 字符型常数’this ”s ’的字符长度为6 4. 下列程序运行结果为125。 Program main Implicit none Integer::floor=5,i Do i=1, floor If(i==3)cycle If(i==4)cycle Write(*,*)i End do end 5. 下列程序的运行结果为7 6.0,2.0。 Program main Implicit none Real :: a, b, m A=2.0 B=76.0 If(a

sum=0.0 do i=1,203,2 sum=sum+i end do write(*,*) i end 7.下列程序的运行结果是12000。Program test Implicit none Integer::i Integer::a(5)=(/ (i, i=1,5) /) Integer::b(5)=0 Where (a<3) b=a End where Write(*,”(5(i3,1x))”) b end 8.下列程序的运行结果是30。Program test Implicit none Integer,parameter:: limit=10 Integer counter Integer:: ans=0 Counter=2 do while(counter<=limit) ans=ans+counter counter=counter+2 end do Wrte(*,*)ans end 9.下列程序的运行结果是2,3。Program main implicit none integer ::a=1 integer ::b=2 call add ( a ) Call add ( b) Write(*,*) a , b Stop end Subroutine add (sum) Implicit none

计算机程序设计语言(FORTRAN语言)

计算机程序设计语言(FORTRAN语言) (总分:36.00,做题时间:90分钟) 一、 (总题数:36,分数:36.00) 1.编译程序能将高级语言编写的源程序转换成( )。 A.解释程序 B.汇编程序 C.映象程序 D.目标程序 (分数:1.00) A. B. C. D. √ 解析: 2.一个完整的FORTRAN源程序( )。 A.至少包括一个主程序 B.至少包括一个主程序和一个子程序 C.由一个主程序与一个以上的子程序组成 D.由一个主程序与一个子程序组成 (分数:1.00) A. √ B. C. D. 解析: 3.语句函数定义语句在程序内合法的位置是( )。 A.在程序块开头语句之后,END语句之前 B.在程序块开头语句之后,可执行语句之前 C.在说明语句之后,END语句之前 D.在说明语句之后,可执行语句之前 (分数:1.00) A. B. C. D. √ 解析: 4.下列关于函数子程序虚实参数的错误说法是( )。 A.可以没有形参数 B.虚实结合的数组长度可以不同 C.实参表与虚参表类型可以不同 D.函数名可以作为虚参

(分数:1.00) A. B. C. √ D. 解析: 5.下列叙述中正确的是( )。 A.FORTRAN程序块中,无名公用语句只能有一个B.FORTRAN子程序中,至少应有一个RETURN语句C.FORTRAN程序块中,最后一行必须是END语句D.FORTRAN程序块中,必须有变量说明语句 (分数:1.00) A. B. C. √ D. 解析: 6.运行下面的程序时得不到所需的结果,其主要原因是( )。INTEGER X(11) DATA X/9,8,7,6,5,4,3,2,1,0,-1/ DO 10 1=1,X(1) ,-1 WRITE(*,*)1.0/SQRT(25.0-REAL(X(1) )* * 2) 10 CONTINUE END A.没有给X(11) 赋初值 B.发生除以零的情况 C.发生负数开平方的情况 D.循环参数设置错误 (分数:1.00) A. B. C. D. √ 解析: 7.下列数据中,不符合FORTRAN常量表示法的是( )。 A.-25.6 B.2.758D3 C.'FOOT"=' D.TRUE (分数:1.00) A. B. C. D. √ 解析:

FORTRAN90练习题

一.选择题 1.语句OPEN(3,FILE=‘ABC’)打开的是文件。 A.有格式顺序存取B.无格式顺序存取 C.有格式直接存取D.无格式直接存取 2.调用子程序时,假设实参可以是常数、内在函数及表达式,其相应形参是。 A.变量名B.数组名C.过程名D.* 3.下列数据中,不符合FORTRAN90常量表示的是。 A.-25.6 B.3.2344D0 C.’BOOT’’=’D.TRUE 4.圆心在原点的两个同心圆,半径分别为2和4。描述点(X,Y)在小圆外,大圆内(包括在两圆周上)的表达式是。 A.ABS(X)<=4.0 .AND. ABS(Y)>=2.0 B.2.0>=SQRT(X*X+Y*Y)<=4.0 C.X*X+Y*Y<=16.0 .AND. X*X+Y*Y>=4.0 D.(X.OR.Y)>=2.0 .AND. (X .OR.Y)<=4.0 5.下列字符串中可用作FORTRAN90变量名的是。 A.ABC B. A-BCD C. 2ABC D. AB.C 6.下列数据中不符合FORTRAN90常数表示的为。 A. 21.50 B. +0.0D0 C. .TRUE. D. $1000 7.表达式:-B+SQRT(B*B-4.0*A*C).LE.3E-5值的类型是。 A. 逻辑型 B. 整型 C. 实型 D. 字符型 8.按隐含约定,设X=2.5,Y=1.0,Z=3.0, 执行赋值语句I=X+Y/Z后I的值为。 A. 2.0 B. 2 C. 3 D. 3.0 9.下列语句中那个语句是错误的是。 A. READ(*,*)X B. READ*,X C. PRINT(*,*)X D. PRINT *,X 10.说明语句REAL A(1:2,-1:10)说明数组A的元素个数为。 A. 11 B. 12 C. 22 D. 24 11.M能被N整除的FORTRAN表达式为。 A. (M/M)=0 B. (M MOD N).EQ.0 C. (M/N).EQ.0 D. MOD(M,N).EQ.0 12.以下关于FORTRAN90中有关虚参、实参的说法中,不正确的是。 A.实参和虚参个数一定要相等B.实参和虚参个数可以不相等 C.虚参可以用数组 D.实参可以用数组 13. 下列关于FORTRAN 90源程序编辑规则的叙述之中,正确的是。 A. 任何以符号“!”开头的内容均是注释行。 B. 主程序第一行必须是PROGRAM语句。 C. 要实现有格式输入输出,必须有FORMAT语句。 D. 每个子程序中必须有一个RETURN语句。 14. 阅读下列程序 F=1.0 DO J=3,7,2 DO K=J-1,J F =F*K ENDDO ENDDO WRITE(*,'(I3,F8.1)') J,F

Fortran语言编程练习题

平面驻点流动方程数值解 1问题描述 自编程序完成平面驻点流动方程:的数值解。 边界条件为 式中:。 2求解过程 由于上述方程是非线性方程,可采用MATLAB 7.0软件来求解,步骤如下: 第一步:将方程化为一阶常微分方程组。 边界条件为 第二步:建立ode.m和lbc.m两个M文件。 ode.m文件程序如下: function dfdx=ode(x, f) dfdx=[f(2);f(3);-f(1)*f(3)+f(2)^2-1]; lbc.m 文件程序如下: function res=lbc(f0,finf) res=[f0(1);f0(2);finf(2)-1]; 第三步:求解方程。 在MATLAB 7.0工作窗口输入程序: infinity=4; solinit=bvpinit(0:0.4:infinity,[0 0 0]); sol=bvp4c(@ode,@lbc,solinit); x=0:0.4:infinity f=deval(sol,x) plot(x,f(1,:),'ob',x,f(2,:),'rp',x,f(3,:),'b*') /*绘图命令*/ xlabel('轴\it \eta');ylabel('轴\it \phi')

legend('平面驻点流动\phi曲线','平面驻点流动d\phi/d\eta曲线','平面 驻点流动d^2\phi/d\eta^2曲线') title('平面驻点流动的数值解') 3结果分析 平面驻点流动数值解的计算结果见表1,图1是平面驻点流动数值解的散点图。从表和图中可以看出,从开始呈线性增长,随着的增加,偏离斜直线,当以后渐近于1。在左右,,即此时粘性流动的流速已接近 势流流速,只差百分之一。 00.40000.8000 1.2000 1.6000 2.000 2.4000 2.8000 3.2000 00.08800.31240.62200.9798 1.3620 1.7553 2.1530 2.5523 00.41450.68590.84670.93240.97320.99060.99710.9992 1.23250.84630.52510.29380.14730.06580.02600.00910.0028 表1 平面驻点流动数值解的计算结果

Simple算法_fortran语言编写

Cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc Cccc This computer program was copied from the graduate student course program Cccc of the University of Minnesota. Part of it was re-formulated to meet the Cccc personal computer environment. Some inappropriate expressions were also Cccc corrected. The program is used only for teaching purpose. No part of it Cccc may be published. You may use it as a frame to re-develop your own code Cccc for research purpose. XJTU Instructor, 1995.11 **************************************************************************** *----------------------------MAIN PROGRAM----------------------------------- **************************************************************************** LOGICAL LSTOP COMMON/CNTL/LSTOP **************************************************************************** OPEN(08,FILE='teresul') CALL SETUP0 CALL GRID CALL SETUP1 CALL START 10 CALL DENSE CALL BOUND CALL OUTPUT IF(.NOT.LSTOP) GO TO 15 CLOSE(08) STOP 15 CALL SETUP2 GO TO 10 END *--------------------------------------------------------------------------- SUBROUTINE DIFLOW **************************************************************************** COMMON/COEF/FLOW,DIFF,ACOF **************************************************************************** ACOF=DIFF IF(FLOW .EQ.0.0)RETURN TEMP=DIFF-ABS(FLOW)*0.1 ACOF=0. IF(TEMP .LE. 0. ) RETURN TEMP=TEMP/DIFF ACOF=DIFF*TEMP**5 RETURN END *-------------------------------------------------------------------------- SUBROUTINE SOLVE ****************************************************************************

Fortran练习题

● 1.输出a,b,c的值,其中a=28,b=34,c=60.5 integer a,b,c定义整型integer a=28;b=34;c=60.5‘=’为赋值符号,把右赋给左 print*,'a=',a,'b=',b,'c=',c输出格式:print*,’文字内容’,该输出变量 end结束必须以end作结 ● 2.输出x和y的值 real x,y定义实型real print*,'输入x和y:' read*,x,y读入格式:read*,读入变量 print*,x,y end ● 3.求三个数的和及平均值 real sum,ave read*,a,b,c sum=a+b+c ave=sum/3 print*,'和为',sum print*,'平均值为',ave end ● 4.现有长1500m宽1000m的地块要拍卖建造住宅小区,地块中央有一半径为100m的 圆形公共绿地不属于拍卖范围,每平方米地价为0.5万元,编写程序计算该地块拍卖总价,并输出。 real area,money read*,a,b,r area=a*b-3.14*r**2a b为a**b money=area*0.5 print*,'总价为',money,'万元' print*,'地长为',a print*,'地宽为',b print*,'绿地半径为',r end ● 5.求三个数中的最大数与最小数 real max_x,min_x read*,a,b,c min_x=a if(bmax_x)then max_x=b

Fortran90试题

Fortran 复习 题目类型: 1、选择题 2、填空题 3、简答题 4、编程题 样题 一、选择题 1.下列名称中,符合FORTRAN 90命名规则的是。 A. a-b-c B. $123 C. length_1 D. date.year 2.关于FORTRAN 90程序单元,以下四种说法中正确的是。 A.一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个主程序单元 B. 一个FORTRAN 90程序由多个程序单元组成,其中有一个且只能有一个模块单元 C. 一个FORTRAN 90程序允许有多个程序单元,但每类程序单元只能有一个 D. 一个FORTRAN 90程序允许有多个程序单元,但主程序单元和模块单元只能有一个3.关于FORTRAN 90的CASE结构,以下说法中正确的是。 A. CASE结构内必须取DEFAULT作为情况选择器的最终值 B. CASE结构的情况表达式不能是字符类型 C. CASE结构的情况表达式和情况选择器的取值类型必须相同 D. CASE结构的不同情况选择器取值可以重复 4.已知数组说明REAL A(20:22,0:9,-3:-1),数组A的数组元素个数是。 A.164 B.360 C.450 D.90 5.子程序的形式参数(虚拟变元或哑元)可以是。 A.变量名、数组名、过程名 B.变量名、数组名、过程名和符号常量名 C.变量名、数组名、数组片段、过程名 D.任意符号名

6. 语句OPEN(3,FILE=’ABC’,ACCESS=’DIRECT’,RECL=40)打开的是文件。 A.有格式顺序存取B.无格式顺序存取 C.有格式直接存取D.无格式直接存取 7、下列关于"SUBROUTINE MAP(X,Y)"语句行的叙述中,不正确的是( ) A) 这是子程序的第一个语句 B) 字符串"MAP"是子程序名 C) 变量X是子程序的形参D)子程序执行后,MAP将返回整型数据 8、 FORTRAN表达式"2/4+0.5"的值是( ) A) 0.5 B) 1 C) 1.0 D) 0 9、阅读下列FORTRAN程序: PI=3.14159265 WRITE(*,'(F7.4) ')PI END 程序运行后输出结果是( ) A) 3.142 B) 3.1415 C) 0.31416 D) 3.1416 10、圆的直径存放在整型变量K之中,下列计算圆面积的表达式中正确的是( ) A) 3.1415926*K*K/4 B) 3.1415926*(K*K/4) C) 3.1415926*(K/2)**2 D) 3.1415926*(K/2)*(K/2) 二、填空题 1、下列FORTRAN函数子程序的功能是用以下公式计算一组数据Z1,Z2,…,Zn的标准差σ: σ2=(Z12 +Z22+…+Zn2)/n-[(Z1+Z2+…+Zn)/n]2 请在程序中的下划线处填入合适的内容。 【1】 SIGMA(Z,N) REAL Z(N) SUMX=0.0 SUMX2=0.0 DO K=1,N 【2】 SUMX=SUMX+X SUMX2=SUMX2+X*X ENDDO AV=SUMX/N AV2=SUMX2/N S2=AV2-AV*AV

相关文档