FORTRAN90模拟测验Word文档下载推荐.docx

上传人:b****2 文档编号:1090736 上传时间:2023-04-30 格式:DOCX 页数:83 大小:49.18KB
下载 相关 举报
FORTRAN90模拟测验Word文档下载推荐.docx_第1页
第1页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第2页
第2页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第3页
第3页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第4页
第4页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第5页
第5页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第6页
第6页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第7页
第7页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第8页
第8页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第9页
第9页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第10页
第10页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第11页
第11页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第12页
第12页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第13页
第13页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第14页
第14页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第15页
第15页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第16页
第16页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第17页
第17页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第18页
第18页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第19页
第19页 / 共83页
FORTRAN90模拟测验Word文档下载推荐.docx_第20页
第20页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

FORTRAN90模拟测验Word文档下载推荐.docx

《FORTRAN90模拟测验Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《FORTRAN90模拟测验Word文档下载推荐.docx(83页珍藏版)》请在冰点文库上搜索。

FORTRAN90模拟测验Word文档下载推荐.docx

14.下列关键字中不能用于说明变量属性的是C。

(教材182)

A.SAVEB.OPTIONALC.CYCLED.INTENT

15.以下关于派生类型的说法中,不正确的是C。

(教材294)

A.派生类型说明中,不能有任何可执行语句

B.可将一个派生类型变量的值整体赋给另一个派生类型变量

C.派生类型成员为字符型时,长度可以不确定

D.派生类型成员可以是自身同类型的指针

二、填空题(在空白处添入正确内容)

1.阅读以下程序:

FUNCTIONfac(A)RESULT(rfac)

INTEGERA,rfac

INTEGER,SAVE:

:

C=3

B=1

C=C+1

rfac=A+B+C

ENDFUNCTION

PROGRAMmain

INTEGER:

A=3,J,fac

DOJ=0,2

PRINT*,fac(J)

ENDDO

ENDPROGRAMmain

执行以上程序后,输出的第一行是5,第三行是9。

2.阅读以下程序:

SUBROUTINEswap(S1,S2)

CHARACTER(*)S1,S2

CHARACTER(3)T

T=S1;

S1=S2;

S2=T

ENDSUBROUTINE

PROGRAMMAIN

CHARACTER(3):

S1='

BD'

S2='

BC'

S3='

AB'

IF(S1>

S2)CALLswap(S1,S2)

IF(S2>

S3)CALLswap(S2,S3)

PRINT*,S1;

PRINT*,S2;

PRINT*,S3

ENDPROGRAMMAIN

执行以上程序后,输出的第一行是AB,第二行是BC,第三行是BD。

3.阅读以下程序:

MODULEaa

J=2

ENDMODULEaa

SUBROUTINEp()

USEaa

DOI=1,3

J=J+1

PRINT'

(I3\)'

J

PRINT*

DOI=0,2

CALLp()

PRINT*,I

执行以上程序后,输出的第一行是345,第二行是678,第三行是91011。

4.阅读以下程序:

A(3,3),I,J,K,N

DOK=1,5

IF(K<

=3)THEN

DOI=1,K

N=N+1

A(I,K-I+1)=N

ENDDO

ELSE

DOI=1,6-K

A(K-3+I,4-I)=N

ENDIF

DOK=1,3

DOI=1,3

PRINT'

A(K,I);

PRINT*

执行以上程序后,A(1,3)的值是4,A(2,2)的值是5,A(3,1)的值是6。

5.阅读以下程序:

sum=1.0;

ID=1.0;

K=1

10K=(-1.0)*K

ID=ID*2.0

sum+K/ID

IF(ID.LE.7)GOTO10

WRITE(*,*)sum

WRITE(*,*)ID

END

执行以上程序后,输出的第一行是1.0,第二行是8

6.阅读以下程序:

REALA(10),IP

DOK=1,10

A(K)=IP(K*2)/IP(K)

WRITE(*,100)A

(1),A

(2)

100FORMAT(1X,2F3.1)

END

REALFUNCTIONIP(N)

M=0

DOK=1,N

M=M+K

IP=M

执行以上程序后,A

(1)的值是3.0,A

