计算机技术基础Fortran试题库.docx

上传人:b****6 文档编号:15416834 上传时间:2023-07-04 格式:DOCX 页数:13 大小:22.86KB
下载 相关 举报
计算机技术基础Fortran试题库.docx_第1页
第1页 / 共13页
计算机技术基础Fortran试题库.docx_第2页
第2页 / 共13页
计算机技术基础Fortran试题库.docx_第3页
第3页 / 共13页
计算机技术基础Fortran试题库.docx_第4页
第4页 / 共13页
计算机技术基础Fortran试题库.docx_第5页
第5页 / 共13页
计算机技术基础Fortran试题库.docx_第6页
第6页 / 共13页
计算机技术基础Fortran试题库.docx_第7页
第7页 / 共13页
计算机技术基础Fortran试题库.docx_第8页
第8页 / 共13页
计算机技术基础Fortran试题库.docx_第9页
第9页 / 共13页
计算机技术基础Fortran试题库.docx_第10页
第10页 / 共13页
计算机技术基础Fortran试题库.docx_第11页
第11页 / 共13页
计算机技术基础Fortran试题库.docx_第12页
第12页 / 共13页
计算机技术基础Fortran试题库.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

计算机技术基础Fortran试题库.docx

《计算机技术基础Fortran试题库.docx》由会员分享,可在线阅读,更多相关《计算机技术基础Fortran试题库.docx(13页珍藏版)》请在冰点文库上搜索。

计算机技术基础Fortran试题库.docx

计算机技术基础Fortran试题库

一、选择题

1、下列关于"SUBROUTINEMAP(X,Y)"语句行的叙述中,不正确的是()A)这是子程序的第一个语句B)字符串"MAP"是子程序名C)变量X是子程序的形参D)子程序执行后,MAP将返回整型数据

2、FORTRAN表达式"2/4+"的值是()A)B)1C)D)0

3、阅读下列FORTRAN程序:

PI=3.WRITE(*,'')PIEND程序运行后输出结果是()A)B)3.1415C)D)

4、圆的直径存放在整型变量K之中,下列计算圆面积的表达式中正确的是()A)*K*K/4B)*(K*K/4)C)*(K/2)**2D)*(K/2)*(K/2)

5、要判断"月收入M在2000元以上(含2000元)且5000元以下)不含5000元)"的职工,应该使用的逻辑表达式是()A)M.GE.2000.AND.M.LE.5000B)M.GE.2000.OR.M.LE.5000C)M.GE.2000.AND.M.LT.5000D)M.GE.2000.OR.M.LT.5000

6、设FORTRAN子程序如下:

SUBROUTINESUB(I,X)B=I+1X=X+BEND若主程序中的变量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),B)+00C)2/3D)'Verygood!

'

8、阅读下列FORTRAN程序:

F=DO20K=3,7,3DO20L=K-1,K20WRTTE(*,'(I3,'K,F*KEND程序运行结果的最后一行是()A)3B)66.0C)6D)7

9、在FORTRAN中,下列运算符的优先顺序是()A)逻辑运算,关系运算,算术运算B)关系运算,逻辑运算,算术运算C)算术运算,关系运算,逻辑运算D)关系运算,算术运算,逻辑运算

10、使用FORTRAN内部函数时,所给的自变量()A)只能是常量B)只能是变量C)只能是常量或者变量D)可以是常量、变量或者表达式

11、设X=,Y=,Z=,L=.TRUE.,则下列FORTRAN表达式中值为.TRUE.的是()A)X+B).NOT.C).D)Y+

12、下列输出语句行中正确的是()A)WRITE(*,*)(A(K,L),K=1,3,L=1,3)B)WRITE(*,*)A(K,L),K=1,3,L=1,3C)WRITE(*,*)((A(K,L),K=1,3),L=1,3)D)WRITE(*,*)(A(K,L),K=1,3),L=1,3

13、给定下列FORTRAN子程序如下:

SUBROUTINESUB(K,A)A=SQRT(K*K+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))ENDSUBROUTINES2D19(BB)INTEGERBB(2,2)WRITE(*,'(1X,2I3)')BB(1,1),BB(2,2)END程序运行结果是()A)14B)15C)14D)1236262534

15、阅读下列FORTRAN程序:

INTEGERA(3,3)DO10K=1,3DO10L=1,310A(K,L)=K*10+LWRITE(*,'(1X,3I3)')AEND程序运行结果是:

()A)112131B)111213C)313233D)333231122232212223212223322221132333313233111213312111

16、阅读下列FORTRAN程序:

WRITE(*,10)'YEAR:

',199610FORMAT(/3X,A,I4)END程序运行结果是(^代表空格,下同)()A)^^^^^YEAR:

1996B)^^YEAR:

1996C)空白行D)空白行^^^^^YEAR:

1996^^YEAR:

1996

17、某函数子程序中使用了IMPLICIT、READ、COMPLEX和FUNCTION四种语句,其中属于可执行语句的是:

()A)FUNCTIONB)READC)COMPLEXD)IMPLICIT

18、阅读下列FORTRAN程序:

DIMENSIONM(4,4)DATAM/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/DO10I=1,4WRITE(*,100)(M(I,J),J=1,I)10CONTINUE100FORMAT(1X,4I2)END程序运行的结果是()A)1234B)1593C)1D)1678604262661215371937116648263448266

19、阅读下列FORTRAN程序:

CHARACTER*10A,B*6DO10I=1,10A(I:

I)=''10COUNTINUEA(1:

5)='ABCDE'B='FGHIJK'A(4:

9)=BWRITE(*,100)A100FORMAT(1X,A)END程序运行结果是:

()A)ABCDEFGHIJB)ABCDEGHIJKC)ABCFGHIJKD)BCDEFGHIJK

20、阅读下列FORTRAN程序:

INTRINSICSIN,COSWRITE(*,*)FUN(SIN,/FUN(COS,ENDFUNCTIONFUN(F,X)X=X*180FUN=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=SUMX2=DO10K=1,N【2】SUMX=SUMX+XSUMX2=SUMX2+X*X10CONTINUEAV=SUMX/NAV2=SUMX2/NS2=AV2-AV*AVSIGMA=【3】END

2、下列FORTRAN程序的功能是将30个学生的考试成绩读入数组A,然后统计并且输出最高的分数以及小于60分、60~80分与大于80分的三个分数段的学生数。

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

【4】A(30),B,C(3)DATAC/3*0/READ(*,*)A【5】DO10K=2,30IF(A(K).B=A(K)10CONTINUEDO30K=1,30IF(A(K).C

(1)=C

(1)+1IF(A(K).C(3)=C(3)+1IF(A(K).【6】A(K).C

(2)=C

(2)+130CONTINUEWRITE(*,*)B,CEND

3、下列FORTRAN程序的功能是用对分法求出方程在区间(1,5)中的一个实数根,要求输出根的近似值和对分次数。

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

【7】=*X***DATAXL,XR,N/,,0/10N=N+1X=(XL+XR)/FX=FUN(X)IF(ABS(FX).WRITE(*,'(1X,A2,,A5,I4)')'X=',X,'N=',NELSEIF(FUN(XR)*THENXR=X【8】XL=XENDIF【9】ENDIFEND

4、下列FORTRAN程序的功能是计算多项式y=2+++在x=时的值。

主程序调用了函数子程序POLY。

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

PROGRAMPVALUEREALA(6)DATAA/【10】/DATAN,X/6,Y=POLY(A,N,X)WRITE(*,'(1X,A5,6F')'a(k)=',AWRITE(*,'(1X,A2,,A6,')'X=',X,';Y=',YENDFUNCTIONPOLY(B,M,V)【11】POLY=B

(1)FV=DO10K=2,MFV=FV*V10POLY=POLY+【12】END

5、下列FORTRAN程序的功能是使用筛法筛选出N以内的所有素数并输出。

其算法如下:

在N以内的自然数列中先筛除2的倍数(不包括2);在2之后未筛去的第一个数是3,于是再筛除3的倍数;在3之后未筛去的第一个数是5,于是再筛除5的倍数;如此重复下去,直到遇见筛剩下的第一个数是最接近N的平方根的那个数为止。

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

PARAMETER(N=100)【13】A(N),P(N)A

(1)=0DO10K=2,N10A(K)=KDO20K=3,N20IF(MOD(A(K),2).A(K)=0ISR=SQRT(FLOAT(N))DO30M=3,ISR,2DO30K=M+2,N30IF(A(K).【14】M=1DO40K=1,NIF(A(K).THENP(M)=【15】M=M+1ENDIF40CONTINUEWRITE(*,'(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、B

9、C10、D11、B12、C13、D14、A15、A16、D

17、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】,,,,(注:

顺序不可颠倒,小数点前后的0可以省略其中的一个。

)【11】DIMENSIONB(M)或者REALB(M)【12】B(K)*FV或者FV*B(K)【13】INTEGER【14】A(K)=0或者A(K)=【15】A(K)

三、编写程序题

1、解题程序:

programmain

implicitnone

integer,parameter:

:

max=10

integeri

realitem

realans

ans=

item=

doi=2,max

item=item/real(i)

ans=ans+item

enddo

write(*,*)ans

stop

endprogram

2、解题程序:

programmain

implicitnone

realradius,area

write(*,*)"请输入半径长"

read(*,*)radius

callCircleArea(radius,area)

write(*,"('面积='")area

stop

endprogram

subroutineCircleArea(radius,area)

implicitnone

real,parameter:

:

PI=

realradius,area

area=radius*radius*PI

endsubroutine

3、解题程序:

programmain

implicitnone

integer,parameter:

:

size=10

integer:

:

a(size)=(/5,3,6,4,8,7,1,9,2,10/)

integer:

:

i,j

integer:

:

t

doi=1,size-1

doj=i+1,size

if(a(i)>a(j))then!

a(i)跟a(j)交换

t=a(i)

a(i)=a(j)

a(j)=t

endif

enddo

enddo

write(*,"(10I4)")a

stop

end

一、选择题

1、下列关于FORTRAN源程序编辑规则的叙述之中,正确的是()A)IMPLICIT语句可以放在REAL语句行之后B)DATA语句可以在放在紧靠END语句行之前C)注释行不可以放在END语句行之后D)FORMAT语句可以放在PROGRAM语句行之前

2、下列FORTRAN源程序的变量名之中,不符合规则的是()A)WB)W3C)-3D)W3W

3、若FORTRAN中一个INTEGER型数据占用2个字节,那么该类型的数据值范围是()A)-4847B)-3276832767

C)095D)065535

