計算機技術基礎(Fortran)試題庫_第1頁
計算機技術基礎(Fortran)試題庫_第2頁
計算機技術基礎(Fortran)試題庫_第3頁
計算機技術基礎(Fortran)試題庫_第4頁
計算機技術基礎(Fortran)試題庫_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、選擇題1、 下列關于SUBROUTINE MAP(X,Y)語句行的敘述中,不正確的是( ) A) 這是子程序的第一個語句 B) 字符串MAP是子程序名 C) 變量X是子程序的形參 D) 子程序執(zhí)行后,MAP將返回整型數(shù)據(jù) 2、 FORTRAN表達式2/4+0.5的值是( ) A) 0.5 B) 1 C) 1.0 D) 0 3、 閱讀下列FORTRAN程序: PI=3.14159265 WRITE(*,(F7.4) )PI END 程序運行后輸出結果是( ) A) 3.142 B) 3.1415 C) 0.31416 D) 3.1416 4、 圓的直徑存放在整型變量K之中,下列計算圓面積的表

2、達式中正確的是( ) A) 3.1415926*K*K/4 B) 3.1415926*(K*K/4) C) 3.1415926*(K/2)*2 D) 3.1415926*(K/2)*(K/2) 5、 要判斷月收入M在2000元以上(含2000元)且5000元以下)不含5000元)的職工,應該使用的邏輯表達式是( ) A) M .GE. 2000 .AND. M .LE. 5000 B) M .GE. 2000 .OR. M .LE. 5000 C) M .GE. 2000 .AND. M .LT. 5000 D) M .GE. 2000 .OR. M .LT. 5000 6、 設FORTRAN

3、子程序如下: SUBROUTINE SUB(I,X) B=I+1 X=X+B END 若主程序中的變量M,B已按I-N規(guī)則賦值,則調用上述子程序的語句中正確的是( )A) CALL SUB(M,M) B) CALL SUB(M+4,B) C) CALL SUB(B,B) D) CALL SUB(M,B+4) 7、 下列不是FORTRAN常量的是( ) A) (3.0,4.0) B) 3.1416D+00 C) 2/3 D) Very good! 8、 閱讀下列FORTRAN程序: F=1.0 DO 20 K=3, 7, 3 DO 20 L=K-1, K 20 WRTTE(*,(I3, F8.1

4、)K, F*K END 程序運行結果的最后一行是( ) A) 3 6.0 B) 6 6.0 C) 6 180.0 D) 7 180.0 9、 在FORTRAN中,下列運算符的優(yōu)先順序是( ) A) 邏輯運算,關系運算,算術運算 B) 關系運算,邏輯運算,算術運算 C) 算術運算,關系運算,邏輯運算 D) 關系運算,算術運算,邏輯運算 10、 使用FORTRAN內部函數(shù)時,所給的自變量( ) A) 只能是常量 B) 只能是變量 C) 只能是常量或者變量 D) 可以是常量、變量或者表達式 11、 設X=2.0, Y=8.0, Z=6.0, L=.TRUE.,則下列FORTRAN表達式中值為.TRU

5、E.的是( ) A) X+Z.GT.Y.AND.L B) .NOT.(Y.LT.Z+X).NEQV.NOT.L C) .NOT.L.OR.(L.EQV.Y+X.EQ.Z) D) Y+X.GE.Z+X.AND.(L.AND.FALSE.) 12、 下列輸出語句行中正確的是( ) A) WRITE(*,*)(A(K,L),K=1,3,L=1,3) B) WRITE(*,*)A(K,L),K=1,3,L=1,3 C) WRITE(*,*)(A(K,L),K=1,3), L=1,3) D) WRITE(*,*)(A(K,L),K=1,3),L=1,3 13、 給定下列FORTRAN子程序如下: SUB

