2021年计算机技术基础Fortran试题库_第1页
2021年计算机技术基础Fortran试题库_第2页
2021年计算机技术基础Fortran试题库_第3页
2021年计算机技术基础Fortran试题库_第4页
2021年计算机技术基础Fortran试题库_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、选取题1、下列关于"SUBROUTINEMAP(X,Y)"语句行论述中,不对的是()

A)这是子程序第一种语句B)字符串"MAP"是子程序名

C)变量X是子程序形参D)子程序执行后,MAP将返回整型数据2、FORTRAN表达式"2/4+0.5"值是()

A)0.5B)1C)1.03、阅读下列FORTRAN程序:

PI=3.14159265

WRITE(*,'(F7.4)')PI

END

程序运营后输出成果是()

A)3.142B)3.1415C)0.314164、圆直径存储在整型变量K之中,下列计算圆面积表达式中对的是()

A)3.1415926*K*K/4B)3.1415926*(K*K/4)

C)3.1415926*(K/2)**2D)3.1415926*(K/2)*(K/2)5、要判断"月收入M在元以上(含元)且5000元如下)不含5000元)"职工,应当使用逻辑表达式是()

A)M.GE..AND.M.LE.5000B)M.GE..OR.M.LE.5000

C)M.GE..AND.M.LT.5000D)M.GE..OR.M.LT.50006、设FORTRAN子程序如下:

SUBROUTINESUB(I,X)

B=I+1

X=X+B

END

若主程序中变量M,B已按I-N规则赋值,则调用上述子程序语句中对的是()

A)CALLSUB(M,M)B)CALLSUB(M+4,B)

C)CALLSUB(B,B)D)CALLSUB(M,B+4)7、下列不是FORTRAN常量是()

A)(3.0,4.0)B)3.1416D+00C8、阅读下列FORTRAN程序:

F=1.0

DO20K=3,7,3

DO20L=K-1,K

20WRTTE(*,'(I3,F8.1)'K,F*K

END

程序运营成果最后一行是()

A)36.0B)66.0C)6180.0D)79、在FORTRAN中,下列运算符优先顺序是()

A)逻辑运算,关系运算,算术运算B)关系运算,逻辑运算,算术运算

C)算术运算,关系运算,逻辑运算D)关系运算,算术运算,逻辑运算10、使用FORTRAN内部函数时,所给自变量()

A)只能是常量B)只能是变量

C)只能是常量或者变量D)可以是常量、变量或者表达式11、设X=2.0,Y=8.0,Z=6.0,L=.TRUE.,则下列FORTRAN表达式中值为.TRUE.是()

A)X+Z.GT.Y.AND.LB).NOT.(Y.LT.Z+X).NEQV..NOT.L

C).NOT.L.OR.(L.EQV.Y+X.EQ.Z)D)Y+X.GE.Z+X.AND.(L.AND..FALSE.)12、下列输出语句行中对的是()

A)WRITE(*,*)(A(K,L),K=1,3,L=1,3)

B)WRITE(*,*)A(K,L),K=1,3,L=1,3

C)WRITE(*,*)((A(K,L),K=1,3),L=1,3)

D)WRITE(*,*)(A(K,L),K=1,3),L=1,313、给定下列FORTRAN子程序如下:

SUBROUTINESUB(K,A)

A=SQRT(K*K+1.0)

END

下列调用语句中对的是()

A)CALLSUB(N,N)B)CALLSUB(X,X)

C)CALLSUB(N,X*X)D)CALLSUB(11,X)14、阅读下列FORTRAN程序:

INTEGERAA(2,3)

DATAAA/1,2,3,4,5,6/

CALLS2D19(AA)

CALLS2D19(AA(1,2))

END

SUBROUTINES2D19(BB)

INTEGERBB(2,2)

WRITE(*,'(1X,2I3)')BB(1,1),BB(2,2)

END

程序运营成果是()

A)14B)15C)14D)12

362625315、阅读下列FORTRAN程序:

INTEGERA(3,3)

DO10K=1,3

DO10L=1,3

10A(K,L)=K*10+L

WRITE(*,'(1X,3I3)')A

END

程序运营成果是:()

A)112131B)111213C)313233D)333231

122232212223212223322221

