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

介紹常見的流程圖符號及流程圖的例子。

    本章例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 . NassiB.Shneiderman共同提出的,其根據是:

既然任何算法都是由前面介紹的三種結構組成,所以各基本結構之間的流程線就是多餘的,因此,N - S圖也是算法的一種結構化描述方法。

N - S圖中,一個算法就是一個大矩形框,框內又包含若干基本的框,三種基本結構的N - S圖描述如下所示:

1. 順序結構

如圖1 - 9所示,執行順序先AB

2. 選擇結構

對應於圖1 - 5N - 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 - 1N - S圖如圖1 - 1 3,例1 - 2N - 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時執行BI = I3時執行CI = I4時執行D。


3. 循環結構

如圖1 - 1 7所示。圖1-17 a)爲while型循環,圖1-17 b)爲do - while型循環。


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



轉帖網址:http://www.360doc.com/content/17/0829/15/46916002_683040190.shtml

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章