⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1998年4月二级笔试试题fortran.txt

📁 c++的大量习题,对二级考试大有帮助. 希望大家满意.
💻 TXT
字号:
1998年4月二级笔试试题FORTRAN 
Ⅰ 计算机基础知识 

Ⅱ 语言部分 

21、下列21中,所指定的FORTRAN表达式都是正确的。 

①D=B * B - 4 * A * C ②MOD(M,N).NE.O 

③.NOT.FALSE..OR..NOT..TRUE ④A.GT.B.EQ.A.LT.C 

⑤π*R**2 ⑥3*E-2 

⑦A.GT.B.EQ..TRUE. ⑧′123′//′ABC′ 

A、①、②、③ B、⑥、⑦、⑧ C、④、⑤、⑥ D、②、⑥、⑧ 

22、执行下列程序,输入3456.789,则输出的结果为22。 

READ(8 ,100) S 

WRITE( 8,100) 

100 FORMAT(2F4.1) 

END 

A.345.6 B.45.6 C.456. D.* * * 

23、下列程序执行后输出23 

DIMENSION M(5) 

READ(*,*)(M(I),I=1,5) 

DO 10 I=1,5 

10 WRITE(*,22)(M(J),J=1,I) 

22 FORMAT(1X,3I3) 

END 

A、7 B、8 C、9 D、5 

24、FORTRAN 77规定,变量类型的优先顺序是24 。 

A、隐含约定(I-N规则)、Implicit说明、类型说明 

B、类型说明、隐含约定(I-N规则)、Implicit说明 

C、类型说明、Implicit说明、隐含约定(I-N规则) 

D、Implicit说明、类型说明、隐含约定(I-N规则) 

25、设T=.TRUE.F=.FALSE.下列表达式中值为.TRUE.的是25。 

A、.T.AND.F.AND.7.GE.4 

B、T.AND..NOT.T.AND.T 

C、((T.OR.F).AND.(T.AND.5.LE.4)).EQV.(.NOT.T.OR.(5.GE.1.AND.F)) 

D、.NOT.(T.OR.F).NEQV.(T.AND.8-2.EQ.4) 

26 、下面循环语句执行后,SUM的值是26。 

DO 10 I=1,5 

SUM=0 

DO 10 J=I,4,-1 

10 SUM=SUM+I+J 

A、0.0 B1.9.0 C.27.0 D.76.0 

27、下列语句中,正确的语句函数定义语句是 27 。 

A、FA(I,I)=8*I+I B、FB(B(5),X)=X+B(5) 

C、FC(X,8.)=X*X-SQRT(8.) D、FD(X)=MOD(X,2.)+SQRT(X) 

28、在辅程序单位的各种变元中,一定要在哑元表中出现的是 28 。 

A、可调数组名 B、常数组名 C、可调维变量名 D、变量名 

29、下列符号名中,可作为有名公用区名的是 29 。 

①变量名 ②数组名 ③外部函数名 ④内部函数名 

⑤子程序名 ⑥主程序名 ⑦语句函数名 

A、①、②、③、④ B、①、②、④、⑦ C、①、②、⑥、⑦ D、③、④、⑤、⑥ 

30、FORTRAN语言的文件读写单位是 30 。 

A、字节 B、扇区 C、字长 D、记录 

二、填空题 

1、下述程序执行后,L(3,1)=(1) 。L(2,2)= (2) ,L(1,3)= (3)。 

INTEGER L(3,3) 

DATA L/9*0/ 

I=2 

J=3 

L(I,J)=1 

DO 10 K=2,9 

I=I+1 

J=J+1 

IF(J.GT.3.AND.I.LE.3)THEN 

J=1 

ELSE IF(J.LE.3.AND.I.GT.3)THEN 

I=1 

ELSE IF(I.GT.3.AND.L(I,J).NE.0))THEN 

& OR.(J.LE.3.AND.I.LE..3.AND.L(I,J).NE.0))THEN 

I=I-1 

J=J-2 

10 CONTINUE 

PRINT′(6X,3I3)′,((L(I,J),J=1,3),I=1,3) 

END 

2、下列程序执行后输出的结果是 (4) ,(5)。 

FUNCTION F(X,Y) 

INTEGER F,X,Y 

X=S+Y 

Y=X*Y 

F=X/Y 

END 

INTEGER F,FF,FFF 

DO 10 I=1,0,1 

FF=2*F(I,I) 

10 PRINT *,FF 

FFF=F(I,I)+F(I,I) 

PRINT *,I,FFF 

END 

3、下述程序执行后,输出的第一行是(6),第二行是(7)。 

REAL A(2,2,-1,:1) 

DATA A/1,2,3,4,5,6,1,2,3,4,5,6/ 

F=FUN(A(1,2,0),3,A(2,1,1)) 

WRITE(*,′(1X,2HF=,F5.1)′)F 

END 

FUNCTION FUN(B,N,C) 

REAL B(N+1) 

FUN=3*C 

DO 11 I=1,N 

FUN=FUN+B(I) 

11 CONTINUE 

C=B(I) 

WRITE(*,′(1X,2HC=,F5.1)′)C 

END 

4、下列程序运行后,C(2)=(8),N=(9)。 

CHARACTER A(5),B*5,C(2)*10,D*4 

DATA A/′1′,′2′,′3′,′4′,′5′/,B/′′/ 

D=′AB′ 

C(1)=′ABCDE′ 

DO 10 I=1,5 

B(I:I)=C(1)(6-I:6-I) 

10 C(2)=B//A(I) 

N=LEN(D//A(1)+INDEX(C(1),D) 

WRITE(*,*)C(2),N 

END 

5、下述程序执行后,输出的第一行是(10),第二行是(11) 

SUBROUTINE COMP(A,B) 

COMMON X,Y 

A=X+Y 

B=X-Y 

END 

COMPLEX X,Y 

COMMON X,Y 

X=(3.0,4.0) 

Y=(4.0,3.0) 

CALL COMP(X,Y) 

CALL COMP (X,X) 

CALL COMP(Y,X) 

PRINT 10,X,Y 

10 FORNAT(1X,′(′,F5.1,′,′,F5.1,′)′) 

END 

6、下列程序执行后,输出的第一行是 (12),第二行是(13)。 

EXTERNAL SIN 

X=60.0 

CALL F1(X,Y,SIN) 

Y=30.0 

CALL F2(X,Y) 

END 

SUBROUTINE F1(X,Y,FUN) 

Y=FUN(X/18-*3.1415926) 

PRINT*,X,Y 

END 

FUNCTION SIN(X) 

SIN=COS(X) 

END 

SUBROUTINE F2(X,Y) 

INTRINSIC SIN 

CALL F1(Y,X,SIN) 

END 

7、下列程序执行后输出的结果是 (14),(15)。 

INTEGER W(6) 

DATA W/1,2,3,4,5,6/ 

OPEN(1,FILE=′CHA′) 

DO 10 I=1,6 

10 WRITE(1,′(15)′)I*I 

REWIND(1) 

DO 20 I=1,6,2 

20 READ(1,′(6I5)′)W(I) 

WRITE(*,′(1X,2I5)′)W(3),W(4) 

CLOSE (1) 

END 

8、函数FACTOR(M,FAC,N)的功能是:计算正整数M(M>2)的除自身以外的所有不同因子之和。因子个数存于N中且不超过100。方法是:M被由2开始的逐个自然数来除,若某次相除得到两个互异因子,由小者依次存入数组FAC的左端,大者逐个存入FAC的右端;若只得一个因子,由该因子存入FAC的左端,直至全部因子求毕,最后将所有因子从小到大集中于FAC的左端。例如:M=16,其因子为1,2,4,8,因子之和为15,因子个数为4。 

RUNCTION FACTOR(M,FAC,N) 

INTEGER FACTOR,FAC(100),SUM,R 

FAC(1)=1 

L=1 

R=100 

SUM=1 

I=2 

10 K=M/I 

IF(K*I-M.EQ.0)THEN 

IF(I*I.NE.M)THEN 

L=L+1 

(16) 

(17) 

R=R-1 

SUM=SUM+I+K 

ELSE 

L=L+1 

(18) 

SUM=SUM+I 

ENDIF 

ENDIF 

I=I+1 

FI(I.LT.K)GOTO 10 

DO 20 I =(19) 

FAC( (20) )=FAC(I) 

20 CONTINUE 

N=L+100-R 

FACTOR=SUM 

END 

INTEGER FAC(100),FACTOR 

READ*,MM 

NN=FACTOR(MM,FAC,N) 

WRITE(*,′(1X, ″Factors are:″/1X,20I4)′)(FAC(I),I=1,N) 

END 

9、用辛普生法则求定积分的方法计算由积分定义的函数 


公式空白…… 


辛普生法则为:首先将被积区间3n等分,h=b-a ,求积公式为 

3n 


公式空白…… 



用语句函数定义被积函数,本程序求x=sin00 至x=sin890的函数值。 

FUNCTION ELLIPTIC(X) 

PARAMETER(PI=3.1415926,N=200) 

(21) 

A=0. 

B=PI/2 

(22) 

S=G(A)=G(B) 

DO 10 J =1,N 

(23) 

X2=X1+H 

X3=X2+H 

(24) 

10 CONTINUE 

(25) 

END 

PROGRAM MAIN 

PARAMETER(PI+3.1415926,RD=PI/180.) 

DO 15 I=0,89 

X=SIN(RD*I) 

Y=ASIN(X) 

PRINT 20,INT(Y/RD+0.05),ELLIPTIC(X) 

20 RORMAT(1X,′X=′,I2,′ELLIPTIC(X)= ′, F7.4) 

15 CONTINUE 

END 

10、设某个字符串最多有80个字符,另有一个最多有10个字符的短串,下面程序是从字符串LINE中找出短字符串STR(此串的最右边的空格要去掉)。同时自左向右逐个搜索,如果找到,则输出找到的信息及STR首字符出现的位置,未找到则输出信息“not found!”。 

CHARACTER LINE * 80, STR*10 

LOGICAL FLAG 

READ *, LINE,STR 

DO 10 I=(26) 

IF(STR(I:I).NE. ′′)THEN 

K=I 

(27) 

ENDIF 

10 CONTINUE 

15 FLAG=.FALSE. 

DO 20 I=1,80-K+1 

DO 30 J=(28) 

IF(LINE( (29) ).NE.STR(J:J))THEN 

FLAG=.FALSE. 

GOTO 20 

ELSE 

(30) 

ENDIF 

30 CONTINUE 

IF(FLAG)THEN 

PRINT 35,STR,I 

35 FORMAT(′is found and its place in LINE is from′,i2,′th′) 

STOP 

ENDIF 

20 CONTINUE 

PRINT *,′not found!′ 

END 


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -