計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫_第1頁
計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫_第2頁
計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫_第3頁
計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫_第4頁
計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫V:1.0精細(xì)整理,僅供參考計算機(jī)技術(shù)基礎(chǔ)(Fortran)試題庫日期:20xx年X月一、選擇題1、下列關(guān)于"SUBROUTINEMAP(X,Y)"語句行的敘述中,不正確的是()

A)這是子程序的第一個語句B)字符串"MAP"是子程序名

C)變量X是子程序的形參D)子程序執(zhí)行后,MAP將返回整型數(shù)據(jù)2、FORTRAN表達(dá)式"2/4+"的值是()

A)B)1C)3、閱讀下列FORTRAN程序:

PI=3.

WRITE(*,'')PI

END

程序運(yùn)行后輸出結(jié)果是()

A)B)C)D)4、圓的直徑存放在整型變量K之中,下列計算圓面積的表達(dá)式中正確的是()

A)*K*K/4B)*(K*K/4)

C)*(K/2)**2D)*(K/2)*(K/2)5、要判斷"月收入M在2000元以上(含2000元)且5000元以下)不含5000元)"的職工,應(yīng)該使用的邏輯表達(dá)式是()

A)M.GE.2000.AND.M.LE.5000B)M.GE.2000.OR.M.LE.5000

C)M.GE.2000.AND.M.LT.5000D)M.GE.2000.OR.M.LT.50006、設(shè)FORTRAN子程序如下:

SUBROUTINESUB(I,X)

B=I+1

X=X+B

END

若主程序中的變量M,B已按I-N規(guī)則賦值,則調(diào)用上述子程序的語句中正確的是()

A)CALLSUB(M,M)B)CALLSUB(M+4,B)

C)CALLSUB(B,B)D)CALLSUB(M,B+4)7、下列不是FORTRAN常量的是()

A),B)+00C8、閱讀下列FORTRAN程序:

F=

DO20K=3,7,3

DO20L=K-1,K

20WRTTE(*,'(I3,'K,F*K

END

程序運(yùn)行結(jié)果的最后一行是()

A)3B)6C)6D)79、在FORTRAN中,下列運(yùn)算符的優(yōu)先順序是()

A)邏輯運(yùn)算,關(guān)系運(yùn)算,算術(shù)運(yùn)算B)關(guān)系運(yùn)算,邏輯運(yùn)算,算術(shù)運(yùn)算

C)算術(shù)運(yùn)算,關(guān)系運(yùn)算,邏輯運(yùn)算D)關(guān)系運(yùn)算,算術(shù)運(yùn)算,邏輯運(yùn)算10、使用FORTRAN內(nèi)部函數(shù)時,所給的自變量()

A)只能是常量B)只能是變量

C)只能是常量或者變量D)可以是常量、變量或者表達(dá)式11、設(shè)X=,Y=,Z=,L=.TRUE.,則下列FORTRAN表達(dá)式中值為.TRUE.的是()

A)X+B).NOT.

C).D)Y+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,313、給定下列FORTRAN子程序如下:

SUBROUTINESUB(K,A)

A=SQRT(K*K+

END

下列調(diào)用語句中正確的是()

A)CALLSUB(N,N)B)CALLSUB(X,X)

C)CALLSUB(N,X*X)D)CALLSUB(11,X)14、閱讀下列FORTRAN程序:

INTEGERAA(2,3)

DATAAA/1,2,3,4,5,6/

CALLS2D19(AA)

CALLS2D19(AA(1,2))

END

SUBROUTINES2D19(BB)

INTEGERBB(2,2)

WRITE(*,'(1X,2I3)')BB(1,1),BB(2,2)

END

程序運(yùn)行結(jié)果是()

A)14B)15C)14D)12

362625315、閱讀下列FORTRAN程序:

INTEGERA(3,3)

DO10K=1,3

DO10L=1,3

10A(K,L)=K*10+L

WRITE(*,'(1X,3I3)')A

END

程序運(yùn)行結(jié)果是:()

A)112131B)111213C)313233D)333231

122232212223212223322221

13233331323311121316、閱讀下列FORTRAN程序:

WRITE(*,10)'YEAR:',1996

10FORMAT(/3X,A,I4)

END

程序運(yùn)行結(jié)果是(^代表空格,下同)()

A)^^^^^YEAR:1996B)^^YEAR:1996

C)空白行D)空白行

^^^^^YEAR:1996^^YEAR:199617、某函數(shù)子程序中使用了IMPLICIT、READ、COMPLEX和FUNCTION四種語句,其中屬于可執(zhí)行語句的是:()

A)FUNCTIONB)READC)COMPLEXD)IMPLICIT18、閱讀下列FORTRAN程序:

DIMENSIONM(4,4)

DATAM/1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6/

DO10I=1,4

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

10CONTINUE

100FORMAT(1X,4I2)

END

程序運(yùn)行的結(jié)果是()

A)1234B)1593C)1D)1

67860426266

121537193711

66482634482619、閱讀下列FORTRAN程序:

CHARACTER*10A,B*6

DO10I=1,10

A(I:I)=''

10COUNTINUE

A(1:5)='ABCDE'

B='FGHIJK'

A(4:9)=B

WRITE(*,100)A

100FORMAT(1X,A)

END

程序運(yùn)行結(jié)果是:()

A)ABCDEFGHIJB)ABCDEGHIJKC)ABCFGHIJKD)BCDEFGHIJK20、閱讀下列FORTRAN程序:

INTRINSICSIN,COS

WRITE(*,*)FUN(SIN,/FUN(COS,

END

FUNCTIONFUN(F,X)

X=X*180

FUN=F(X)

END

程序運(yùn)行結(jié)果是()

A)sin30°的值B)cos30°的值C)tg30°的值D)ctg30°的值二、填空題1、下列FORTRAN子程序的功能是用以下公式計算一組數(shù)據(jù)Z1,Z2,…,Zn的標(biāo)準(zhǔn)差σ:

σ2=(Z12+Z22+…+Zn2)/n-[(Z1+Z2+…+Zn)/n]2

請在程序中的下劃線處填入合適的內(nèi)容。

【1】SIGMA(Z,N)

REALZ(N)

SUMX=

SUMX2=

DO10K=1,N

【2】

SUMX=SUMX+X

SUMX2=SUMX2+X*X

10CONTINUE

AV=SUMX/N

AV2=SUMX2/N

S2=AV2-AV*AV

SIGMA=【3】END2、下列FORTRAN程序的功能是將30個學(xué)生的考試成績讀入數(shù)組A,然后統(tǒng)計并且輸出最高的分?jǐn)?shù)以及小于60分、60~80分與大于80分的三個分?jǐn)?shù)段的學(xué)生數(shù)。請在程序中的下劃線處填入合適的內(nèi)容。

【4】A(30),B,C(3)

DATAC/3*0/

READ(*,*)A

【5】

DO10K=2,30

