fortran課后習(xí)題的答案_第1頁
fortran課后習(xí)題的答案_第2頁
fortran課后習(xí)題的答案_第3頁
fortran課后習(xí)題的答案_第4頁
fortran課后習(xí)題的答案_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章FORTRAN程序設(shè)計根基第15頁1、2

1.簡述程序設(shè)計的步驟。

“程序設(shè)計反映了利用計算機解決問題的全過程,通常要經(jīng)過以下四個基本步驟:(1)分析問題,確定數(shù)

學(xué)模型或方法;(2)設(shè)計算法,畫出流程圖;(3)選擇編程工具,編寫程序;(4)調(diào)試程序,分析輸出結(jié)果。

2.什么是算法它有何特征若何描述算法

解決問題的方法利步驟稱為算法。

算法的五個特征:(1)有窮性。(2)期定性。(3)有效性。(4)要有數(shù)據(jù)輸入。(5)要有結(jié)果輸出。

算法的描述有許多方法,常用的有:自然語言、一般流程圖、N—S圖等。

第二章順序構(gòu)造程序設(shè)計

第29頁1、2、3、4、5、6、7、8、9

1.簡述符號常量與變量的區(qū)別

符號常量在程序運行過程中其值不能改變。變量在程序運行過程中其值可以改變。

2.以下符號中為合法的FORTRAN90標(biāo)識符的有哪些?

(1)A123B(2)M%10(3)X_C2(4)5YZ

(5)X+Y(6)F(X)(7)COS(X)(8)A.2

(9)'A,ONE(10)U.S.S.R.

(11)min*2(12)PRINT

3.以下數(shù)據(jù)中哪一些是合法的FORTRAN常量

(1)9,87(2).0⑶25.82(4)-356231

(5)3.57*E2(6)3.57E2.1(7)3.57E+2腳3,57E-2

4.A=2,B=3,C=5(REAL);且1=2,J=3(NTEGER),求以下表達(dá)式的值:

(1)A*B+C表達(dá)式的值:11(2)A*(B+C)表達(dá)式的值:16

(3)B/C*A表達(dá)式的值:1.2(4)B/(C*A)表達(dá)式的值:0.3

(5)A/I/J表達(dá)式的值:0.33(6)T/J/A表達(dá)式的值:0

(7)A*B**I/A**J*2表達(dá)式的值:4.5

(8)C+(B/A)**3/B*2.表達(dá)式的值:7.25

(9)A**B**I表達(dá)式的值:512

5.將以下數(shù)學(xué)表達(dá)式寫成相應(yīng)的FORTRAN表達(dá)式:

