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

下載本文檔

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

文檔簡介

1、 第一章 FORTRAN程序設(shè)計基礎(chǔ) 第15頁 1、21簡述程序設(shè)計的步驟?!俺绦蛟O(shè)計”:反映了利用計算機解決問題的全過程,通常要經(jīng)過以下四個基本步驟:(1)分析問題,確定數(shù)學(xué)模型或方法;(2)設(shè)計算法,畫出流程圖;(3)選擇編程工具,編寫程序;(4)調(diào)試程序,分析輸出結(jié)果。2. 什么是算法?它有何特征?如何描述算法?解決問題的方法和步驟稱為算法。算法的五個特征:(1) 有窮性。 (2) 確定性。 (3) 有效性。 (4) 要有數(shù)據(jù)輸入。(5) 要有結(jié)果輸出。算法的描述有許多方法,常用的有:自然語言、一般流程圖、NS圖等。第二章 順序結(jié)構(gòu)程序設(shè)計 第29頁 1、2、3、4、5、6、7、8、91

2、簡述符號常量與變量的區(qū)別?符號常量在程序運行過程中其值不能改變。變量在程序運行過程中其值可以改變。2. 下列符號中為合法的FORTRAN 90標識符的有哪些?(1) A123B (2) M%10 (3) X_C2 (4) 5YZ(5) X+Y(6) F(X)(7) COS(X) (8) A.2(9) AONE (10) U.S.S.R.(11) min*2 (12) PRINT 3. 下列數(shù)據(jù)中哪一些是合法的FORTRAN常量?(1) 9,87 (2) .0 (3) 25.82(4) -356231(5) 3.57*E2 (6) 3.57E2.1(7) 3.57E+2 (8) 3,57E-24

3、. 已知A=2,B=3,C=5(REAL);且I=2,J=3(INTEGER),求下列表達式的值:(1) A*B+C 表達式的值: 11 (2) A*(B+C) 表達式的值: 16(3) B/C*A 表達式的值: 1.2 (4) B/(C*A) 表達式的值: 0.3(5) A/I/J 表達式的值: 0.33 (6) I/J/A 表達式的值: 0(7) A*B*I/A*J*2 表達式的值: 4.5(8) C+(B/A)*3/B*2. 表達式的值: 7.25(9) A*B*I 表達式的值: 5125. 將下列數(shù)學(xué)表達式寫成相應(yīng)的FORTRAN表達式:(1) 1E-2 (2)(-B+SQRT(B*B

4、-4*A*C)/(2*A)(3) 1+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)*36. 用FORTRAN語句完成下列操作:(1) 將變量I的值增加1。 I=I+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第三章選擇結(jié)構(gòu)程序設(shè)計第43頁 1、2、3、

5、5、6、7、91分析下列程序運行結(jié)果(1)LOGICAL P INTEGER I,I1,I2,I3 P=.FALSE. READ*,I I1=MOD(I,10) I2=MOD(I/10,10) I3=I/100 IF(I1+I3.EQ.2*I2)P=.TRUE.PRINT*,P END輸入123 時,輸出: T輸入132 時,輸出: F(2)REAL X,Y,ZREAD*,X,YIF(X*Y)>0.AND.(X.NE.1.0)THEN Z=10.0ELSE IF(X*Y<0.0) THENZ=0.0ELSE Z=-1.0ENDIFWRITE(*,*)ZEND輸入1,4 ,輸出: -

6、1.0輸入4,1 ,輸出: 10.0輸入1,-4 ,輸出: 0.0(3)INTEGER X,Y,A,B X=1 Y=0 A=3 B=4 SELECT CASE(X) CASE(1) SELECT CASE(Y) CASE(0) A=A+1 CASE(1) B=B+ 1 END SELECT CASE(2) A=A+1 B=B-1 CASE DEFAULT A=A+B B=A+B END SELECT PRINT*,"A=",A,"B=",B END輸出結(jié)果是:A=4 B=42將下列數(shù)學(xué)運算轉(zhuǎn)換成對應(yīng)的FORTRAN表達式或?qū)懗稣Z句。(1) x(3,6)