6、ROUTINE SUB(K,A) A=SQRT(K*K+1.0) END 下列調用語句中正確的是( ) A) CALL SUB(N,N) B) CALL SUB(X,X) C) CALL SUB(N,X*X) D) CALL SUB(11,X) 14、 閱讀下列FORTRAN程序: INTEGER AA(2,3) DATA AA/1,2,3,4,5,6/ CALL S2D19(AA) CALL S2D19(AA(1,2) END SUBROUTINE S2D19(BB) INTEGER BB(2,2) WRITE(*,(1X,2I3) BB(1,1),BB(2,2) END 程序運行結果是(

7、) A) 1 4 B) 1 5 C) 1 4 D) 1 2 3 6 2 6 2 5 3 4 15、 閱讀下列FORTRAN程序: INTEGER A(3,3) DO 10 K=1,3 DO 10 L=1,3 10 A(K,L)=K*10+L WRITE(*,(1X,3I3)A END 程序運行結果是: ( ) A) 11 21 31 B) 11 12 13 C) 31 32 33 D) 33 32 31 12 22 32 21 22 23 21 22 23 32 22 21 13 23 33 31 32 33 11 12 13 31 21 11 16、 閱讀下列FORTRAN程序: WRITE

8、(*,10)YEAR:, 1996 10 FORMAT(/3X,A,I4) END 程序運行結果是(代表空格,下同) ( ) A) YEAR:1996 B) YEAR:1996 C) 空白行 D) 空白行 YEAR:1996 YEAR:1996 17、某函數(shù)子程序中使用了IMPLICIT、READ、COMPLEX和FUNCTION四種語句,其中屬于可執(zhí)行語句的是: ( ) A)FUNCTION B) READ C) COMPLEX D) IMPLICIT 18、 閱讀下列FORTRAN程序: DIMENSION M(4,4) DATA M/1,2,3,4,5,6,7,8,9,0,1,2,3,4

9、,5,6/ DO 10 I=1,4 WRITE (*,100)(M(I,J),J=1,I) 10 CONTINUE 100 FORMAT(1X,4I2) END 程序運行的結果是( ) A) 1 2 3 4 B) 1 5 9 3 C) 1 D) 1 6 7 8 6 0 4 2 6 2 6 6 1 2 1 5 3 7 1 9 3 7 1 1 6 6 4 8 2 6 3 4 4 8 2 6 6 19、 閱讀下列FORTRAN程序: CHARACTER*10 A, B*6 DO 10 I=1,10 A(I:I)= 10 COUNTINUE A(1:5)=ABCDE B=FGHIJK A(4:9)=B

10、 WRITE(*,100) A 100 FORMAT(1X,A) END 程序運行結果是:( )A) ABCDEFGHIJ B) ABCDEGHIJK C) ABCFGHIJK D) BCDEFGHIJK 20、 閱讀下列FORTRAN程序: INTRINSIC SIN, COS WRITE(*,*)FUN(SIN,30.0)/FUN(COS,30.0) END FUNCTION FUN(F,X) X=X*3.14159/180 FUN=F(X) END 程序運行結果是 ( )A) sin30的值 B) cos30的值 C) tg30的值 D) ctg30的值 二、填空題1、下列FORTRAN

11、子程序的功能是用以下公式計算一組數(shù)據(jù)Z1,Z2,Zn的標準差: 2=(Z12 +Z22+Zn2)/n-(Z1+Z2+Zn)/n2 請在程序中的下劃線處填入合適的內容。 【1】 SIGMA(Z,N) REAL Z(N) SUMX=0.0 SUMX2=0.0 DO 10 K=1,N 【2】 SUMX=SUMX+X SUMX2=SUMX2+X*X 10 CONTINUE AV=SUMX/N AV2=SUMX2/N S2=AV2-AV*AV SIGMA=【3】 END 2、 下列FORTRAN程序的功能是將30個學生的考試成績讀入數(shù)組A,然后統(tǒng)計并且輸出最高的分數(shù)以及小于60分、6080分與大于80分

