程序流程圖

直觀清晰描述程序運行步驟的圖

程序流程圖又稱程序框圖,是用統一規定的標準符號描述程序運行具體步驟的圖形表示。程序框圖的設計是在處理流程圖的基礎上,通過對輸入輸出數據和處理過程的詳細分析,將計算機的主要運行步驟和內容標識出來。程序框圖是進行程序設計的最基本依據,因此它的質量直接關係到程序設計的質量。

簡介


程序流程圖是用規定的符號描述一個專用程序中所需要的各項操作或判斷的圖示。這種流程圖著重說明程序的邏輯性與處理順序,具體描述了微機解題的邏輯及步驟。當程序中有較多循環語句和轉移語句時,程序的結構將比較複雜,給程序設計與閱讀造成困難。程序流程圖用圖的形式畫出程序流向,是演演算法的一種圖形化表示方法,具有直觀、清晰、更易理解的特點。
程序流程圖由處理框、判斷框、起止框、連接點、流程線、註釋框等構成,並結合相應的演演算法,構成整個程序流程圖。
處理框具有處理功能;判斷框(菱形框)具有條件判斷功能,有一個入口,二個出口;起止框表示程序的開始或結束;連接點可將流程線連接起來;流程線(表示流程的路徑和方向;註釋框是為了對流程圖中某些框的操作做必要的補充說明。

三種基本結構


任何複雜的演演算法,都可以由順序結構、選擇(分支)結構和循環結構這三種基本結構組成,因此,構造一個演演算法的時候,也僅以這三種基本結構作為“建築單元”,遵守三種基本結構的規範,基本結構之間可以並列、可以相互包含,但不允許交叉,不允許從一個結構直接轉到另一個結構的內部去。正因為整個演演算法都是由三種基本結構組成的,就像用模塊構建的一樣,所以結構清晰,易於正確性驗證,易於糾錯,這種方法,就是結構化方法。遵循這種方法的程序設計,就是結構化程序設計。相應地,只要規定好三種基本結構的流程圖的畫法,就可以畫出任何演演算法的流程圖。

順序結構

順序結構是簡單的線性結構,各框按順序執行。其流程圖的基本形態如圖所示,語句的執行順序為:
程序流程圖
程序流程圖
A→B→C。

選擇分支結構

這種結構是對某個給定條件進行判斷,條件為真或假時分別執行不同的框的內容。其基本形狀有兩種。
程序流程圖
程序流程圖

循環結構

循環結構有兩種基本形態: while型循環和do - while型循環。a. while 型循環:其執行序列為:當條件為真時,反覆執行A,一旦條件為假,跳出循環,執行循環緊后的語句。b. do-while型循環:執行序列為:首先執行A,再判斷條件,條件為真時,一直循環執行A,一旦條件為假,結束循環,執行循環緊后的下一條語句。
程序流程圖
程序流程圖

作用及優點


程序流程圖是人們對解決問題的方法、思路或演演算法的一種描述。
1.流程圖的優點:
(a)採用簡單規範的符號,畫法簡單;
(b)結構清晰,邏輯性強;
(c)便於描述,容易理解。
2.流程圖採用的符號
程序流程圖
程序流程圖
註:
(1)箭頭表示的是控制流
(2)矩形表示的是加工步驟
(3)菱形表示邏輯條件

實例分析


計算長方形面積的問題:
可分為以下幾個步驟:
(1)設置num1和num2兩個變數,接收用戶輸入的長度和寬度,並存儲到num1和num2兩個變數;
(2)判斷num1和num2是否大於0,如果大於0,繼續下一個步驟,否則提示用戶長度和寬度輸入錯誤,演演算法結束;
(3)計算num1和num2的乘積,並將乘積結果存儲到result變數;
(4)顯示result變數的值到屏幕。
其計算流程圖為:
演演算法如下:
#includemain(){int num1,num2,mj;printf("請輸入長方形的長和寬");scanf("%d%d",&num1,&num2);mj=num1*num2;printf("此長方形面積=%d",mj);}