7、FORTRAN表達式: x>0.AND.x<6(2) 2.5y8 FORTRAN表達式: y>=2.5.AND.y<=8(3) x+yz+6 FORTRAN表達式: (x+y)/=(z+6)(4) 2x+4y+xy=0 FORTRAN表達式: 2*x+4*y+x*y=0(5) |a-b|c2FORTRAN表達式: ABS(a-b)<=c*c(6) 如果x<y或x<z,則min=x FORTRAN語句: IF(x<y.OR.x<z)min=x(7) 實數(shù)a,b,c能否構(gòu)成三角形三邊FORTRAN表達式: a>0.AND.b>0.A

8、ND.c>0.AND.(a+b)>c.AND.(b+c)>a.AND.(c+a)>b(8) a,b 之一為0但不同時為0FORTRAN表達式: (a=0.OR.b=0).AND.(.NOT.(a=0.AND.b=0)(9) 如果m與n相等,則k為1,否則k為0FORTRAN語句:IF(m=n)THEN k=1 ELSE k=0 ENDIF(10) a,b是否一樣號FORTRAN表達式: a*b>03.如果A=2.5,B=7.5,C=5.0,D=6.0,L=.TRUE.,M=.FALSE.,請求出下列邏輯表達式的值。(1) (A+B).LT.(C+D).AND.A.

9、EQ.3.5 邏輯表達式的值: .FALSE.(2) A+B/2.0.NE.C-D.OR.C.NE.D 邏輯表達式的值: .TRUE.(3) .NOT.L.OR.C.EQ.D.AND.M 邏輯表達式的值: .FALSE.(4) C/2.0+D.LT.A.AND.NOT.TRUE.OR.C.EQ.D 邏輯表達式的值: .FALSE.(5) (C.GT.D).OR.C.NOT.(A+B.LT.D) 該表達式錯誤(6) (A.LT.B).AND.(B.LT.A) 邏輯表達式的值: .FALSE.5、某運輸公司在計算運費時,按照運輸距離S對運費打一定的折扣D,其標準如下:S<250km D=0

10、250S<500km D=2.5%500S<1000km D=4.5%1000S<2000km D=7.5%2000S<2500km D=9.0%2500S<3000km D=12.0%3000kmS D=15.0%編寫程序,輸入基本運費Price,貨物重量Weight,距離S,計算總運費Freight。其中Freight=Price*Weight*S*(1-D)。REAL Price, Weight, S, Freight, D READ*, Price, Weight, S IF (S<250) THEND=0 ELSEIF(S<500) THEN

11、D=0.025ELSEIF(S<1000) THEND=0.045ELSEIF(S<2000) THEND=0.075ELSEIF(S<2500) THEND=0.09ELSEIF(S<3000) THEND=0.12 ELSED=0.15 ENDIFFreight=Price*Weight*S*(1-D)WRITE(*,*)"Freight=", FreightEND6、編程判斷自然數(shù)M是否為N的因子,是輸出YES, 不是輸出NO。 INTEGER M,N READ(*,*)M,N IF(MOD(N,M)= =0) THENWRITE(*,*)&q

12、uot;YES" ELSEWRITE(*,*)"NO" ENDIF END7、編程判斷兩位整數(shù)M是否為守形數(shù)。所謂守形數(shù)是指該數(shù)本身等于自身平方的低位數(shù),如25是守形數(shù),因為252=625,而625的低兩位為25。是輸出YES, 不是輸出NO。INTEGER MREAD(*,*)MIF(MOD(M*M,100)=M)THENWRITE(*,*)"YES"ELSEWRITE(*,*)"NO"ENDIFEND9 已知 從鍵盤輸入x,求出y的值。REAL X,YREAD(*,*)XIF(X>-15.AND.X<0)TH

13、EN Y=COS(X+1)ELSEIF(X>=0.AND.X<10)THEN Y=LOG(X*X+1)ELSEIF(X>15.AND.X<20)THEN Y=X*(1.0/3)ELSE Y=X*XENDIFWRITE(*,*)"Y=",YEND第四章循環(huán)結(jié)構(gòu)程序設(shè)計第64頁 1、2、5、11、121.寫出下列程序的執(zhí)行結(jié)果(1) 1.0 (2) 8 11(3) k= 6(4) 14 5(5) 5167P.65 2. 利用下式計算的近似值。IMPLICIT NONEREAL PIINTEGER IPI=0DO I=1,NPI=PI+1.0/(4*I-3

14、)-1.0/(4*I-1)END DOPRINT*,PI*4ENDP66 習(xí)題5IMPLICIT NONEINTEGER N,S,M,ILOGICAL FLAGDO N=3,999,2 FLAG=.TRUE. M=SQRT(REAL(N) DO I=2,MIF(MOD(N,I)=0)THEN FLAG=.FALSE.EXITENDIF ENDDO IF(FLAG) THENS=N/100+MOD(N/10,10)+MOD(N,10)IF(MOD(S,2)/=0)PRINT*,N ENDIFEND DOENDP.66 習(xí)題11REAL Y0,Y1READ(*,*)XY0=XY1=2*Y0/3+X

15、/(3*Y0*2)DO WHILE(ABS(Y1-Y0)>1E-5) Y0=Y1Y1=2*Y0/3+X/(3*Y0*2)ENDDOPRINT*,Y1ENDP.66 習(xí)題12 Real a,b,m,xf(x)=x*3-x*2-1Read*,a,bDo while(Abs(a-b)>1e-6) m=(a+b)/2 If(f(a)*f(m)>0)then a=m Else b=m EndifEnddoPrint*,(a+b)/2END第五章 FORTRAN 90數(shù)據(jù)類型第88頁 4、104有一個三角形,頂點為X,Y,Z,其坐標分別為(1.5,2.0),(4.5,4.5),(18.0

16、,10.5)。求三角形的面積和重心(提示:重心坐標=(X+Y+Z)/3利用復(fù)數(shù)計算)。COMPLEX X,Y,Z,WREAL A,B,C,S,PREAD(*,*)X,Y,ZA=ABS(X-Y)B=ABS(Y-Z)C=ABS(Z-X)P=(A+B+C)/2S=SQRT(P*(P-A)*(P-B)*(P-C)W=(X+Y+Z)/3WRITE(*,*)SWRITE(*,*)WEND10設(shè)有 4個圓,圓心分別在(2,2),(-2,-2),(2,-2),(-2,2),半徑為1。當(dāng)X,Y坐標點落在圓上和圓時,Z=1;落在圓外時,Z=1;落在圓外時,Z=0。編出相應(yīng)的的程序(要求利用邏輯變量)。I

17、MPLICIT NONELOGICAL P,Q,R,SREAL X,YINTEGER ZREAD*,X,YZ=0P= (X-2)*2+(Y-2)*2<=1Q= (X+2)*2+(Y+2)*2<=1R= (X-2)*2+(Y+2)*2<=1S= (X+2)*2+(Y-2)*2<=1IF(P.OR.Q.OR.R.OR.S)Z=1PRINT*,ZEND第七章數(shù)組第124頁 1、3、4、7、9、121.寫出下列程序的執(zhí)行結(jié)果(1) 5.05.05.05.04.0(2) K= 5(3) 1 2 3 4 5 6 7 8 9 10 11 121 4 7 102 5 8 113 6 9

18、 12(4) S= 15.003. 將一個數(shù)組的元素按逆序重新存放,例如,原來存放順序為:8,6,5,4,1。要求改為:1,4,5,6,8。IMPLICIT NONEINTEGER,PARAMETER:N=5INTEGER A(N),I,TDATA A/8,6,5,4,1/WRITE(*,10)(A(I),I=1,5)DO I=1,N/2 T=A(I) A(I)=A(N-I+1)A(N-I+1)=TEND DOWRITE(*,10)(A(I),I=1,5)10 FORMAT(1X,5I4)END4. 求數(shù)組中的最大和最小元素,并將最大和最小元素分別與數(shù)組的第一和第二元素互換。IMPLICIT

19、NONEINTEGER X(10),I,T,MA!變量MA存放最大數(shù)下標序號X=(/10,55,25,70,45,15,25,85,45,35/)WRITE(*,10)(X(I),I=1,10)MA=1DO I=2,10 IF(X(I)>X(MA)MA=IENDDOT=X(1)X(1)=X(MA)X(MA)=TWRITE(*,10)(X(I),I=1,10)10 FORMAT(1X,10I4)END7. 求3×4矩陣中的最大元素和最小元素。REAL A(3,4),AMAX,AMININTEGER I,JDO I=1,3 READ(*,*)(A(I,J),J=1,4)ENDDOA

20、MAX=A(1,1)AMIN=A(1,1)DO I=1,3 DO J=1,4IF(A(I,J)>AMAX)AMAX=A(I,J)IF(A(I,J)<AMIN)AMIN=A(I,J) ENDDOENDDOWRITE(*,*)"最大值:",AMAXWRITE(*,*)"最小值:",AMINEND9. 輸入5×5矩陣a,完成下列要求: (1) 輸出矩陣a。 (2) 將第2行和第5行元素對調(diào)后,輸出新的矩陣a。 (3) 用對角線上的各元素分別去除各元素所在行,輸出新的矩陣a。PARAMETER(N=5)INTEGER A(N,N),I,J,

21、TDO I=1,N READ(*,*)(A(I,J),J=1,5)ENDDODO I=1,NWRITE(*,10)(A(I,J),J=1,N) ENDDODO I=1,N T=A(2,I)A(2,I)=A(5,J)A(5,J)=TENDDODO I=1,NWRITE(*,10)(A(I,J),J=1,N) ENDDODO I=1,N DO J=1,NA(I,J)=A(I,J)/A(I,I) ENDDOENDDODO I=1,NWRITE(*,10)(A(I,J),J=1,N) ENDDO10 FORMAT(1X,5I5)END12. 按以下格式打印出輝三角形的前N行。 1 1 1 1 2 1

22、1 3 3 1 1 4 6 4 1 1 5 10 10 5 1PARAMETER(N=10)INTEGER A(N,N),I,JDO I=1,N A(I,1)=1 A(I,I)=1ENDDODO I=3,N DO J=2,I-1A(I,J)=A(I-1,J)+A(I-1,J-1) ENDDOENDDODO I=1,N WRITE(*,10)(A(I,J),J=1,I)ENDDO10 FORMAT(1X,10I5)END第八章 子程序第173頁 1、6、8、12、131.指出下列錯誤的語句函數(shù)定義:(1)F(X,Y)=X+Y+2+A-B 正確 (2)SUM(X(2),Y,Z)=3*Y+(X(2)

23、+Z)*Z 錯誤(3)F(X,Y,X)=X*2-Y+X+C-SIN(A) 錯誤(4)X2(Z,Y(I)=EXP(Z+1)-A*Y(I) 錯誤(5)LAN(A,B,C)=A*X+(B-C)*2-X*Y 正確6設(shè)計一個計算n! 的函數(shù)子程序,并調(diào)用該子程序計算數(shù)e的近似值。當(dāng) n!>1E8時停止計算。計算公式是:FUNCTION JC(N)JC=1DO I=1,NJC=JC*IENDDOENDPROGRAM EX6REAL*8 E,TE=0T=1.0I=0DO WHILE (T>1E-8) E=E+T I=I+1 T=1.0/JC(I)END DOPRINT*,EEND8對任意自然數(shù)n

24、,設(shè)計一個求n的各數(shù)位立方和的函數(shù)子程序F(n)(如F(121)=1*3+2*3+1*2=1+8+1=10),并調(diào)用F(n)求1000以的所有水仙花數(shù)(水仙花數(shù)的概念請參看例 8.5)。!子程序FUNCTION F(N)INTEGER F,N,S,TS=0T=NDO WHILE(T>0) K=MOD(T,10) S=S+K*3 T=T/10ENDDOF=SEND!主程序PROGRAM EX8INTEGER F,IDO I=100,999 IF(F(I)=I)PRINT*,IENDDOENDDO12設(shè)計一個子例行程序,計算一個任意數(shù)組A中正數(shù)、負數(shù)和0的個數(shù)與其和。!子程序SUBROUTI

25、NE TJ(A,M,P,N,Z,S)INTEGER A(M),M,P,N,Z,S,IP=0N=0Z=0S=0DO I=1,M IF(A(I)>0)THEN P=P+1 ELSEIF(A(I)<0)THEN N=N+1 ELSE Z=Z+1 ENDIF S=S+A(I)ENDDOEND!主程序INTEGER X(10),P,N,S,Z,IDO I=1,10 READ(*,*)X(I)ENDDOCALL TJ(X,10,P,N,Z,S)WRITE(*,*)"正數(shù)個數(shù)",PWRITE(*,*)"負數(shù)個數(shù)",NWRITE(*,*)"零數(shù)個數(shù)",

溫馨提示

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

評論

0/150

提交評論