大学FORTRAN考试试题11.docx

上传人:b****4 文档编号:12375033 上传时间:2023-04-18 格式:DOCX 页数:26 大小:64.30KB
下载 相关 举报
大学FORTRAN考试试题11.docx_第1页
第1页 / 共26页
大学FORTRAN考试试题11.docx_第2页
第2页 / 共26页
大学FORTRAN考试试题11.docx_第3页
第3页 / 共26页
大学FORTRAN考试试题11.docx_第4页
第4页 / 共26页
大学FORTRAN考试试题11.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

大学FORTRAN考试试题11.docx

《大学FORTRAN考试试题11.docx》由会员分享,可在线阅读,更多相关《大学FORTRAN考试试题11.docx(26页珍藏版)》请在冰豆网上搜索。

大学FORTRAN考试试题11.docx

大学FORTRAN考试试题11

1.下列叙述中,正确的是(D)

A.语句标号的大小影响程度执行的顺序

B.程序完全按语句出现的先后顺序执行

C.不同程序单位不能有相同的语句标号

D.同一程序单位不能有相同的语句标号

2.下列标识符中,不能作为合法的FORTRAN90标识符的是(C)

A.A3_B3B.VOIDC._123D.IF

3.下列哪一个为正确的常量(D)

A.123,000B.3.5E+2.5C.TRUED.“HELLO”

4.若A=2,B=2,I=3,则表达式A**B**I的值为(C)

A.64B.12C.256D16.

5.圆的直径存放在整型变量D之中,下列计算圆面积的表达式中正确的是(D)

A.3.14159*(D/2)*(D/2)B.3.14159*(D*D/4)

C.3.14159*(D/2)**2D.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/10C.50.0/4/25D.MOD(15,10)/10

8.下列是完整的FORTRAN程序,编译时出错的语句是(C)

A.PROGRAMPRINTB.PARAMETER(PI=3.1415926)

C.PI=PI+1D.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

 

11.下列逻辑表达式描述的是(不会)

X.GT.3.AND.X.LT.10.AND.MOD(X,3).NE.0.OR.X.EQ.2.OR.X.EQ.3

A.10以内的素数B.10以内的合数

C.10以内的奇数D.10以内的偶数

12.下面正确的逻辑IF语句是(C)

A.IF(X.EQ.Y)THENGOTO10B.IFM.LT.NPRINT*,M