(2)的值是3.3。

7.求多项式a0+a1x1+…+an-1xn-1+anxn之和的外部函数

数组A表示多项式系数,变量T表示xn,S表示多项式之和。

FUNCTIONp(A,N,x)RESULT(r_p)

(16)REALA(0:

N),x,r-p

S=(17)A(0)

T=1.0

DOI=1,N

T=(18)*X

S=S+A(I)*T

(19)ENDDO

PRINT*,'

S='

S

(20)r-p=s

8.用选择法,将N个整数按从小到大排列。

PARAMETER(numl=500)

INTEGERnum(numl)

READ*,N,(num(I),(21)I=1,N)

DOI=1,N-1

min=I

DOJ=(22)I+1,N

IF(num(min).GT.num(J))(23)min=J

IF(min.NE.I)THEN

it=num(I)

num(I)=num(min)

(24)num(min)=it

PRINT*,(num(I),I=1,N)

9.以下程序是通过超载赋值(=)运算符,实现将字符的ASCII码赋给整型变量的功能.

SUBROUTINECTOI(I,C)

INTEGER,INTENT(OUT):

I

CHARACTER,INTENT(IN):

C

I=(25)ICHAR(C)

INTERFACEASSIGNMENT(=)

SUBROUTINE(26)CTOI(I,C)

INTEGER,INTENT(OUT):

CHARACTER,INTENT(IN):

ENDSUBROUTINE

(27)ENDINTERFACE

INTEGERI

CHARACTER:

C='

A'

I=C

PRINT*,C,I

10.求N!

InputN?

'

READ*,N

M=1

(28)nfac=1

DO

nfac=nfac*M

IF((29)M>

=N)THEN

N!

='

nfac

(30)STOP

M=M+1

FORTRAN90模拟试题四(笔试部分)

一、选择题(从4个可选答案中选择一个正确答案添入空白处)

1.下面是5个准备用作子程序(辅程序)的形参,四组选择中其形参均正确的是D。

①常数符号名②变量名③数组元素名④形式过程⑤数组名

A.①③⑤B.②③④C.①③④D.②④⑤

2.语句OPEN(3,FILE=‘ABC’,ACCESS=‘DIRECT’,RECL=40)打开的是C文件。

(教材335)

A.有格式顺序存取B.无格式顺序存取

C.有格式直接存取D.无格式直接存取

3.辅程序引用时,某实参可为常数、函数引用及表达式时,其相应形参是A。

A.变量名B.数组名C.过程名D.*

4.并非所有的标准函数名均可作为过程形实结合的实参,例如C就不能。

(教材277)

A.ABSB.SINC.REALD.LOG

5.以下程序片段中其值均为9的元素是D。

(教材206)

INTEGER:

N(-1:

1,-1:

1)

N=RESHAPE((/1,2,3,4,5,6,7,8,9,10,11,12,13,14,13,12,11,10,9,8,7,6,5,4,3,2,1/),(/3,3,3/))

A.N(1,1,-1)与N(-1,-1,0)B.N(1,1,0)与N(-1,-1,0)

C.N(1,1,1)与N(1,-1,-1)D.N(1,1,-1)与N(-1,-1,1)

6.下列数据中,不符合FORTRAN90常量表示的是D。

(教材77)

A.-25.6B.3.2344D0C.’BOOT’’=’D.TRUE

7.运行下列程序时输入数据5E2后,其输出结果是A。

(教材121)

READ‘(E5.2)’,X

WRITE(*,‘(1X,F6.2)’)X

A.5.00B.500.00C.0.05D.******

8.圆心在原点的两个同心圆,半径分别为2和4。

描述点(X,Y)在小圆外,大圆内(包括在两圆周上)的表达式是C。

(教材89)

A.ABS(X)<

=4.0.AND.ABS(Y)>

=2.0B.2.0>

=SQRT(X*X+Y*Y)<

=4.0

C.X*X+Y*Y<

=16.0.AND.X*X+Y*Y>

=4.0D.(X.OR.Y)>

=2.0.AND.(X.OR.Y)<

9.以下关于指针说法不正确的是B。

(教材309)