13233331323311121316、阅读下列FORTRAN程序:

WRITE(*,10)'YEAR:',1996

10FORMAT(/3X,A,I4)

END

程序运营成果是(^代表空格,下同)()

A)^^^^^YEAR:1996B)^^YEAR:1996

C)空白行D)空白行

^^^^^YEAR:1996^^YEAR:199617、某函数子程序中使用了IMPLICIT、READ、COMPLEX和FUNCTION四种语句,其中属于可执行语句是:()

A)FUNCTIONB)READC)COMPLEXD)IMPLICIT18、阅读下列FORTRAN程序:

DIMENSIONM(4,4)

DATAM/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/

DO10I=1,4

WRITE(*,100)(M(I,J),J=1,I)

10CONTINUE

100FORMAT(1X,4I2)

END

程序运营成果是()

A)1234B)1593C)1D)1

67860426266

121537193711

66482634482619、阅读下列FORTRAN程序:

CHARACTER*10A,B*6

DO10I=1,10

A(I:I)=''

10COUNTINUE

A(1:5)='ABCDE'

B='FGHIJK'

A(4:9)=B

WRITE(*,100)A

100FORMAT(1X,A)

END

程序运营成果是:()

A)ABCDEFGHIJB)ABCDEGHIJKC)ABCFGHIJKD)BCDEFGHIJK20、阅读下列FORTRAN程序:

INTRINSICSIN,COS

WRITE(*,*)FUN(SIN,30.0)/FUN(COS,30.0)

END

FUNCTIONFUN(F,X)

X=X*3.14159/180

FUN=F(X)

END

程序运营成果是()

A)sin30°值B)cos30°值C)tg30°值D)ctg30°值二、填空题1、下列FORTRAN子程序功能是用如下公式计算一组数据Z1,Z2,…,Zn原则差σ:

σ2=(Z12+Z22+…+Zn2)/n-[(Z1+Z2+…+Zn)/n]2

请在程序中下划线处填入适当内容。

【1】SIGMA(Z,N)

REALZ(N)

SUMX=0.0

SUMX2=0.0

DO10K=1,N

【2】

SUMX=SUMX+X

SUMX2=SUMX2+X*X

10CONTINUE

AV=SUMX/N

AV2=SUMX2/N

S2=AV2-AV*AV

SIGMA=【3】

END2、下列FORTRAN程序功能是将30个学生考试成绩读入数组A,然后记录并且输出最高分数以及不大于60分、60~80分与不不大于80分三个分数段学生数。请在程序中下划线处填入适当内容。

【4】A(30),B,C(3)

DATAC/3*0/

READ(*,*)A

【5】

DO10K=2,30

IF(A(K).GT.B)B=A(K)

10CONTINUE

DO30K=1,30

IF(A(K).LT.60)C(1)=C(1)+1

IF(A(K).GT.80)C(3)=C(3)+1

IF(A(K).LE.80【6】A(K).GE.60)C(2)=C(2)+1

30CONTINUE

WRITE(*,*)B,C

END3、下列FORTRAN程序功能是用对分法求出方程4.1x3-5.2x=11.8在区间(1,5)中一种实数根,规定输出根近似值和对分次数。请在程序中下划线处填入适当内容。

【7】=4.4*X**3-5.2*X-11.8

DATAXL,XR,N/1.0,5.0,0/

10N=N+1

X=(XL+XR)/2.0

FX=FUN(X)

IF(ABS(FX).LT.1E-6.OR.N.GE.1000)THEN

WRITE(*,'(1X,A2,F12.7,A5,I4)')'X=',X,'N=',N

ELSE

IF(FUN(XR)*FX.GE.0.0)THEN

XR=X

【8】

XL=X

ENDIF

【9】

ENDIF

END4、下列FORTRAN程序功能是计算多项式y=2+2.1x+3.2x3+5.4x5在x=1.7时值。主程序调用了函数子程序POLY。请在程序中下划线处填入适当内容。

PROGRAMPVALUE

REALA(6)

DATAA/【10】/

DATAN,X/6,1.7/

Y=POLY(A,N,X)

WRITE(*,'(1X,A5,6F5.1)')'a(k)=',A