IF(A(K).B=A(K)

10CONTINUE

DO30K=1,30

IF(A(K).C(1)=C(1)+1

IF(A(K).C(3)=C(3)+1

IF(A(K).【6】A(K).C(2)=C(2)+130CONTINUEWRITE(*,*)B,CEND3、下列FORTRAN程序的功能是用對分法求出方程在區(qū)間(1,5)中的一個實(shí)數(shù)根,要求輸出根的近似值和對分次數(shù)。請在程序中的下劃線處填入合適的內(nèi)容。

【7】=*X***

DATAXL,XR,N/,,0/

10N=N+1

X=(XL+XR)/

FX=FUN(X)

IF(ABS(FX).

WRITE(*,'(1X,A2,,A5,I4)')'X=',X,'N=',N

ELSE

IF(FUN(XR)*THEN

XR=X

【8】

XL=X

ENDIF

【9】ENDIFEND4、下列FORTRAN程序的功能是計算多項式y(tǒng)=2+++在x=時的值。主程序調(diào)用了函數(shù)子程序POLY。請在程序中的下劃線處填入合適的內(nèi)容。

PROGRAMPVALUE

REALA(6)

DATAA/【10】/

DATAN,X/6,

Y=POLY(A,N,X)

WRITE(*,'(1X,A5,')'a(k)=',A

WRITE(*,'(1X,A2,,A6,')'X=',X,';Y=',Y

END

FUNCTIONPOLY(B,M,V)

【11】

POLY=B(1)

FV=

DO10K=2,M

FV=FV*V

10POLY=POLY+【12】

END5、下列FORTRAN程序的功能是使用篩法篩選出N以內(nèi)的所有素數(shù)并輸出。其算法如下:

在N以內(nèi)的自然數(shù)列中先篩除2的倍數(shù)(不包括2);在2之后未篩去的第一個數(shù)是3,于是再篩除3的倍數(shù);在3之后未篩去的第一個數(shù)是5,于是再篩除5的倍數(shù);如此重復(fù)下去,直到遇見篩剩下的第一個數(shù)是最接近N的平方根的那個數(shù)為止。請在程序中下劃線處填入合適的內(nèi)容。

PARAMETER(N=100)

【13】A(N),P(N)

A(1)=0

DO10K=2,N

10A(K)=K

DO20K=3,N

20IF(MOD(A(K),2).A(K)=0

ISR=SQRT(FLOAT(N))

DO30M=3,ISR,2

DO30K=M+2,N

30IF(A(K).【14】

M=1

DO40K=1,N

IF(A(K).THEN

P(M)=【15】

M=M+1

ENDIF

40CONTINUE

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)從小到大排列。參考答案及評分標(biāo)準(zhǔn)一、選擇題1、D2、A3、D4、A5、C6、B7、C8、B9、C10、D11、B12、C13、D14、A15、A16、D17、B18、C19、C20、C

二、填空題【1】FUNCTION

【2】X=Z(K)

【3】SQRT(S2)

【4】INTEGER或者REAL

【5】B=A(1)

【6】.AND.

【7】FUN(X)

【8】ELSE

【9】GOTO10

【10】,,,,

(注:順序不可顛倒,小數(shù)點(diǎn)前后的0可以省略其中的一個。)

【11】DIMENSIONB(M)或者REALB(M)

【12】B(K)*FV或者FV*B(K)

【13】INTEGER

【14】A(K)=0或者A(K)=

【15】A(K)三、編寫程序題1、解題程序:programmainimplicitnoneinteger,parameter::max=10integerirealitemrealansans=item=doi=2,maxitem=item/real(i)ans=ans+itemenddowrite(*,*)ansstopendprogram2、解題程序:programmainimplicitnonerealradius,areawrite(*,*)"請輸入半徑長"read(*,*)radiuscallCircleArea(radius,area)write(*,"('面積='")areastopendprogramsubroutineCircleArea(radius,area)implicitnonereal,parameter::PI=realradius,areaarea=radius*radius*PIendsubroutine3、解題程序:programmainimplicitnoneinteger,parameter::size=10integer::a(size)=(/5,3,6,4,8,7,1,9,2,10/)integer::i,jinteger::tdoi=1,size-1doj=i+1,sizeif(a(i)>a(j))then!a(i)跟a(j)交換 t=a(i)a(i)=a(j) a(j)=t endif enddoenddowrite(*,"(10I4)")astopend一、選擇題1、下列關(guān)于FORTRAN源程序編輯規(guī)則的敘述之中,正確的是()

A)IMPLICIT語句可以放在REAL語句行之后

B)DATA語句可以在放在緊靠END語句行之前

C)注釋行不可以放在END語句行之后

D)FORMAT語句可以放在PROGRAM語句行之前2、下列FORTRAN源程序的變量名之中,不符合規(guī)則的是()

A)WB)W3C)-33、若FORTRAN中一個INTEGER型數(shù)據(jù)占用2個字節(jié),那么該類型的數(shù)據(jù)值范圍是()

A)-4847B)-3276832767

C)095D)0655354、閱讀下列程序

X=

WRITE(*,'')X

END

程序運(yùn)行后顯示結(jié)果是()

A).6180B)C).0618E+015、梯形的上底為A,下底為B,高為H,計算其面積的FORTRAN表達(dá)式中錯誤的是()

A)1/2*(AB)*HB)(A+B)*H/2C)(A+B)/2*H6、要選拔身高T>米且體重W<公斤的人,FORTRAN的邏輯表達(dá)式是()

A)B)

C)D)、在FORTRAN的變量類型說明語句中沒有()