12、的三個分數(shù)段的學生數(shù)。請在程序中的下劃線處填入合適的內容。 【4】 A(30), B, C(3) DATA C/3*0/ READ(*,*)A 【5】 DO 10 K=2,30 IF(A(K).GT.B) B=A(K) 10 CONTINUE DO 30 K=1,30 IF (A(K).LT.60)C(1)=C(1)+1 IF (A(K).GT.80)C(3)=C(3)+1 IF(A(K).LE.80 【6】 A(K).GE.60)C(2)=C(2)+1 30 CONTINUE WRITE(*,*) B,C END 3、下列FORTRAN程序的功能是用對分法求出方程4.1x3-5.2x=11.

13、8在區(qū)間(1,5)中的一個實數(shù)根,要求輸出根的近似值和對分次數(shù)。請在程序中的下劃線處填入合適的內容。 【7】 =4.4*X*3-5.2*X-11.8 DATA XL,XR,N/1.0,5.0,0/ 10 N=N+1 X=(XL+XR)/2.0 FX=FUN(X) IF (ABS(FX).LT.1E-6.OR.N.GE.1000)THEN WRITE(*,(1X,A2,F12.7,A5,I4)X=,X,N=, N ELSE IF(FUN(XR)*FX.GE.0.0) THEN XR=X 【8】 XL=X ENDIF 【9】 ENDIF END 4、 下列FORTRAN程序的功能是計算多項式y(tǒng)=2

14、+2.1x+3.2x3+5.4x5 在x=1.7時的值。主程序調用了函數(shù)子程序POLY。請在程序中的下劃線處填入合適的內容。 PROGRAM PVALUE REAL A(6) DATA A/【10】 / DATA N,X/6, 1.7/ Y=POLY(A,N,X) WRITE(*,(1X,A5,6F5.1)a(k)=,A WRITE(*,(1X,A2,F5.1,A6,F8.2)X=,X,; Y=,Y END FUNCTION POLY(B,M,V) 【11】 POLY=B(1) FV=1.0 DO 10 K=2, M FV=FV*V 10 POLY=POLY+【12】 END 5、 下列FOR

15、TRAN程序的功能是使用篩法篩選出N以內的所有素數(shù)并輸出。其算法如下: 在N 以內的自然數(shù)列中先篩除2的倍數(shù)(不包括2);在2之后未篩去的第一個數(shù)是3,于是再篩除3的倍數(shù);在3之后未篩去的第一個數(shù)是5,于是再篩除5的倍數(shù);如此重復下去,直到遇見篩剩下的第一個數(shù)是最接近N的平方根的那個數(shù)為止。請在程序中下劃線處填入合適的內容。 PARAMETER (N=100) 【13】 A(N),P(N) A(1)=0 DO 10 K=2,N 10 A(K)=K DO 20 K=3,N 20 IF(MOD(A(K),2).EQ.0)A(K)=0 ISR=SQRT(FLOAT(N) DO 30 M=3,ISR,

16、2 DO 30 K=M+2, N 30 IF(A(K).NE.0.AND.MOD(A(K),M).EQ.0)【14】 M=1 DO 40 K=1,N IF(A(K).NE.0)THEN P(M)=【15】 M=M+1 ENDIF 40 CONTINUE WRITE(*,(1X,10I8)(P(K),K=1,M-1) END 三、編寫程序題1、以循環(huán)來計算 1/1!+1/2!+1/3!+1/4!+1/10! 的值。2、編寫一個程序計算圓面積,輸入兩個參數(shù),一個參數(shù)為輸入圓的半徑長,另一個參數(shù)用來返回圓面積。3、利用選擇排序法編制程序,將數(shù)組A中所有的數(shù)值(5,3,6,4,8,7,1,9,2,10

17、)從小到大排列。參考答案及評分標準 一、選擇題1、 D 2、 A 3、 D 4、 A 5、 C 6、 B 7、 C 8、 B9、 C 10、D 11、B 12、C 13、D 14、A 15、A 16、D17、B 18、C 19、C 20、C 二、填空題【1】FUNCTION 【2】XZ(K) 【3】SQRT(S2) 【4】 INTEGER或者REAL 【5】 B=A(1) 【6】.AND. 【7】FUN(X) 【8】ELSE 【9】 GOTO 10 【10】 2.0, 2.1 0.0,3.2, 0.0,5.4 (注:順序不可顛倒,小數(shù)點前后的0可以省略其中的一個。) 【11】DIMENSION

18、 B(M) 或者 REAL B(M) 【12】 B(K)*FV 或者 FV*B(K) 【13】INTEGER 【14】A(K)=0 或者 A(K)=0.0 【15】A(K) 三、編寫程序題1、解題程序:program main implicit none integer, parameter : max=10 integer i real item real ans ans = 1.0 item = 1.0 do i=2,max item = item/real(i) ans = ans+item end do write(*,*) ans stopend program2、解題程序:prog

19、ram main implicit none real radius, area write(*,*) 請輸入半徑長 read(*,*) radius call CircleArea(radius, area) write(*,( 面積 = F8.3) area stopend programsubroutine CircleArea(radius, area) implicit none real, parameter : PI=3.14159 real radius, area area = radius*radius*PIend subroutine3、解題程序:program main

20、implicit none integer, parameter : size=10 integer : a(size) = (/ 5,3,6,4,8,7,1,9,2,10 /) integer : i,j integer : t do i=1, size-1 do j=i+1, size if ( a(i) a(j) ) then ! a(i)跟a(j)交換 t=a(i) a(i)=a(j)a(j)=t end ifend do end do write(*,(10I4) a stopend第 9 頁/共 頁一、選擇題1、 下列關于FORTRAN源程序編輯規(guī)則的敘述之中,正確的是( )A)

21、IMPLICIT語句可以放在REAL語句行之后 B) DATA語句可以在放在緊靠END語句行之前 C) 注釋行不可以放在END語句行之后D) FORMAT語句可以放在PROGRAM語句行之前2、 下列FORTRAN源程序的變量名之中,不符合規(guī)則的是( )A) W B) W3 C) -3 D) W3W3、 若FORTRAN中一個INTEGER型數(shù)據(jù)占用2個字節(jié),那么該類型的數(shù)據(jù)值范圍是( )A) -2147484648 2147483647 B) -32768 32767C) 0 4294967295 D) 0 655354、 閱讀下列程序X=0.618WRITE(*,(E12.4)XEND程序

22、運行后顯示結果是( )A) .6180 B) 6.180E-01 C) .0618E+01 D) .6180E+005、 梯形的上底為A,下底為B,高為H,計算其面積的FORTRAN表達式中錯誤的是( )A) 1/2*(AB)*H B) (A+B)*H/2 C) (A+B)/2*H D) 0.5*(A+B)*H6、 要選拔身高T1.7米且體重W62.5公斤的人,FORTRAN的邏輯表達式是( )A) T.CE.1.7.AND.W.LE.62.5 B) T.LE.1.7.OR.W.GE.62.5C) T.GT.1.7.AND.W.LT.62.5 D) T.GT.1.7.OR.W.LT.62.57

