【正文】
結束} 55 55 167。 用計算機語言表示算法 ? 概念: 用計算機實現算法。計算機是無法識別流程圖和偽代碼的。只有用計算機語言編寫的程序才能被計算機執(zhí)行。因此在用流程圖或偽代碼描述出一個算法后,還要將它轉換成計算機語言程序。 ? 特點: 用計算機語言表示算法必須嚴格遵循所用的語言的語法規(guī)則,這是和偽代碼不同的。 ? 用處: 要完成一件工作,包括設計算法和實現算法兩個部分。設計算法的目的是為了實現算法。 56 56 include void main( ) {int i,t。 t=1。 i=2。 while(i=5) {t=t*I。 i=i+1。 } printf(“%d \n”,t)。 } 例 將例 法(求 5!)用 C語言表示。 57 57 ? 應當強調說明: 寫出了 C程序,仍然只是描述了算法,并未實現算法。只有運行程序才是實現算法。應該說,用計算機語言表示的算法是計算機能夠執(zhí)行的算法。 58 58 一、結構化程序的三種基本結構 1966年提出三種基本結構,用這三種基本結構作為表 示一種良好算法的基本單元: 順序、選擇、循環(huán) 。任 何復雜的算法都是由這三種結構按照一定的規(guī)律組成。 ① 順序結構 167。 結構化程序設計方法 A B A B 操作步驟按照書寫的順序執(zhí)行 ,如: a=3。 b=4。 c=a+b。 59 59 ② 選擇結構 P A B T F P T F A B if (x != 0) y=1。 else y=2。 三種基本結構 60 60 ③ 循環(huán)結構 根據條件 P決定是否重復執(zhí)行循環(huán)體中的操作。 三種基本結構 P A T F 當 P為真 A 先判斷后執(zhí)行 A 直到 P為真 先執(zhí)行后判斷 P A T F 61 61 二、三種基本結構的共同特點 ① 單入口單出口 ② 結構體內的每一部分都有機會被執(zhí)行 ③ 不存在 “ 死循環(huán) ” 三、結構化程序設計的優(yōu)點 用三種基本結構組成的程序是結構化程序。 優(yōu)點:易編、易讀、易懂、易維護 62 62 167。 結構化程序設計方法 ? 自頂向下; ? 逐步細化; ? 模塊化設計; ? 結構化編碼。 兩種不同的方法: ? 自頂向下,逐步細化; ? 63 63 用這種方法逐步分解,直到作者認為可以直接將各小段表達為文字語句為止。這種方法就叫 做 “ 自頂向下,逐步細化 ” 。 64 64 自頂向下,逐步細化方法的優(yōu)點: 考慮周全,結構清晰,層次分明,作者容易寫,讀者容易看。如果發(fā)現某一部分中有一段內容不妥,需要修改,只需找出該部分修改有關段落即可,與其它部分無關。我們提倡用這種方法設計程序。這就是用工程的方法設計程序。 65 65 模塊設計的方法: ?模塊化設計的思想實際上是一種 “ 分而治之 ” 的思想,把一個大任務分為若干個子任務,每一個子任務就相對簡單了。 ?在拿到一個程序模塊以后,根據程序模塊的功能將它劃分為若干個子模塊,如果這些子模塊的規(guī)模還嫌大,還再可以劃分為更小的模塊。這個過程采用自頂向下方法來實現。 ?子模塊一般不超過 50行 ?劃分子模塊時應注意模塊的獨立性,即:使一個模塊完成一項功能,耦合性愈少愈好。 66 66 五、結構化程序設計過程 ① 確定算法:分析問題,寫出算法描述 ② 編寫程序:用計算機語言實現算法 ③ 上機調試:編輯、編譯、連接、執(zhí)行、輸出結果 更加規(guī)范的軟件設計過程可參見 《 軟件工程 》 ① 需求分析 ② 概要設計 ③ 詳細設計 ④ 編碼 ⑤ 測試 ⑥ 維護