基本邏輯結(jié)構(gòu)上課用_第1頁
基本邏輯結(jié)構(gòu)上課用_第2頁
基本邏輯結(jié)構(gòu)上課用_第3頁
基本邏輯結(jié)構(gòu)上課用_第4頁
基本邏輯結(jié)構(gòu)上課用_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、11.1.21.1.2 程序框圖與算法的基本邏輯結(jié)構(gòu)程序框圖與算法的基本邏輯結(jié)構(gòu)v第三課時(shí)第三課時(shí)2 順序結(jié)構(gòu)是由若干個(gè)順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行依次執(zhí)行的步驟組成的。這是的步驟組成的。這是任何一個(gè)算法都離不開的一種基本算法結(jié)構(gòu)。任何一個(gè)算法都離不開的一種基本算法結(jié)構(gòu)。(1)順序結(jié)構(gòu))順序結(jié)構(gòu) 順序結(jié)構(gòu)可以用程序框圖表示為:順序結(jié)構(gòu)可以用程序框圖表示為:步驟步驟 n步驟步驟 n+1復(fù)習(xí)舊知復(fù)習(xí)舊知3 在算法中,通過對(duì)在算法中,通過對(duì)某個(gè)條件的判斷某個(gè)條件的判斷,根據(jù)條件是,根據(jù)條件是否成立否成立選擇不同流向選擇不同流向的算法結(jié)構(gòu)稱為條件結(jié)構(gòu)。的算法結(jié)構(gòu)稱為條件結(jié)構(gòu)。(2)條件結(jié)構(gòu))條件結(jié)構(gòu) 條

2、件結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:條件結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:滿足條件滿足條件?步驟步驟A A步驟步驟B B是是否否滿足條件滿足條件?步驟步驟A A是是否否4設(shè)計(jì)一算法設(shè)計(jì)一算法, ,求和求和:1+2+3+ :1+2+3+ +100.+100.第一步第一步: :確定首數(shù)確定首數(shù)a,a,尾尾數(shù)數(shù)b,b,項(xiàng)數(shù)項(xiàng)數(shù)n n;第二步第二步: :利用公式利用公式“總和總和=(=(首數(shù)首數(shù)+ +尾數(shù)尾數(shù)) )項(xiàng)數(shù)項(xiàng)數(shù)/2”/2”求和;求和;第三步第三步: :輸出求和結(jié)果輸出求和結(jié)果. .算法1:開始開始結(jié)束結(jié)束輸入輸入a,b,nS=(a+b)*n/2輸出輸出S新課引入新課引入5 在一些算

3、法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照一在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照一定的條件,定的條件,反復(fù)執(zhí)行反復(fù)執(zhí)行的某些步驟的情況,稱為循環(huán)結(jié)的某些步驟的情況,稱為循環(huán)結(jié)構(gòu)。反復(fù)執(zhí)行的步驟稱為構(gòu)。反復(fù)執(zhí)行的步驟稱為循環(huán)體循環(huán)體(3)循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu) 6循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu). . 在在執(zhí)行了一次循環(huán)執(zhí)行了一次循環(huán)體體后,對(duì)條件進(jìn)行判斷,后,對(duì)條件進(jìn)行判斷,如果如果條件不滿足條件不滿足,就,就繼繼續(xù)執(zhí)行循環(huán)體續(xù)執(zhí)行循環(huán)體,直到條直到條件滿足時(shí)終止件滿足時(shí)終止循環(huán)循環(huán). .循環(huán)結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:循環(huán)結(jié)

4、構(gòu)可以用程序框圖表示為下面兩種形式:7還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu). . 在每次在每次執(zhí)行循環(huán)執(zhí)行循環(huán)體前體前,對(duì)條件進(jìn)行判,對(duì)條件進(jìn)行判斷,如果斷,如果條件滿足條件滿足,就就執(zhí)行循環(huán)體執(zhí)行循環(huán)體,否則,否則終止循環(huán)終止循環(huán). .8當(dāng)型循環(huán)當(dāng)型循環(huán)與直到循與直到循環(huán)的區(qū)別:環(huán)的區(qū)別: 當(dāng)型循環(huán)可以不執(zhí)行循環(huán)體,直到循環(huán)至少執(zhí)當(dāng)型循環(huán)可以不執(zhí)行循環(huán)體,直到循環(huán)至少執(zhí)行一次循環(huán)體行一次循環(huán)體.當(dāng)型循環(huán)先判斷后執(zhí)行,直到型循環(huán)先執(zhí)行后當(dāng)型循環(huán)先判斷后執(zhí)行,直

