自頂向下,逐步求精
定義:(E.W.Dijikstra)在1965年提出的,是軟體發展的一個重要的里程碑。它的主要觀點是採用自頂向下、逐步求精的程式設計方法;使用三種基本控制結構構造程式,任何程式都可由順序、選擇、迴圈三種基本控制結構構造。是以模組化設計為中心,將待開發的軟體系統劃分為若干個相互獨立的模組,這樣使完成每一個模組的工作變單純而明確,為設計一些較大的軟體打下了良好的基礎。
原則:
自頂向下
程式設計時,應先考慮總體,後考慮細節;先考慮全域性目標,後考慮區域性目標。不要一開始就過多追求眾多的細節,先從最上層總目標開始設計,逐步使問題具體化。
逐步細化
對複雜問題,應設計一些子目標作為過渡,逐步細化。
基本結構:
順序結構
順序結構表示程式中的各操作是按照它們出現的先後順序執行的。
選擇結構
選擇結構表示程式的處理步驟出現了分支,它需要根據某一特定的條件選擇其中的一個分支執行。選擇結構有單選擇、雙選擇和多選擇三種形式。
迴圈結構
迴圈結構表示程式反覆執行某個或某些操作,直到某條件為假(或為真)時才可終止迴圈。在迴圈結構中最主要的是:什麼情況下執行迴圈?哪些操作需要迴圈執行?迴圈結構的基本形式有兩種:當型迴圈和直到型迴圈。
當型迴圈:表示先判斷條件,當滿足給定的條件時執行迴圈體,並且在迴圈終端處流程自動返回到迴圈入口;如果條件不滿足,則退出迴圈體直接到達流程出口處。因為是”當條件滿足時執行迴圈”,即先判斷後執行,所以稱為當型迴圈。
直到型迴圈:表示從結構入口處直接執行迴圈體,在迴圈終端處判斷條件,如果條件不滿足,返回入口處繼續執行迴圈體,直到條件為真時再退出迴圈到達流程出口處,是先執行後判斷。因為是”直到條件為真時為止”,所以稱為直到型迴圈。
應用
洗衣機中的“自頂向下、逐步求精”的偽碼
1選擇洗衣模式:對應水位,注水時間
2注水, 水位計計水位
3浸泡, 計時器計時
4電機轉動, 左3次,右3次
5排水, 水位計計水位
6電機轉動(脫水)
7結束