FORTRAN90试题_3_
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FORTRAN90试题_3_
计算机基础部分
单项选择题(每题1分,共⼗分)
(⼀)微型机的性能指标主要取决于 1 。
1.A) 内存 B) 中央处理器 C) 硬盘 D) 显⽰卡(⼆)与⼗进制数35等值的⼆进制数为 2 。
2.A) 100011 B) 110001 C) 11101 D) 101011 (三)硬盘⼯作时,应尤其注意防⽌ 3 。
3.A) 空⽓潮湿 B) 空⽓中的尘埃 C) 光线直射 D) 强烈震动(四)下列选项中, 4 不属于系统软件。
4.A) C 语⾔编译程序B)Windows C) Unix D)Office (五)计算机联⽹的主要⽬的是 5 。
5.A) 数度快 B) 资源共享 C) 精度⾼ D) 容量⼤(六)下列⽹络的IP 地址中, 6 正确的是。
6.A) 202.245.101.201 B) 204.256.9.101 C) 202.155.98.C D) 249.220.258.202
(七)在多媒体计算机系统中,不能⽤于存储多媒体信息的是 7 。
7.A) 光缆 B)光盘 C) 硬盘 D) 磁带(⼋)计算机病毒不能通过 8 传播。
8.A) 硬盘 B) 优盘 C) D 打印机 D) ⽹络
(九)在Windows 98中,将⼀个应⽤程序窗⼝最⼩化后,该应⽤程序 9 。
9.A) 任在后台运⾏ B) 暂时停⽌运⾏ C) 完全停⽌运⾏ D) 从任务栏退出
(⼗)在Windows 环境下,若要将当前窗⼝存⼊剪贴板,则可以按 10 。
10.A) Ctrl + Print Screen B) Alt + Print Screen C) Shift + Print Screen D) Print Screen
FORTRAN90语⾔
⼀、语⾔基础
单项选择(每题2分,共20分)
(⼀) 下⾯程序段中,错误的语句是 1 。
1. A) REAL,PARAMETER :: S = 1.73
B) REAL :: X = 3 C) S = S + X
D) PRINT *, S, X
(⼆) ⼀个梯形的上底长为A,下底长为B,⾼为H,正确计算这个梯形⾯积的FORTRAN90表达式为 2 。
2. A) 1/2*(A+B )*H
B) 1/2*(A+B)H C) (A+B)H/2 D) 0.5*(A+B)*H
(三) 执⾏下⾯程序 INTEGER :: K
READ 10, K
PRINT 10, K
10 FORMAT(1X, I5) END
1.
2.
若从键盘输⼊12345,其输出结果为: 3 。
3. A) 12345 B) 2345 C) 1234 D) 01234
(四) 表⽰条件“3
4. A) 3
B) X>3 .AND. X<5 .OR. X<= -100
C) 3
D) X>3 .AND. X<5 .OR. X≤ -100
(五)有下⾯程序
INTEGER :: I,J,K
DO I=1, 2
K=0
DO J=1,3
K=K+I+J
ENDDO
ENDDO
PRINT *, K
END
运⾏后,输出的K值为 5 。
5. A) 21 B) 9 C) 12 D) 6
(六) 下⾯关于FORTRAN90数组的描述中,错误的是 6 。
6. A) ⼀个数组名在程序中只能使⽤⼀次
B) 数组元素的下标必须落在该维说明符规定的下界与上界之内
C) 数组⽚断的元素可以是数组中任意的元素
D) 虚参不能作为动态数组使⽤
(七) 经过下⾯赋值后,字符变量X的值是 7 。
CHARACTER(LEN = 7) :: A, X*3
A = ‘MORNING’; X = A
7. A) MORNING B) MOR C) NING D) ING
(⼋)下⾯关于FORTRAN90派⽣类型的描述中,正确的是 8 。
8. A) 派⽣类型的定义由关键字TYPE跟所定义类型名开始,由关键字END加上类型名结束
B) 在FORTRAN90中,派⽣类型的成员名可以与程序中变量同名
C) 引⽤派⽣类型变量的成员时,在%号两边必须有空格
D) FORTRAN90允许两个派⽣类型变量进⾏相互赋值
(九) 下⾯程序运⾏后的输出结果是 9 。
MODULE ABC
INTEGER,POINTER::P,Q
INTEGER,TARGET::M,N
END MODULE ABC
PROGRAM TEST
USE ABC
P=>M;Q=>N
M=3;N=2
P=MOD(P,N);Q=P/N
PRINT *,P
END PROGRAM TEST
9. A) 3 B) 2 C) 1 D) 0
(⼗) 对⽂件打开语句3.
4.
5.
6.
7.
8.
9.
OPEN(5,FILE=’A.TXT ’,ACCESS=’DIRECT ’ ,RECL=4) 错误的描述是 10 。
10. A) 该语句中的RECL=4这⼀项可以省略
B) 当⽂件A.TXT 不存在时系统将⾃动建⽴该⽂件 C) 该⽂件的记录长度为4 D) 这个语句打开的是⽆格式直接⽂件
⼆、读下列程序,写出程序的运⾏结果(每题4分,共24分
[程序1]: PROGRAM EXAM1 IMPLICIT NONE LOGICAL :: P, Q
REAL :: X = 3.5, Y = 4.5, Z
P = X>=0 .AND. Y>=0
Q = X + Y >7.5 .AND. P
IF (.NOT. P .AND. Q) THEN Z = X * Y
ELSE IF (.NOT. Q) THEN Z = X + Y
ELSE IF (P) THEN Z = X - Y ELSE Z = 0.0 ENDIF PRINT *, Z
END PROGRAM EXAM1
[程序2]: PROGRAM EXAM2
IMPLICIT NONE
INTEGER,PARAMETER :: M = 11, N = 20
INTEGER :: I, J
DO I = M, N
IF (MOD(I, J) ==0) EXIT ENDDO
IF (J>=I) PRINT *, I ENDDO
END PROGRAM EXAM2
[程序3]: PROGRAM EXAM3
IMPLICIT NONE
INTEGER,DIMENSION(10) :: SUM INTEGER :: I
SUM = (/(I, I=1, 10)/) PRINT *, ADD(SUM, 10) CONTAINS
FUNCTION ADD(A, N) RESULT(ADD_RES) INTEGER :: N, ADD_RES, K INTEGER, DIMENSION(N) :: A ADD_RES = 0 DO K = 1, N
ADD_RES = ADD_RES + A(K) ENDDO
END FUNCTION ADD END PROGRAM EXAM3
[程序4]: PROGRAM EXAM4
IMPLICIT NONE
CHARACTER(LEN = 7) :: LINE
10.
运⾏结果:运⾏结果:
运⾏结果:
运⾏结果:
INTEGER :: I, L
DO I =1,7
LINE = ‘’
IF (I>4) THEN
L = 8 - I
ELSE
L = I
ENDIF
LINE(L:L) = ‘X’
PRINT *, LINE
ENDDO
END PROGRAM EXAM4
[程序5]: MODULE MY_MODULE
INTEGER,DIMENSION(8) :: A = (/12,29,43,7,13,25,37,15/)
INTEGER :: MX,MI
CONTAINS
SUBROUTINE MXMI
MX = A(1); MI = A(1)
DO I = 2, 8
IF(A(I)>MX) MX = A(I)
IF(A(I)
ENDDO
END SUBROUTINE MXMI
END MODULE MY_MODULE
PROGRAM EXAM5
USE MY_MODULE
IMPLICIT NONE
CALL MXMI
PRINT *, MI, MX
END PROGRAM EXAM5
[程序6]: PROGRAM EXAM6
IMPLICIT NONE
INTEGER, DIMENSION(3, 4) :: A, B(4,3)
INTEGER :: I, J
DATA A/1,2,3,4,5,6,7,8,9,10,11,12/
DO I = 1, 3
DO J = 1,4
B(J, I) = A(I, J)
ENDDO
ENDDO
DO I = 1, 4
PRINT ‘(1X, 12I3)’, (B(I, J), J = 1, 3)
ENDDO
END PROGRAM EXAM6
三、阅读下列程序,在空⽩处填写适当的内容(每空2分,共24分) 1.整型数组A共有N个元素,已经按从⼩到⼤的次序输⼊,今将⼀个整数P插⼊其中适当的位置,使数组A仍然保持有序。
PROGRAM EXAM7
IMPLICIT NONE
INTEGER, DIMENSION(:),ALLOCATABLE :: A
INTEGER :: N, P, K
READ *, N
ALLOCATE(A(N+1))
READ *, (A(K), K=1,N) 运⾏结果:运⾏结果:
READ *, P K = N
DO WHILE(K>=1 .AND.____1___ ) A(K+1) = A(K) ______2______ ENDDO
_______3______
PRINT *, A
DEALLOCATE(A) END PROGRAM EXAM7
2.下⾯程序⽤于打印下图所⽰杨辉三⾓的前⼗⾏。
1 1 1 1
2 1 1
3 3 1 1
4 6 4 1 . . . . . . . . . . .
PROGRAM EXAM8 IMPLICIT NONE
INTEGER, DIMENSION(10,10) :: C INTEGER :: I, J DO I = 1, 10 C(I, 1) = 1
____4____
ENDDO
DO I = 3, 10
DO J = 2, _____5____
C(I, J) = _______6_______ ENDDO ENDDO DO I = 1,10
PRINT ‘(1X, 10I5)’, (C(I, J) , J = 1, I) ENDDO
END PROGRAM EXAM8
3.假设⼀个班级有30名学⽣,现建⽴⼀个学⽣成绩表,记录每个学⽣的学号、姓名、三门课程成绩和总分。
下⾯程序输⼊这30个学⽣的学号、姓名、三门课程成绩,计算出每个学⽣的总分。
PROGRAM EXAM9 IMPLICIT NONE TYPE STUDENT
INTEGER::NUMBER
CHARACTER(LEN=10)::NAME INTEGER,DIMENSION(3)::CJ INTEGER :: TOTAL END TYPE STUDENT
_____7_____ ,DIMENSION(30):: CARDS
INTEGER:: I,J DO I=1,30
READ *,CARDS(I)%NUMBER,CARDS(I)%NAME,CARDS(I)%CJ ENDDO DO I=1,30
_______8______
DO J=1,3
CARDS(I)%TOTAL= CARDS(I)%TOTAL+____9____ ENDDO
PRINT *, CARDS(I)%NAME,CARDS(I)%TOTAL ENDDO
END PROGRAM EXAM9
1. 2. 3. 4. 5. 6. 7. 8. 9.
4.两个整数M 与N 的最⼤公约数GCD(M,N),当M 能被N 整除时等于N ,否则等于N 与M 除N 的余数的最⼤公约数。
下⾯程序⽤递归⽅法求两个整数M 和N 的最⼤公约数。
PROGRAM EXAM10 IMPLICIT NONE INTERFACE
RECURSIVE FUNCTION GCD( M,N ) RESULT (GCD_RES) INTEGER, INTENT ( IN ) :: M,N INTEGER :: GCD_RES END FUNCTION GCD END INTERFACE INTEGER :: M,N READ *, M, N
PRINT *, _____10______
END PROGRAM EXAM10
RECURSIVE FUNCTION GCD ( M,N ) RESULT ( GCD_RES ) INTEGER, INTENT ( IN ) :: M,N INTEGER :: GCD_RES, R R = MOD(M,N) IF (R== 0) THEN
GCD_RES = ______11_____ ELSE
GCD_RES = ______12_____
END IF
END FUNCTION GCD 四、程序设计(共22分)
1.编程将学⽣成绩转换为A 、B 、C 、D 四个等级,其中学⽣考试成绩⼤于等于80分的为A 等级,⼤于等于70分⽽⼩于80分的为B 等级,⼤于等于60分⽽⼩于70分的为C 等级,⼩于60分的为D 等级(本⼩题7分)。
2.有⼀个⼗进制的四位数ABCD 与⼀个⼗进制的三位数CDC 的差等于⼗进制的三位数
ABC 。
试编程计算并打印出这个数(本⼩题7分)。
3.编写⼀个通⽤外部⼦例⾏⼦程序,⽤于分别计算正⽅形矩阵中两个对⾓线上元素的和,
并写⼀个主程序调⽤此⼦程序计算下⾯4×4矩阵中两个对⾓线上元素的和(本⼩题8分)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
10. 11. 12.。