A)REAl語句B)CHAR語句C)INTEGER語句D)LOGICAL語句8、一次成功的FORTRAN源程序編譯操作,不能()

A)同時編譯一個主程序和一個子程序B)同時編譯幾個子程序

C)同時編譯一個主程序和幾個子程序D)同時編譯幾個主程序9、閱讀下列程序

F=

DO20,J=3,7,2

DO20,K=J-1,J

20F=F*K

WRITE(*,'(13,')J,F

END

程序運(yùn)行結(jié)果是

A)3B)5C)9D)10、閱讀下列程序

CHARACTER*10W

DOK=1,10

READ*,W

IF(W(1:2).EQ.'AB'.(1:2).EQ.'ab')WRITE(*,*)'',W

ENDDO

END

程序的功能是()

A)首字符是A或B的字符串被輸出顯示

B)第一、二個字符是AB或ab的字符串被輸出顯示

C)首字符是a或b的字符串將被輸出顯示

D)第一、二個字符是Aa或Bb的字符串將被輸出顯示11、閱讀下列程序

LOGICALL

READ(*,*)A,B

L=

IF(L)THEN

X=B+2*A

ELSE

X=B

ENDIF

WRITE(*,*)X

END

使用鍵盤為上述程序輸入兩個初值4和3,其輸出的X值是()

A)B)C)D)12、閱讀下列程序

READ(*,*)K

WRITE(*,100)K

100FORMAT(I5)

END

程序運(yùn)行時輸入初始值12345,那么顯示結(jié)果是

A)2345B)12345C)****D)*****13、閱讀下列程序

INTEGERF

F(X,Y)=X+Y

A=

B=

B=B+F(A,B)

WRITE(*,'')B

END

程序運(yùn)行的結(jié)果是()

A).1B).7C)14、閱讀下列程序

A=

CALLSUBA(A,A,A)

WRITE(*,'')A

END

SUBROUTINESUBA(X,Y,Z)

Y=

Z=Z+X

END

程序運(yùn)行的結(jié)果是()

A)B)C)D)15、閱讀下列程序

CHARACTERA*4,B*5,C*4

DATAA,B,C/'BIG’,'MIDDLE','SMALL'/

WRITE(*,20)A,B,C

20FORMAT(1X,A2,A3,A4)

END

程序運(yùn)行結(jié)果是()

A)BIGMIDDLEB)*********C)BIGMIDSMAD)BIMIDSMAL16、閱讀下列程序

N=0

DO10K=1,3

N=N+1

M=K*N

10CONTINUE

WRITE(*,'(1X,2I3)')M,K

END

程序運(yùn)行結(jié)果是()

A)94B)93C)124D)1217、閱讀下列程序

FUN(c,d)=a*c+b/d

DATAa,b/,

WRITE(*,'')FUN(a,b)-FUN(b,a)

END

程序運(yùn)行結(jié)果是()

A)B)C)D)18、閱讀下列程序

LOGICALL1,L2,L3,L4,L5

DATAL1,L2,L3/3*.TRUE./

L4=.

L5=.

WRITE(*,*)L4,L5

END

程序運(yùn)行結(jié)果是()

A)TTB)TFC)FFD)FT19、閱讀下列程序

DIMENSIONM(3,3)

DATAM/1,2,3,4,5,6,7,8,9/

WRITE(*,100)(M(3,J),J=1,3)

100FORMAT(1X,3I2)

END

程序運(yùn)行結(jié)果是()

A)258B)369C)456D)7820、閱讀下列程序

INTEGERA(100),G

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

DO10I=1,N-1

G=I

DO20J=I+1,N

IF(A(J).(G))THEN

G=J

ENDIF

20CONTINUE

K=A(I)

A(I)=A(G)

A(G)=K

10CONTINUE

WRITE(*,'(1X,10I2)')(A(I),I=1,N)

END

程序運(yùn)行時輸入的初始值是3,6,9,8,則運(yùn)行結(jié)果是()

A)698B)896C)689D)98二、填空題1、閱讀下列程序,其功能是求出方程2X3-3X2+4X-11=0在區(qū)間(1,5)中的一個實(shí)數(shù)根,運(yùn)行結(jié)果是顯示根值和對分次數(shù),使用的是二分算法。請在其中_____處填入適當(dāng)?shù)膬?nèi)容。

