流程圖符號及流程圖的例子


介紹常見的流程圖符號及流程圖的例子。
    本章例1 - 1的算法的流程圖如圖1 - 2所示。本章例1 - 2的算法的流程圖如圖1 - 3所示。
在流程圖中,判斷框左邊的流程線表示判斷條件為真時的流程,右邊的流程線表示條件為假時的流程,有時就在其左、右流程線的上方分別標注“真”、“假”或“T”、“F”或“Y”、“N”


另外還規定,流程線是從下往上或從右向左時,必須帶箭頭,除此以外,都不畫箭頭,流程線的走向總是從上向下或從左向右。

2. 算法的結構化描述
    早期的非結構化語言中都有go to語句,它允許程序從一個地方直接跳轉到另一個地方去。
執行這樣做的好處是程序設計十分方便靈活,減少了人工復雜度,但其缺點也是十分突出的,一大堆跳轉語句使得程序的流程十分復雜紊亂,難以看懂也難以驗證程序的正確性,如果有錯,排起錯來更是十分困難。這種轉來轉去的流程圖所表達的混亂與復雜,正是軟件危機中程序人員處境的一個生動寫照。而結構化程序設計,就是要把這團亂麻理清。
經過研究,人們發現,任何復雜的算法,都可以由順序結構、選擇(分支)結構和循環結構這三種基本結構組成,因此,我們構造一個算法的時候,也僅以這三種基本結構作為“建築單元”,遵守三種基本結構的規范,基本結構之間可以並列、可以相互包含,但不允許交叉,不允許從一個結構直接轉到另一個結構的內部去。正因為整個算法都是由三種基本結構組成的,就像用模塊構建的一樣,所以結構清晰,易於正確性驗證,易於糾錯,這種方法,就是結構化方法。遵循這種方法的程序設計,就是結構化程序設計。
    相應地,只要規定好三種基本結構的流程圖的畫法,就可以畫出任何算法的流程圖。
(1) 順序結構
順序結構是簡單的線性結構,各框按順序執行。其流程圖的基本形態如圖1 - 4所示,語句
的執行順序為:A→B→C。
(2) 選擇(分支)結構
這種結構是對某個給定條件進行判斷,條件為真或假時分別執行不同的框的內容。其基本形狀有兩種,如圖1-5 a)、b)所示。圖1-5 a)的執行序列為:當條件為真時執行A,否則執行B;圖1 - 5 b)的執行序列為:當條件為真時執行A,否則什么也不做。

(3) 循環結構
循環結構有兩種基本形態: while型循環和do - while型循環。
a. while 型循環
如圖1 - 6所示。
其執行序列為:當條件為真時,反復執行A,一旦條件為假,跳出循環,執行循環緊后的語句。
b. do-while型循環
如圖1 - 7所示。

執行序列為:首先執行A,再判斷條件,條件為真時,一直循環執行A,一旦條件為假,結束循環,執行循環緊后的下一條語句。
    在圖1 - 6、圖1 - 7中,A被稱為循環體,條件被稱為循環控制條件。要注意的是:
1) 在循環體中,必然對條件要判斷的值進行修改,使得經過有限次循環后,循環一定能
結束,如圖1 - 3中的i = i - 1。
2) 當型循環中循環體可能一次都不執行,而直到型循環則至少執行一次循環體。
3) 直到型循環可以很方便地轉化為當型循環,而當型循環不一定能轉化為直到型循環。
例如,圖1 - 7可以轉化為圖1 - 8。

七,用N-S圖描述算法
N - S圖是另一種算法表示法,是由美國人I . Nassi和B.Shneiderman共同提出的,其根據是:
既然任何算法都是由前面介紹的三種結構組成,所以各基本結構之間的流程線就是多余的,因此,N - S圖也是算法的一種結構化描述方法。
N - S圖中,一個算法就是一個大矩形框,框內又包含若干基本的框,三種基本結構的N - S圖描述如下所示:
1. 順序結構
如圖1 - 9所示,執行順序先A后B。
2. 選擇結構
對應於圖1 - 5的N - S圖為圖1 - 1 0。圖1-10 a)條件為真時執行A,條件為假時執行B。圖1 - 1 0
條件為真時執行A,為假時什么都不做。

3. 循環結構
1) while型循環的N - S圖如圖1 - 11所示,條件為真時一直循環執行循環體A,直到條件為假時才跳出循環。
2) do-while型循環的N - S圖如圖1 - 1 2,一直循環執行循環體A,直到條件為假時才跳出循環。
本章例1 - 1的N - S圖如圖1 - 1 3,例1 - 2的N - S圖如圖1 - 1 4。應該說,N - S圖比流程圖更直觀易懂,而且相對簡練一些。

八,用PAD圖描述算法    
    PAD (Problem Analysis Diagram),是近年來在軟件開發中被廣泛使用的一種算法的圖形表示法,與前述的流程圖、N - S圖相比,流程圖、N - S圖都是自上而下的順序描述,而PAD圖除了自上而下以外,還有自左向右的展開,所以,如果說流程圖、N - S圖是一維的算法描述的話,則PAD圖就是二維的,它能展現算法的層次結構,更直觀易懂。
下面是PAD圖的幾種基本形態:
1. 順序結構:
如圖1 - 1 5所示。
2. 選擇結構
(1) 單分支選擇,條件為真執行A,如圖1-16 a)。
(2) 兩分支選擇,如圖1-16 b),條件為真執行A,為假執行B。
(3) 多分支選擇,如圖1-16 c),當I = I1時執行A,I= I2時執行B,I = I3時執行C,I = I4時執行D。

3. 循環結構
如圖1 - 1 7所示。圖1-17 a)為while型循環,圖1-17 b)為do - while型循環。

本章例1 . 1的PA D圖如圖1 - 1 8,例1 - 2的PA D圖如圖1 - 1 9


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM