作者moussorgsky (法國號有氣質)
看板NTUBSE-B-93
標題Re: 計程
時間Fri Nov 11 14:05:09 2005
這是我去年寫給大三他們那一屆看的~~~
PROGRAM HW
IMPLICIT NONE
INTEGER I, N
INTEGER FN_2, FN_1
INTEGER FN
DATA FN_2, FN_1 /0,1/
WRITE (*,*) '請輸入N值,此程式將列出Fibonacci 數列的前n項!'
WRITE (*,*) 'N='
READ (*,*) N
WRITE (*, '(1X, I15, / , 1X, I15)') FN_2, FN_1
DO I=3, N
FN = FN_2+FN_1
WRITE (*, '(1X, I15)') FN
FN_2 = FN_1
FN_1 = FN
END DO
STOP
END PROGRAM HW
------------------------------------------------------------------------------
我做的是計算流體力學,一天到晚都要寫程式~
來分享一點心得吧!
我很贊同計程助教的說法:要先把流程圖搞清楚喔!
要用電腦執行一個演算法,首先須要對那個演算法的理論與過程,有清楚地瞭解
,這部分是有關數學的能力。再來就要想如何將這個演算法寫成程式碼,這也是
整個寫程式的過程中,最困難的部分。
撇開數學計算的部分不說,我的建議是:要先熟悉程式語言的「語法」(不管是
用fortran、C++、C、VB......),然後多看書中的範例,就會清楚哪些情況該
怎麼寫會比較好或比較快。
因為我們人腦的邏輯思考,有時會比電腦還要「簡單很多」(相信我:電腦其實
是很笨的 @@"),往往我們用一個數學式就可以表達出來的,在電腦上卻要寫好
幾行才能執行出來(像計算Σ時就會碰到這樣的問題),所以,要盡量多看書中
的範例,學習精華。
以前有老師建議我,先用筆在紙上把程式碼寫一遍,然後再key in到電腦裡,這
樣做的好處,一方面是訓練自己頭腦的邏輯思考和對語法的熟悉,另一方面也可
以節省寫程式的時間。
學弟妹現在寫的程式,應該都是些小程式,如果以後有機會朝數值分析或是數值
模擬方面發展的話,就會常常碰到須要寫作大程式的case。通常我都會先構想好
流程圖,然後把大程式分成很多很多個小程式,在紙上寫下每一個小程式的程式
碼,最後才到電腦上把它們combine起來。這樣可以節省我對著電腦螢幕乾瞪眼,
不知道如何著手的時間~
大家要多加油喔!真的對寫程式很有興趣的話,大三可以去修林俊男老師和張倉
榮老師合開的數值分析,可以學到滿多東西的!(也可以去外系修「物件導向程
式設計」,滿好玩的!)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.63.142
推 DKer:雖然說M了 但是我不懂這是什麼意思 老師還沒說到嗎? 11/11 21:52
推 DKer: WRITE (*, '(1X, I15, / , 1X, I15)') 11/11 21:53
→ x2266:是希望輸出的格式 1x是指先空1格 再來 I15是指再輸出15個字ꐠ 11/11 23:01
→ x2266:元的整數 /是指換行輸出 所以第一行會出現0 第2行會出現1 11/11 23:05
→ x2266:如果是*表示不規定輸入的格式 11/11 23:07
→ x2266:老師還沒講到吧 沒書的話 可以上網找看看資料 書上這些東西 11/11 23:09
→ x2266:都很清楚 11/11 23:10
推 DKer:感謝感謝~哈哈 了解了 近期就會弄到一本書了 11/11 23:31