23、、 在FORTRAN的變量類型說明語句中沒有( )A) REAl語句 B) CHAR語句 C) INTEGER語句 D) LOGICAL語句8、 一次成功的FORTRAN源程序編譯操作,不能( )A) 同時編譯一個主程序和一個子程序 B) 同時編譯幾個子程序C) 同時編譯一個主程序和幾個子程序 D) 同時編譯幾個主程序9、 閱讀下列程序F=1.0DO 20,J=3,7,2DO 20,K=J-1,J20 F =F*KWRITE(*,(13,F8.1)J,FEND程序運行結果是A) 3 6.0 B) 5 120.0 C) 9 5040.0 D) 9362880.010、 閱讀下列程序CHARACT

24、ER*10 WDO K=1,10 READ *,W IF (W(1:2).EQ.AB.OR.W(1:2).EQ.ab)WRITE(*,*),WENDDOEND程序的功能是( )A) 首字符是A或B的字符串被輸出顯示B) 第一、二個字符是AB或ab的字符串被輸出顯示C) 首字符是a或b的字符串將被輸出顯示D) 第一、二個字符是Aa或Bb的字符串將被輸出顯示11、 閱讀下列程序LOGICAL LREAD(*,*)A,BL=A.GT.BIF(L)THENX=B+2*AELSEX=BEND IFWRITE(*,*)XEND使用鍵盤為上述程序輸入兩個初值4和3,其輸出的X值是( )A) 4.0 B) 3