WRITE(*,'(1X,A2,F5.1,A6,F8.2)')'X=',X,';Y=',Y

END

FUNCTIONPOLY(B,M,V)

【11】

POLY=B(1)

FV=1.0

DO10K=2,M

FV=FV*V

10POLY=POLY+【12】

END5、下列FORTRAN程序功能是使用筛法筛选出N以内所有素数并输出。其算法如下:

在N以内自然数列中先筛除2倍数(不涉及2);在2之后未筛去第一种数是3,于是再筛除3倍数;在3之后未筛去第一种数是5,于是再筛除5倍数;如此重复下去,直到碰见筛剩余第一种数是最接近N平方根那个数为止。请在程序中下划线处填入适当内容。

PARAMETER(N=100)

【13】A(N),P(N)

A(1)=0

DO10K=2,N

10A(K)=K

DO20K=3,N

20IF(MOD(A(K),2).EQ.0)A(K)=0

ISR=SQRT(FLOAT(N))

DO30M=3,ISR,2

DO30K=M+2,N

30IF(A(K).NE.0.AND.MOD(A(K),M).EQ.0)【14】

M=1

DO40K=1,N

IF(A(K).NE.0)THEN

P(M)=【15】

M=M+1

ENDIF

40CONTINUE

WRITE(*,'(1X,10I8)')(P(K),K=1,M-1)

END三、编写程序题1、以循环来计算1/1!+1/2!+1/3!+1/4!+……+1/10!值。2、编写一种程序计算圆面积,输入两个参数,一种参数为输入圆半径长,另一种参数用来返回圆面积。3、运用选取排序法编制程序,将数组A中所有数值(5,3,6,4,8,7,1,9,2,10)从小到大排列。参照答案及评分原则一、选取题1、D2、A3、D4、A5、C6、B7、C8、B9、C10、D11、B12、C13、D14、A15、A16、D17、B18、C19、C20、C

二、填空题【1】FUNCTION

【2】X=Z(K)

【3】SQRT(S2)

【4】INTEGER或者REAL

【5】B=A(1)

【6】.AND.

【7】FUN(X)

【8】ELSE

【9】GOTO10

【10】2.0,2.10.0,3.2,0.0,5.4

(注:顺序不可颠倒,小数点先后0可以省略其中一种。)

【11】DIMENSIONB(M)或者REALB(M)

【12】B(K)*FV或者FV*B(K)

【13】INTEGER

【14】A(K)=0或者A(K)=0.0

【15】A(K)三、编写程序题1、解题程序:programmainimplicitnoneinteger,parameter::max=10integerirealitemrealansans=1.0item=1.0doi=2,maxitem=item/real(i)ans=ans+itemenddowrite(*,*)ansstopendprogram2、解题程序:programmainimplicitnonerealradius,areawrite(*,*)"请输入半径长"read(*,*)radiuscallCircleArea(radius,area)write(*,"('面积='F8.3)")areastopendprogramsubroutineCircleArea(radius,area)implicitnonereal,parameter::PI=3.14159realradius,areaarea=radius*radius*PIendsubroutine3、解题程序:programmainimplicitnoneinteger,parameter::size=10integer::a(size)=(/5,3,6,4,8,7,1,9,2,10/)integer::i,jinteger::tdoi=1,size-1doj=i+1,sizeif(a(i)>a(j))then!a(i)跟a(j)互换 t=a(i)a(i)=a(j) a(j)=t endif enddoenddowrite(*,"(10I4)")astopend一、选取题1、下列关于FORTRAN源程序编辑规则论述之中,对的是()

A)IMPLICIT语句可以放在REAL语句行之后

B)DATA语句可以在放在紧靠END语句行之前

C)注释行不可以放在END语句行之后

D)FORMAT语句可以放在PROGRAM语句行之前2、下列FORTRAN源程序变量名之中,不符合规则是()

A)WB)W3C)-33、若FORTRAN中一种INTEGER型数据占用2个字节,那么该类型数据值范畴是()

A)-B)-3276832767

C)0D)0655354、阅读下列程序

X=0.618

WRITE(*,'(E12.4)')X

END

程序运营后显示成果是()

A).6180B)6.180E-01C).0618E+015、梯形上底为A,下底为B,高为H,计算其面积FORTRAN表达式中错误是()