4、阅读下列程序X=WRITE(*,'')XEND程序运行后显示结果是()A).6180B)-01C.0618E+01D).6180E+00

5、梯形的上底为A,下底为B,高为H,计算其面积的FORTRAN表达式中错误的是()A)1/2*(AB)*HB)(A+B)*H/2C)(A+B)/2*HD)*(A+B)*H

6、要选拔身高T>1.7米且体重W<公斤的人,FORTRAN的逻辑表达式是()A)B)62.5

D)、在FORTRAN的变量类型说明语句中没有()A)REAl语句B)CHAR语句C)INTEGER语句D)LOGICAL语句

8、一次成功的FORTRAN源程序编译操作,不能()A)同时编译一个主程序和一个子程序B)同时编译几个子程序C)同时编译一个主程序和几个子程序D)同时编译几个主程序

9、阅读下列程序F=DO20,J=3,7,2DO20,K=J-1,J20F=F*KWRITE(*,'(13,')J,FEND程序运行结果是A)3B)5120.0C)9D)

10、阅读下列程序CHARACTER*10WDOK=1,10READ*,WIF(W(1:

2).EQ.'AB'.(1:

2).EQ.'ab')WRITE(*,*)'',WENDDOEND程序的功能是()A)首字符是A或B的字符串被输出显示B)第一、二个字符是AB或ab的字符串被输出显示C)首字符是a或b的字符串将被输出显示D)第一、二个字符是Aa或Bb的字符串将被输出显示

11、阅读下列程序LOGICALLREAD(*,*)A,BL=IF(L)THENX=B+2*AELSEX=BENDIFWRITE(*,*)XEND使用键盘为上述程序输入两个初值4和3,其输出的X值是()A)B)3.0C)D)

12、阅读下列程序READ(*,*)KWRITE(*,100)K100FORMAT(I5)END程序运行时输入初始值12345,那么显示结果是A)2345B)12345C)****D)*****

13、阅读下列程序INTEGERFF(X,Y)=X+YA=B=B=B+F(A,B)WRITE(*,'')BEND程序运行的结果是()A).1B).7C)D)

14、阅读下列程序A=CALLSUBA(A,A,A)WRITE(*,'')AENDSUBROUTINESUBA(X,Y,Z)Y=Z=Z+XEND程序运行的结果是()A)B)5.0C)D)

15、阅读下列程序CHARACTERA*4,B*5,C*4DATAA,B,C/'BIG’,'MIDDLE','SMALL'/WRITE(*,20)A,B,C20FORMAT(1X,A2,A3,A4)END程序运行结果是()A)BIGMIDDLEB)*********C)BIGMIDSMAD)BIMIDSMAL