5、到型循環(huán)先執(zhí)行后判斷判斷. 對(duì)同一算法來說,當(dāng)型循環(huán)和直到循環(huán)的條件對(duì)同一算法來說,當(dāng)型循環(huán)和直到循環(huán)的條件互為反條件互為反條件. 9探究:探究: 循環(huán)結(jié)構(gòu)與條件結(jié)構(gòu)有什么關(guān)系循環(huán)結(jié)構(gòu)與條件結(jié)構(gòu)有什么關(guān)系?(1)循環(huán)結(jié)構(gòu)是通過條件結(jié)構(gòu)實(shí)現(xiàn)的,所以循環(huán)循環(huán)結(jié)構(gòu)是通過條件結(jié)構(gòu)實(shí)現(xiàn)的,所以循環(huán)結(jié)構(gòu)里一定包含條件結(jié)構(gòu)結(jié)構(gòu)里一定包含條件結(jié)構(gòu)(2)循環(huán)結(jié)構(gòu)通過條件判斷可反復(fù)執(zhí)行;)循環(huán)結(jié)構(gòu)通過條件判斷可反復(fù)執(zhí)行; 條件結(jié)構(gòu)通過判斷執(zhí)行分支,只執(zhí)行一次條件結(jié)構(gòu)通過判斷執(zhí)行分支,只執(zhí)行一次10例例1 1:設(shè)計(jì)一個(gè)計(jì)算:設(shè)計(jì)一個(gè)計(jì)算1+2+3+1001+2+3+100的值的算法,并的值的算法,并畫出程序框圖畫出

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

7、果i100成立,則成立,則執(zhí)行第三步,否執(zhí)行第三步,否則,輸出則,輸出S,結(jié),結(jié)束算法束算法.第三步:第三步:S=S+i.第四步:第四步:i=i+1,返回第二步返回第二步.解法二:解法二:上述算法的程序框圖表示為:上述算法的程序框圖表示為:當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?i=i+1循環(huán)終止條件循環(huán)終止條件循循環(huán)環(huán)體體計(jì)數(shù)變量計(jì)數(shù)變量:用于記錄用于記錄循環(huán)次數(shù)循環(huán)次數(shù),同時(shí)還用同時(shí)還用于判斷循環(huán)是否終止于判斷循環(huán)是否終止累加變量累加變量:用于輸用于輸出結(jié)果出結(jié)果,一般與計(jì)數(shù)一般與計(jì)數(shù)變量同步執(zhí)行變量同步執(zhí)行,累加累加一次一次,計(jì)數(shù)一次計(jì)數(shù)

8、一次.13開始開始i=1結(jié)束結(jié)束輸出輸出S否否是是S=0S=S+ii100?i=i+1開始開始i=1i100?是是輸出輸出S結(jié)束結(jié)束S=0i=i+1S=S+i否否14循環(huán)結(jié)構(gòu)的設(shè)計(jì)步驟循環(huán)結(jié)構(gòu)的設(shè)計(jì)步驟(1)(1)確定循環(huán)結(jié)構(gòu)的確定循環(huán)結(jié)構(gòu)的循環(huán)變量循環(huán)變量和和初始條件初始條件; ;(2)(2)確定算法中需要反復(fù)執(zhí)行的部分確定算法中需要反復(fù)執(zhí)行的部分, ,即即循環(huán)體循環(huán)體;(3)(3)確定循環(huán)的確定循環(huán)的終止條件終止條件. .循環(huán)結(jié)構(gòu)的三要素循環(huán)結(jié)構(gòu)的三要素循環(huán)變量循環(huán)變量, ,循環(huán)體、循環(huán)的終止條件循環(huán)體、循環(huán)的終止條件. .151.畫出求畫出求S=123100問題的問題的程序框圖程序框圖.

9、課堂練習(xí)課堂練習(xí)16開始開始i 100?否否是是輸出輸出S結(jié)束結(jié)束i=1S=1i=i+1S=Si17開始開始i100?否否是是輸出輸出S結(jié)束結(jié)束i=1S=0i=i+1S=S+i2書本書本P.20A22.設(shè)計(jì)一個(gè)計(jì)算設(shè)計(jì)一個(gè)計(jì)算12+22+32+1002的一個(gè)的一個(gè)程序框圖程序框圖.18是是否否S7?開始開始x1S2xxSSS1輸出輸出x結(jié)束結(jié)束左圖輸出的左圖輸出的x=_12367課堂練習(xí)課堂練習(xí)191本節(jié)課主要講述了算法的循環(huán)結(jié)構(gòu)。算本節(jié)課主要講述了算法的循環(huán)結(jié)構(gòu)。算法的基本邏輯結(jié)構(gòu)有三種,即順序結(jié)構(gòu)、條法的基本邏輯結(jié)構(gòu)有三種,即順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中順序結(jié)構(gòu)是最簡(jiǎn)單件結(jié)構(gòu)和循環(huán)結(jié)

10、構(gòu)。其中順序結(jié)構(gòu)是最簡(jiǎn)單的結(jié)構(gòu),也是最基本的結(jié)構(gòu),循環(huán)結(jié)構(gòu)必然的結(jié)構(gòu),也是最基本的結(jié)構(gòu),循環(huán)結(jié)構(gòu)必然包含條件結(jié)構(gòu),所以這三種基本邏輯結(jié)構(gòu)是包含條件結(jié)構(gòu),所以這三種基本邏輯結(jié)構(gòu)是相互支撐的,它們共同構(gòu)成了算法的基本結(jié)相互支撐的,它們共同構(gòu)成了算法的基本結(jié)構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過這三種結(jié)構(gòu)來表達(dá)這三種結(jié)構(gòu)來表達(dá) 。2循環(huán)結(jié)構(gòu)要在某個(gè)條件下終止循環(huán),這循環(huán)結(jié)構(gòu)要在某個(gè)條件下終止循環(huán),這就需要條件結(jié)構(gòu)來判斷。因此,循環(huán)結(jié)構(gòu)中就需要條件結(jié)構(gòu)來判斷。因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),但不允許一定包含條件結(jié)構(gòu),但不允許“死循環(huán)死循環(huán)”。課堂小結(jié)203在循環(huán)

11、結(jié)構(gòu)中都有一個(gè)計(jì)數(shù)變量和累加在循環(huán)結(jié)構(gòu)中都有一個(gè)計(jì)數(shù)變量和累加變量。計(jì)數(shù)變量用于記錄循環(huán)次數(shù),累加變變量。計(jì)數(shù)變量用于記錄循環(huán)次數(shù),累加變量用于輸出結(jié)果。計(jì)數(shù)變量和累加變量一般量用于輸出結(jié)果。計(jì)數(shù)變量和累加變量一般是同步執(zhí)行的,累加一次,計(jì)數(shù)一次。是同步執(zhí)行的,累加一次,計(jì)數(shù)一次。4畫循環(huán)結(jié)構(gòu)程序框圖前:畫循環(huán)結(jié)構(gòu)程序框圖前:確定循環(huán)變確定循環(huán)變量和初始條件;量和初始條件;確定算法中反復(fù)執(zhí)行的部確定算法中反復(fù)執(zhí)行的部分,即循環(huán)體;分,即循環(huán)體;確定循環(huán)的轉(zhuǎn)向位置;確定循環(huán)的轉(zhuǎn)向位置;確定循環(huán)的終止條件確定循環(huán)的終止條件.21課堂總結(jié)課堂總結(jié)22 例例7.某工廠某工廠2005年的生產(chǎn)總值為年的生

12、產(chǎn)總值為200萬元萬元,技術(shù)革新后預(yù)技術(shù)革新后預(yù)計(jì)以后每年的生產(chǎn)總值比上一年增加計(jì)以后每年的生產(chǎn)總值比上一年增加5%.設(shè)計(jì)一個(gè)程序框設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份萬元的最早年份.算法算法第一步:輸入第一步:輸入2005年的年生產(chǎn)總值年的年生產(chǎn)總值.第二步:計(jì)算下一年的年生產(chǎn)總值第二步:計(jì)算下一年的年生產(chǎn)總值.第三步:判斷所得結(jié)果是否大于第三步:判斷所得結(jié)果是否大于300.若是,輸出該年若是,輸出該年年份年份;否則,返回第二步否則,返回第二步.循環(huán)結(jié)構(gòu)的設(shè)計(jì)步驟循環(huán)結(jié)構(gòu)的設(shè)計(jì)步驟(1)(1)確定循環(huán)結(jié)構(gòu)的確定循環(huán)結(jié)構(gòu)的循環(huán)變量循環(huán)變量和和初

13、始條件初始條件; ;(2)(2)確定算法中需要反復(fù)執(zhí)行的部分確定算法中需要反復(fù)執(zhí)行的部分, ,即即循環(huán)體循環(huán)體;(3)(3)確定循環(huán)的確定循環(huán)的終止條件終止條件. .,a n200,2005an 0.051taaatnn 300?a 直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)0 .0 5aa 300?a 當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)23開始開始2005n 200a 0.05ta aat 1nn 300?a 否否結(jié)束結(jié)束輸出輸出n是是開始開始2005n 200a 300?a 結(jié)束結(jié)束輸出輸出n否否當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)0.05ta aat 1nn 是是24程序框圖的畫法程序框圖的畫法

14、一般地,一個(gè)算法的程序框圖有以下幾個(gè)步驟:一般地,一個(gè)算法的程序框圖有以下幾個(gè)步驟:第一步:用自然語言表述算法步驟第一步:用自然語言表述算法步驟.第二步:確定第二步:確定每一個(gè)算法步驟所包含的邏輯結(jié)構(gòu)每一個(gè)算法步驟所包含的邏輯結(jié)構(gòu),并,并用相應(yīng)的程序框圖表示用相應(yīng)的程序框圖表示,得到該步驟的程序框圖,得到該步驟的程序框圖.第三步:將所有步驟的程序框圖第三步:將所有步驟的程序框圖用流程線連接起來,用流程線連接起來,并加上終端框并加上終端框,得到表示整個(gè)算法的程序框圖,得到表示整個(gè)算法的程序框圖.25【例【例2】寫出用寫出用“二分法二分法”求方程求方程 近似解的算近似解的算法法)0(022 xx第

15、一步:令第一步:令, 2)(2 xxf給定精確度給定精確度d第三步:取區(qū)間中點(diǎn)第三步:取區(qū)間中點(diǎn)2bam .,ba含零點(diǎn)的區(qū)間為含零點(diǎn)的區(qū)間為.,bm第四步:若第四步:若( )()0,f af m 則含零點(diǎn)的區(qū)間為則含零點(diǎn)的區(qū)間為;,ma否則,否則,將新得到的含零點(diǎn)的區(qū)間仍記為將新得到的含零點(diǎn)的區(qū)間仍記為第二步:確定區(qū)間第二步:確定區(qū)間滿足滿足0)()( bfaf,ba第五步:判斷第五步:判斷,ba的長(zhǎng)度是否小于的長(zhǎng)度是否小于d或或f(m)是否等于是否等于0若是,則若是,則m是方程的近似值;否則,返回第三步是方程的近似值;否則,返回第三步順序結(jié)構(gòu)順序結(jié)構(gòu)條件結(jié)構(gòu)條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)思考思考

16、1:1:該算法中哪幾個(gè)步驟可以用順序結(jié)構(gòu)來表示?該算法中哪幾個(gè)步驟可以用順序結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖如何?這個(gè)順序結(jié)構(gòu)的程序框圖如何?思考思考2:2:該算法中哪幾個(gè)步驟可以用條件結(jié)構(gòu)來表示?該算法中哪幾個(gè)步驟可以用條件結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖如何?這個(gè)順序結(jié)構(gòu)的程序框圖如何?思考思考3:3:該算法中哪幾個(gè)步驟可以用循環(huán)結(jié)構(gòu)來表示?該算法中哪幾個(gè)步驟可以用循環(huán)結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖如何?這個(gè)順序結(jié)構(gòu)的程序框圖如何?26第一步:令第一步:令, 2)(2 xxf給定精確度給定精確度d第三步:取區(qū)間中點(diǎn)第三步:取區(qū)間中點(diǎn)2bam 第二步:確定區(qū)間第二步:確定區(qū)間滿足滿足

17、0)()( bfaf,ba順序結(jié)構(gòu)順序結(jié)構(gòu)2( )2f xx 輸入精確度輸入精確度d和初始值和初始值,a b2abm 27.,ba含零點(diǎn)的區(qū)間為含零點(diǎn)的區(qū)間為.,bm第四步:若第四步:若( )()0,f af m 則含零點(diǎn)的區(qū)間為則含零點(diǎn)的區(qū)間為;,ma否則,否則,將新得到的含零點(diǎn)的區(qū)間仍記為將新得到的含零點(diǎn)的區(qū)間仍記為條件結(jié)構(gòu)條件結(jié)構(gòu)( ) ()0?f a f m am 否否bm 是是28|abd或或()0?f m 第四步第四步第三步第三步否否輸出輸出m是是2bam 否則,否則,第三步:取區(qū)間中點(diǎn)第三步:取區(qū)間中點(diǎn).,ba含零點(diǎn)的區(qū)間為含零點(diǎn)的區(qū)間為.,bm第四步:若第四步:若( )()0,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論