25、.0 C) 11.0 D) 10.012、 閱讀下列程序READ(*,*)KWRITE(*,100)K100 FORMAT(I5)END程序運行時輸入初始值12345,那么顯示結果是A) 2345 B) 12345 C) * D) *13、 閱讀下列程序INTEGER FF(X,Y)=X+YA=-2.5B=2.1B=B+F(A,B)WRITE(*,(F3.1)BEND程序運行的結果是( )A) .1 B) .7 C) 2.1 D) 1.714、 閱讀下列程序A=3.5CALL SUBA(A,A,A)WRITE(*,(F4.1)AENDSUBROUTINE SUBA(X,Y,Z)Y=Y-2.0Z

26、=Z+XEND程序運行的結果是( )A) 7.0 B) 5.0 C) 3.5 D) 1.515、 閱讀下列程序CHARACTER A*4,B*5,C*4DATA A,B,C/BIG,MIDDLE,SMALL/WRITE(*,20)A,B,C20 FORMAT(1X,A2,A3,A4)END程序運行結果是( )A) BIGMIDDLE B) * C) BIGMIDSMA D) BIMIDSMAL16、 閱讀下列程序N=0DO 10 K=1,3N =N+1M=K*N10 CONTINUEWRITE(*,(1X,2I3)M,KEND程序運行結果是( )A) 9 4 B) 9 3 C) 12 4 D)