C.IF(ABS(X).LT.1E-6)A=1D.IF(A.AND.(A.LE.0.0)A=3

13.下列语句中正确的是(C)

A.DATAA,B,C/3*(-10.0)/B.READ(*,*)(N,A(K),K=1,N)

C.WRITE(*,*)(10,A(K),K=1,10)D.READ(*,*)N,N+1

14.如果J是整型变量,则循环语句:

DOJ=5.5,-1.5,-2.5所执行的循环次数是(C)

A.4B.3C.2D.1

15.如有语言:

INTEGERB(-1:

-2,3:

7),则数组B中所含的元素个数为(无答案)

A.0B.10C.12D.21

16.关于FORTRAN90的CASE结构,SELECTCASE(表达式)中的表达式的数据类型不允许为(A)

A.实型B.字符型C.实型D.逻辑性

17.下面符号在FORTRAN90中表示续行符的是(B)

A.!

B.&C.#D.%

18.下列程序段中,错误的语句是(D)

A.PARAMETER(N=10)

B.INTEGER:

:

M=20

C.M=M+N

D.PRINT(*,*)M,N

19.

A.FUNCTIONB.SUBROUTINE

C.BLOCKDATAD.SUB

20.下列语句中,错误的语句是(D)。

A.PARAMETER(PI=3.1415)B.DIMENSIONA(-5:

0)

C.INTEGER:

:

A=10D.SELECTCAE(3.0)

21.执行语句:

WRITE(*,‘(1X,A,‘=’,I2)’)“2+3”,2+3后,屏幕上显示的结果是(不会)。

A.□5B.2+3=□5

C.5=□5D.语句不正确

22.能得到一下数据正确输出结果的FORTRAN语句是(A)

X=1.34

M=3

Y=1.25

A.100FORMAT(1X,F6.3,I3,E9.4)

B.100FORMAT(1X,2F8.3,I3)

C.100FORMAT(1X,F8.4,I3,F3.1)

D.100FORMAT(1X,F8.4,2(1X,I3))

23.设有如下程序,下面描述正确的是(一次也不循环)

K=10;DOWHILE(K==0);K=K-1;ENDDO

A.循环执行10次B.循环是无限循环

 

24.C

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

B,READ(*,*)(B(I,J),I=1,10,J=1,10)

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

D,READ(*,*)(I=1,10,A(I))

25.为了保证正确的输出数据,格式编辑符Ewd中w与d的关系应该是(B)

A.w>dB.w>d+2C.w>d+4D.w>d+6

26.若定义了语句函数S(X,Y,Z)=X+Y+Z后,S(2.01.03.0)的值为(6.0)

A.17.0B.11.0C.20.0D.29.0

27.下列说法中正确的是(D)

A.块IF结构中的THEN块或ELSE块不能是空块

B.块IF结构中至少要有一个ELSEIF语句或ELSE语句

C.每一个ELSE语句要有一个对应的ENDIF语句

D.一个块IF结构中只能有一个ENDIF语句

28.在子程序SUB中,下列各语句的正确顺序是(A)1.④要放③前2.见P129:

①为语句函数,语句函数是非执行语句,语句函数的定义语句要放在一个程序单位的所有其他说明语句之后,放在所有可执行语句之前,所以②在①前

①F(A,B,C)=A*A+B*C②IMPLICITINTEGER(F,A,B,C)

③REALD(M),E(N)④PARAMETER(M=4)

⑤SUBROUTINESUB(E,N)

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

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

答案应该正确,有异议可以大家一起讨论,或Q我,树连

学生班级________________学生学号:

□□□□□□□□□□□□学生姓名:

________________

………………装订线………装订线………装订线…………试卷须与答题纸一并交监考教师…………装订线………装订线………装订线………………

《Fortran语言程序设计》考试试题

一、关键字解释及表达式互换(共10题,每题2分,共20分)

1.READ*,X,Y

2.REAL

3.12FORMAT(2X,I5)

4.COMPLEX

5.LOGICAL

6.INTEGER,DIMENSION(4,5):

:

A

7.SELECTCASE(R3)

8.写出

的fortran表达式

9.写出COS((A+1)*(A+1))/(N*N+1)数学表达式

10.写出

的fortran表达式

二、下面分别是程序中的一段代码,请指出其错误?

(共2题,(共2题,1题12分,2题8分,共20分)

1.……………………

E=(E*T+23)

IF(E>=500)GOTO5

DON=1,1O,0

5T=SS*3.45

PRINT*,R,T

ENDDO

………………

2.PROGRAMex

IMPLICINONE

INTEGER:

:

n

CHARACTER(LEN=3):

:

a,b,c

READ*,n

a=n

b=’nkd_lixy’

c=sqrt(a**2+b**2)

print*,c

………………

三、请写出下面程序的运行结果(共4题,每题10分,共40分)

1.写出下列程序的作用是解决什么问题的?

PROGRAMGH1

REALX,Y

READ*,X

IF(X<=0)Y=LOG(SQRT(X*X+1))

IF(X>0)Y=SIN(X**3)+ABS(X)

PRINT*,”Y=”,Y

END

2.写出下列程序的运行结果,程序运行时输入5,6,7,8四个数。

PROGRAMGH2

IMPLICITNONE

INTEGER:

:

M,N

READ*,M,N,N,M!

说明:

程序运行时输入5,6,7,8四个数

M=M+N

N=M+N

PRINT*,M,N

END

3.写出下列程序的结果,或分析下列程序结果。

PROGRAMGH3

IMPLICITNONE

INTEGER:

:

i,k

k=3

DOi=1,k

PRINT*,'i=',i,fact(i)

ENDDO

CONTAINS

integerfunctionfact(n)

integer:

:

n,t,j

t=5

j=3

t=n**j+t

fact=t

ENDfunctionfact

END

4.写出下列程序实现的功能。

PROGRAMExample

IMPLICITNONE

INTEGER:

:

i,k

DOi=200,600

If(mod(i,7)==0)then

PRINT*,'i=',i

Endif

ENDDO

END

四、根据题目要求画出程序一般流程图和盒图(即N-S图)。

(共2图,每图10分,共20分)

题目:

求u=

其中,

标准答案

一、关键字解释及表达式互换(共10题,每题2分,共20分)

1.读入数据X,Y。

2.实型变量说明语句,它的取值范围由其后跟随的种类参数(可略)说明。

3.定义数据输出形式。

4.复数型变量说明语句。

5.逻辑型变量说明语句。

6.定义整型(4

)的二维数组,数组名为A。

7.条件选择说明语句,选择变量为CASE(R3)

8.

9.

10.(x/y)**(n-1)

二、下面分别是程序中的一段代码,请指出其错误?

(共2题,1题12分,2题8分,共20分)

1.不允许从循环体外转入循环体内(6分),循环步进值(增量)不能为零。

(6分)

2.赋值语句中,值与变量类型不匹配(8分).

三、请写出下面程序的运行结果

(共4题,每题10分,共40分)

(结果写错,如果分析程序思路对,酌情给分)

1.求

函数式解的程序。

2.1522

3.i=16

i=213

i=332

4.输出200~600之间可以被7整除的数。

四、画出程序一般流程图和盒图(即N-S图)。

(共2图,每图10分,共20分)

如果画出部分或部分画错,根据画的情况酌情给相应的分值。

软件技术基础(FORTRAN)笔试模拟试题

(带答案)

一.概念选择题(单选题,将正确的答案填入括号内。

每题1分,共15分)

1.已知整型变量L=5,M=13,N=4,表达式L*M/N、L/N*M和M/N*L的值分别是(A)。

A)161315B)16.2516.2516.25

C)16.013.015.0D)161616

2.将数学式

改写为FORTRAN表达式,正确的是(D)。

A)1/2*(LOG(ABS(X))+E**(-5))

B)1.0/2*(LN(ABS(X))+E**-5)

C)1/2.0*(LN(ABS(X))+E-5)

D)1.0/2*(LOG(ABS(X))+EXP(-5))

3.设A=.TRUE.,B=.FALSE.,C=.FALSE.,逻辑表达式(A.OR.B).AND.C与A.OR..NOT.B

的值是(B)。

A).T.与.F.B).F.与.T.C).T.与.T.D).F.与.F.

4.数组REALA(0:

5,-1:

5)的元素个数是(D)。

A)25B)30C)36D)42

5.下列数组说明符中错误的是(A)。

A)K(3:

2,1:

2)B)K(-1:

1,2)C)K(-2:

2,-1:

1)D)K(2:

2,5)

6.关于USE语句的正确说法是(C)。

A)USE语句是可执行语句B)用USE语句可以代替INCLUDE语句

C)USE语句必须放在程序单元体的开头D)USE语句的位置任意

7.语句OPEN(9,FILE=‘DATA.TXT’)打开的是(B)文件。

A)无格式顺序B)有格式顺序C)无格式直接D)有格式直接

8.阅读下列FORTRAN程序,程序运行时执行循环体的次数是(A)。

X=0

DOL=10,5,1

X=X+1.0

ENDDO

END

A)0B)1C)6D)无穷

9.结构化程序设计中有三种基本结构,下列不属于三种基本设计结构的是(D)。

A)顺序结构B)选择结构C)循环结构D)嵌套结构

