FORTRAN經(jīng)典入門程序20例.docx_第1頁
FORTRAN經(jīng)典入門程序20例.docx_第2頁
FORTRAN經(jīng)典入門程序20例.docx_第3頁
FORTRAN經(jīng)典入門程序20例.docx_第4頁
FORTRAN經(jīng)典入門程序20例.docx_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

此文檔收集于網(wǎng)絡,如有侵權請聯(lián)系網(wǎng)站刪除對于FORTRAN的初學者。這些例子可作為小練習。1.例題:計算工資問題。每小時工資為RATE,如果工作超過40小時,加班呢部分工資是正常時間工資的1.5倍。C Payroll with overtime program payroll real rate, hours, pay read (*,*) rate, hours if (hours40) then pay=40*rate+(hours-40)*1.5*rate else pay=hours*rate END IF print *,rate=, rate print *, hours=, hours print *,pay=,pay end2.學生成績問題。大于80為A級。大于60小于80為B級。小于60為C級。 IF的嵌套。注意空格可以看清楚else if ,end if,print的內(nèi)容. PROGRAM GRADESTUDENT READ *,GRADE IF (GRADE .GE. 80) THEN PRINT *,GRADE,GRADE=A ELSE IF (GRADE.LT.60) THEN PRINT*,GRADE,GRADE=C ELSE PRINT*,GRADE,GRADE=B END IF END IF END3.三個數(shù)按從小到大排序。PROGRAM MAXMIN REAL A,B,C,T READ *,A,B,C IF (A.GT.B) THEN T=A A=B B=T ELSE END IF IF (B.GT.C) THEN T=B B=C C=T ELSE END IF IF (A.GT.B) THEN T=A A=B B=T END IF PRINT *,A,B,C END4.運用EISE IF語句。重做例子2PROGRAM ex2 READ (*,*) GRADE IF (GRADE .GE. 80.0) THEN PRINT *, GRADE,=A ELSE IF(GRADE .GE. 70.0)THEN PRINT *, GRADE,=B ELSE IF(GARDE .GE. 60.0)THEN PRINT *, GRADE,=C ELSE PRINT *, GARDE,=D END IF END5. 計算 PROGRAM EQUATION READ (*,*) X IF (X .GE. 0.0) Y=3*X+6 IF (X .LT. 0.0) Y=-X*2+2*X-8 PRINT *,X=,X, Y=,Y END6.CONTINUE語句。為了使循環(huán)的起止范圍清晰,使用終端語句例:求5!program ex1 FACT=1 do 10, N=1,5,1 #DO 語句標號,循環(huán)不變量=初值,終值,步長 FACT=FACT*N10 continue print*,FACT end求1!+2!+3!+N!READ *,N FACT=1 sum=0.0 do 10, I=1,N,1 FACT=FACT*I SUM=SUM+FACT10 continue print*,SUM end7.求EX=1+X+X2/2!+X3/3!+.+XN/N! READ *,X,N sum=1 TERM=1 do 10, I=1,N,1 TERM=TERM*X/I SUM=SUM+TERM10 continue print*,EXP(,X,),SUM end8.打印九九乘法表 do 10,I=1,9,1 do 20,J=1,I PRINT*,I,*,J,=,I*J20 CONTINUE10 CONTINUE end9.百錢買百雞公雞5元每只。母雞3元每只,小雞1元三只。求100元買一百只雞。 INTEGER X,Y,Z DO 10,X=0,100 DO 20,Y=0,100 DO 30,Z=0,100 IF(X+Y+Z .EQ. 100)THEN IF(15*X+9*Y+Z .EQ. 300)PRINT *,X,Y,Z END IF30 CONTINUE20 CONTINUE10 CONTINUE END10.DO循環(huán)用來處理循環(huán)次數(shù)確定的情況比較方便。在處理無法事先知道循環(huán)次數(shù)時,使用當型循環(huán)。(1)DO WHILE DO 標號,WHILE(邏輯表達式)循環(huán)體CONTINUE 標號例 統(tǒng)計若干同學的得分并計算平均值。INTEGER SCORE,COUNT READ*,SCORE SUM=0 COUNT=0 DO 10, WHILE(SCORE .GT. 0.0) SUM=SUM+SCORE COUNT=COUNT+1 READ *,SCORE10 CONTINUE AVER=SUM/COUNT PRINT *,AVER END11.輾轉(zhuǎn)相除法求最大公約數(shù)。如26和6的最大公約數(shù)。先用27除以6,余數(shù)是3,再用6除以3,余數(shù)為0,則3就是最大公約數(shù)。命令MOD()求余數(shù)。INTEGER M,N,R,T READ*,M,NIF (M .LT. N)THEN T=M M=N N=T END IF R=MOD(M,N) DO 10, WHILE(R .NE. 0) M=N N=R R=MOD(M,N)10 CONTINUE PRINT *,zui da gong yue shu,N END12.判斷一個數(shù)是否是素數(shù)。SQRT()開根號 READ *,N MAX=sqrt(real(N) I=2 DO 10, WHILE (I .LE. MAX .AND. MOD(N,I) .NE. 0) I=I+110 CONTINUE IF(I .GT. MAX)THEN PRINT*,N,IS A PRIME NUMBER ELSE PRINT *,N,IS NOT A PRIME NUMVER END IF END13.求100和200之間能被3或7整除的自然數(shù)。 I=10010 IF(I .LE. 200)THEN IF (MOD(I,3) .EQ. 0 .OR. MOD(I,7) .EQ. 0)THEN PRINT*,I,ABLE ELSE PRINT*,I,UNABLE END IF I=I+1 GOTO 10 END IF END14. 直到型循環(huán),UNTIL 語句實現(xiàn)直到型循環(huán)。 格式“ DO S1,UNTIL(條件) 循環(huán)體 標號S1 CONTINUE例14用直到型循環(huán)求5! FORTRAN不支持UNTIL語句。INTEGER I,PRODUCT I=1 PRODUCT=1 DO 10, UNTIL(I .GT. 5) PRODUCT=PRODUCT*I I=I+110 CONTINUE PRINT *,5!=,PRODUCT ENDFORTRAN不支持UNTIL語句。讓我們改成DO WHILE格式。INTEGER I,PRODUCT I=1 PRODUCT=1 DO 10, WHILE(I .LT. 5) PRODUCT=PRODUCT*I I=I+110 CONTINUE PRINT *,5!=,PRODUCT END15. INTEGER R,I,J,S,T,SUMDO 10, I=100,999,1 T=I SUM=0 DO 20 ,J=1,3,1 R=MOD(T,10) SUM=SUM+R*3 T=T/1020 CONTINUE IF (SUM .EQ. I) PRINT *,I,is a daffodil NUMBER10 CONTINUE END15.求一元二次方程的根 。DOUBLE PRECISION A, B, CCOMPLEX X1,X2READ *,A,B,CIF(B*2-4*A*C .GE.0)THEN X1=CMPLX(-B+SQRT(B*2-4*A*C)/(2*A),0.0) X2=CMPLX(-B-SQRT(B*2-4*A*C)/(2*A),0.0) ELSE X1=CMPLX(-B/(2*A),SQRT(-(B*2-4*A*C)/(2*A) X2=CMPLX(-B/(2*A),-SQRT(-(B*2-4*A*C)/(2*A) END IF PRINT *,X1,X2 END16. 打印此圖像。CHARACTER*9 LINE DO 10, I=-4,4,1 K=1 DO 40 J=1,ABS(I),1 LINE(K:K)= K=K+140 CONTINUE DO 20, J=1, 2*(4-ABS(I)+1,1 LINE(K:K)=* K=K+120 CONTINUE PRINT*,LINE DO 30, J=1,9,1 LINE(J:J)= 30 CONTINUE10 CONTINUE END 17.輸出數(shù)組中的數(shù)值。 INTEGER A(1:10)DO 10,I=1,10,1 READ *,A(I)10 CONTINUE PRINT *,A END18. 利用DO循環(huán)對數(shù)組進行輸入和輸出。從鍵盤上輸入十個數(shù),按順序逐個放入到A(1)到A(10)中。 INTEGER A(1:10) DO 10,I=1,10,1 READ *,A(I)10 CONTINUE DO 20,I=1,9,2 PRINT *,A(,I,),A(I)20 CONTINUE END19. 雙重循環(huán)將從終端讀入的數(shù)據(jù)賦值給W數(shù)組中的各元素。REAL W(1:3,1:2) #表示一個三行兩列的數(shù)組,當前面數(shù)一樣時,可以寫出 W(3,2) DO 10,I=1,3,1 DO 20, J=1,2,1 READ *,W(I,J)20 CONTINUE10 CONTINUE PRINT*,W END20。輸入10名學生的成績,統(tǒng)計各個分數(shù)段的人數(shù)。 INTEGER GRADE(1:10),COUNTER(0:10)Sudan n. 蘇丹(非洲國家) READ *,(GRADE(I),I=1,10,1) DO 10, I=1,10,1 COUNTER(GRADE(I)/10)=COUNTER(GRADE(I)/10)+110 CONTINUE DO 20,I=0,10,1Korean n. 韓國/朝鮮人;朝鮮/韓語 PRINT *,COUNTER(I),=,I*10,(I+1)*10-1so long as 只要20 CONTINUEvt. (用泵)抽(水) ENDlatter adj. 較后的;后半的;sentence vt. 判決;宣判21.順序查找。一組數(shù)據(jù)從第一個開始找,折半查找,順序查找適用數(shù)據(jù)少的情況,折半查找用于數(shù)據(jù)多的情況,但數(shù)據(jù)必須按順序排列。Big Bang 宇宙大爆炸;創(chuàng)世大爆炸alongside adv. 在旁邊;沿著邊INTEGER

溫馨提示

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

評論

0/150

提交評論