同學們常犯錯誤之提示

 

Fortran 程式語言方面

沒有宣告 implicit none ,造成有些打錯的變數名稱仍被當作新變數使用而發生錯誤

程式行的文字位置超過第 72 格而被當作是不完整

主程式的名稱,不可以與之後會用到的變數名稱重覆

大小寫在 Fortran 是一樣的,故變數的 t 與 T 就會造或重覆宣告

是陣列的第 i 個元素 A(i) 要放到 x 去,本應用 x = A(i),但卻寫成 x = A,編譯器會抱怨你把 1 級張量寫到 0 個級張量去。

 

PGPLOT 方面

忘了宣告 pgopen 為整數或 if (pgopen('/xwin').le.0) stop 的語法寫錯

pgenv 的上下限範圍誤用了整數,一定要用(單精度)實數才可以

pgpt 的引數堙A忘了給最後一個整數的符號值或變數

最後沒有下 pgclos,造成圖一閃就馬上關掉,來不及看。

 

 

編譯、鍊結方面

鍊結的函式庫沒有給完整或路徑打了錯字

-o 後面本應是 my_prog.x (指定的執行檔名稱)但卻不慎用了 my_prog.f 導致連原始程式碼都被蓋掉了。

 

 

程式邏輯方面

使用 Euler 或 Euler-Richardson 演算法時,沒有使用 y = y + f * dx 形式而只寫了 y = f * dx,忘記了舊的 y

初始值忘了在迴圈外先給,或是把初始化的動作寫在迴圈內。

迴圈中所要用的自變數,原本應使用累加型的 x = x + dx 或是利用了迴圈計數器 (loop counter) 的 x = x0 + i * dx,但卻混用了兩者而造成錯誤。