10.对链表中的数据元素的插入和删除(B)。

A)移动结点,不需要改变结点指针B)不移动结点,需要改变结点指针

C)移动结点,并且需要改变结点指针D)不移动结点,不需要改变结点指针

11.具有12个记录的序列,采用冒泡排序最多的比较次数是(D)。

A)1B)144C)11D)66

12.下列形式中,不能作为形参的是(C)。

A)函数B)数组C)表达式D)变量

13.一个深度为k(k≥0)的满二叉树的结点数应满足(A)。

A)2k+1-1B)2k+1C)2k+1D)2k

14.栈和队列都是(D)。

A)顺序存储线性表B)限制存取点的顺序存储线性表

C)链式存储线性表D)限制存取点的线性表

15.进行二分法查找,则线性表(D)

A)必须以顺序方式存储B)必须以链接方式存储

C)必须以链接方式存储,且数据元素已按值排好序

D)必须以顺序方式存储,且数据元素已按值排好序

二.阅读程序,并写出下列各程序的运行结果。

(每题3分,共15分)

1.CHARACTERLINE*19,DC*5运行结果是:

DC="*****"*****

LINE=""****#

DOK=16,12,-1***##

LINE(K-7:

K-3)=DC**###

PRINT*,LINE*####

DC(K-11:

K-11)="#"

LINE=""

ENDDO

END

2.INTEGERFUNCTIONFUN(M)运行结果是:

43

M=M/2

FUN=M*M

END

INTEGER:

:

A,X=17,FUN

A=FUN(X)/FUN(X)

B=FUN(X)-FUN(X)

PRINT*,A,B

END

3.INTEGERA(4,4)运行结果是:

DOI=1,43

DOJ=1,457

A(I,J)=I*J-15811

ENDDO371115

ENDDO

DOI=1,4

N=5-I

WRITE(*,30)(A(I,J),J=N,4)

ENDDO

30FORMAT(1X,4I3)

END

4.INTEGERA(3,4)运行结果是:

6.00

DATAA/12*0/

DOM=1,3

DON=1,4

CALLSUB(A,3,4,M,N)

ENDDO

ENDDO

WRITE(*,"f6.2)")F(A,3,4)

END

SUBROUTINESUB(P,M,N,I,J)

INTEGERP(M,N)

P(I,J)=J-I

END

FUNCTIONF(P,M,N)

INTEGERP(M,N)

F=0.0

DOI=1,M

DOJ=1,N

F=F+P(I,J)

ENDDO

ENDDO

END

5.A=3.0;B=5.0;C=4.0运行结果:

CALLSUBT(B-A,C)2.05.0

WRITE(*,’(1X,2F4.1)’)B-A,C

END

SUBROUTINESUBT(X,Y)

X=X+2

Y=Y+1

END

三.程序填空题(每空2分,共30分)

1.下列模块中的子程序DECTOR的功能是用除R取余法将整数X转换成R(2<=R<=9)进制的数字,并把结果存放在数组B中,B(0)存放R进制数的位数,其正负号与X相同,最低位放在B

(1)中;模块中的函数ISPRIME的功能是判断整数X是否为一个素数,是返回.TRUE.,否则返回.FALSE.。

MODULEINTMAP

IMPLICITNONE

CONTAINS

SUBROUTINEDECTOR(X,R,B)!

将整数X转换成R进制的数字存放在数组B中

INTEGER,INTENT(IN):

:

X,R

INTEGER,INTENT(OUT):

:

B(0:

20)

INTEGER:

:

S=1,I=0,REMAINDER,X1

IF(X<0)S=-1

X1=ABS(X)

DOWHILE(X1/=0)

I=I+1

REMAINDER=MOD(X1,R)

B(I)=REMAINDER

X1=X1/R

ENDDO

B(0)=I*S

ENDSUBROUTINE

FUNCTIONISPRIME(X)!

判断整数X是否为一个素数

INTEGER:

:

X,K

LOGICAL:

:

ISPRIME

ISPRIME=.FALSE.

DOK=2,X-1

IF(MOD(X,K)==0)EXIT

ENDDO

IF(K==X)ISPRIME=.TRUE.

ENDFUNCTION

ENDMODULE

2.求出1900~2100的闰年,要求把求出的闰年存入数组Y,并统计闰年的数目。

以7位宽度输出闰年年号,每行10个。

INTEGER:

:

Y(50),K=0

DOI=1900,2100

IF(MOD(I,400)==0.OR.MOD(I,100)/=0.AND.MOD(I,4)==0)THEN

K=K+1

Y(K)=I

ENDIF

ENDDO

PRINT'(1X,I2,12HLEAPYEARS:

)',K

PRINT'(1X,10I7)',(Y(I),I=1,K)

END

3.下面的程序输出ACSII码对照表,请填空。

INTEGERA(32:

126),ASC

CHARACTERCH(32:

126)

PRINT*,"ACSII码对照表"

DOASC=32,126

A(ASC)=ASC

CH(ASC)=CHAR(ASC)

ENDDO

PRINT10,(CH(I),A(I),I=32,126)

10FORMAT(7(1X,A,"=",I4))

END

四.简答题(共10分)

1.简述数据结构的内容。

(2分)

答案:

数据结构主要研究数据元素之间的逻辑关系、数据元素在计算机存储器中的物理关系、在数据元素集合上的运算。

2.给定树如下,分别写出对该树进行中序和后序遍历的结果(4分)

  

 

答案:

  中序遍历结果是GDBEAFC

  后序遍历结果是GDEBFCA

3.已知有序列A、B、C,如果按A、B、C的顺序入栈,请写出它们的各种不同的出栈序列。

(2分)

答案:

A,B,CA,C,BB,C,AB,A,CC,B,A

 

五.编程题(10分)(在下列2题中任选一题,按题目要求编写FORTRAN程序。

1.编写判断一个整数是否为偶数或奇数的子例行子程序,在主程序中调用它,以便分别求出100个整数中奇数和偶数的个数。

SUBROUTINESUB(N,CH)

CHARACTER*1CH

IF(MOD(N,2)==0)THEN

CH=’O’

ELSE

CH=’J’

ENDIF

END

PROGRAMMAIN

DIMENSIONK(100)

CHARACTER*1CHA

READ*,K

NA=0

NB=0

DOI=1,100

KN=K(I)

CALLSUB(KN,CHA)

IF(CHA==’O’)NA=NA+1

IF(CHA==’J’)NB=NB+1

ENDDO

PRINT*,’偶数的个数为:

’,NA

PRINT*,’奇数的个数为:

’,NB

END

2.已知一个实型数组由6行5列组成,要求:

(1)统计数组内每一行的所有元素和,

(2)将这些元素的和进行升序排列,并输出排序结果;

(3)按数组原有格式输出已知数组。

REALA(6,5),S(6),T

READ*,A

DOI=1,6

S(I)=0

DOJ=1,5

S(I)=S(I)+A(I,J)

ENDDO

ENDDO

DOI=1,5

DOJ=I+1,6

IF(S(J)

T=S(J)

S(J)=S(I)

S(I)=T

ENDIF

ENDDO

ENDDO

PRINT*,(S(I),I=1,6)

WRITE(*,10)((A(I,J),J=1,5),I=1,6)

10FORMAT(1X,6F8.1)

END

软件技术基础(FORTRAN)上机考试练习题

1.编写程序,首先从文件D:

\CJ1.TXT读入以下字符串:

"IamlearningtheC++ProgrammingLanguage."将其中的单词""换成"FORTRAN",然后将结果显示在屏幕上。

2.编写程序,首先键盘输入以下两个字符串:

"IamastudentofTianjinUniversity","IamlearningtheFORTRANProgrammingLanguage";分别统计各字符串中字母出现的次

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

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1