北京理工大学

总号:01 分号:01-01

一九九八研究生入学考试

算法语言试题

题号
一
二
三
四
五
6.1
6.2
6.3

试题满分
20
10
10
10
10
15
15
15

实际得分
                

说明:(1)参加统一考试的学生回答一、二、三、四、五和第六大题的6.1、6.2、6.3题。

(2)参加单独考试的学生回答一、二、三、四、五和第六大题的6.1、6.2、6.4题。

(3)参加单独考试的学生回答一、二、三、四、五第六大题的6.1、6.2、6.4题。

(4)第一、二、三、四试题必须填写在试卷上。

一、基本概念填空题(每小题2分,本大题共20分)

1.用计算机进行科技计算的工作流程有下述几个步骤 。

2.计算机系统的硬件设备包括 。

3.FORTRAN程序的程序可分为 、 、 区,各区的起止列号分别为 、 、 。

4.4**(1/2)的计算结果为 ;在下面的空格中填上符号(或“>”、或“<”、或“=”)比较字符串的大小'ABCDEFG' ‘BASIC’。

5.算术条件转换语句有 个出口。

6.循环语句由下述几部分组成: 。

7.如二维数组的大小为L*M,则下标为(i、j)的数组元素在内存中的排列序号为 。

8.“虚实结合”时,调用程序中的确良实变量和所调用过程中的虚拟变量必须在 、 和 方面完全一致。

9.各程序块间有大量数据需要传递时,一般采用 的方式进行数据交换。与 方法相比,此方法的优点是 、 。

10.在程序中尽量少用GO TO语句的原因是 。

二、基本概念选择题(每小题2分,本大题共10分)

从供选择的答案中选取正确的答案填入空括号中。

1.一个FORTRAN表达式中,运算的先后次序是( )。

A.逻辑运算,关系运算,算术运算

B.关系运算,逻辑运算,算术运算

C.算术运算,关系运算,逻辑运算

D.关系运算,算术运算,逻辑运算

2.用隐含DO循环输入数据,正确的是( )。

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

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

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

D.READ(*,100)((W(I,J),I=1,10),J=1,10)

3.设I为整数变量,且10<I<100,A、B为实型变量,能正确执行语句WRITE(*,50)I,A,B的格式语句是( )。

A.50 FORMAT(1X,I10,F10.6,E10.7)

B.50 FORMAT (I2,2F7.4)

C.50 FORMAT(1X,2(I10,E15.7,F10.6))

D.50 FORMAT(1X,2(I10,F10.6))

4.设X=2.0,Y=8.0, z=6.0, l=TRUE,则下列FORTAN表达式中值为,TURE的是( )。

A.X+Z.GT.Y.AND. L

B..NOT.(.LT.Z+X).NEQV..NOT.L

C.Y+X.GT.Z+X.AND. (L.AND. .FALSE. )

D..NOT.L.OR.(L.EQV.Y+X.EQ.Z)

5.结构化程序设计的三种基本结构是( )。

A.顺序结构、选择结构、转移结构

B.分支结构、等价结构、循环结构

C.多分支结构、赋值结构、等价结构

D.顺序结构、循环结构、选择结构

三、读程序(10分)

在本题结尾处的“执行结果”处,按输出格式写出下列程序中标号为3的语句的执行结果。

DIMENSION M(3,3)

DATA M/1,2,3,4,5,6,7,8,9/

DO 10 I=1,2

DO 10 J=1,3

K=M(I,J)

M(I,J)=M(J,I)

M(J,I)=K

10 CONTINUE

1 WRITE (*,100)M

DO 20 I=1,3

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

20 CONTINUE

DO 30 I=1,3

DO 30 J=1,I-1

K=M(I,J)

M(I,J)=M(J,I)

M(J,I)=K

30 CONTINUE

3 WRITE (*,100)M

N=0

DO 40 I=1,3

J=3-I+1

40 N=N+M(I,J)

4 WRITE(*,*)N

100 FORMAT(1X,3I2)

END

执行结果:

四、程序填空(10分)

阅读下列程序,在横线处填入适当的字句,使程序完整。

用牛顿迭代法求方程X3-21X+20=0在X0=0.0附近的根,精度为0.00001。牛顿迭代公式为Xn+1=Xn-F(Xn)/F(Xn)。

C PROGRAM MAIN

NEWTON(0.0,X,1E-5)

WRITE(*,100)X

100 FORMAT(X,'ROOT=',F10.5)

END

 

SUBROUTINE NEWTON(X0, X,EPS)

COMMON/C/A(4)

 

10 F=A(4)

DO 20 I=3,1,-1

20 F=F*X+A(I)

F1=3*A(4)

D0 30 I=3,2,-1

30 F1=F1*X+

X1=X

X=X-F/F1

IF( )GOTO 10

END

BLOCK DATA

COMMON B(4)

DATA B/20.0, -21.0, 0.0, 1.0/

END

五、改程序(10分)

下列程序是计算的程序,程序中有错,试改正(不允许重新编程)。

11 READ(*,*)'N=', N

IF (N<1.OR.N.=.0.OR.N.NE. INT(N))GOTO 11

DO 50 I=1,N

P=1.0

S=0.0

P=P*I

M=M+1/P

CONTINUE

20 FORMAT(1X,F5.2)

WRITE(*,20); S=',S

END

六、写程序(40)

6.1编程打印能被11整除,且不含有重复数的三位正整数并统计其个数。(10分)

6.2甲飞机以500米/秒的速度直线飞行。乙收音机在其正后方800米处向甲机射击。炮弹的初速为1000米/秒。如炮弹每0.1秒减速1%,问炮弹射击多长时间后可击中甲机。

[注]1.要求从键盘输入甲、乙两机的飞行速度V1、V2、射击时甲机的初始位置X1和计算步长h。

2.要求输出计算表头(T X甲 X乙),并按表头的顺序输出计算数据。

3.距离计算公式为Xi+1=Xi+Vh。

6.3已知数据文件IN.DAT中存放着20个整数,编写程序将这些数以IN.DAT中读入。把这20个数首尾相连、环型排列起来,请找出那四个相邻数据之和为最大,并将这串整数的序号(即在数据文件IN.DAT中的行号)和这串数的和写入文件OUT.DAT中。(15分)

[注]1.文件IN.DAT中从第一行开始,每行放着一个数据。

2.第20个数的相邻数据之和为第20个数与第1、第2、第3个数的和。

6.4已知数据文件IN.DAT中放着某5行4列数组的S的各元素(元素的长度自定义)。编写程序,在计算机屏幕上打印数组S的各行和,并将各行和的最大值及其行号存放在数组OUT.DAT中。(15分)

[注]文件IN.DAT中每行放着S数组的各行元素

回首页
建议使用IE4.0以上版本浏览器和800*600分辨率显示器浏览
版权所有 (C)2000 考研在线工作室
制作&维护——Freebird