c++的大量习题,对二级考试大有帮助. 希望大家满意.

源代码在线查看: 1998年4月二级笔试试题fortran.txt

软件大小: 393 K
上传用户: mpeg2000
关键词: 二级
下载地址: 免注册下载 普通下载 VIP

相关代码

				1998年4月二级笔试试题FORTRAN 
				Ⅰ 计算机基础知识 
				
				Ⅱ 语言部分 
				
				21、下列21中,所指定的FORTRAN表达式都是正确的。 
				
				①D=B * B - 4 * A * C ②MOD(M,N).NE.O 
				
				③.NOT.FALSE..OR..NOT..TRUE ④A.GT.B.EQ.A.LT.C 
				
				⑤π*R**2 ⑥3*E-2 
				
				⑦A.GT.B.EQ..TRUE. ⑧′123′//′ABC′ 
				
				A、①、②、③ B、⑥、⑦、⑧ C、④、⑤、⑥ D、②、⑥、⑧ 
				
				22、执行下列程序,输入3456.789,则输出的结果为22。 
				
				READ(8 ,100) S 
				
				WRITE( 8,100) 
				
				100 FORMAT(2F4.1) 
				
				END 
				
				A.345.6 B.45.6 C.456. D.* * * 
				
				23、下列程序执行后输出23 
				
				DIMENSION M(5) 
				
				READ(*,*)(M(I),I=1,5) 
				
				DO 10 I=1,5 
				
				10 WRITE(*,22)(M(J),J=1,I) 
				
				22 FORMAT(1X,3I3) 
				
				END 
				
				A、7 B、8 C、9 D、5 
				
				24、FORTRAN 77规定,变量类型的优先顺序是24 。 
				
				A、隐含约定(I-N规则)、Implicit说明、类型说明 
				
				B、类型说明、隐含约定(I-N规则)、Implicit说明 
				
				C、类型说明、Implicit说明、隐含约定(I-N规则) 
				
				D、Implicit说明、类型说明、隐含约定(I-N规则) 
				
				25、设T=.TRUE.F=.FALSE.下列表达式中值为.TRUE.的是25。 
				
				A、.T.AND.F.AND.7.GE.4 
				
				B、T.AND..NOT.T.AND.T 
				
				C、((T.OR.F).AND.(T.AND.5.LE.4)).EQV.(.NOT.T.OR.(5.GE.1.AND.F)) 
				
				D、.NOT.(T.OR.F).NEQV.(T.AND.8-2.EQ.4) 
				
				26 、下面循环语句执行后,SUM的值是26。 
				
				DO 10 I=1,5 
				
				SUM=0 
				
				DO 10 J=I,4,-1 
				
				10 SUM=SUM+I+J 
				
				A、0.0 B1.9.0 C.27.0 D.76.0 
				
				27、下列语句中,正确的语句函数定义语句是 27 。 
				
				A、FA(I,I)=8*I+I B、FB(B(5),X)=X+B(5) 
				
				C、FC(X,8.)=X*X-SQRT(8.) D、FD(X)=MOD(X,2.)+SQRT(X) 
				
				28、在辅程序单位的各种变元中,一定要在哑元表中出现的是 28 。 
				
				A、可调数组名 B、常数组名 C、可调维变量名 D、变量名 
				
				29、下列符号名中,可作为有名公用区名的是 29 。 
				
				①变量名 ②数组名 ③外部函数名 ④内部函数名 
				
				⑤子程序名 ⑥主程序名 ⑦语句函数名 
				
				A、①、②、③、④ B、①、②、④、⑦ C、①、②、⑥、⑦ D、③、④、⑤、⑥ 
				
				30、FORTRAN语言的文件读写单位是 30 。 
				
				A、字节 B、扇区 C、字长 D、记录 
				
				二、填空题 
				
				1、下述程序执行后,L(3,1)=(1) 。L(2,2)= (2) ,L(1,3)= (3)。 
				
				INTEGER L(3,3) 
				
				DATA L/9*0/ 
				
				I=2 
				
				J=3 
				
				L(I,J)=1 
				
				DO 10 K=2,9 
				
				I=I+1 
				
				J=J+1 
				
				IF(J.GT.3.AND.I.LE.3)THEN 
				
				J=1 
				
				ELSE IF(J.LE.3.AND.I.GT.3)THEN 
				
				I=1 
				
				ELSE IF(I.GT.3.AND.L(I,J).NE.0))THEN 
				
				& OR.(J.LE.3.AND.I.LE..3.AND.L(I,J).NE.0))THEN 
				
				I=I-1 
				
				J=J-2 
				
				10 CONTINUE 
				
				PRINT′(6X,3I3)′,((L(I,J),J=1,3),I=1,3) 
				
				END 
				
				2、下列程序执行后输出的结果是 (4) ,(5)。 
				
				FUNCTION F(X,Y) 
				
				INTEGER F,X,Y 
				
				X=S+Y 
				
				Y=X*Y 
				
				F=X/Y 
				
				END 
				
				INTEGER F,FF,FFF 
				
				DO 10 I=1,0,1 
				
				FF=2*F(I,I) 
				
				10 PRINT *,FF 
				
				FFF=F(I,I)+F(I,I) 
				
				PRINT *,I,FFF 
				
				END 
				
				3、下述程序执行后,输出的第一行是(6),第二行是(7)。 
				
				REAL A(2,2,-1,:1) 
				
				DATA A/1,2,3,4,5,6,1,2,3,4,5,6/ 
				
				F=FUN(A(1,2,0),3,A(2,1,1)) 
				
				WRITE(*,′(1X,2HF=,F5.1)′)F 
				
				END 
				
				FUNCTION FUN(B,N,C) 
				
				REAL B(N+1) 
				
				FUN=3*C 
				
				DO 11 I=1,N 
				
				FUN=FUN+B(I) 
				
				11 CONTINUE 
				
				C=B(I) 
				
				WRITE(*,′(1X,2HC=,F5.1)′)C 
				
				END 
				
				4、下列程序运行后,C(2)=(8),N=(9)。 
				
				CHARACTER A(5),B*5,C(2)*10,D*4 
				
				DATA A/′1′,′2′,′3′,′4′,′5′/,B/′′/ 
				
				D=′AB′ 
				
				C(1)=′ABCDE′ 
				
				DO 10 I=1,5 
				
				B(I:I)=C(1)(6-I:6-I) 
				
				10 C(2)=B//A(I) 
				
				N=LEN(D//A(1)+INDEX(C(1),D) 
				
				WRITE(*,*)C(2),N 
				
				END 
				
				5、下述程序执行后,输出的第一行是(10),第二行是(11) 
				
				SUBROUTINE COMP(A,B) 
				
				COMMON X,Y 
				
				A=X+Y 
				
				B=X-Y 
				
				END 
				
				COMPLEX X,Y 
				
				COMMON X,Y 
				
				X=(3.0,4.0) 
				
				Y=(4.0,3.0) 
				
				CALL COMP(X,Y) 
				
				CALL COMP (X,X) 
				
				CALL COMP(Y,X) 
				
				PRINT 10,X,Y 
				
				10 FORNAT(1X,′(′,F5.1,′,′,F5.1,′)′) 
				
				END 
				
				6、下列程序执行后,输出的第一行是 (12),第二行是(13)。 
				
				EXTERNAL SIN 
				
				X=60.0 
				
				CALL F1(X,Y,SIN) 
				
				Y=30.0 
				
				CALL F2(X,Y) 
				
				END 
				
				SUBROUTINE F1(X,Y,FUN) 
				
				Y=FUN(X/18-*3.1415926) 
				
				PRINT*,X,Y 
				
				END 
				
				FUNCTION SIN(X) 
				
				SIN=COS(X) 
				
				END 
				
				SUBROUTINE F2(X,Y) 
				
				INTRINSIC SIN 
				
				CALL F1(Y,X,SIN) 
				
				END 
				
				7、下列程序执行后输出的结果是 (14),(15)。 
				
				INTEGER W(6) 
				
				DATA W/1,2,3,4,5,6/ 
				
				OPEN(1,FILE=′CHA′) 
				
				DO 10 I=1,6 
				
				10 WRITE(1,′(15)′)I*I 
				
				REWIND(1) 
				
				DO 20 I=1,6,2 
				
				20 READ(1,′(6I5)′)W(I) 
				
				WRITE(*,′(1X,2I5)′)W(3),W(4) 
				
				CLOSE (1) 
				
				END 
				
				8、函数FACTOR(M,FAC,N)的功能是:计算正整数M(M>2)的除自身以外的所有不同因子之和。因子个数存于N中且不超过100。方法是:M被由2开始的逐个自然数来除,若某次相除得到两个互异因子,由小者依次存入数组FAC的左端,大者逐个存入FAC的右端;若只得一个因子,由该因子存入FAC的左端,直至全部因子求毕,最后将所有因子从小到大集中于FAC的左端。例如:M=16,其因子为1,2,4,8,因子之和为15,因子个数为4。 
				
				RUNCTION FACTOR(M,FAC,N) 
				
				INTEGER FACTOR,FAC(100),SUM,R 
				
				FAC(1)=1 
				
				L=1 
				
				R=100 
				
				SUM=1 
				
				I=2 
				
				10 K=M/I 
				
				IF(K*I-M.EQ.0)THEN 
				
				IF(I*I.NE.M)THEN 
				
				L=L+1 
				
				(16) 
				
				(17) 
				
				R=R-1 
				
				SUM=SUM+I+K 
				
				ELSE 
				
				L=L+1 
				
				(18) 
				
				SUM=SUM+I 
				
				ENDIF 
				
				ENDIF 
				
				I=I+1 
				
				FI(I.LT.K)GOTO 10 
				
				DO 20 I =(19) 
				
				FAC( (20) )=FAC(I) 
				
				20 CONTINUE 
				
				N=L+100-R 
				
				FACTOR=SUM 
				
				END 
				
				INTEGER FAC(100),FACTOR 
				
				READ*,MM 
				
				NN=FACTOR(MM,FAC,N) 
				
				WRITE(*,′(1X, ″Factors are:″/1X,20I4)′)(FAC(I),I=1,N) 
				
				END 
				
				9、用辛普生法则求定积分的方法计算由积分定义的函数 
				
				
				公式空白…… 
				
				
				辛普生法则为:首先将被积区间3n等分,h=b-a ,求积公式为 
				
				3n 
				
				
				公式空白…… 
				
				
				
				用语句函数定义被积函数,本程序求x=sin00 至x=sin890的函数值。 
				
				FUNCTION ELLIPTIC(X) 
				
				PARAMETER(PI=3.1415926,N=200) 
				
				(21) 
				
				A=0. 
				
				B=PI/2 
				
				(22) 
				
				S=G(A)=G(B) 
				
				DO 10 J =1,N 
				
				(23) 
				
				X2=X1+H 
				
				X3=X2+H 
				
				(24) 
				
				10 CONTINUE 
				
				(25) 
				
				END 
				
				PROGRAM MAIN 
				
				PARAMETER(PI+3.1415926,RD=PI/180.) 
				
				DO 15 I=0,89 
				
				X=SIN(RD*I) 
				
				Y=ASIN(X) 
				
				PRINT 20,INT(Y/RD+0.05),ELLIPTIC(X) 
				
				20 RORMAT(1X,′X=′,I2,′ELLIPTIC(X)= ′, F7.4) 
				
				15 CONTINUE 
				
				END 
				
				10、设某个字符串最多有80个字符,另有一个最多有10个字符的短串,下面程序是从字符串LINE中找出短字符串STR(此串的最右边的空格要去掉)。同时自左向右逐个搜索,如果找到,则输出找到的信息及STR首字符出现的位置,未找到则输出信息“not found!”。 
				
				CHARACTER LINE * 80, STR*10 
				
				LOGICAL FLAG 
				
				READ *, LINE,STR 
				
				DO 10 I=(26) 
				
				IF(STR(I:I).NE. ′′)THEN 
				
				K=I 
				
				(27) 
				
				ENDIF 
				
				10 CONTINUE 
				
				15 FLAG=.FALSE. 
				
				DO 20 I=1,80-K+1 
				
				DO 30 J=(28) 
				
				IF(LINE( (29) ).NE.STR(J:J))THEN 
				
				FLAG=.FALSE. 
				
				GOTO 20 
				
				ELSE 
				
				(30) 
				
				ENDIF 
				
				30 CONTINUE 
				
				IF(FLAG)THEN 
				
				PRINT 35,STR,I 
				
				35 FORMAT(′is found and its place in LINE is from′,i2,′th′) 
				
				STOP 
				
				ENDIF 
				
				20 CONTINUE 
				
				PRINT *,′not found!′ 
				
				END 
				
				
							

相关资源