A)1/2*(AB)*HB)(A+B)*H/2C)(A+B)/2*H6、要选拔身高T>1.7米且体重W<62.5公斤人,FORTRAN逻辑表达式是()

A)T.CE.1.7.AND.W.LE.62.5B)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.57、在FORTRAN变量类型阐明语句中没有()

A)REAl语句B)CHAR语句C)INTEGER语句D)LOGICAL语句8、一次成功FORTRAN源程序编译操作,不能()

A)同步编译一种主程序和一种子程序B)同步编译几种子程序

C)同步编译一种主程序和几种子程序D)同步编译几种主程序9、阅读下列程序

F=1.0

DO20,J=3,7,2

DO20,K=J-1,J

20F=F*K

WRITE(*,'(13,F8.1)')J,F

END

程序运营成果是

A)36.0B)5120.0C)95040.010、阅读下列程序

CHARACTER*10W

DOK=1,10

READ*,W

IF(W(1:2).EQ.'AB'.OR.W(1:2).EQ.'ab')WRITE(*,*)'',W

ENDDO

END

程序功能是()

A)首字符是A或B字符串被输出显示

B)第一、二个字符是AB或ab字符串被输出显示

C)首字符是a或b字符串将被输出显示

D)第一、二个字符是Aa或Bb字符串将被输出显示11、阅读下列程序

LOGICALL

READ(*,*)A,B

L=A.GT.B

IF(L)THEN

X=B+2*A

ELSE

X=B

ENDIF

WRITE(*,*)X

END

使用键盘为上述程序输入两个初值4和3,其输出X值是()

A)4.0B)3.0C)11.012、阅读下列程序

READ(*,*)K

WRITE(*,100)K

100FORMAT(I5)

END

程序运营时输入初始值12345,那么显示成果是

A)2345B)12345C)****D)*****13、阅读下列程序

INTEGERF

F(X,Y)=X+Y

A=-2.5

B=2.1

B=B+F(A,B)

WRITE(*,'(F3.1)')B

END

程序运营成果是()

A).1B).7C)2.114、阅读下列程序

A=3.5

CALLSUBA(A,A,A)

WRITE(*,'(F4.1)')A

END

SUBROUTINESUBA(X,Y,Z)

Y=Y-2.0

Z=Z+X

END

程序运营成果是()

A)7.0B)5.0C)3.515、阅读下列程序

CHARACTERA*4,B*5,C*4

DATAA,B,C/'BIG’,'MIDDLE','SMALL'/

WRITE(*,20)A,B,C

20FORMAT(1X,A2,A3,A4)

END

程序运营成果是()

A)BIGMIDDLEB)*********C)BIGMIDSMAD)BIMIDSMAL16、阅读下列程序

N=0

DO10K=1,3

N=N+1

M=K*N

10CONTINUE

WRITE(*,'(1X,2I3)')M,K

END

程序运营成果是()

A)94B)93C)124D)1217、阅读下列程序

FUN(c,d)=a*c+b/d

DATAa,b/1.0,1.0/

WRITE(*,'(F4.1)')FUN(a,b)-FUN(b,a)

END

程序运营成果是()

A)0.0B)4.0C)2.O18、阅读下列程序

LOGICALL1,L2,L3,L4,L5

DATAL1,L2,L3/3*.TRUE./

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

L5=.NOT.L1.OR..NOT.L2.OR.L3

WRITE(*,*)L4,L5

END

程序运营成果是()

A)TTB)TFC)FFD)FT19、阅读下列程序

DIMENSIONM(3,3)

DATAM/1,2,3,4,5,6,7,8,9/

WRITE(*,100)(M(3,J),J=1,3)

100FORMAT(1X,3I2)

END

程序运营成果是()

A)258B)369C)456D)7820、阅读下列程序

INTEGERA(100),G

READ(*,*)N,(A(I),I=1,N)

DO10I=1,N-1

G=I

DO20J=I+1,N

IF(A(J).LT.A(G))THEN

G=J

ENDIF

20CONTINUE

K=A(I)

A(I)=A(G)

A(G)=K

10CONTINUE

WRITE(*,'(1X,10I2)')(A(I),I=1,N)

END

