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