算法特性:
(1)有窮性。
(2)確定性。
(3)有零個或多個輸入。
(4)有一個或多個輸出。
(5)有效性。
2、4怎樣表示一個算法
算法:可以用不同道方法表示。我們常用的表示方法:自然語言、傳統流程圖、結構化流程圖、偽代碼等。
(1)自然語言
(2)用流程圖表示
如算法(上一節)里面例題的流程圖:
通過例子可以看出流程圖的表示算法,一個流程圖包含:
(1)表示相應操作的框。
(2)帶箭頭的流程線。
(3)框內外必要的文字說明。
提示:流程線不要忘記畫箭頭,因為它是反映流程的執行先后次序的,如不畫出箭頭就很難判斷各框的執行次序。
用流程圖表示算法直觀形象,比較輕清楚地顯示出各個框之間的邏輯關系。
2、3基本結構和改進的流程圖
1、傳統流程圖的弊端
傳統的流程圖用流程線指出各框的執行順序,對流程線的使用沒有嚴格的限制。因此,使用者可以毫不受限制地使流程隨意地轉來轉去,使流程圖變得毫無規律,讓讀者花很的大精力去追流程,使人難以理解算法的邏輯。
2、基本結構
(1)順序結構。 (2)選擇結構。 (3)循環結構 1.當(while)型循環結構 2.直到(until)型循環結構
提示:如果遇到循環問題即可以用當型循環來處理,也可以用直到型循環來處理。
以上三種結構,有以下共同特點:
1.只有一個入口。
2.只有一個出口。
3.結構內的每一部分都有機會被執行到。(也就是說,對每一框來說,都有一條從入口到出口的路徑通道。)
4.結構內部不存在"死循環"(無終止的循環)。
2.4用N-S流程圖表示算法
1973年美國學者I.Nassi和B.Shneiderman提出了一直新的流程圖形式。這種流程圖中,完全去掉了帶箭頭的流程線。全部算法寫在一個矩形框內,在該框內還可以包含其他的從屬與它的框,或者由一些基本的框組成一個大的框。這種流程圖又稱N-S結構化流程圖。
N-S流程圖用以下的流程圖符號。
1.順序結構 2.選擇結構 3.循環結構 (3.1)直到型循環結構
2.5 用偽代碼表示算法
偽代碼:是用於介於自然語言和計算機語言之間的文字何和符號的描述算法。
例如上2.2例題,
1.開始 2.置t的初值為1 3.置i的初值為2 4.當i<=5;執行操作 使t=t*i 使i=i+1 (循環體到此結束) 5.輸出t的值 6.結束
或1=t 2=i while i<=5 (t*i=t i+1=i) print t
2.6 用計算機語言表示算法
算法:1.設計算法 2.實現算法
設計算法的目的是為了實現算法。
2.7 結構化程序設計方法
一個結構化程序就是用高級語言表示的結構化算法。
用2種基本結構化組成的程序必然是結構化程序,這種程序便於編寫、便於閱讀、便於修改和維護。
結構化程序設計方法的基本思路:把一個復雜的問題是求解過程分階段進行,每個階段處理的問題都控制在人們容易理解和出來的范圍內。
采取以下方法來保證得到結構化的程序:
(1)自頂向下 (2)逐步細化 (3)模塊化設計 (4)結構化編碼
編碼:就是將以設計號短發用計算機語言來表示,即根據已經細化的算法正確地寫出計算機程序。
不足或不正確的地方還請指正,謝謝各位的關注。。。。。。