![程序框圖與算法的基本邏輯結(jié)構(gòu)_第1頁(yè)](http://file4.renrendoc.com/view/e9733caa6d62ad5338ae8e2e34c5f9bc/e9733caa6d62ad5338ae8e2e34c5f9bc1.gif)
![程序框圖與算法的基本邏輯結(jié)構(gòu)_第2頁(yè)](http://file4.renrendoc.com/view/e9733caa6d62ad5338ae8e2e34c5f9bc/e9733caa6d62ad5338ae8e2e34c5f9bc2.gif)
![程序框圖與算法的基本邏輯結(jié)構(gòu)_第3頁(yè)](http://file4.renrendoc.com/view/e9733caa6d62ad5338ae8e2e34c5f9bc/e9733caa6d62ad5338ae8e2e34c5f9bc3.gif)
![程序框圖與算法的基本邏輯結(jié)構(gòu)_第4頁(yè)](http://file4.renrendoc.com/view/e9733caa6d62ad5338ae8e2e34c5f9bc/e9733caa6d62ad5338ae8e2e34c5f9bc4.gif)
![程序框圖與算法的基本邏輯結(jié)構(gòu)_第5頁(yè)](http://file4.renrendoc.com/view/e9733caa6d62ad5338ae8e2e34c5f9bc/e9733caa6d62ad5338ae8e2e34c5f9bc5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序框圖與算法的根本邏輯結(jié)構(gòu)從上節(jié)課的例子中可以看出,用自然語(yǔ)言表示算法的步驟有明顯的順序性,但在處理?xiàng)l件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)這樣的問(wèn)題時(shí)會(huì)顯得有點(diǎn)困難,不夠直觀。因此,我們有必要探究使算法表達(dá)得更加直觀、準(zhǔn)確的方法。即程序框圖判斷一個(gè)正整數(shù)n是否是質(zhì)數(shù)的算法自然語(yǔ)言描述圖形描述第一步:給定大于2的整數(shù)n第二步:令i=2第三步:用i除n,得到余數(shù)r第四步:判斷r=0是否成立。假設(shè)是,那么n不是質(zhì)數(shù)結(jié)束算法。否那么,將i的值加1,仍用i表示第五步:判斷i>n-1是否成立。假設(shè)是,那么n是質(zhì)數(shù),結(jié)束算法。假設(shè)不成立,那么返回第三步開始輸入ni=2求n除以i的余數(shù)rr=0?i=i+1i>(n-1)?n不是質(zhì)數(shù)n是質(zhì)數(shù)結(jié)束否是是
否一、程序框圖
1、程序框圖的概念
程序框圖又稱流程圖,是一種用程序框、流程線及文字說(shuō)明來(lái)表示算法的圖形。在程序框圖中,一個(gè)或幾個(gè)程序框的組合表示算法中的一個(gè)步驟;帶有方向箭頭的流程線將程序框連接起來(lái),表示算法步驟的執(zhí)行程序結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始①表示相應(yīng)操作的程序框;②帶箭頭的流程線;③程序框內(nèi)外必要的文字說(shuō)明。思考1:一個(gè)程序框圖包括幾局部呢?思考2:右面的程序框圖中,程序框的形狀不盡相同,那么不同形狀的程序框具有什么不同的功能呢?結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始終端框(起止框),表示一個(gè)算法的起始和結(jié)束結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始輸入、輸出框表示一個(gè)算法輸入和輸出的信息結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始處理框〔執(zhí)行框〕賦值、計(jì)算結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始判斷框判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明“是〞或“Y〞;不成立時(shí)標(biāo)明“否〞或“N〞結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始流程線:連接程序框結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始流程圖一般從上至下“豎著〞畫。但對(duì)于一些較大的事件或者過(guò)程比較復(fù)雜的活動(dòng),就會(huì)出現(xiàn)“畫不下〞而要換頁(yè)繼續(xù)畫的現(xiàn)象,那么頁(yè)與頁(yè)之間“繼續(xù)畫〞用什么方式來(lái)表示呢?-這就需要用到“連接點(diǎn)〞了。
例如:從早晨起床到上學(xué)這段時(shí)間要做的事情,用流程圖表示如下:圖2中的小圓圈O表示連接點(diǎn),當(dāng)一個(gè)流程圖中有多處需要用到它時(shí),可以在小圓圈內(nèi)標(biāo)上序號(hào)連接點(diǎn)連接點(diǎn)2.常見的程序框、流程線及各自表示的功能O3.畫程序框圖的規(guī)那么:〔1〕使用標(biāo)準(zhǔn)的框圖符號(hào);〔2〕框圖一般按從上到下,從左到右的方向畫〔3〕除判斷框外,大多數(shù)框圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn)。判斷框是唯一具有超過(guò)一個(gè)退出點(diǎn)的框圖符號(hào);〔4〕在程序框圖形內(nèi)描述語(yǔ)言要簡(jiǎn)練、清楚。二、算法的根本邏輯結(jié)構(gòu)用程序框圖表示算法時(shí),算法的邏輯結(jié)構(gòu)展現(xiàn)得非常清楚。例如前面例子中的程序框圖中就包含下面三種邏輯結(jié)構(gòu):輸入ni=2輸出n不是質(zhì)數(shù)輸出n是質(zhì)數(shù)是否r=0?求n除以i的余數(shù)ri>n-1或r=0?否i的值增加1,仍用i表示是順序結(jié)構(gòu)條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)盡管算法千差萬(wàn)別,但它們都是由三種根本的邏輯結(jié)構(gòu)構(gòu)成的。順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)條件結(jié)構(gòu)結(jié)束輸入ni=2求n除以i的余數(shù)ri>n-1或r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)否是是否r=0?i的值增加1,仍用i表示開始思考:你能說(shuō)出這三種根本邏輯結(jié)構(gòu)的特點(diǎn)嗎?1.順序結(jié)構(gòu):它是任何一個(gè)算法都離不開的一種根本算法結(jié)構(gòu)。順序結(jié)構(gòu)是由假設(shè)干個(gè)依次執(zhí)行的步驟組成的。順序結(jié)構(gòu)可以用程序框圖表示為:步驟n步驟n+1例1(1)寫出圖中程序框圖的運(yùn)行結(jié)果:
開始輸入a,ba=2b=4S=a/b+b/a輸出S結(jié)束圖中輸出S=
;5/2(2)寫出以下算法的功能。開始輸入a,bd=a2+b2c=輸出c結(jié)束左圖算法的功能是
;
求兩數(shù)平方和的算術(shù)平方根例2設(shè)計(jì)一算法:輸入圓的半徑,輸出圓的面積,并畫出程序框圖表示。算法分析:第一步:輸入圓的半徑R第三步:輸出圓的面積。開始結(jié)束輸入半徑R計(jì)算S=πR2輸出面積S第二步:利用公式“圓的面積=圓周率×(半徑的平方)”即計(jì)算圓的面積;注意:順序結(jié)構(gòu)按照從上到下的順序不能“回頭〞;例3一個(gè)三角形的三邊分別為a,b,c,利用海倫-秦九韶公式設(shè)計(jì)一個(gè)算法,求出它的面積,畫出算法的程序框圖.程序框圖:開始結(jié)束輸入a,b,c輸出S算法步驟:第一步:輸入三角形的三條邊長(zhǎng)a,b,c第二步:計(jì)算第三步:計(jì)算第四步:輸出面積S。練習(xí):1.就〔1〕邏輯結(jié)構(gòu),說(shuō)出它的算法功能開始輸入a,b結(jié)束sum=a+b輸出sum〔1〕2.梯形上底為2,下底為4,高為5,求其面積,設(shè)計(jì)出該問(wèn)題的程序框圖.開始輸出結(jié)束答案:〔1〕求兩個(gè)數(shù)的和任意給定一個(gè)大于1的正整數(shù)
n
,設(shè)計(jì)一個(gè)算法求出n的所有因數(shù)。算法步驟:第四步:判斷“r=0〞是否成立,假設(shè)是,那么i是n的因數(shù);否那么,i不是n的因數(shù);
第五步:i=i+1第六步:判斷“i>n〞是否成立,假設(shè)是,結(jié)束算法;否那么,返回第三步第一步:輸入一個(gè)大于1的正整數(shù)n第二步:令i=1第三步:用i除n,得到余數(shù)r2.條件結(jié)構(gòu):在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過(guò)程的結(jié)構(gòu).常見的條件結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:滿足條件?步驟A步驟B是否1.兩個(gè)步驟A、B根據(jù)條件選擇一個(gè)執(zhí)行滿足條件?步驟A是否2.根據(jù)條件選擇是否執(zhí)行步驟A例4任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在.畫出這個(gè)算法的程序框圖.開始輸入是否同時(shí)成立?存在這樣的三角形結(jié)束不存在這樣的三角形是否程序框圖:算法步驟:第一步:輸入三個(gè)正實(shí)數(shù)
a,b,c第二步:判斷a+b>c,b+c>a,c+a>b是否同時(shí)成立。假設(shè)是,那么存在這樣的三角形否那么,不存在這樣的三角形算法:程序框圖:開始輸入a,b,c△=b2-4ac△≥0?△=0?否x1=p+q輸出x1,x2結(jié)束否是x2=p-q輸出x1=x2=p是輸出“方程沒有實(shí)數(shù)根”練習(xí):1.就邏輯結(jié)構(gòu),說(shuō)出其算法功能.開始結(jié)束輸入xx>3?y=x-2輸出yy=4-x否是開始max=a輸入bmax>b?輸出max結(jié)束max=b是否2.此為某一函數(shù)的求值程序圖,那么滿足該流程圖的函數(shù)解析式為〔〕〔不能寫成分段函數(shù)〕.3.求函數(shù)的值的算法流程圖.開始輸入xX<2?y=-2輸出y結(jié)束否是答案:1.求兩個(gè)數(shù)中的最大值.答案:2.y=|x-3|+1.開始輸入xx≥0?否是輸出x輸出-x結(jié)束課堂練習(xí)【4】設(shè)計(jì)一個(gè)求任意數(shù)的絕對(duì)值的算法,并畫出程序框圖.第二步:如果x≥0,那么lxl=x;否那么,lxl=-x;第一步:輸入x;第三步:輸出lxl.在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu).3.循環(huán)結(jié)構(gòu):反復(fù)執(zhí)行的處理步驟稱為循環(huán)體.常見的循環(huán)結(jié)構(gòu)可以用程序框圖表示為下面兩種形式:滿足條件?循環(huán)體是否滿足條件?循環(huán)體是否1.直到型循環(huán)結(jié)構(gòu)2.當(dāng)型循環(huán)結(jié)構(gòu)滿足條件?循環(huán)體是否1.直到型循環(huán)結(jié)構(gòu)特征:在執(zhí)行了一次循環(huán)體之后,對(duì)條件進(jìn)行判斷,如果條件不滿足就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán)。2.當(dāng)型循環(huán)結(jié)構(gòu)特征:在每次執(zhí)行循環(huán)體前,對(duì)條件進(jìn)行判斷,〔1〕當(dāng)條件滿足時(shí),執(zhí)行循環(huán)體;〔2〕當(dāng)條件不滿足時(shí),終止循環(huán)。滿足條件?循環(huán)體是否例5設(shè)計(jì)一個(gè)計(jì)算0+1+2+3+4+5+6的值的算法,并畫出程序框圖.通常,我們按照以下過(guò)程計(jì)算:第1步,0+1=1.第2步,1+2=3.第6步,15+6=21.第3步,3+3=6.第4步,6+4=10.第5步,10+5=15分析上述計(jì)算過(guò)程,可以發(fā)現(xiàn)每一步都可以表示為:第i步的結(jié)果=第〔i-1〕步的結(jié)果+i1.這里的“=〞是賦值符號(hào),不表示“相等〞,而表示把S+i的值仍賦給S。為了方便有效地表示上述過(guò)程,我們用一個(gè)累加變量S來(lái)表示每一步的計(jì)算結(jié)果,S=S+i2.其中S的初始值為第i步的結(jié)果=第〔i-1〕步的結(jié)果+i把S+i的結(jié)果仍記為S,那么第i步可表示為:注意:i依次取1,2,3,4,5,6.0,-----循環(huán)表達(dá)式讀作:把S+i的值賦給S計(jì)算0+1+2+3+4+5+6的值算法為:第一步,令S=0,i=1.第四步,假設(shè)i>6成立,那么輸出S,結(jié)束算法;第二步,計(jì)算S=S+i.第三步,計(jì)算i=i+1.假設(shè)不成立,那么返回第二步結(jié)束開始?是否直到型循環(huán)結(jié)構(gòu)還可以這樣寫算法:第一步,令i=1,S=0.第二步,假設(shè)i≤6成立,那么執(zhí)行第三步;第三步,計(jì)算S=S+i.第四步,計(jì)算i=i+1,返回第二步。假設(shè)不成立,那么輸出S,結(jié)束算法開始?結(jié)束是否當(dāng)型循環(huán)結(jié)構(gòu)由于i同時(shí)記錄了循環(huán)的次數(shù),所以也稱為計(jì)數(shù)變量直到型循環(huán)結(jié)構(gòu)與當(dāng)型循環(huán)結(jié)構(gòu)的區(qū)別:1.直到型先執(zhí)行循環(huán)體后判斷條件;當(dāng)型先判斷條件,然后看是否執(zhí)行循環(huán)體3.對(duì)解決同一問(wèn)題,如果既可用直到型,又可用當(dāng)型,那么直到型與當(dāng)型的條件互為2.直到型至少執(zhí)行一次循環(huán)體,而當(dāng)型可以不執(zhí)行循環(huán)體。反條件直到總循環(huán)當(dāng)型是循環(huán)練習(xí):1.如圖〔1〕為循環(huán)結(jié)構(gòu)中的循環(huán),P>Q?a圖(1)是否aP≤Q?是否2.如圖(2)的算法輸出結(jié)果是_______算法功能是_______結(jié)束開始(圖2)是否?當(dāng)型求積為48的相鄰偶數(shù).直到型把它換成另外一種循環(huán)的框圖
6,83.指出程序框圖的運(yùn)算結(jié)果開始?結(jié)束是否①②當(dāng)箭頭指向①處時(shí),輸出;指向②處時(shí),輸出.5154.以下圖為求1~1000的所有的偶數(shù)的和而設(shè)計(jì)的一個(gè)程序框圖,將空白處補(bǔ)上,并指明它是循環(huán)結(jié)構(gòu)中的哪一種類型,并畫出它的另一種循環(huán)結(jié)構(gòu)框圖.開始i=2S=0i≤1000?輸出S結(jié)束S=S+ii=i+2是否5.設(shè)計(jì)求1+4+7+10+...+40的值的一個(gè)算法
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇州蘇教版三年級(jí)數(shù)學(xué)上冊(cè)第一單元《兩、三位數(shù)乘一位數(shù)》聽評(píng)課記錄
- 七年級(jí)數(shù)學(xué)上冊(cè)第5章一元一次方程5.4一元一次方程的應(yīng)用第4課時(shí)利率等其他問(wèn)題聽評(píng)課記錄(新版浙教版)
- 人教版數(shù)學(xué)七年級(jí)下冊(cè)5.1.2《垂線》聽評(píng)課記錄2
- 統(tǒng)編版初中語(yǔ)文七年級(jí)下冊(cè)第四課《孫權(quán)勸學(xué)》聽評(píng)課記錄
- 新版湘教版秋八年級(jí)數(shù)學(xué)上冊(cè)第四章一元一次不等式組課題不等式聽評(píng)課記錄
- 聽評(píng)四年級(jí)音樂課記錄
- 聽評(píng)課記錄七年級(jí)歷史
- 七年級(jí)數(shù)學(xué)上冊(cè)第11課時(shí)有理數(shù)的乘法運(yùn)算律聽評(píng)課記錄新湘教版
- 人教版七年級(jí)數(shù)學(xué)上冊(cè):1.4.2 《有理數(shù)的除法》聽評(píng)課記錄
- 粵人版地理七年級(jí)下冊(cè)《第三節(jié) 巴西》聽課評(píng)課記錄2
- GB/T 32691-2016汽車空調(diào)電磁離合器
- 第八章 客戶關(guān)系管理
- 新版人教版高中英語(yǔ)選修一、選修二詞匯表
- 2022年河北邯鄲世紀(jì)建設(shè)投資集團(tuán)有限公司招聘筆試試題及答案解析
- 萬(wàn)物有靈且美(讀書心得)課件
- 住院患者跌倒墜床質(zhì)量控制管理考核標(biāo)準(zhǔn)
- 人民醫(yī)院醫(yī)共體財(cái)務(wù)管理部工作手冊(cè)
- 戰(zhàn)略規(guī)劃培訓(xùn)luqiang課件
- 高三日語(yǔ)一輪復(fù)習(xí)之自謙語(yǔ)句型課件
- YYT 0325-2022 一次性使用無(wú)菌導(dǎo)尿管
- 收取執(zhí)行款銀行賬戶確認(rèn)書
評(píng)論
0/150
提交評(píng)論