程序运营时输入初始值是3,6,9,8,则运营成果是()

A)698B)896C)689D)98二、填空题1、阅读下列程序,其功能是求出方程2X3-3X2+4X-11=0在区间(1,5)中一种实数根,运营成果是显示根值和对分次数,使用是二分算法。请在其中_____处填入恰当内容。

FUN(X)=2.0*X**3-3.0*X**2+4.0*X-11.0

DATAXL,XR,N/1.O,5.0,0/

10CONTINUE

【1】

X=(XL+XR)/2.0

【2】

IF(ABS(FX).LT.1E-6.OR.N.GE.1000)THEN

WRITE(*,'(1X,A2,F12.7,A5,14)')'X=',X,'N=',N

ELSE

IF(FUN(【3】)*FX.GE.0.0)THEN

XR=X

ELSE

XL=X

ENDIF

GOTO10

ENDIF

END2、阅读下列程序.其功能是计算Y=1+1.1X+1.2X2+1.3X3+1.4X4+1.5X5当X=3.1时值。主程序调用了函数子程序。请在其中____处填入恰当内容。

PROGRAMPVALUE

【4】

DATAA/1.0,1.1,1.2,1.3,1.4,1.5/,N,X/6,3.1/

【5】

WRITE(*,'(1X,A5,6F5.1)')'a(k)=',A

WRITE(*,'(1X,A2,F5.1,A6,F8.2)')'X=',X,';Y=',Y

END

FUNCTIONPOLY(B,M,V)

DIMENSIONB(M)

POLY=B(1)

FV=1.0

DO10K=2,M

FV=FV*V

10【6】=POLY+B(K)*FV

END3、函数子程序DTOH可以将一种十进制正整数DEC转换为一种表达十六进制数字符字符串,其长度不超过8。例如127转换为'7F'。算法是:将DEC除16取余,将所得商再除16取余,如此重复,直到商和零为止,最后按照逆序输出所得各个余数。请在其中____处填入恰当内容。

CHARACTER*8FUNCTIONDTOH(DEC)

INTEGERDEC,R,POS

POS=9

DTOH=''

111CONTINUE

【7】

IF(POS.GE.1)THEN

R=MOD(DEC,16)

IF(R.LT.1O)THEN

【8】=CHAR(ICHAR('0')+R)

ELSE

DTOH(POS:POS)=CHAR(ICHAR('A')+R-10)

ELSE

DTOH='**********'

GOTO999

ENDIF

DEC=DEC/16

IF(【9】)GOTO111

999CONTINUE

END

PROGRAMDECHEX

CHARACTER*8DTOH

WRETE(*,*)DTOH(127)

END4、有一种十进制四位数ABCD与一种十进制三位数CDC差等于十进制三位数ABC.下列程序按"ABCD=9876"样式打印出ABCD这个数。请在其中____外填入恰当内容.

INTEGERA,B,C,D

DO10A=1,9

DO10B=0,9

DO10C=1,9

【10】

L=1000*A+100*B+10*C+D

M=100*C+10*D+C

N=100*B+C

IF(【11】)WRITE(*,'(【12】)')'XABCD=',A,B,C,D

10CONTINUE

END5、阅读下列程序,其功能是使用筛法选出N以内所有素数并显示算法在N以内自然数列中先筛除2倍数;在2之后筛乘下第一种数是3,于是再筛除3倍数;在3之后筛剩余第一种数是5,于是再筛除5倍数;如此重复下去,直到碰见筛剩余第一种数是最接近N平方根那个数为止。请在其中____处填入恰当内容。

PROGRAMPRINES

PARAMETER(N=100)

INTEGERA(N),P(N)

DO10K=1,N

10A(K)=K

DO20K=3,N

20IF(【13】.EQ.0)A(K)=0

ISR=SQRT(REAL(N))

DO30M=3,ISR,2

DO30K=M+2,N

30IF(A(K).NE.0.AND.MOD(A(K),M).EQ.0)A(K)=0

M=1

DO40K=2.N

IF(A(K).NE.0)THEN

【14】

M=M+1

ENDIF

40CONTINUE

WRITE(*,'(1X,1018)')(P(K),【15】)

END三、编写程序题1、以循环来计算等差数列1+3+5+7+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论