算法邏輯

算法邏輯

算法可以理解為由基本運算及規定的運算順序所構成的完整的解題步驟,或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。一般算法有順序結構、選擇結構、循環結構三種基本邏輯結構。

基本介紹

  • 中文名:算法邏輯
  • 外文名:Algorithm logic
  • 分類:計算機 編程
  • 基本結構:順序 選擇 循環
  • 常用:流程圖
  • 優勢:簡潔
  • 特點:只有一個出口和入口
簡介,順序結構,選擇結構,循環結構,特點,

簡介

算法可以理解為由基本運算及規定的運算順序所構成的完整的解題步驟,或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。
我們可以用自然語言來描述一個算法詳細信息,但這樣做的話,往往過程比較複雜,缺乏簡潔性,同時自然語言描述的內容可能使不同的讀者產生不同的理解,因此,我們很有必要來探究使算法表達得更加簡潔,更加直觀,更加準確的方法,其中最普遍使用到的是程式流程圖。
一般算法有順序結構、選擇結構、循環結構三種基本邏輯結構。

順序結構

順序結構是最簡單的算法結構,框與框之間,語句與語句之間,都是按照它們出現的先後順序依次進行的,即它是由若干個依次執行的處理步驟組成的。可以說順序結構是任何一個算法都離不開的一種基本邏輯結構。
如圖,其中A和B兩個框是依次執行的,只有在執行完A框所指定的操作後,才能接著執行B框所指定的操作。順序結構的一個簡單的例子是交換變數a和b的值。
算法邏輯
算法如下:
S1:m=a; S2:a=b;S1:b=m;
程式框圖如圖:
算法邏輯

算法邏輯
例:尺規作圖,確定線段一個五等分點。
步驟:1、從線段的左端A點出發做一條射線;
2、在射線上取點C,得到單位線段AC;
3、在射線上做線段CE=AC;EF=AC;FG=AC;GD=AC;
4、連線DB;
5、過C做BD的平行線,交線段AB於M,即為五等分點。

選擇結構

在一個算法中,經常會遇到一些條件的判斷、算法的流程根據條件是否成立有不同的流向,這種先根據條件作出判斷,再決定執行哪一種操作的結構稱為選擇結構,如下圖所示的一個條件分支結構,此結構中包含一個判斷框,根據給定的條件P是否成立而選擇執行A框或B框,請注意,無論P條件是否成立,只能執行A框或B框之一,不可能既執行A框又執行B框,也不可能A框和B框都不執行。無論走哪一條路徑,在執行完A框或B框之後,脫離本選擇結構。A框或B框兩個框中,可以有一個是空的,即不執行任何操作。
算法邏輯
例:輸入3個數a,b,c,要求輸出最大值
步驟:
算法邏輯
1、先比較2個數,取其中大者與第三個數比較,得出較大者為最大數,記為max
2、輸入a,b,c
3、比較a,b,若a>b,則執行第三步;否則,執行第四步
4、比較a,c,若a>c,則輸出最大數max=a;否則,輸出最大數max=c
5、比較b,c,若b>c,則輸出最大數max=b;否則,輸出最大數max=c。

循環結構

需要重複執行同一操作的結構稱為循環結構,即從某處開始,按照一定條件反覆執行某一處理步驟,反覆執行的處理步驟稱為循環體。循環結構中通常都有一個起循環計數作用的變數,這個變數的取值一般都包含在執行或終止循環的條件中。循環結構有while型循環(也稱當型循環)和until型循環(也稱直到型循環)兩種。
算法邏輯
例:求解1到100之間所有數字之和
算法邏輯
我們可以知道,只有在滿足循環條件的情況下,才能執行循環體的操作。那么,在算法中,也會存在這種情況呢:循環條件永遠滿足導致循環體一直會被執行。
如果出現類似這種循環,我們稱之為死循環。因為循環條件滿足,則循環體會被無休止的執行下去,直到資源耗盡,那么,假若在循環結構之後還有其它的算法步驟,則沒有機會被執行到。為了避免這種情況的出現,我們應該儘量在循環體中構建出能夠退出循環的條件,以確保循環結構之後的算法步驟能夠被執行到。當然,我們也可以在循環體中使用break,continue,return這樣的跳轉語句來使循環體有機會被跳出。

特點

這三種基本結構的共同特點是:
1、只有一個入口和出口。
2、結構內的每一部分都有機會被執行到,也就是說對每一個框來說都應當有一條從入口到出口的路徑通過它,如圖中的A,沒有一條從入口到出口的路徑通過它,就是不符合要求的算法結構。
3、結構內不存在死循環,即無終止的循環,像右圖就是一個死循環,在流程圖中是不允許死循環的。

相關詞條

熱門詞條

聯絡我們