(1)1E-2(2)(-B+SQRT(B*B-4*A*C)/(2*A)

(3)l+X+X*X/2+X**3/2/3

(4)COS(ATAN((A**3+B**3)**(1.0/3)/'(C*C+1)))

(5)EXP(A*X**2+B*X+C)

(6)COS(X*Y/SQRT(X*X+Y*Y))**3

6.用FORTRAN語句完成以下操作:

⑴將變量I的值增加1。1=1+1

(2)I的立方加上J,并將結(jié)果保存到I中。I=I**3+J

(3)將E和F中大者存儲到G中。G=Max(E,F)

(4)將兩位自然數(shù)N的個位與十位互換,得到一個新的數(shù)存儲到M中(不考慮個位為0的情況)

M=MOD(N,10)*10+N/10

第三章選擇構(gòu)造程序設(shè)計第43頁1、2、3、5、6、7、9

1.分析以下程序運行結(jié)果

(1)

LOGICALP

INTEGERI,11,12,13

P=.FALSE.

READ*,I

T1=MOD(T,10)

I2=M0D(I/10,10)

13=1/100

IF(I1+I3.EQ.2*12)P=TRUE.

PRINT*,P

END

輸入123時,輸出:T

輸入132時,輸出:F

(2)

REALX,Y,Z

READ*,X,Y

IF((X*Y)>0.AND.(X.NE.1.0))THEN

Z=10.0

ELSEIF(X*Y<0.0)THEN

Z=0.0

ELSE

Z=-1.0

ENDIF

WRITE(*,*)Z

E

ND

出-Lo

輸?1o

?o.

輸入1,-4,輸出:0.0

(3)

INTEGERX,Y,A,B

X=1

Y=0

A=3

B二4

SELECTCASE(X)

CASE(l)

SELECTCASE(Y)

CASE(O)

A=A+1

CASE(l)

B=B+1

ENDSELECT

CASE(2)

A=A+1

B=B-1

CASEDEFAULT

A=A+B

B=A+B

ENDSELECT

PRINT*,=〃,A,〃B=〃,B

END

輸出結(jié)果是:A=4B=4

2.將以下數(shù)學(xué)運算轉(zhuǎn)換成對應(yīng)的FORTRAN表達(dá)式或?qū)懗稣Z句。

(1)xe(3,6)FORTRAN表達(dá)式:x>0.AND.x<6

(2)2.5<yW8FORTRAN表達(dá)式:y>=2.5.AND.y<=8

(3)x+y#z+6FORTRAN表達(dá)式:(x+y)/=(z+6)

(4)2x+4y+xy=0FORTRAN表達(dá)式:2*x+4*y+x*y=0

(5)|a-blWc'FORTRAN表達(dá)式:ABS(a-b)〈=c*c

(6)如果A<y或x<z,那么niin=x

FORTRAN語句:IF(x<y.OR.x<z)min=x

(7)實數(shù)a,b,c能否構(gòu)成三角形三邊

FORTRAN表達(dá)式:a>0.AND.b>0.AND.c>0.AND.(a+b)>c.AND.(b+c)>a.AND.(c+a)>b

(8)a,b之一為0但不同時為0

FORTRAN表達(dá)式:(a==0.OR.b==0).AND.(.NOT.(a==0.AND.b==0))

(9)如果m與n相等,那么k為1,否那么k為0

FORTRAN語句:

IF(m=n)THEN

k=l

ELSE

k=0

ENDIE

(10)a,b是否一樣號

FORTRAN表達(dá)式:a*b>0

3.如果A=2.5,B=7.5,C=5.0,D=6.0,L=.TRUE.,M=FALSE.,請求出以下邏輯表達(dá)式的值。

/\

(1)

\/(A+B).LT.(C+D).AND.A.EQ.3.5邏輯表達(dá)式的值:.FALSE.

\

2)

zA+B/2.0.NE.C-D.OR.C.NE.D邏轉(zhuǎn)表達(dá)式的值:.TRUE.

z\

(3J

\/.NOT.L.OR.C.EQ.D.AND.M邏輯表達(dá)式的值:.FALSE.

/\

(4J

\ZC/2.0+D.LT.A.AND..NOT..TRUE..OR.C.EQ.D邏輯表達(dá)式的值:.FALSE.

z5\

()

\z(C.GT.D).OR.C.NOT.(A+B.LT.D)該表達(dá)式錯誤

z\

(6J

\/(A.LT.B).AND.(B.LT.A)邏輯表達(dá)式的值:.FALSE.

5、某運輸公司在計算運費時,按照運愉距離S對運費打一定的折扣D,其標(biāo)準(zhǔn)如下:

S<250kmD=0

250^S<500kmD=2.5%

500^S<1000kmDM.5%

1000^S<2000kmD=7.5%

2000^S<2500kmD=9.0%

2500^S<3000kmD=12.0%

3000km^SD=15.0%

編寫程序,輸入基本運費Price,貨物重量Weight,距離S,計算總運費Freighto其中

Freight=Price*Weight*S*(1-D)。

REALPrice,Weight,S,Freight,D

READ*,Price,Weight,S

IF(S<250)THEN

D=0

ELSEIF(S<500)THEN

D=0.025

ELSEIF(S<1000)THEN

DR.045

ELSEIF(S<2000)THEN

D=0.075

ELSEIF(S<2500)THEN

D=0.09

ELSEIF(S<3000)THEN

(3)k=6

(4)145

(5)5167

P.652.利用下式計算兀的近似值。

IMPLICITNONE

REALPI

INTEGERI

pro

DO1=1,N

PFPI+1.0/(4*1-3)-1.0/(4*I-l)

ENDDO

PRINT*,PIM

END

P66習(xí)題5

IMPLICITNONE

INTEGERN,S,M,I

LOGICALFLAG

DON=3,999,2

FLAG=.TRUE.

M=SQRT(REAL(N))

DO1=2,M

IF(MOD(N,1)=0)THEN

FLAG=.FALSE.

EXIT

ENDIF

ENDDO

IF(FLAG)THEN

S=N/100+M0D(N/10,10)+M0D(N,10)

IF(MOD(S,2)/=0)PRINT*,N

ENDIF

ENDDO

END

P.66習(xí)題11

REALYO,Y1

READ(*,*)X

YO二X

Yl=2*Y0/3+X/(3*Y0**2)

DOWHILE(ABS(Yl-YO)>lE-5)

YO=Y1

Yl=2*Y0/3+X/(3*Y0**2)

ENDDO

PRINT*,Y1

END

P.66習(xí)題12

Reala,b,m,x

f(x)=x**3-x**2T

Read*,a,b

Dowhile(Abs(a-b)>le-6)

m=(a+b)/2

If(f(a)*f(m)>0)then

a=m

Else

b=m

Endif

Enddo

Print*,(a+h)/2

END

第五章FORTRAN90數(shù)據(jù)類型第88頁4、10

4.有一個三角形,頂點為X,Y,Z,其坐標(biāo)分別為(1.5,2.0),(4.5,4.5),(18.0,10.5)。求三角形的面積和重心(提示:

重心坐標(biāo)=1X+Y+Z)/3利用復(fù)數(shù)計算)。

COMPLEXX,Y,Z,W

REALA,B,C,S,P

READC,*)X,Y,Z

A=ABS(X-Y)

B=ABS(Y-Z)

C=ABS(Z-X)

P=(A+B+C)/2

S=SQRT(P*(P-A)*(P-B)*(P-C))

W=(X+Y+Z)/3

WRITE(*,*)S

WRITE(*,*)W

END

10.設(shè)有4個圓,圓心分別在(2,2),(-2,?2),(2,-2),(?2,2),半徑為1°當(dāng)X,Y坐標(biāo)點落在圓上和圓內(nèi)時,Z=l;落在圓

外時,Z=l;落在圓外時,Z=0o編出相應(yīng)的的程序(要求利用邏輯變量)。

IMPLICITNONE

LOGICALP,Q,R,S

REALX,Y

INTEGERZ

READ*,X,Y

Z=0

P=(X-2)**2+(Y-2)**2<=l

Q=(X+2)**2+(Y+2)**2<=l

R=(X-2)**2+(Y+2)**2<=l

S=(X+2)**2+(Y-2)**2〈=l

IF(P.OR.Q.OR.R.OR.S)Z=1

PRINT*,Z

END

第七章數(shù)組第124頁1、3、4、7、9、12

1.寫出以下程序的執(zhí)行結(jié)果

(1)

5.0

5.0

5.0

5.0

4.0

(2)K=5

(3)

123

456

789

101112

14710

25811

36912

(4)S=15.00

3.將一個數(shù)組的元素按逆序重新存放,例如,原來存放順序為:8,6,5,4,1。要求改為:1,4,5,6,8。

IMPLICITNONE

INTEGER,PARAMETER::N=5

INTEGERA(N),I,T

DATAA/8,6,5,4,1/

WRITER,10)(A(I),1=1,5)

DO1=1,N/2

T二A⑴

A(I)=A(N-I+1)

A(N-I+1)=T

ENDDO

WRITE(*,10)(A(I),1=1,5)

10FORMAT(IX,514)

END

4.求數(shù)組中的最大和最小元素,并將最大和最小元素分別與數(shù)組的第一和第二元素互換。

IMPLICITNONE

INTEGERX(10),I,T,MA

!變量MA存放最大數(shù)下標(biāo)序號

X=(/10,55,25,70,45,15,25,85,45,35/)

WRITE(*,10)(X(I),1=1,10)

MA=1

DO1=2,10

IF(X(I)>X(MA))MA=I

ENDDO

T二X⑴

X(1)=X(MA)

X(MA)=T

WRITER,10)(X(I),1=1,10)

