10分鍾內學會流程圖


流程圖定義:

流程圖是算法的圖形表示,該算法使用不同形狀的框來表示不同類型的指令。這些指令按照邏輯順序執行以產生所需的輸出。
 
實際說明使用清晰簡潔的語句寫在這些框中。這些框由帶有箭頭標記的實線連接,以指示要執行指令的確切順序的操作流程。

流程圖的歷史:

1921 年,弗蘭克·吉爾布雷斯 (Frank Gilbreth ) 在“尋找最佳方法的第一步”演講中向美國機械工程師協會 ( ASME )的成員介紹了第一種用於記錄流程的結構化方法
 
Gilbreth 的工具很快就進入了工業工程課程。1930 年代初期,工業工程師艾倫·赫伯特·摩根森Allan Herbert Mogensen)在紐約普萊西德湖舉行的工作簡化會議上開始培訓商人使用一些工業工程工具。
 
Douglas Hartree解釋說Herman Goldstein 和 John von Neumann開發了一個流程圖(最初是圖表)來規划計算機程序。流程圖曾經是描述計算機算法的流行手段,現在仍然用於此目的。

流程圖的目的:

假設我們的老師要求我們解決一個算術問題,而我們不熟悉解決該問題的步驟。在這種情況下,我們將無法解決該問題。同樣的原則也適用於編寫計算機程序。除非程序員知道如何手動解決程序,否則程序員無法編寫計算機遵循的指令。
 
現在假設我們知道解決問題的步驟,但是在解決問題的過程中,如果我們忘記應用某些步驟或者我們以錯誤的順序應用了計算步驟,那么顯然我們會得到錯誤的答案。同樣,在編寫計算機程序時,如果程序員忘記編寫某些指令或以錯誤的順序編寫指令,那么計算機將計算出錯誤的答案。
 
因此我們可以得出結論,每個程序員都必須按照正確的順序編寫每條指令。為了確保程序指令適合問題並按正確順序排列,程序必須在編寫之前進行規划。
 
因此,在編寫任何計算機程序之前,必須編寫該程序的算法和流程圖。這稱為編寫程序的兩步法。

算法:

術語算法可以定義為以這樣的方式設計的指令序列,如果指令以指定的順序執行,將獲得期望的結果。
 

繪制流程圖的步驟:

通常,算法首先以流程圖的形式表示,然后流程圖以某種編程語言表示以准備計算機程序。
 
這種編寫程序的兩步方法的主要優點是在繪制流程圖時不關心編程語言元素的細節。
 
由於流程圖以圖形形式顯示操作流程。因此,在程序的情況下,可以很容易地檢測到程序邏輯中的任何錯誤。
 
一旦流程圖准備好,程序員就可以忘記程序的邏輯,而可以專注於根據編程 語言對流程圖的每個框的操作進行編碼這將確保程序無錯誤。

流程圖符號:

眾所周知,流程圖使用不同形狀的框來表示不同類型的指令。通過使用具有標准化含義的符號,可以更輕松地通過流程圖進行程序邏輯的交流。例如菱形框總是意味着一個決定。在流程圖中只需要幾個符號來指示必要的操作。這些符號已由美國國家標准協會標准化。
 
流程圖符號

終端 (Terminal):

終止符號用於指示程序邏輯流程中的開始(START)、結束(STOP)和暫停(HALT)。它是程序邏輯中的第一個符號。此外,如果程序邏輯要求在程序中暫停,則也用終止符號表示。在某些錯誤條件下,程序邏輯中通常會使用暫停。

輸入和輸出 (Input and Output):

輸入/輸出符號用於表示程序中輸入/輸出設備的任何功能。如果有從磁盤、磁帶、讀卡器、終端或任何其他類型的輸入設備輸入數據的程序指令,該步驟將在流程圖中用輸入/輸出符號指示。同樣,所有輸出指令,無論是在打印機、磁帶、磁盤、終端屏幕或任何輸出設備上輸出,都在流程圖中用輸入/輸出符號表示。

處理 (Process):

流程圖中使用處理符號來表示算術和數據移動指令。因此,加法、減法、乘法和除法的所有算術處理均由處理符號表示。將數據從主存儲器的一個位置移動到另一個位置的邏輯過程也用這個符號表示。當要連續執行多條算術和數據移動指令時,通常將它們放在同一個處理盒中,並假定它們按出現的順序執行。

流程 (Flowlines):

帶箭頭的流線用於指示操作流程,即指令執行的確切順序。流程圖的正常流程是從上到下,從左到右。僅當不遵循正常的從上到下流動時才需要箭頭。然而,作為一種良好的做法,為了避免歧義,流線通常在符號的入口處用箭頭繪制。良好的實踐要求流線不應相互交叉,並且應盡可能避免此類交叉。

決定 (Decision):

決策符號在流程圖中用於指示必須做出決策的點,並且可以分支到兩個或多個備選點之一。下圖顯示了可以使用決策符號的三種不同方式。從這些例子中可以看出,決策的標准應該在決策框內清楚地指明。在執行期間,根據決策結果遵循適當的路徑。

連接器 (Connector):