27、 12 3(#)17、 閱讀下列程序FUN(c,d)=a*c+b/dDATA a,b/1.0,1.0/WRITE(*,(F4.1)FUN(a,b)-FUN(b,a)END程序運行結果是( )A) 0.0 B) 4.0 C) 2.O D) 3.O18、 閱讀下列程序LOGICAL L1,L2,L3,L4,L5DATA L1,L2,L3/3*.TRUE./L4=.NOT.L1.AND.NOT.L2.AND.L3L5=.NOT.L1.OR.NOT.L2.OR.L3WRITE(*,*)L4,L5END程序運行結果是( )A) T T B) T F C) F F D) F T19、 閱讀下列程序DIME

28、NSION M(3,3)DATA M/1,2,3,4,5,6,7,8,9/WRITE(*,100)(M(3,J),J=1,3)100 FORMAT(1X,3I2)END程序運行結果是( )A) 2 5 8 B) 3 6 9 C) 4 5 6 D) 7 8 920、 閱讀下列程序INTEGER A(100),GREAD(*,*)N,(A(I),I=1,N)DO 10 I=1,N-1G=IDO 20 J=I+1,NIF(A(J).LT.A(G)THENG=JENDIF20 CONTINUEK=A(I)A(I)=A(G)A(G)=K10 CONTINUEWRITE(*,(1X,10I2)(A(I),

29、I=1,N)END程序運行時輸入的初始值是3,6,9,8,則運行結果是( )A) 6 9 8 B) 8 9 6 C) 6 8 9 D) 9 8 6二、填空題1、 閱讀下列程序,其功能是求出方程2X3-3X2+4X-11=0在區(qū)間(1,5)中的一個實數(shù)根,運行結果是顯示根值和對分次數(shù),使用的是二分算法。請在其中_處填入適當?shù)膬热荨UN(X)=2.0*X*3-3.0*X*2+4.0*X-11.0DATA XL,XR,N/1.O,5.0,0/10 CONTINUE【1】X=(XL+XR)/2.0【2】IF(ABS(FX).LT.1E-6 .OR.N.GE.1000)THENWRITE(*,(1X,

30、A2,F12.7,A5,14)X=,X,N=,NELSEIF(FUN(【3】)*FX.GE.0.0)THENXR=XELSEXL=XENDIFGOTO 10ENDIFEND2、 閱讀下列程序.其功能是計算Y=1+1.1X+1.2X2+1.3X3+1.4X4+1.5X5當X=3.1時的值。主程序調用了函數(shù)子程序。請在其中_處填入適當?shù)膬热?。PROGRAM PVALUE【4】DATA A/1.0,1.1,1.2,1.3,1.4,1.5/,N,X/6,3.1/【5】WRITE(*,(1X,A5,6F5.1)a(k)=,AWRITE(*,(1X,A2,F5.1,A6,F8.2)X=,X,; Y=,YE

31、ND FUNCTION POLY(B,M,V)DIMENSION B(M)POLY=B(1)FV=1.0DO 10K=2,MFV=FV*V10 【6】=POLY+B(K)*FVEND3、 函數(shù)子程序DTOH能夠將一個十進制正整數(shù)DEC轉換為一個表示十六進制數(shù)的字符字符串,其長度不超過8。例如127轉換為7F。算法是:將DEC除16取余,將所得的商再除16取余,如此反復,直到商和零為止,最后按照逆序輸出所得的各個余數(shù)。請在其中_處填入適當?shù)膬热荨HARACTER*8 FUNCTION DTOH(DEC)INTEGER DEC,R,POSPOS=9DTOH=111 CONTINUE【7】IF(P

32、OS.GE.1)THENR=MOD(DEC,16)IF(R.LT.1O)THEN【8】=CHAR(ICHAR(0)+R )ELSEDTOH(POS:POS)=CHAR(ICHAR(A)+R-10)ELSEDTOH=*GOTO999ENDIFDEC=DEC/16IF(【9】)GOTO 111999 CONTINUEENDPROGRAM DECHEXCHARACTER*8 DTOHWRETE(*,*) DTOH(127)END4、 有一個十進制的四位數(shù)ABCD與一個十進制的三位數(shù)CDC的差等于十進制的三位數(shù)ABC.下列程序按ABCD=9876的樣式打印出ABCD這個數(shù)。請在其中_外填入適當?shù)膬热?

33、INTEGER A,B,C,DDO 10 A=1,9DO 10 B=0,9DO 10 C=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,D10 CONTINUEEND5、 閱讀下列程序,其功能是使用篩法選出N以內的所有素數(shù)并顯示算法在N以內的自然數(shù)列中先篩除2的倍數(shù);在2之后篩乘下的第一個數(shù)是3,于是再篩除3的倍數(shù);在3之后篩剩下的第一個數(shù)是5,于是再篩除5的倍數(shù);如此重復下去,直到遇見篩剩下的第一個數(shù)是最接近N的平方根的那個數(shù)為止。請在其中_處填入適當?shù)膬热荨ROG

34、RAM PRINESPARAMETER (N=100)INTEGER A(N),P(N)DO 10 K=1,N10 A(K)=KDO 20 K=3,N20 IF(【13】.EQ.0)A(K)=0ISR=SQRT(REAL(N)DO 30M=3,ISR,2DO 30K=M+2,N30 IF(A(K).NE.0.AND.MOD(A(K),M).EQ.0)A(K)=0M=1DO 40K=2.NIF(A(K).NE.0)THEN【14】M=M+1ENDIF40 CONTINUEWRITE(*,(1X,1018)(P(K), 【15】)END三、編寫程序題1、以循環(huán)來計算等差數(shù)列 1+3+5+7+99 的值。2、利用選擇排序法編制程

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論