算法的基本邏輯結(jié)構(gòu)-循環(huán)結(jié)構(gòu)_第1頁(yè)
算法的基本邏輯結(jié)構(gòu)-循環(huán)結(jié)構(gòu)_第2頁(yè)
算法的基本邏輯結(jié)構(gòu)-循環(huán)結(jié)構(gòu)_第3頁(yè)
算法的基本邏輯結(jié)構(gòu)-循環(huán)結(jié)構(gòu)_第4頁(yè)
算法的基本邏輯結(jié)構(gòu)-循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、掌握程序框圖的概念,會(huì)用通用的圖形符號(hào)表示算法。教學(xué)目標(biāo):掌握算法的三種結(jié)構(gòu)(順序結(jié)構(gòu)、條件結(jié)構(gòu)、掌握算法的三種結(jié)構(gòu)(順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu))循環(huán)結(jié)構(gòu))掌握畫程序框圖的基本規(guī)則。掌握畫程序框圖的基本規(guī)則。圖形符號(hào)圖形符號(hào)名稱名稱功能功能終端框終端框(起止框起止框)輸入、輸出框輸入、輸出框處理框處理框(執(zhí)行框執(zhí)行框)判斷框判斷框表示一個(gè)算法的起始和結(jié)束表示一個(gè)算法的起始和結(jié)束表示一個(gè)算法輸入和輸出的信息表示一個(gè)算法輸入和輸出的信息賦值、計(jì)算賦值、計(jì)算判斷某一條件是否成立判斷某一條件是否成立,成立時(shí)成立時(shí)在出口處標(biāo)明在出口處標(biāo)明“是是”或或“Y”,不不成立時(shí)標(biāo)明成立時(shí)標(biāo)明“否否”或或“N”.

2、(2)構(gòu)成程序框圖的圖形符號(hào)及其功能)構(gòu)成程序框圖的圖形符號(hào)及其功能流程線流程線連接程序框連接程序框連結(jié)點(diǎn)連結(jié)點(diǎn)連接程序框圖的兩部分連接程序框圖的兩部分6 開始開始輸入輸入n求求n除以除以i的余數(shù)的余數(shù)i的值增加的值增加1,仍用仍用i表示表示in-1或或r=0?r=0?n不是質(zhì)數(shù)不是質(zhì)數(shù)n是質(zhì)數(shù)是質(zhì)數(shù)結(jié)束結(jié)束否否否否是是是是i=2順順序序結(jié)結(jié)構(gòu)構(gòu)循循環(huán)環(huán)結(jié)結(jié)構(gòu)構(gòu)條條件件結(jié)結(jié)構(gòu)構(gòu)2、算法的三種基本邏輯結(jié)構(gòu)、算法的三種基本邏輯結(jié)構(gòu) 順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。 (1)順序結(jié)構(gòu))順序結(jié)構(gòu) 順序結(jié)構(gòu)是由若干個(gè)順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行依次執(zhí)行的步驟組成的。的步驟組成的。

3、它是任何一個(gè)算法都離不它是任何一個(gè)算法都離不開的一種基本算法結(jié)構(gòu)。開的一種基本算法結(jié)構(gòu)。 步驟 n步驟n+1示意圖示意圖 條件結(jié)構(gòu)是指在算法中通過對(duì)某條件的判斷條件結(jié)構(gòu)是指在算法中通過對(duì)某條件的判斷, ,根據(jù)條件是否成立根據(jù)條件是否成立而選擇不同流向的算法結(jié)構(gòu)而選擇不同流向的算法結(jié)構(gòu). .基本形式基本形式2 2(2)條件結(jié)構(gòu)條件結(jié)構(gòu)滿足條件?步驟步驟A否否是是滿足條件滿足條件?步驟步驟A步驟步驟B是是否否基本形式基本形式1 1(3)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 在算法的程序框圖中,由按照一在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的某些步驟組成的定的條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱為邏輯結(jié)構(gòu),稱

4、為循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行,反復(fù)執(zhí)行的步驟稱為的步驟稱為循環(huán)體循環(huán)體。循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為: 在執(zhí)行了一次循環(huán)體后,對(duì)條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán). 這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu) 還有一些循環(huán)結(jié)構(gòu)用程序框圖可以還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:表示為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否在每次執(zhí)行循在每次執(zhí)行循環(huán)體前,對(duì)條環(huán)體前,對(duì)條件進(jìn)行判斷,件進(jìn)行判斷,如果條件滿足,如果條件滿足,就執(zhí)行循環(huán)體,就執(zhí)行循環(huán)體,否則終止循環(huán)否

5、則終止循環(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)循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)當(dāng)型循環(huán)結(jié)構(gòu)構(gòu)思考思考: :循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎?循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎? 循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu) 例例6 6:設(shè)計(jì)一個(gè)計(jì)算設(shè)計(jì)一個(gè)計(jì)算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、,6+4=10.6+4=10. 第第100100步,步,4950+100=5050. 4950+100=5050. 我們用一個(gè)我們用一個(gè)累加變量累加變量S S表示每一步的計(jì)算結(jié)果,即表示每一步的計(jì)算結(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同同時(shí)記錄了循環(huán)的次數(shù),所以也稱為時(shí)記錄了循環(huán)的次數(shù),所以也稱為計(jì)數(shù)變量計(jì)數(shù)變量. .算法分析:算法分析:通常我們按照下列過程計(jì)算通常我們按照下列過程計(jì)算1+2+3+1001+

7、2+3+100的值。的值。第二步,如果第二步,如果i i100100成立,則執(zhí)行第三步,成立,則執(zhí)行第三步,否則,輸出否則,輸出S S,結(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,

8、結(jié)束算法,結(jié)束算法. .第一步,令第一步,令i=1i=1,S=0.S=0.第三步,第三步, S=S+i.S=S+i.第四步,第四步, i=i+1,i=i+1,返回第二步返回第二步. .如果用如果用直到型循環(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.第二步,計(jì)算第二步,計(jì)算S+iS

9、+i,仍用,仍用S S表示表示. .第三步,計(jì)算第三步,計(jì)算i+1i+1,仍用,仍用i i表示表示. .例例7 7 某工廠某工廠20052005年的年生產(chǎn)總值為年的年生產(chǎn)總值為200200萬元,萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長(zhǎng)上一年增長(zhǎng)5%.5%.設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過年生產(chǎn)總值超過300300萬元的最早年份萬元的最早年份. .第三步,判斷所得的結(jié)果是否大于第三步,判斷所得的結(jié)果是否大于300.300. 若是,則輸出該年的年份;若是,則輸出該年的年份; 否則,返回第二步否則,返回第二步. .

10、第一步,第一步, 輸入輸入20052005年的年生產(chǎn)總值年的年生產(chǎn)總值. .第二步,計(jì)算下一年的年生產(chǎn)總值第二步,計(jì)算下一年的年生產(chǎn)總值. .算法分析算法分析:(3 3)設(shè)定循環(huán)控制條件:當(dāng))設(shè)定循環(huán)控制條件:當(dāng)“a a300”300”時(shí)終止循環(huán)時(shí)終止循環(huán). .(1 1)循環(huán)體:設(shè))循環(huán)體:設(shè)a a為某年的年生產(chǎn)總值,為某年的年生產(chǎn)總值,t t為年生產(chǎn)總值的年增長(zhǎng)量,為年生產(chǎn)總值的年增長(zhǎng)量,n n為年份,為年份,則則t=0.05at=0.05a,a=a+ta=a+t,n=n+1.n=n+1.(2 2)初始值:)初始值:n=2005n=2005,a=200.a=200.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):開始開始

11、n=2005a=200t=0.05aa=a+tn=n+1a300?結(jié)束結(jié)束輸出輸出n是是否否程序框圖程序框圖:注意:(1)循環(huán)結(jié)構(gòu)不能是永不停止的“死循環(huán)”,一定要在某個(gè)條件下終止循環(huán),這就需要條件結(jié)構(gòu)作出判斷。循環(huán)結(jié)構(gòu)中一定含有順序結(jié)構(gòu)和條件結(jié)構(gòu)。(2)構(gòu)造循環(huán)結(jié)構(gòu)描述算法,一般來說首先需要確定三件事:循環(huán)變量和初始條件、循環(huán)體(即算法中反復(fù)執(zhí)行的步驟)、循環(huán)條件。設(shè)計(jì)求1 12 23 3.20142014的算法,并畫出程序框圖。算法分析:算法分析:這是一個(gè)累乘問題,重復(fù)進(jìn)行了2013次乘法,因此可用循環(huán) 結(jié)構(gòu)描述,這就需要引入累乘變量m和技術(shù)變量i,這里m與i在每次循環(huán)后,它們的值都在變化