如果流程圖變得很長,流程線會在許多地方開始交叉,這會導致混亂並降低流程圖的可理解性。此外,在某些情況下,流程圖變得太長而無法放入單個頁面,並且無法使用流程線。因此,每當流程圖變得足夠復雜以致流線的數量和方向令人困惑或它分布在一頁以上時,使用連接符符號代替流線是很有用的。此符號代表流程圖的另一部分的入口或出口。
 
連接器符號由圓圈表示,圓圈內放置一個字母或數字以指示鏈接。當線路的使用令人困惑時,通常使用一對相同標記的連接器符號來表示連續流動。因此,具有相同標簽的兩個連接器與沿流線具有相同的功能。也就是說,它們顯示了某個其他圖表部分的退出,或者它們指示了圖表另一部分的入場。
 
如何確定連接器是用作入口點還是出口點?答案很簡單,如果箭頭進入但沒有離開連接器,那么它就是一個退出點,程序控制被轉移到具有出口的相同連接器。
 
需要注意的是,連接符不用於表示任何操作,它們在流程圖中的使用只是為了方便和清晰。

流程圖類型:

對於流程圖中應提供的細節數量,沒有設定標准。概述程序主要部分或顯示較少細節的流程圖稱為宏流程圖。另一方面,具有更多細節的流程圖稱為微流程圖或詳細流程圖。

流程圖規則:

正如我們所知,程序員在創建流程圖時有很大的自由度,但是在創建流程圖時必須遵循一些一般規則和准則。這些規則和指南由美國國家標准協會推薦。各個計算機制造和數據處理部門通常具有相似的流程圖標准。其中一些規則和准則如下:
  1. 首先繪制邏輯的主線,然后合並細節。
  2. 為給定的流程圖保持一致的細節級別。
  3. 不要繪制每個細節。
  4. 流程圖符號中的單詞應該是常見的語句並且易於理解。建議使用以設計者自己的語言而不是面向機器的語言編寫的描述性標題。
  5. 在流程圖中使用名稱和變量時要保持一致。
  6. 從左到右,從上到下構建流程圖。
  7. 保持流程圖盡可能簡單。應盡可能避免跨越流線。
  8. 如果需要新的流程圖頁面,建議在輸入或輸出點斷開流程圖。此外,應使用正確標記的連接器來鏈接不同頁面上的流程圖​​部分。

流程圖的優點:

更好的溝通:

由於流程圖是程序的圖形表示,因此程序員更容易通過流程圖而不是程序本身向其他程序員或他的老板解釋程序的邏輯。

有效流程圖:

繪制軟件系統邏輯主線的宏流程圖成為一個系統模型,可以分解為詳細的部分,以便對系統進行研究和進一步分析。

有效合成:

一群程序員通常與大型軟件系統的設計有關。每個程序員只負責設計整個系統的一部分。因此,最初如果每個程序員為其設計部分繪制流程圖,則可以將所有程序員的流程圖放在一起以可視化整個系統設計。在這個階段可以很容易地檢測到連接系統各個部分的任何問題,並且可以相應地修改設計。因此,流程圖在新程序和系統軟件的設計中被用作工作模型。

高效編碼:

一旦流程圖准備好,程序員就會發現編寫相關程序非常容易,因為流程圖充當了他們的路線圖。它引導他們從程序的起點走到終點,確保沒有遺漏任何步驟。最終結果是以更快的速度開發出無錯誤的程序。

系統調試:

即使在程序設計中充分注意之后,程序中仍可能存在一些錯誤,因為設計者可能從未考慮過特定​​情況。只有當我們開始在計算機上執行程序時才會檢測到這些錯誤。這種類型的程序錯誤稱為錯誤,消除這些錯誤的過程稱為調試。
 
一旦檢測到錯誤,通過以流程圖形式查看程序邏輯,就可以更容易地找出該錯誤的原因。流程圖對於系統地檢測、定位和消除程序中的錯誤非常有幫助。

系統測試:

測試是確認程序是否能夠成功完成在指定約束下為其設計的所有工作的過程。為了測試程序,將不同的數據集作為該程序的輸入,以測試程序邏輯中的不同路徑。

流程圖的限制:

盡管有許多明顯的優點,流程圖有幾個局限性,如下所示:
  1. 流程圖非常耗時。
  2. 由於流程圖的符號字符串性質,程序邏輯中的任何更改或修改通常都需要一個全新的流程圖。
  3. 沒有標准來確定流程圖中應包含的細節數量。

流程圖示例

下面是幾個流程圖示例。了解如何實際應用流程圖。

流程圖示例 – 醫療服務

這是一個醫院流程圖示例,顯示了如何處理臨床病例。該流程圖大量使用決策形狀來表示替代流程。

流程圖示例:醫療服務

流程圖示例——簡單算法

流程圖也可用於可視化算法,無論其復雜程度如何。下面是一個示例,說明如何使用流程圖來顯示簡單的求和過程。

流程圖示例:簡單算法

流程圖示例 – 計算損益

下面的流程圖示例顯示了如何計算損益。

流程圖示例:計算盈虧

 

 

Online Flowchart Tool
A Comprehensive Guide to Flowchart with 50+ Examples
Flowchart Tutorial (with Symbols, Guide and Examples)
Free Online Flowchart Editor - Diagrams
Flowchart Made Easy
Flowchart Tutorial - Visual Paradigm Online
Visual Paradigm Online for Office

 


免責聲明!

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



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