算法的基本邏輯結(jié)構(gòu)-正版_第1頁
算法的基本邏輯結(jié)構(gòu)-正版_第2頁
算法的基本邏輯結(jié)構(gòu)-正版_第3頁
算法的基本邏輯結(jié)構(gòu)-正版_第4頁
算法的基本邏輯結(jié)構(gòu)-正版_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 算法的基本邏輯結(jié)構(gòu)算法的基本邏輯結(jié)構(gòu) 一一、復(fù)復(fù)習(xí)習(xí)回回顧顧1 1、程程序序框框圖圖概概念念程程序序框框圖圖, ,又又稱稱流流程程圖圖, ,是是一一種種用用程程序序框框、流流程程線線及及文文字字說說明明來來準(zhǔn)準(zhǔn)確確、直直觀觀的的表表示示算算法法的的圖圖形形. .二二 、基本的程序框和它們各自表示的功能、基本的程序框和它們各自表示的功能終端框終端框(起止框起止框)表示一個算法的起始表示一個算法的起始和結(jié)束和結(jié)束輸入、輸入、輸出框輸出框表示一個算法輸入和表示一個算法輸入和輸出的信息輸出的信息處理框處理框(執(zhí)行框執(zhí)行框)判斷某一條件是否成立判斷某一條件是否成立,成立成立時在出口處標(biāo)明時在出口處標(biāo)明

2、“是是”或或“Y”;不成立時標(biāo)明;不成立時標(biāo)明“否否”或或“N”.判斷框判斷框賦值、計算賦值、計算流程線流程線連接程序框連接程序框連接點連接點連接程序框圖的兩部分連接程序框圖的兩部分求求n除以除以i余數(shù)余數(shù)ri的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?否否i=2輸入輸入nr=0?輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”是是否否順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)開始開始結(jié)束結(jié)束是是(1)順序結(jié)構(gòu)的形式為順序結(jié)構(gòu)的形式為(1)順序結(jié)構(gòu)順序結(jié)構(gòu)-是由若干個依次執(zhí)行的處理是由若干個依次執(zhí)行的處理步驟組成的步驟組成的.這是任何一個算法都離不開的這是任何一個算法都離

3、不開的基本結(jié)構(gòu)基本結(jié)構(gòu).練習(xí):任意給定一個正實數(shù)練習(xí):任意給定一個正實數(shù), ,設(shè)計一個算設(shè)計一個算法求以這個數(shù)為半徑的圓的面積法求以這個數(shù)為半徑的圓的面積. .第一步第一步: :輸入任意一個正實數(shù)輸入任意一個正實數(shù)r r;第二步第二步: :計算圓的面積計算圓的面積: S=: S=r r2 2; ;第三步第三步: :輸出圓的面積輸出圓的面積S.S.開始開始S=r2結(jié)束結(jié)束輸入正實數(shù)輸入正實數(shù)r輸出輸出S畫程序框圖的規(guī)則:畫程序框圖的規(guī)則:1 1、使用標(biāo)準(zhǔn)的程序框符號;、使用標(biāo)準(zhǔn)的程序框符號;2 2、框圖一般按從上到下,從左到右的方向畫;、框圖一般按從上到下,從左到右的方向畫;3 3、描述語言寫在

4、程序框內(nèi),語言清楚簡練。、描述語言寫在程序框內(nèi),語言清楚簡練。 例例1、寫出圖、寫出圖1、圖、圖2中程序框圖中程序框圖的運行結(jié)果:的運行結(jié)果: 開始開始輸入輸入a,ba2b4Sa/bb/a 輸出輸出S結(jié)束結(jié)束圖中輸出圖中輸出S=_25開始開始輸入輸入a,bsumab輸出輸出sum結(jié)束結(jié)束右圖算法的功能右圖算法的功能是是 。求兩數(shù)的和求兩數(shù)的和例例2:解:求面積的算法解:求面積的算法:第一步:輸入三角形三條邊第一步:輸入三角形三條邊的長的長a、b、c;第二步第二步:計算計算第三步第三步:計算計算第四步第四步:輸出三角形的面積輸出三角形的面積S()()()Sp papbpc2abcp2abcp()

5、()()Sp papbpc輸出輸出S例例3、已知一個三角形的三、已知一個三角形的三邊邊長分別是邊邊長分別是a,b,c,利用海利用海倫倫-秦九韶面積公式秦九韶面積公式,求三角求三角形的面積形的面積.開始開始結(jié)束結(jié)束輸入輸入a,b,c順序結(jié)構(gòu)的程序框圖的基本特征:順序結(jié)構(gòu)的程序框圖的基本特征:(2 2)各程序框從上到下用流程線)各程序框從上到下用流程線 依次連接依次連接. .(1 1)必須有兩個起止框,穿插輸入、)必須有兩個起止框,穿插輸入、 輸出框和處理框,沒有判斷框輸出框和處理框,沒有判斷框. .(3 3)處理框按計算機執(zhí)行順序沿)處理框按計算機執(zhí)行順序沿 流程線依次排列流程線依次排列. .r