10FORMAT(IX,1014)

END

7.求3X4矩陣中的最大元素和最小元素。

REALA(3,4),AMAX,AMIN

INTEGERI,J

DO1=1,3

READ(刊*)(A(I,J),J=l,4)

ENDDO

AMAX=A(1,1)

AMIN=A(1,1)

DO1=1,3

DOJ=l,4

IF(A(I,J)>AMAX)AMAX=A(I,J)

IF(A(I,J)<AMIN)AMIN=A(I,J)

ENDDO

ENDDO

WRITER,*)”最大值:〃,AMAX

WRITE(*,*)”最小值:〃,AMIN

END

9.輸入5X5矩陣a,完成以下要求:

(1)輸出矩陣a。

(2)將第2行和第5行元素對調(diào)后,輸出新的矩陣a。

(3)用對角線上的各元素分別去除各元素所在行,輸出新的矩陣a。

PARAMETER(N=5)

INTEGERA(N,N),I,J,T

DO1=1,N

READ(次*)(A(I,J),J=1,5)

ENDDO

DO1=1,N

WRITE(*,10)(A(I,J),J=1,N)

ENDDO

DO1=1,N

T二A⑵D

A(2,I)=A(5,J)

A⑸J)二T

ENDDO

DO1=1,N

WRITER,10)(A(I,J),J=1,N)

