第2章 演算法 — 程式的靈魂
一個程式主要包括以下兩方面的資訊:
對資料的描述。在程式中要指定用到哪些資料以及這些資料的型別和資料的組織形式 也就是資料結構(data structure)
對操作的描述。即要求計算機進行操作的步驟 也就是演算法(algorithm)
演算法 + 資料結構 = 程式
計算機演算法可分為兩大類別:
數值運算演算法 非數值運算演算法
數值運算的目的是求數值解 非數值運算包括的面十分廣泛,最常見的是用於事務管理領域
一個有效演算法應該具有一下特點:
1、有窮性
2、確定性
3、有零個或多個輸入
4、有一個或多個輸出
5、有效性
表示演算法的方法:
自然語言、傳統流程圖、結構化流程圖、虛擬碼、……
流程圖:
N-S流程圖:
例:求5!演算法用N-S圖表示。
將50名學生中成績高於80分者的學號和成績輸出。
結構化程式設計方法
結構化程式設計強調程式設計風格和程式結構的規範化,提倡清晰的結構。
結構化程式設計方法的基本思路是:把一個複雜問題的求解過程分階段進行,每個階段處理的問題都控制在人們容易理解和處理的範圍內。
採取以下方法保證得到結構化的程式: (1) 自頂向下; (2) 逐步細化; (3) 模組化設計; (4) 結構化編碼。