FUN(X)=*X***X**2+*

DATAXL,XR,N/,,0/

10CONTINUE

【1】

X=(XL+XR)/

【2】

IF(ABS(FX)..

WRITE(*,'(1X,A2,,A5,14)')'X=',X,'N=',N

ELSE

IF(FUN(【3】)*XR=XELSEXL=XENDIFGOTO10ENDIFEND2、閱讀下列程序.其功能是計算Y=1+++++當(dāng)X=時的值。主程序調(diào)用了函數(shù)子程序。請在其中____處填入適當(dāng)?shù)膬?nèi)容。

PROGRAMPVALUE

【4】

DATAA/,,,,,,N,X/6,

【5】

WRITE(*,'(1X,A5,')'a(k)=',A

WRITE(*,'(1X,A2,,A6,')'X=',X,';Y=',Y

END

FUNCTIONPOLY(B,M,V)

DIMENSIONB(M)

POLY=B(1)

FV=

DO10K=2,M

FV=FV*V

10【6】=POLY+B(K)*FVEND3、函數(shù)子程序DTOH能夠?qū)⒁粋€十進(jìn)制正整數(shù)DEC轉(zhuǎn)換為一個表示十六進(jìn)制數(shù)的字符字符串,其長度不超過8。例如127轉(zhuǎn)換為'7F'。算法是:將DEC除16取余,將所得的商再除16取余,如此反復(fù),直到商和零為止,最后按照逆序輸出所得的各個余數(shù)。請在其中____處填入適當(dāng)?shù)膬?nèi)容。

CHARACTER*8FUNCTIONDTOH(DEC)

INTEGERDEC,R,POS

POS=9

DTOH=''

111CONTINUE

【7】

IF

R=MOD(DEC,16)

IF

【8】=CHAR(ICHAR('0')+R)

ELSE

DTOH(POS:POS)=CHAR(ICHAR('A')+R-10)

ELSE

DTOH='**********'

GOTO999

ENDIF

DEC=DEC/16

IF(【9】)GOTO111999CONTINUEENDPROGRAMDECHEXCHARACTER*8DTOHWRETE(*,*)DTOH(127)END4、有一個十進(jìn)制的四位數(shù)ABCD與一個十進(jìn)制的三位數(shù)CDC的差等于十進(jìn)制的三位數(shù)ABC.下列程序按"ABCD=9876"的樣式打印出ABCD這個數(shù)。請在其中____外填入適當(dāng)?shù)膬?nèi)容.

INTEGERA,B,C,D

DO10A=1,9

DO10B=0,9

DO10C=1,9

【10】

L=1000*A+100*B+10*C+D

M=100*C+10*D+C

N=100*B+C

IF(【11】)WRITE(*,'(【12】)')'XABCD=',A,B,C,D10CONTINUEEND5、閱讀下列程序,其功能是使用篩法選出N以內(nèi)的所有素數(shù)并顯示算法在N以內(nèi)的自然數(shù)列中先篩除2的倍數(shù);在2之后篩乘下的第一個數(shù)是3,于是再篩除3的倍數(shù);在3之后篩剩下的第一個數(shù)是5,于是再篩除5的倍數(shù);如此重復(fù)下去,直到遇見篩剩下的第一個數(shù)是最接近N的平方根的那個數(shù)為止。請在其中____處填入適當(dāng)?shù)膬?nèi)容。

PROGRAMPRINES

PARAMETER(N=100)

INTEGERA(N),P(N)

DO10K=1,N

10A(K)=K

DO20K=3,N

20IF(【13】.A(K)=0

ISR=SQRT(REAL(N))

DO30M=3,ISR,2

DO30K=M+2,N

30IF(A(K).

M=1

DO40K=

IF(A(K).THEN

【14】

M=M+1

ENDIF

40CONTINUE

WRITE(*,'(1X,1018)')(P(K),【15】)END三、編寫程序題1、以循環(huán)來計算等差數(shù)列1+3+5+7+……+99的值。2、利用選擇排序法編制程序,將數(shù)組A中所有的數(shù)值(5,3,6,4,8,7

溫馨提示

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

評論

0/150

提交評論