A.指针变量可以指向任何变量B.一个指针变量可以同时指向多个变量

C.多个指针变量可以同时指同向一个变量D.指针变量的内容是地址或变量名称

10.以下关于接口块说法不正确的A。

(教材366)

A.当外部过程名作为实参时,一定要用接口块B.重载运算符时,一定要用接口块

C.调用子程序时,实参和形参的次序及个数不同时,一定要用接口块

D.外部函数的返回值为数组时,一定要用接口块

二、填空题(在空白处添入正确内容)

1.以下程序运行后,输出的第一行为

(1)5.05.05.0;

第二行为9.07.09.0

(2)

REAL:

X=5.0,Y=5.0

(1X,3F5.1)'

X,Y,X

CALLsub(X,Y,X)

SUBROUTINEsub(X,Y,Z)

REALX,Y,Z

X=X+1.0;

Y=Y+2.0;

Z=Z+3.0

2.下列程序运行后,K(3)=(3)5,M(1,3)=(4)6。

读入的第一个记录为1,-1,2,-2,第二个记录为3,-3,4,-4,5,-5。

INTEGERK(4),M(2,3)

READ*,K

CALLsub(K,M)

PRINT"

(1X,I2)"

K(3),M(1,3)

SUBROUTINEsub(K,M)

INTEGERK(2,2),M(6),I,J

READ*,M

DOI=1,2

DOJ=1,2

K(I,J)=K(I,J)-M(J)

M(I)=M(I)+K(I,J)

DOI=3,6

M(I)=M(I-1)+M(I-2)

3.下列程序运行后,A(1,4)=(5)4,A(5,3)=(6)4。

INTEGERA(5,5),T,I,J,K,M

DOI=1,5

DOJ=1,5

A(I,J)=J

DOK=1,I-1

T=A(I,5)

DOM=4,1,-1

A(I,M+1)=A(I,M)

A(I,1)=T

A(1,4),A(5,3)

4.下列程序运行后输出结果:

M=(7)4,X=(8)4.5。

OPEN(1,FILE='

A.DAT'

WRITE(1,'

(2I1/F3.1)'

)2,3,4.5

CALLABC

SUBROUTINEABC

REALX

INTEGERM

BACKSPACE

(1)

READ(1,"

(F3.1)"

)X

M=X

WRITE(*,"

(1X,'

M='

I2,'

X='

F3.1)"

)M,X

5.下列程序运行时,输入3,5,F时,输出结果中B(5,3)=(9);

13

输入3,5,T时,输出结果中B(5,3)=(10);

25

MODULEAA

X,Y,A(5,5)=(/(I,I=1,25)/)

ENDMODULE

USEAA,B=>

A

LOGICALL

INTEGERI,J

READ*,X,Y,L

IF(L)THEN

CALLone

(1X,5I4)'

((B(I,J),J=1,5),I=1,5)

ELSE

CALLtwo

ENDIF

SUBROUTINEone

USEAA,C=>

INTEGERI,IT

IT=C(I,X)

C(I,X)=C(I,Y)

C(I,Y)=IT

SUBROUTINEtwo

USEAA,X2=>

X,Y2=>

Y,D=>

IT=D(X2,I)

D(X2,I)=D(Y2,I)

D(Y2,I)=IT

6.以下程序运行后,下列变量的输出结果是:

C=(11)101,F=(12)112.0,A(20)=30(13),C(21)=(14)。

1681

INTEGERA(100),B(100),C,I

REALF

C=1

DOI=1,100

C=C+1;

A(I)=C;

B(I)=C*C

CALLSS(A(10),C,B(20),A(10),F)

(1X,"

C="

I4/1X,"

F="

F6.1)'

C,F

SUBROUTINESS(A,B,C,D,E)

INTEGERA(50),C(50),B,D

REALE

E=B+D

A(20)="

C(21)="

I4)'

A(20),C(21)

7.下列程序运行后的输出结果,第二行为:

(15)X=5.0Z=7.0。

P(5)=(/2.0,3.0,5.0,1.0,3.0/),X,Y,Z

INTEGERK,L,M,N

N(K,L,M)=K+L/M

X=1.0+REAL(N(2,3,2))

