计算机逻辑算法,算法逻辑
算法可以理解為由基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解題步驟,或者看成按照要求設(shè)計(jì)好的有限的確切的計(jì)算序列,并且這樣的步驟和序列可以解決一類問題。一般算法有順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種基本邏輯結(jié)構(gòu)。
中文名
算法邏輯
外文名
Algorithm logic
分????類
計(jì)算機(jī) 編程基本結(jié)構(gòu)
順序 選擇 循環(huán)
常????用
流程圖
優(yōu)????勢(shì)
簡(jiǎn)潔
特????點(diǎn)
只有一個(gè)出口和入口
算法邏輯簡(jiǎn)介
編輯
語(yǔ)音
算法可以理解為由基本運(yùn)算及規(guī)定的運(yùn)算順序所構(gòu)成的完整的解題步驟,或者看成按照要求設(shè)計(jì)好的有限的確切的計(jì)算序列,并且這樣的步驟和序列可以解決一類問題。
我們可以用自然語(yǔ)言來描述一個(gè)算法詳細(xì)信息,但這樣做的話,往往過程比較復(fù)雜,缺乏簡(jiǎn)潔性,同時(shí)自然語(yǔ)言描述的內(nèi)容可能使不同的讀者產(chǎn)生不同的理解,因此,我們很有必要來探究使算法表達(dá)得更加簡(jiǎn)潔,更加直觀,更加準(zhǔn)確的方法,其中最普遍使用到的是程序流程圖。
一般算法有順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種基本邏輯結(jié)構(gòu)。
算法邏輯順序結(jié)構(gòu)
編輯
語(yǔ)音
順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),框與框之間,語(yǔ)句與語(yǔ)句之間,都是按照它們出現(xiàn)的先后順序依次進(jìn)行的,即它是由若干個(gè)依次執(zhí)行的處理步驟組成的。可以說順序結(jié)構(gòu)是任何一個(gè)算法都離不開的一種基本邏輯結(jié)構(gòu)。
如圖1,其中A和B兩個(gè)框是依次執(zhí)行的,只有在執(zhí)行完A框所指定的操作后,才能接著執(zhí)行B框所指定的操作。順序結(jié)構(gòu)的一個(gè)簡(jiǎn)單的例子是交換變量a和b的值。
圖1
算法如下:
S1:m=a; S2:a=b;S1:b=m;
程序框圖如圖2:
圖2
例:尺規(guī)作圖,確定線段一個(gè)五等分點(diǎn)。
步驟:1、從線段的左端A點(diǎn)出發(fā)做一條射線;
2、在射線上取點(diǎn)C,得到單位線段AC;
3、在射線上做線段CE=AC;EF=AC;FG=AC;GD=AC;
4、連接DB;
5、過C做BD的平行線,交線段AB于M,即為五等分點(diǎn)。
算法邏輯選擇結(jié)構(gòu)
編輯
語(yǔ)音
在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷、算法的流程根據(jù)條件是否成立有不同的流向,這種先根據(jù)條件作出判斷,再?zèng)Q定執(zhí)行哪一種操作的結(jié)構(gòu)稱為選擇結(jié)構(gòu),如圖3所示的一個(gè)條件分支結(jié)構(gòu),此結(jié)構(gòu)中包含一個(gè)判斷框,根據(jù)給定的條件P是否成立而選擇執(zhí)行A框或B框,請(qǐng)注意,無論P(yáng)條件是否成立,只能執(zhí)行A框或B框之一,不可能既執(zhí)行A框又執(zhí)行B框,也不可能A框和B框都不執(zhí)行。無論走哪一條路徑,在執(zhí)行完A框或B框之后,脫離本選擇結(jié)構(gòu)。A框或B框兩個(gè)框中,可以有一個(gè)是空的,即不執(zhí)行任何操作。
圖3
例:輸入3個(gè)數(shù)a,b,c,要求輸出最大值
步驟:
1、先比較2個(gè)數(shù),取其中大者與第三個(gè)數(shù)比較,得出較大者為最大數(shù),記為max
2、輸入a,b,c
3、比較a,b,若a>b,則執(zhí)行第三步;否則,執(zhí)行第四步
4、比較a,c,若a>c,則輸出最大數(shù)max=a;否則,輸出最大數(shù)max=c
5、比較b,c,若b>c,則輸出最大數(shù)max=b;否則,輸出最大數(shù)max=c。
算法邏輯循環(huán)結(jié)構(gòu)
編輯
語(yǔ)音
需要重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu),即從某處開始,按照一定條件反復(fù)執(zhí)行某一處理步驟,反復(fù)執(zhí)行的處理步驟稱為循環(huán)體。循環(huán)結(jié)構(gòu)中通常都有一個(gè)起循環(huán)計(jì)數(shù)作用的變量,這個(gè)變量的取值一般都包含在執(zhí)行或終止循環(huán)的條件中。循環(huán)結(jié)構(gòu)有while型循環(huán)(也稱當(dāng)型循環(huán))和until型循環(huán)(也稱直到型循環(huán))兩種。
例:求解1到100之間所有數(shù)字之和
我們可以知道,只有在滿足循環(huán)條件的情況下,才能執(zhí)行循環(huán)體的操作。那么,在算法中,也會(huì)存在這種情況呢:循環(huán)條件永遠(yuǎn)滿足導(dǎo)致循環(huán)體一直會(huì)被執(zhí)行。
如果出現(xiàn)類似這種循環(huán),我們稱之為死循環(huán)。因?yàn)檠h(huán)條件滿足,則循環(huán)體會(huì)被無休止的執(zhí)行下去,直到資源耗盡,那么,假若在循環(huán)結(jié)構(gòu)之后還有其它的算法步驟,則沒有機(jī)會(huì)被執(zhí)行到。為了避免這種情況的出現(xiàn),我們應(yīng)該盡量在循環(huán)體中構(gòu)建出能夠退出循環(huán)的條件,以確保循環(huán)結(jié)構(gòu)之后的算法步驟能夠被執(zhí)行到。當(dāng)然,我們也可以在循環(huán)體中使用break,continue,return這樣的跳轉(zhuǎn)語(yǔ)句來使循環(huán)體有機(jī)會(huì)被跳出[1]
。
算法邏輯特點(diǎn)
編輯
語(yǔ)音
這三種基本結(jié)構(gòu)的共同特點(diǎn)是:
1、只有一個(gè)入口和出口。
2、結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到,也就是說對(duì)每一個(gè)框來說都應(yīng)當(dāng)有一條從入口到出口的路徑通過它,沒有一條從入口到出口的路徑通過它,就是不符合要求的算法結(jié)構(gòu)。
3、結(jié)構(gòu)內(nèi)不存在死循環(huán),即無終止的循環(huán),在流程圖中是不允許死循環(huán)的。
詞條圖冊(cè)
更多圖冊(cè)
總結(jié)
以上是生活随笔為你收集整理的计算机逻辑算法,算法逻辑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python DataFrame数据合并
- 下一篇: 13位巴克码二相相位编码模糊图