12、。算法步驟:算法步驟:第一步,設(shè)m的值為1.第二步,設(shè)i的值為2.第三步,若i2014,則執(zhí)行第四步,否則,輸出m,結(jié)束算法。第四步,m=m*i.第五步,i=i+1,返回第三步。 問題:用問題:用“二分法二分法”求方程求方程 的的近似解的算法如何設(shè)計(jì)?近似解的算法如何設(shè)計(jì)? 220(0)xx 3.知識(shí)探究:程序框圖的畫法知識(shí)探究:程序框圖的畫法第一步,令第一步,令f(x)=xf(x)=x2 2-2-2,給定精確度,給定精確度d.d. 第二步,確定區(qū)間第二步,確定區(qū)間aa,bb,滿足,滿足f(a)f(b)f(a)f(b)0.0. 第三步,取區(qū)間中點(diǎn)第三步,取區(qū)間中點(diǎn)m=(a+b)/2m=(a+b

13、)/2. . 第四步,若第四步,若f(a)f(m)f(a)f(m)0 0,則含零點(diǎn)的區(qū)間為,則含零點(diǎn)的區(qū)間為aa,mm;否則,含零點(diǎn)的區(qū)間為;否則,含零點(diǎn)的區(qū)間為mm,b.b.將新得到的含將新得到的含零點(diǎn)的區(qū)間仍記為零點(diǎn)的區(qū)間仍記為aa,b.b. 第五步,判斷第五步,判斷aa,bb的長(zhǎng)度是否小于的長(zhǎng)度是否小于d d或或f(m)f(m)是否是否等于等于0.0.若是,則若是,則m m是方程的近似解;否則,返回第是方程的近似解;否則,返回第三步三步. . 思考思考1:1:該算法中哪幾個(gè)步驟可以用順序該算法中哪幾個(gè)步驟可以用順序結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖如何?

14、如何?f(x)=x2- -2輸入精確度輸入精確度d和初始值和初始值a,b2abm思考思考2:2:該算法中第四步是什么邏輯結(jié)構(gòu)?該算法中第四步是什么邏輯結(jié)構(gòu)?這個(gè)步驟用程序框圖如何表示?這個(gè)步驟用程序框圖如何表示?f(a)f(m)0?a=mb=m是是否否思考思考3:3:該算法中哪幾個(gè)步驟構(gòu)成循環(huán)結(jié)該算法中哪幾個(gè)步驟構(gòu)成循環(huán)結(jié)構(gòu)?這個(gè)循環(huán)結(jié)構(gòu)用程序框圖如何表示?構(gòu)?這個(gè)循環(huán)結(jié)構(gòu)用程序框圖如何表示?第三步第三步第四步第四步|a- -b|d或或f(m)=0?輸出輸出m是是否否思考思考4:4:根據(jù)上述分析,根據(jù)上述分析,你能畫出表示你能畫出表示整個(gè)算法的整個(gè)算法的程序框圖嗎?程序框圖嗎?開始開始結(jié)束結(jié)束

15、f(a)f(m)0??a=mb=m是是否否|a- -b|d或或f(m)=0?輸出輸出m是是否否f(x)=x2- -2輸入精確度輸入精確度d和初始值和初始值a,b2abm+=思考思考4:4:根據(jù)上述分析,根據(jù)上述分析,你能畫出表示你能畫出表示整個(gè)算法的整個(gè)算法的程序框圖嗎?程序框圖嗎?開始開始結(jié)束結(jié)束f(a)f(m)0??a=mb=m是是否否|a- -b|d或或f(m)=0?輸出輸出m是是否否f(x)=x2- -2輸入精確度輸入精確度d和初始值和初始值a,b2abm+=小小 結(jié)結(jié)設(shè)計(jì)一個(gè)算法的程序框圖的基本思路:設(shè)計(jì)一個(gè)算法的程序框圖的基本思路:第二步,確定每個(gè)算法步驟所包含的邏第二步,確定每個(gè)算法步驟所包含的邏輯結(jié)構(gòu),并用相應(yīng)的程序框圖表示。輯結(jié)構(gòu),并用相應(yīng)的程序框圖表示。 第一步,用自然語言表述算法步驟第一步,用自然語言表述算法步驟

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論