Y=2.0

CALLSS(X,P

(1),Z,X)

F4.1,1X,'

Z='

F4.1)"

)X,Z

SUBROUTINESS(A,B,X,W)

REALA,B,X,Y,W

A=A+1

B=B+1

W='

W

X=W+Y

8.下面程序的功能是统计输入英文句子中每个单词所包含的字母个数。

程序中数组ICOUNT用于存放统计结果。

假设英文句子由字母、空格和句点组成,单词个数不超过10,每个单词不超过10个字母,单词之间有一个空格,句子以句点(.)结尾,句子长度不超过72个字符。

ICOUNT(10),I,NUM

CHARACTER*1ICHR(72)

READ'

(72A1)'

ICHR

NUM=1

DO(16)I=1,72

IF(ICHR(I)=='

.'

)(17)EXIT

IF(ICHR(I)/='

'

)THEN

(18)ICOUNT(NUM)=ICOUNT(NUM)+1

(19)NUM=NUM+1

(1X,72A1)'

(ICHR(I),I=1,72)

(1X,10I5)'

(ICOUNT(I),(20)I=1,NUM)

9.下面程序的功能是计算

的值,直到最后一项的绝对值小于1.0E-5为止。

REALX,Y,A,B,T

INTEGERN

READ*,X

T=(21)X

B=1.0

Y=T

N=2

DOWHILE((22)ABS(T)>

1.0E-5)

A=X**(2*N-1)/(2*N-1)

B=(23)B*(2*N-3)/(2*N-2))

T=A*B

Y=Y+T

(1X,F5.2,I3,F12.7)'

X,N-1,Y

10.下面程序的功能是输入十个任意四位整数A,用来检验inver子程序的可靠性。

其中CALLinver(A,B)应能将A中四位数倒过来成为B(如A=1966,可得B=6691)。

最后计算并输出由具体数字构成的算式C=A+B。

INTEGERA,B,C,I

DOI=1,10

READ*,A

DOWHILE(A<

1000.OR.A>

9999)

CALLinver(A,B)

C=A+B

(1X,I5,"

="

I4,"

+"

C,A,B

SUBROUTINEinver(M,N)

IMPLICITNONE

(24)INTEGERA,BI,JK,M,N,MN

A=M

DOI=1,4

NN(I)=MOD(A,10)

(25)A=A/10

B=0

DOJ=1,4

K=NN(J)*10**(4-J)

B=B+K

(26)N=B

11.下面的程序建立一个链表,子程序fmax()的功能是:

求出链表所有结点中数据成员值最大的结点的位置,并由参数s返回给主函数。

该函数的第一个参数是链表的首指针。

TYPENODE

INTEGERDATA

TYPE(NODE),POINTER:

NEXT

ENDTYPENODE

CONTAINS

SUBROUTINEFMAX(HEAD,S,I)

27TYPE(NODE),POINTER;

;

HEAD,S,P

INTEGER:

I,J=0

P=>

HEAD;

S=>

P

IF(.NOT.(ASSOCIATED(P)))RETURN

DOWHILE(ASSOCIATED(P))

J=J+1

IF(P.DATA>

S.DATA(28))THEN

I=J;

(29)P=>

P.NEXT

SUBROUTINEPRINTL(H)

H,P

H

PRINT*,P.DATA

P.NEXT

ENDMODULEAA

(30)USEAA

TYPE(NODE),POINTER:

H,P,P1

INTEGERA,I

NULLIFY(P)

PRINT*,'

INPUTDATA'

READ*,A

DOWHILE(A/=-1)

ALLOCATE(P)

P.DATA=A

IF(.NOT.(ASSOCIATED(H)))THEN

H=>

P;

P1=>

P1.NEXT=>

CALLPRINTL(H)

CALLFMAX(H,P,I)

DDD'

IF(ASSOCIATED(P))PRINT*,P.DATA,I

FORTRAN90模拟测验五(笔试部分)

一.选择题(从4个可选答案中选择一个正确答案添入空白处)

1.一个完整的FORTRAN90源程序的组成不应该D。

(教材59)

A.只有一个主程序没有外部子程

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 临时分类 > 批量上传

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2