ENDDO

DO1=1,N

DOJ=1,N

A(T,J)=A(T,J)/A(T,T)

ENDDO

ENDDO

DO1=1,N

WRITE(*,10)(A(I,J),J=1,N)

ENDDO

10FORMAT(IX,515)

END

12.按以下格式打印出楊輝三角形的前N行。

1

11

121

1331

14641

15101051

PARAMETER(N=10)

INTEGERA(N,N),I,J

DO1=1,N

1)=1

A(I,

I)=1

A(I,

O

ENDD

N

=3,

DO1

1

=2,1-

DOJ

J-l)

I-1,

)+A(

-1,J

)=A(I

A(I,J

O

ENDD

O

ENDD

N

=1,

DO1

I)

J=1,

J),

A(I,

10)(

ER,

WRIT

O

ENDD

)

1015

(IX,

RMAT

10FO

END

13

12、

、8、

1、6

3頁

第17

子程序

第八章

義:

數(shù)定

句函

的語

錯誤

以下

1.指出正確

+A-B

+Y+2

Y)=X

(X,

(1)F錯誤

)*Z

(2)+Z

+(X

=3*Y

Y,Z)

(2),

UM(X

(2)S錯誤

)

IN(A

+C-S

-Y+X

X**2

,X)=

(X,Y

(3)F錯誤

Y(I)

)-A*

(Z+l

=EXP

Y(I)

2(Z,

(4)X正確

~X*Y

)**2

(B-C

*X+

)=A

,B,C

AN(A

(5)L

:

式是

算公

。計

計算

停頓

E8時

n!〉l

值。當(dāng)

近似

數(shù)。的

計算

程序

該子

調(diào)用

,并

程序

數(shù)子

的函

算n!

個計

計一

6.設(shè)

)

JC(N

TION

FUNC

JC=1

=1,N

DOT

C*I

JC=J

O

ENDD

END

EX6

RAM

PROG

,T

*8E

REAL

E=0

0

T=1.

1=0

lE-8)

(T>

HILE

DOW

T

E=E+

1=1+1

(I)

0/JC

T=1.

DO

END

*,E

PRINT

END

10),

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論