16、阅读下列程序N=0DO10K=1,3N=N+1

M=K*N10CONTINUEWRITE(*,'(1X,2I3)')M,KEND程序运行结果是()A)94B)93C)124D)123(#^)

17、阅读下列程序FUN(c,d)=a*c+b/dDATAa,b/,WRITE(*,'')FUN(a,b)-FUN(b,a)END程序运行结果是()A)B)4.0C)D)

18、阅读下列程序LOGICALL1,L2,L3,L4,L5DATAL1,L2,L3/3*.TRUE./L4=.3

WRITE(*,*)L4,L5END程序运行结果是()A)TTB)TFC)FFD)FT

19、阅读下列程序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)789

20、阅读下列程序INTEGERA(100),GREAD(*,*)N,(A(I),I=1,N)DO10I=1,N-1

G=IDO20J=I+1,NIF(A(J).(G))THENG=JENDIF20CONTINUEK=A(I)A(I)=A(G)A(G)=K10CONTINUEWRITE(*,'(1X,10I2)')(A(I),I=1,N)END程序运行时输入的初始值是3,6,9,8,则运行结果是()A)698B)896C)689D)986

二、填空题

1、阅读下列程序,其功能是求出方程2X3-3X2+4X-11=0在区间(1,5)中的一个实数根,运行结果是显示根值和对分次数,使用的是二分算法。

请在其中_____处填入适当的内容。

FUN(X)=*X***X**2+*DATAXL,XR,N/,,0/10CONTINUE【1】X=(XL+XR)/【2】IF(ABS(FX)..WRITE(*,'(1X,A2,,A5,14)')'X=',X,'N=',NELSEIF(FUN(【3】)*XR=XELSEXL=XENDIFGOTO10ENDIFEND

2、阅读下列程序.其功能是计算Y=1+++++当X=时的值。

主程序调用了函数子程序。

请在其中____处填入适当的内容。

PROGRAMPVALUE【4】DATAA/,,,,,,N,X/6,【5】WRITE(*,'(1X,A5,6F')'a(k)=',AWRITE(*,'(1X,A2,,A6,')'X=',X,';Y=',YENDFUNCTIONPOLY(B,M,V)DIMENSIONB(M)POLY=B

(1)FV=DO10K=2,MFV=FV*V10【6】=POLY+B(K)*FVEND

3、函数子程序DTOH能够将一个十进制正整数DEC转换为一个表示十六进制数的字符字符串,其长度不超过8。

例如127转换为'7F'。

算法是:

将DEC除16取余,将所得的商再除16取余,如此反复,直到商和零为止,最后按照逆序输出所得的各个余数。

请在其中____处填入适当的内容。

CHARACTER*8FUNCTIONDTOH(DEC)INTEGERDEC,R,POSPOS=9DTOH=''111CONTINUE【7】IFR=MOD(DEC,16)IF【8】=CHAR(ICHAR('0')+R)ELSEDTOH(POS:

POS)=CHAR(ICHAR('A')+R-10)ELSEDTOH='**********'GOTO999ENDIFDEC=DEC/16IF(【9】)GOTO111999CONTINUEENDPROGRAMDECHEXCHARACTER*8DTOHWRETE(*,*)DTOH(127)END

4、有一个十进制的四位数ABCD与一个十进制的三位数CDC的差等于十进制的三位数ABC.下列程序按"ABCD=9876"的样式打印出ABCD这个数。

请在其中____外填入适当的内容.INTEGERA,B,C,DDO10A=1,9DO10B=0,9DO10C=1,9【10】L=1000*A+100*B+10*C+DM=100*C+10*D+CN=100*B+CIF(【11】)WRITE(*,'(【12】)')'XABCD=',A,B,C,D10CONTINUEEND

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

请在其中____处填入适当的内容。

PROGRAMPRINESPARAMETER(N=100)INTEGERA(N),P(N)DO10K=1,N10A(K)=KDO20K=3,N20IF(【13】.A(K)=0ISR=SQRT(REAL(N))DO30M=3,ISR,2DO30K=M+2,N30IF(A(K).0

DO40K=IF(A(K).THEN【14】M=M+1ENDIF40CONTINUEWRITE(*,'(1X,1018)')(P(K),【15】)END

三、编写程序题

1、以循环来计算等差数列1+3+5+7+……+99的值。

 

2、利用选择排序法编制程序,将数组A中所有的数值(5,3,6,4,8,7,1,9,2,10)从大到小排列。

 

3、编制函数G

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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