如何動手做習題

真討厭,隨便一想就覺得問題很多! 很多!

到底該從何處下手呢? 所以呀! 這已經不是你看一看、 記一記, 就可以輕鬆應付的了, 需要動手做一做, 讓懷疑的地方有一個清楚的答案, 把一個一個的問號徹底忘掉。

第一步:簡化問題

比方說:

  1. 題目要你準備十個數字, 你可以準備一兩個數字夠測試就好了。

  2. 題目要你做十種不同的步驟, 你可以把不熟悉的先拿掉, 然後再把無法拿掉的用百分之一百正確的等效敘述來取代: 假使題目要求你讀入一數並計算其平方根, 然後再做某些處理的話, 你可以假設一個數字例如說 2, 然後按一按計算機輕鬆地把它的平方根算出來, 然後用 x = 1.414... ; 來取代, 把重心一次放在一個地方來測試就好了。

  3. 題目要求你做同樣的事做十次, 那當然只要先做一次試看看囉!

第二步:欲速則不達-針對每一個單一的問題來尋找解答

  1. 無論是文法上或是語意上或是邏輯上的問題, 都應該獨立出來測試, 只要有懷疑, 就應該設計實驗來檢查, 一個錯誤大部分都可以輕鬆的找到, 兩個以上的錯誤可就錯縱複雜了。

  2. 仔細思考程式變數內資料或是狀態轉變的過程, 程式做得到的你一定也做得到, 先要自己演練一遍。

  3. 安排檢查點: 每一段程式在執行之後都會更改一些資料或是狀態變數, 請你將這些資料列印出來檢查。

第三步:逐步增加程式的功能與複雜度

  1. 把前面第一步簡化的東西慢慢地增加回來

注意:

  1. 大的程式應該要視程式的功能性質來規劃, 甚至選擇不同的程式語言來製作, 細節就不在這裡說了。

  2. 你也許會覺得這樣子寫程式會不會變成一種且戰且走、 湊答案的過程? 別擔心, 你應該從另一個角度來看, 在簡化問題的同時, 其實你在做一個抽象化的動作, 把很多枝節先隱藏起來, 先看最重要的地方, 這樣子寫出來的程式其實會有很清楚的邏輯架構, 是標準的 top-down 設計方法。

程式設計課程 首頁

製作日期: 99/01/18 by 丁培毅 (Pei-yih Ting)
E-mail: pyting@cs.ntou.edu.tw