6、=0?輸出輸出“n是質(zhì)數(shù)是質(zhì)數(shù)”輸出輸出“n不是質(zhì)數(shù)不是質(zhì)數(shù)”是是否否條件結(jié)構(gòu)(2)條件結(jié)構(gòu)條件結(jié)構(gòu)-在一些算法中在一些算法中,經(jīng)常會遇到一經(jīng)常會遇到一些條件的判斷些條件的判斷,算法的流向根據(jù)條件是否成算法的流向根據(jù)條件是否成立有不同的流向立有不同的流向.條件結(jié)構(gòu)就是處理這種過條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu)程的結(jié)構(gòu).條件結(jié)構(gòu)條件結(jié)構(gòu)滿足條件?滿足條件?步驟步驟A步驟步驟B是是否否(1)(1)滿足條件?滿足條件?步驟步驟A是是否否(2)(2)分類是算法中經(jīng)常發(fā)生的事情,條件結(jié)構(gòu)的主要作用就是表示分類分類.例例4任意給定任意給定3個正實數(shù)個正實數(shù),設(shè)計一個算法設(shè)計一個算法,判斷分判斷分別以這別以這

7、3個數(shù)為三邊邊長的三角形是否存在個數(shù)為三邊邊長的三角形是否存在.畫畫出這個算法的程序框圖出這個算法的程序框圖.算法分析算法分析:第一步第一步:輸入輸入3個正實數(shù)個正實數(shù)a,b,c;第二步第二步:判斷判斷a+bc,a+cb,b+ca是否同時成立是否同時成立,若是若是,則能組成三角形則能組成三角形;若否若否,則組不成三角形則組不成三角形.第一步第一步:輸入輸入3個正實數(shù)個正實數(shù)a,b,c;第二步第二步:判斷判斷a+bc,a+cb,b+ca是否同時成立是否同時成立,若是若是,則能組成三角形則能組成三角形;若否若否,則組不成三角形則組不成三角形.程序框圖程序框圖:開始開始輸入輸入a,b,ca+bc,a

8、+cb,b+ca是否是否同時成立同時成立?是是存在這樣的存在這樣的三角形三角形不存在這樣的不存在這樣的三角形三角形否否結(jié)束結(jié)束第一步第一步:輸入輸入3個正實數(shù)個正實數(shù)a,b,c;第二步第二步:判斷判斷a+bc,a+cb,b+ca是否同時成立是否同時成立,若是若是,則能組成三角形則能組成三角形;若否若否,則組不成三角形則組不成三角形. 設(shè)計一個求任意數(shù)的絕對值的算法設(shè)計一個求任意數(shù)的絕對值的算法,并畫出程并畫出程序框圖序框圖第一步第一步:輸入輸入x;第二步第二步: 如果如果 x0,那那么么輸出函數(shù)值輸出函數(shù)值x; 如如果果x1?輸出 y結(jié)束否否是是X0?y=3x-11y=xy=2x-1是是否否作

9、業(yè):課本作業(yè):課本P20 B組組 第第1題題第二步,計算算法步驟:第一步,輸入a1,b1,c1, a2,b2,c2.第三步,輸出x,y1221122112212112,babacacaybabacbcbx.052并畫出程序框圖的算法方程設(shè)計一個求解一元二次例cbxaxc cb b, ,輸輸入入三三個個系系數(shù)數(shù)a a, ,: :第第一一步步4 4a ac cb b計計算算: :第第二二步步2 2結(jié)結(jié)束束算算法法. ., ,方方程程沒沒有有實實數(shù)數(shù)根根 輸輸出出 否否則則, ,; ;2 2a aq q, ,2 2a ab b則則計計算算p p若若是是, ,0 0是是否否成成立立, ,判判斷斷: :

10、第第三三步步2 21 12 21 12 21 1x x, ,輸輸出出x xq q, ,p px xq q, ,p p計計算算x x否否則則, ,p p; ;x x則則輸輸出出x x若若是是, ,0 0是是否否成成立立, ,判判斷斷: :第第四四步步c cb b, ,輸輸入入三三個個系系數(shù)數(shù)a a, ,: :第第一一步步4 4a ac cb b計計算算: :第第二二步步2 2結(jié)束算法.結(jié)束算法., ,沒有實數(shù)根沒有實數(shù)根方程方程輸出輸出否則,否則,; ;2a2aq q, ,2a2ab b則計算p則計算p若是,若是,0是否成立,0是否成立,判斷判斷: :第三步第三步2 21 12 21 12 21

11、 1x x, ,輸輸出出x xq q, ,p px xq q, ,p p計計算算x x否否則則, ,p p; ;x x則則輸輸出出x x若若是是, ,0 0是是否否成成立立, ,判判斷斷: :第第四四步步開始開始輸入輸入a,b,c4 4a ac cb b2 20?2 2a ab bp p2 2a aq=0?q qp px x1 1q qp px x2 2結(jié)束結(jié)束輸出輸出x1,x2輸出輸出p輸出方程沒有實根輸出方程沒有實根是是否否是是否否溫馨提示:溫馨提示:1、條件框圖的特點:先判斷后執(zhí)行、條件框圖的特點:先判斷后執(zhí)行2 2、在利用條件結(jié)構(gòu)畫程序框圖時要注意兩點:、在利用條件結(jié)構(gòu)畫程序框圖時要注

12、意兩點:一是需要判斷條件是什么,二是條件判斷后分一是需要判斷條件是什么,二是條件判斷后分別對應(yīng)著什么樣的結(jié)果。別對應(yīng)著什么樣的結(jié)果。4 4、當(dāng)要分三類以上討論時,往往需要在條件、當(dāng)要分三類以上討論時,往往需要在條件結(jié)構(gòu)中再嵌套一個條件結(jié)構(gòu)。結(jié)構(gòu)中再嵌套一個條件結(jié)構(gòu)。3 3、設(shè)計程序框圖時,首先設(shè)計算法步驟,、設(shè)計程序框圖時,首先設(shè)計算法步驟,再轉(zhuǎn)化為程序框圖再轉(zhuǎn)化為程序框圖求求n除以除以i余數(shù)余數(shù)ri的值增加的值增加1,仍用,仍用i表示表示i in-1n-1或或r=0r=0?否否循環(huán)結(jié)構(gòu)算法的循環(huán)結(jié)構(gòu)算法的循環(huán)結(jié)構(gòu) 在算法的程序框圖中,在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的由按照一定的

13、條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱某些步驟組成的邏輯結(jié)構(gòu),稱為為循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步驟,反復(fù)執(zhí)行的步驟稱為稱為循環(huán)體循環(huán)體. .循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)-有兩種形式,即直到型和當(dāng)型這兩有兩種形式,即直到型和當(dāng)型這兩種形式的循環(huán)結(jié)構(gòu)在執(zhí)行流程上有所不同種形式的循環(huán)結(jié)構(gòu)在執(zhí)行流程上有所不同. 某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為: 循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否 這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu)在執(zhí)行了一次循環(huán)體后,對條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時終止循環(huán).先先循循環(huán)環(huán),后后判判斷斷 還有一些循環(huán)結(jié)構(gòu)用程序框圖可以還有一

14、些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu)在每次執(zhí)行循環(huán)體前,對條件進(jìn)行判斷,如果條件滿足,就執(zhí)行循環(huán)體,否則終止循環(huán).先先判判斷斷,后后循循環(huán)環(huán)循環(huán)結(jié)構(gòu)一定含有條件結(jié)構(gòu)嗎?提示:一定,在循環(huán)結(jié)構(gòu)中需要判斷是否繼續(xù)循環(huán),故循環(huán)結(jié)構(gòu)一定含有條件結(jié)構(gòu).例例6 6:設(shè)計一個計算設(shè)計一個計算1+2+3+1001+2+3+100的值的算法,并畫出程的值的算法,并畫出程序框圖序框圖第第1 1步,步,0+1=1.0+1=1.第第2 2步,步,1+2=3.1+2=3.第第3 3步,步,3+3=6.3+3=6.第第4 4步,步,6+4=10.6+

15、4=10. 第第100100步,步,4950+100=5050. 4950+100=5050. 我們用一個我們用一個累加變量累加變量S S表示每一步的計算表示每一步的計算結(jié)果,即把結(jié)果,即把S+iS+i的結(jié)果仍記為的結(jié)果仍記為S S,從而把第,從而把第i i步步表示為表示為S=S+iS=S+i,其中,其中S S的初始值為的初始值為0 0,i i依次取依次取1 1,2 2,100100,由于,由于i i同時記錄了循環(huán)的次數(shù),同時記錄了循環(huán)的次數(shù),所以也稱為所以也稱為計數(shù)變量計數(shù)變量. . 第二步,如果第二步,如果i i100100成立,則執(zhí)行第三成立,則執(zhí)行第三步,否則,輸出步,否則,輸出S S

16、,結(jié)束算法,結(jié)束算法. .第一步,令第一步,令i=1i=1,S=0.S=0.第三步,第三步,S=S+i.S=S+i.第四步,第四步,i=i+1i=i+1,返回第二步,返回第二步. .程序框圖:程序框圖:開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?i=i+1當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu) 第二步,如果第二步,如果i i100100成立,成立,則執(zhí)行第三步,否則,輸則執(zhí)行第三步,否則,輸出出S S,結(jié)束算法,結(jié)束算法. .第一步,令第一步,令i=1i=1,S=0.S=0.第三步,第三步, S=S+i.S=S+i.第四步,第四步, i=i+1,i=i+1,返回第二步返回第二步. .算

17、法步驟:算法步驟:如果用如果用直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?上述算法的程序框圖如何表示?開始開始i=1i100?是是輸出輸出S結(jié)束結(jié)束S=0i=i+1S=S+i否否 第四步,判斷第四步,判斷i i100100是否成立是否成立. .若是,則輸出若是,則輸出S S,結(jié)束算法;否,結(jié)束算法;否則,返回第二步則,返回第二步. .第一步,令第一步,令i=1i=1,S=0.S=0.第二步,計算第二步,計算S+iS+i,仍用,仍用S S表示表示. .第三步,計算第三步,計算i+1i+1,仍用,仍用i i表示表示. .i = i + 1S=S + i 解決方法就是加上一個判斷,判斷

18、是否已經(jīng)加到了100,如果加到了則退出,否則繼續(xù)加。直到型結(jié)構(gòu)當(dāng)型結(jié)構(gòu)i = i + 1S=S + i是否i = i + 1S=S+ i否是i 100?i 100?i100?i100?請?zhí)钌吓袛嗟臈l件。畫程序框圖的規(guī)則如下: 6、輸出:一個算法有一個或多個輸出(即算法必須要有輸出; 開始開始結(jié)束結(jié)束5、完整的程序框圖必須以完整的程序框圖必須以“ ”作為開始,以作為開始,以“ ”作為結(jié)束作為結(jié)束)1、使用標(biāo)準(zhǔn)的圖形符號;2、框圖一般按從上到下、從左到右的方向畫;3、除判斷框外,大多數(shù)流程圖符號只有一個進(jìn)入點和一個退出點。判斷框是具有超過一個退出點的唯一符號。4、判斷框分兩大類,一類判斷框是“是”

19、與“否”兩分支的判斷,而且有且僅有兩個結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。7、輸入:一個算法有零個或多個輸入(即算法可以沒有輸入)8、在圖形符號內(nèi)描述的語言要非常簡練清楚。讀程序框圖,近幾年高考熱點,主要考讀程序框圖,近幾年高考熱點,主要考查三種基本邏輯結(jié)構(gòu)的理解以及對數(shù)據(jù)查三種基本邏輯結(jié)構(gòu)的理解以及對數(shù)據(jù)的處理能力的處理能力題型一:讀程序框圖題型一:讀程序框圖執(zhí)行下面的程序框圖,輸出的執(zhí)行下面的程序框圖,輸出的T_.解析:解析:第一次循環(huán),第一次循環(huán),S5,n2,T2第二次循環(huán),第二次循環(huán),S10,n4,T6第三次循環(huán),第三次循環(huán),S15,n6,T12第四次循環(huán),第四次循環(huán),S20,

20、n8,T20第五次循環(huán),第五次循環(huán),S25,n10,T30循環(huán)終止,此時循環(huán)終止,此時T30.答案:答案:30變式:如果執(zhí)行如右變式:如果執(zhí)行如右圖的程序框圖,輸入圖的程序框圖,輸入 x2,h0.5,那么輸出的各個數(shù)那么輸出的各個數(shù)的和等于的和等于() A3 B3.5 C4 D4.5解析:解析:由框圖可知,當(dāng)由框圖可知,當(dāng)x2時,時,y0.當(dāng)當(dāng)x1.5時,時,y0;x1時,時,y0;x0.5時,時,y0;x0時,時,y0;x0.5時,時,y0.5;x1時,時,y1;x1.5時,時,y1;x2時,時,y1.輸出的各數(shù)之和為輸出的各數(shù)之和為3.5.答案:答案:B題型二:程序框圖的補充1、求1-1000內(nèi)所有奇數(shù)的和。設(shè)計的算法框圖如右,應(yīng)該在空格位置填入什么條件?分析:空格位置是循環(huán)體部分,應(yīng)考慮需要量重復(fù)執(zhí)行的步驟是什么

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論