![算法與程序框圖(教案)_第1頁(yè)](http://file4.renrendoc.com/view10/M03/39/2B/wKhkGWemrfKAUaXsAAIUSJzFnkw597.jpg)
![算法與程序框圖(教案)_第2頁(yè)](http://file4.renrendoc.com/view10/M03/39/2B/wKhkGWemrfKAUaXsAAIUSJzFnkw5972.jpg)
![算法與程序框圖(教案)_第3頁(yè)](http://file4.renrendoc.com/view10/M03/39/2B/wKhkGWemrfKAUaXsAAIUSJzFnkw5973.jpg)
![算法與程序框圖(教案)_第4頁(yè)](http://file4.renrendoc.com/view10/M03/39/2B/wKhkGWemrfKAUaXsAAIUSJzFnkw5974.jpg)
![算法與程序框圖(教案)_第5頁(yè)](http://file4.renrendoc.com/view10/M03/39/2B/wKhkGWemrfKAUaXsAAIUSJzFnkw5975.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
05-算法與程序框圖【知識(shí)點(diǎn)】第一章算法初步算法的概念1、算法概念:“算法”通常是指可以用計(jì)算機(jī)來解決的某一類問題是程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成.2.算法的特點(diǎn):(1)有限性:一個(gè)算法的步驟序列是有限的,必須在有限操作之后停止,不能是無限的.(2)確定性:算法中的每一步應(yīng)該是確定的并且能有效地執(zhí)行且得到確定的結(jié)果,而不應(yīng)當(dāng)是模棱兩可.(3)順序性與正確性:算法從初始步驟開始,分為若干明確的步驟,每一個(gè)步驟只能有一個(gè)確定的后繼步驟,前一步是后一步的前提,只有執(zhí)行完前一步才能進(jìn)行下一步,并且每一步都準(zhǔn)確無誤,才能完成問題.(4)不唯一性:求解某一個(gè)問題的解法不一定是唯一的,對(duì)于一個(gè)問題可以有不同的算法.(5)普遍性:很多具體的問題,都可以設(shè)計(jì)合理的算法去解決,如心算、計(jì)算器計(jì)算都要經(jīng)過有限、事先設(shè)計(jì)好的步驟加以解決.程序框圖1、程序框圖基本概念:(一)程序構(gòu)圖的概念:程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形。一個(gè)程序框圖包括以下幾部分:表示相應(yīng)操作的程序框;帶箭頭的流程線;程序框外必要文字說明。(二)構(gòu)成程序框的圖形符號(hào)及其作用程序框名稱功能起止框表示一個(gè)算法的起始和結(jié)束,是任何流程圖不可少的。輸入、輸出框表示一個(gè)算法輸入和輸出的信息,可用在算法中任何需要輸入、輸出的位置。處理框賦值、計(jì)算,算法中處理數(shù)據(jù)需要的算式、公式等分別寫在不同的用以處理數(shù)據(jù)的處理框內(nèi)。判斷框判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明“是”或“Y”;不成立時(shí)標(biāo)明“否”或“N”。學(xué)習(xí)這部分知識(shí)的時(shí)候,要掌握各個(gè)圖形的形狀、作用及使用規(guī)則,畫程序框圖的規(guī)則如下:1、使用標(biāo)準(zhǔn)的圖形符號(hào)。2、框圖一般按從上到下、從左到右的方向畫。3、除判斷框外,大多數(shù)流程圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn)。判斷框具有超過一個(gè)退出點(diǎn)的唯一符號(hào)。4、判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個(gè)結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。5、在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚。(三)、算法的三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。1、順序結(jié)構(gòu):順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的,它是由若干個(gè)依次執(zhí)行的處理步驟組成的,它是任何一個(gè)算法都離不開的一種基本算法結(jié)構(gòu)。順序結(jié)構(gòu)在程序框圖中的體現(xiàn)就是用流程線將程序框自上而下地連接起來,按順序執(zhí)行算法步驟。如在示意圖中,A框和B框是依次執(zhí)行的,只有在執(zhí)行完A框指定的操作后,才能接著執(zhí)行B框所指定的操作。2、條件結(jié)構(gòu):條件結(jié)構(gòu)是指在算法中通過對(duì)條件的判斷根據(jù)條件是否成立而選擇不同流向的算法結(jié)構(gòu)。條件P是否成立而選擇執(zhí)行A框或B框。無論P(yáng)條件是否成立,只能執(zhí)行A框或B框之一,不可能同時(shí)執(zhí)行A框和B框,也不可能A框、B框都不執(zhí)行。一個(gè)判斷結(jié)構(gòu)可以有多個(gè)判斷框。3、循環(huán)結(jié)構(gòu):在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照一定條件,反復(fù)執(zhí)行某一處理步驟的情況,這就是循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的處理步驟為循環(huán)體,顯然,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)。循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),循環(huán)結(jié)構(gòu)可細(xì)分為兩類:(1)、一類是當(dāng)型循環(huán)結(jié)構(gòu),如下左圖所示,它的功能是當(dāng)給定的條件P成立時(shí),執(zhí)行A框,A框執(zhí)行完畢后,再判斷條件P是否成立,如果仍然成立,再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次條件P不成立為止,此時(shí)不再執(zhí)行A框,離開循環(huán)結(jié)構(gòu)。ABA成立ABA成立不成立P不成立P成立A注意:1循環(huán)結(jié)構(gòu)要在某個(gè)條件下終止循環(huán),這就需要條件結(jié)構(gòu)來判斷。因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),但不允許“死循環(huán)”。2在循環(huán)結(jié)構(gòu)中都有一個(gè)計(jì)數(shù)變量和累加變量。計(jì)數(shù)變量用于記錄循環(huán)次數(shù),累加變量用于輸出結(jié)果。計(jì)數(shù)變量和累加變量一般是同步執(zhí)行的,累加一次,計(jì)數(shù)一次?!菊n堂講解】1.1.1算法的概念思考2:用加減消元法解二元一次方程組 的具體步驟是什么?第一步,①+②×2,得5x=1.③第二步,第三步,第四步,第五步,思考3:參照上述思路,一般地,解方程組的基本步驟是什么?第一步,第二步,第三步,第四步,第五步,思考4:根據(jù)上述分析,用加減消元法解二元一次方程組,可以分為五個(gè)步驟進(jìn)行,這五個(gè)步驟就構(gòu)成了解二元一次方程組的一個(gè)“算法”。我們?cè)俑鶕?jù)這一算法編制計(jì)算機(jī)程序,就可以讓計(jì)算機(jī)來解二元一次方程組.那么解二元一次方程組的算法包括哪些內(nèi)容?思考5:一般地,算法是由按照一定規(guī)則解決某一類問題的基本步驟組成的。你認(rèn)為:(1)這些步驟的個(gè)數(shù)是有限的還是無限的?(2)每個(gè)步驟是否有明確的計(jì)算任務(wù)?思考6:有人對(duì)哥德巴赫猜想“任何大于4的偶數(shù)都能寫成兩個(gè)質(zhì)數(shù)之和”設(shè)計(jì)了如下操作步驟:第一步,檢驗(yàn)6=3+3,第二步,檢驗(yàn)8=3+5,第三步,檢驗(yàn)10=5+5,……利用計(jì)算機(jī)無窮地進(jìn)行下去!請(qǐng)問:這是一個(gè)算法嗎?思考7:根據(jù)上述分析,你能歸納出算法的概念嗎?算法的定義:廣義的算法是指完成某項(xiàng)工作的方法和步驟,在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一類問題的明確有限的步驟算法的特征:①確定性:算法的每一步都應(yīng)當(dāng)做到準(zhǔn)確無誤、不重不漏.“不重”是指不是可有可無的,甚至無用的步驟,“不漏”是指缺少哪一步都無法完成任務(wù).②邏輯性:算法從開始的“第一步”直到“最后一步”之間做到環(huán)環(huán)相扣,分工明確,“前一步”是“后一步”的前提,“后一步”是“前一步”的繼續(xù).③有窮性:算法要有明確的開始和結(jié)束,當(dāng)?shù)竭_(dá)終止步驟時(shí)所要解決的問題必須有明確的結(jié)果,也就是說必須在有限步內(nèi)完成任務(wù),不能無限制地持續(xù)進(jìn)行.探究(二):算法的步驟設(shè)計(jì)【例1】(1)設(shè)計(jì)一個(gè)算法,判斷7是否為質(zhì)數(shù).(2)設(shè)計(jì)一個(gè)算法,判斷35是否為質(zhì)數(shù).算法分析:(1)根據(jù)質(zhì)數(shù)的定義,可以這樣判斷:依次用2—6除7,如果它們中有一個(gè)能整除7,則7不是質(zhì)數(shù),否則7是質(zhì)數(shù).算法如下:⑴第一步,用2除7,得到余數(shù)1.因?yàn)橛鄶?shù)不為0,所以2不能整除7第二步,用3除7,得到余數(shù)1.因?yàn)橛鄶?shù)不為0,所以3不能整除7.第三步,用4除7,得到余數(shù)3.因?yàn)橛鄶?shù)不為0,所以4不能整除7.第四步,用5除7,得到余數(shù)2.因?yàn)橛鄶?shù)不為0,所以5不能整除7.第五步,用6除7,得到余數(shù)1.因?yàn)橛鄶?shù)不為0,所以6不能整除7.因此,7是質(zhì)數(shù).⑵類似地,可寫出“判斷35是否為質(zhì)數(shù)”的算法:第一步,用2除35,得到余數(shù)1.因?yàn)橛鄶?shù)不為0,所以2不能整除35.第二步,用3除35,得到余數(shù)2.因?yàn)橛鄶?shù)不為0,所以3不能整除35.第三步,用4除35,得到余數(shù)3.因?yàn)橛鄶?shù)不為0,所以4不能整除35.第四步,用5除35,得到余數(shù)0.因?yàn)橛鄶?shù)為0,所以5能整除35.因此,35不是質(zhì)數(shù).變式訓(xùn)練請(qǐng)寫出判斷n(n>2)是否為質(zhì)數(shù)的算法.【例2】寫出用“二分法”求方程x2-2=0(x>0)的近似解的算法分析:令f(x)=x2-2,則方程x2-2=0(x>0)的解就是函數(shù)f(x)的零點(diǎn).“二分法”的基本思想是:把函數(shù)f(x)的零點(diǎn)所在的區(qū)間[a,b](滿足f(a)·f(b)<0)“一分為二”,得到[a,m]和[m,b].根據(jù)“f(a)·f(m)<0”是否成立,取出零點(diǎn)所在的區(qū)間[a,m]或[m,b],仍記為[a,b].對(duì)所得的區(qū)間[a,b]重復(fù)上述步驟,直到包含零點(diǎn)的區(qū)間[a,b]“足夠小”,則[a,b]內(nèi)的數(shù)可以作為方程的近似解.解:第一步,令f(x)=x2-2,給定精確度d.第二步,確定區(qū)間[a,b],滿足f(a)·f(b)<0.第三步,取區(qū)間中點(diǎn)m=.第四步,若f(a)·f(m)<0,則含零點(diǎn)的區(qū)間為[a,m];否則,含零點(diǎn)的區(qū)間為[m,b].將新得到的含零點(diǎn)的區(qū)間仍記為[a,b].第五步,判斷[a,b]的長(zhǎng)度是否小于d或f(m)是否等于0.若是,則m是方程的近似解;否則,返回第三步.當(dāng)d=0.005時(shí),按照以上算法,可以得到下表.ab|a-b|12111.50.51.251.50.251.3751.50.1251.3751.43750.06251.406251.43750.031251.406251.4218750.0156251.41406251.4218750.00781251.41406251.417968750.00390625于是,開區(qū)間(1.4140625,1.41796875)中的實(shí)數(shù)都是當(dāng)精確度為0.005時(shí)的原方程的近似解。練習(xí)1.練習(xí)22.一個(gè)人帶著三只狼和三只羚羊過河,只有一條船,同船可容納一個(gè)人和兩只動(dòng)物,沒有人在的時(shí)候,如果狼的數(shù)量不少于羚羊的數(shù)量就會(huì)吃羚羊.該人如何將動(dòng)物轉(zhuǎn)移過河?請(qǐng)?jiān)O(shè)計(jì)算法.解:具體算法如下:算法步驟:第一步:人帶兩只狼過河,并自己返回.第二步:人帶一只狼過河,自己返回.第三步:人帶兩只羚羊過河,并帶兩只狼返回.第四步:人帶一只羊過河,自己返回.第五步:人帶兩只狼過河.1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(一)思考1:“判斷整數(shù)n(n>2)是否為質(zhì)數(shù)”的算法步驟如何?第一步,給定一個(gè)大于2的整數(shù)n;第二步,第三步,第四步第五步,思考2:我們將上述算法用下面的圖形表示:思考3:在上述程序框圖中,有4種程序框,2種流程線,它們分別有何特定的名稱和功能?試分別說明。注意:在學(xué)習(xí)這部分知識(shí)的時(shí)候,要掌握各個(gè)圖形的形狀、作用及使用規(guī)則,畫程序框圖的規(guī)則如下:(1)使用標(biāo)準(zhǔn)的圖形符號(hào)。(2)框圖一般按從上到下、從左到右的方向畫。(3)除判斷框外,大多數(shù)流程圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn)。判斷框具有超過一個(gè)退出點(diǎn)的惟一符號(hào)。(4)判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個(gè)結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。(5)在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚。探究(二):算法的基本邏輯結(jié)構(gòu)思考1:在邏輯結(jié)構(gòu)上,“判斷整數(shù)n(n>2)是否為質(zhì)數(shù)”的程序框圖由幾部分組成?程序框圖包含下面三種邏輯結(jié)構(gòu)可以用如下程序框圖表示:順序結(jié)構(gòu)條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)探究(三):順序結(jié)構(gòu)任何一個(gè)算法各步驟之間都有明確的順序性,在算法的程序框圖中,由若干個(gè)依次執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為順序結(jié)構(gòu)。順序結(jié)構(gòu)描述的是是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的?!纠?】已知一個(gè)三角形三條邊的邊長(zhǎng)分別為a,b,c,利用海倫—秦九韶公式設(shè)計(jì)一個(gè)計(jì)算三角形面積的算法,并畫出程序框圖表示.算法分析:這是一個(gè)簡(jiǎn)單的問題,只需先算出p的值,再將它代入分式,最后輸出結(jié)果.因此只用順序結(jié)構(gòu)應(yīng)能表達(dá)出算法.算法步驟如下:第一步,輸入三角形三條邊的邊長(zhǎng)a,b,c.第二步,計(jì)算p=.第三步,計(jì)算S=.第四步,輸出S.程序框圖如下:點(diǎn)評(píng):很明顯,順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的步驟組成的,它是最簡(jiǎn)單的邏輯結(jié)構(gòu),它是任何一個(gè)算法都離不開的基本結(jié)構(gòu).探究(四):條件結(jié)構(gòu)在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu)用程序框圖表示條件結(jié)構(gòu)如下.圖1圖2條件結(jié)構(gòu):先根據(jù)條件作出判斷,再?zèng)Q定執(zhí)行哪一種操作的結(jié)構(gòu)就稱為條件結(jié)構(gòu)(或分支結(jié)構(gòu)),如圖1所示.執(zhí)行過程如下:條件成立,則執(zhí)行A框;不成立,則執(zhí)行B框.注:無論條件是否成立,只能執(zhí)行A、B之一,不可能兩個(gè)框都執(zhí)行.A、B兩個(gè)框中,可以有一個(gè)是空的,即不執(zhí)行任何操作,如圖2.條件結(jié)構(gòu)的兩種形式的區(qū)別:一種是在兩個(gè)“分支”中均包含算法的步驟,符合條件就執(zhí)行“步驟A”,否則執(zhí)行“步驟B”;另一種是在一個(gè)“分支”中均包含算法的步驟A,而在另一個(gè)“分支”上不包含算法的任何步驟,符合條件就執(zhí)行“步驟A”,否則執(zhí)行這個(gè)條件結(jié)構(gòu)后的步驟【例4】任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷以這3個(gè)正實(shí)數(shù)為三邊邊長(zhǎng)的三角形是否存在,并畫出這個(gè)算法的程序框圖.算法分析:判斷以3個(gè)任意給定的正實(shí)數(shù)為三條邊邊長(zhǎng)的三角形是否存在,只需驗(yàn)證這3個(gè)數(shù)中任意兩個(gè)數(shù)的和是否大于第3個(gè)數(shù).這個(gè)驗(yàn)證需要用到條件結(jié)構(gòu).算法步驟如下:第一步,輸入3個(gè)正實(shí)數(shù)a,b,c.第二步,判斷a+b>c,b+c>a,c+a>b是否同時(shí)成立.若是,則存在這樣的三角形;否則,不存在這樣的三角形.程序框圖如右圖:點(diǎn)評(píng):根據(jù)構(gòu)成三角形的條件,判斷是否滿足任意兩邊之和大于第三邊,如果滿足則存在這樣的三角形,如果不滿足則不存在這樣的三角形.這種分類討論思想是高中的重點(diǎn),在畫程序框圖時(shí),常常遇到需要討論的問題,這時(shí)要用到條件結(jié)構(gòu).三.隨堂練習(xí)例5.設(shè)計(jì)一個(gè)求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示.1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(二)探究(一):循環(huán)結(jié)構(gòu)提出問題(1)請(qǐng)大家舉出一些常見的需要反復(fù)計(jì)算的例子.(2)什么是循環(huán)結(jié)構(gòu)、循環(huán)體?(3)試用程序框圖表示循環(huán)結(jié)構(gòu).(4)指出兩種循環(huán)結(jié)構(gòu)的相同點(diǎn)和不同點(diǎn).討論結(jié)果:(1)例如用二分法求方程的近似解、數(shù)列求和等.(2)在一些算法中,經(jīng)常會(huì)出現(xiàn)從某處開始,按照一定的條件反復(fù)執(zhí)行某些步驟的情況,這就是循環(huán)結(jié)構(gòu).反復(fù)執(zhí)行的步驟稱為循環(huán)體.顯然,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)。(3)在一些算法中要求重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).即從算法某處開始,按照一定條件重復(fù)執(zhí)行某一處理的過程.重復(fù)執(zhí)行的處理步驟稱為循環(huán)體.循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu).1°當(dāng)型循環(huán)結(jié)構(gòu),如圖(1)所示,它的功能是當(dāng)給定的條件P成立時(shí),執(zhí)行A框,A框執(zhí)行完畢后,返回來再判斷條件P是否成立,如果仍然成立,返回來再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次返回來判斷條件P不成立時(shí)為止,此時(shí)不再執(zhí)行A框,離開循環(huán)結(jié)構(gòu).繼續(xù)執(zhí)行下面的框圖.2°直到型循環(huán)結(jié)構(gòu),如圖(2)所示,它的功能是先執(zhí)行重復(fù)執(zhí)行的A框,然后判斷給定的條件P是否成立,如果P仍然不成立,則返回來繼續(xù)執(zhí)行A框,再判斷條件P是否成立.繼續(xù)重復(fù)操作,直到某一次給定的判斷條件P時(shí)成立為止,此時(shí)不再返回來執(zhí)行A框,離開循環(huán)結(jié)構(gòu).繼續(xù)執(zhí)行下面的框圖.見示意圖:當(dāng)型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)(4)兩種循環(huán)結(jié)構(gòu)的不同點(diǎn):直到型循環(huán)結(jié)構(gòu)是程序先進(jìn)入循環(huán)體,然后對(duì)條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán).當(dāng)型循環(huán)結(jié)構(gòu)是在每次執(zhí)行循環(huán)體前,先對(duì)條件進(jìn)行判斷,當(dāng)條件滿足時(shí),執(zhí)行循環(huán)體,否則終止循環(huán).兩種循環(huán)結(jié)構(gòu)的相同點(diǎn):兩種不同形式的循環(huán)結(jié)構(gòu)可以看出,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),用于確定何時(shí)終止執(zhí)行循環(huán)體.探究(二):應(yīng)用實(shí)例【例6】設(shè)計(jì)一個(gè)計(jì)算1+2+……+100的值的算法,并畫出程序框圖.算法分析:通常,我們按照下列過程計(jì)算1+2+……+100的值.第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.顯然,這個(gè)過程中包含重復(fù)操作的步驟,可以用循環(huán)結(jié)構(gòu)表示.分析上述計(jì)算過程,可以發(fā)現(xiàn)每一步都可以表示為第(i-1)步的結(jié)果+i=第i步的結(jié)果.為了方便、有效地表示上述過程,我們用一個(gè)累加變量S來表示第一步的計(jì)算結(jié)果,即把S+i的結(jié)果仍記為S,從而把第i步表示為S=S+i,其中S的初始值為0,i依次取1,2,…,100,由于i同時(shí)記錄了循環(huán)的次數(shù),所以也稱為計(jì)數(shù)變量.解決這一問題的算法是:第一步,令i=1,S=0.第二步,若i≤100成立,則執(zhí)行第三步;否則,輸出S,結(jié)束算法.第三步,S=S+i.第四步,i=i+1,返回第二步.程序框圖如右:上述程序框圖用的是當(dāng)型循環(huán)結(jié)構(gòu),如果用直到型循環(huán)結(jié)構(gòu)表示,則程序框圖如下:點(diǎn)評(píng):這是一個(gè)典型的用循環(huán)結(jié)構(gòu)解決求和的問題,有典型的代表意義,可把它作為一個(gè)范例,仔細(xì)體會(huì)三種邏輯結(jié)構(gòu)在程序框圖中的作用,學(xué)會(huì)畫程序框圖.【例7】某廠20XX年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長(zhǎng)5%,設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過300萬元的最早年份.算法分析:先寫出解決本例的算法步驟:第一步,輸入20XX年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值.第三步,判斷所得的結(jié)果是否大于300,若是,則輸出該年的年份,算法結(jié)束;否則,返回第二步.由于“第二步”是重復(fù)操作的步驟,所以本例可以用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn).我們按照“確定循環(huán)體”“初始化變量”“設(shè)定循環(huán)控制條件”的順序來構(gòu)造循環(huán)結(jié)構(gòu).(1)確定循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,t為年生產(chǎn)總值的年增長(zhǎng)量,n為年份,則循環(huán)體為t=0.05a,a=a+t,n=n+1.(2)初始化變量:若將20XX年的年生產(chǎn)總值看成計(jì)算的起始點(diǎn),則n的初始值為2005,a的初始值為200.(3)設(shè)定循環(huán)控制條件:當(dāng)“年生產(chǎn)總值超過300萬元”時(shí)終止循環(huán),所以可通過判斷“a>300”是否成立來控制循環(huán).程序框圖如下:三.隨堂練習(xí)已知有一列數(shù),設(shè)計(jì)框圖實(shí)現(xiàn)求該列數(shù)前20項(xiàng)的和.1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(三)討論結(jié)果:(1)順序結(jié)構(gòu)是由若干個(gè)依次執(zhí)行的步驟組成的,這是任何一個(gè)算法都離不開的基本結(jié)構(gòu).框圖略.(2)在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu).框圖略.(3)在一些算法中要求重復(fù)執(zhí)行同一操作的結(jié)構(gòu)稱為循環(huán)結(jié)構(gòu).即從算法某處開始,按照一定條件重復(fù)執(zhí)行某一處理過程.重復(fù)執(zhí)行的處理步驟稱為循環(huán)體.循環(huán)結(jié)構(gòu)有兩種形式:當(dāng)型循環(huán)結(jié)構(gòu)和直到型循環(huán)結(jié)構(gòu).框圖略.(4)從前面的學(xué)習(xí)可以看出,設(shè)計(jì)一個(gè)算法的程序框圖通常要經(jīng)過以下步驟:第一步,用自然語(yǔ)言表達(dá)算法步驟.第二步,確定每一個(gè)算法步驟所包含的邏輯結(jié)構(gòu),并用相應(yīng)的程序框表示,得到該步驟的程序框圖.第三步,將所有步驟的程序框圖用流程線連接起來,并加上終端框,得到表示整個(gè)算法的程序框圖.二.研探新知探究(一):多重條件結(jié)構(gòu)的程序框圖思考1:解關(guān)于的方程的算法步驟如何設(shè)計(jì)?下面流程圖是否正確?開始輸入x開始輸入x輸出x結(jié)束第一步,輸入實(shí)數(shù)第二步,判斷是否為0.若是,執(zhí)行第三步;否則,輸出第三步,判斷是否為0.若是,則輸出“方程的根為全體實(shí)數(shù)”;否則,輸出“方程無實(shí)數(shù)根”.程序框圖如下:是是是輸出x開始輸入a,b?結(jié)束否?輸出“方程的根式全體實(shí)數(shù)否輸出“方程無實(shí)數(shù)根”探究(二):混合邏輯結(jié)構(gòu)的程序框圖思考1:用“二分法”求方程的近似解的算法如何設(shè)計(jì)?第一步,令,給定精確度.第二步,確定區(qū)間,滿足。第三步,取區(qū)間中點(diǎn)。第四步,若,則含零點(diǎn)的區(qū)間為,否則,含零點(diǎn)的區(qū)間為,將新得到的含零點(diǎn)的區(qū)間仍記為。第五步,判斷的長(zhǎng)度是否小于,或是否等于0.則是方程的近似解;否則,返回第三步.思考2:該算法中哪幾個(gè)步驟可以用順序結(jié)構(gòu)來表示?這個(gè)順序結(jié)構(gòu)的程序框圖如何?思考3:該算法中第四步是什么邏輯結(jié)構(gòu)?這個(gè)步驟用程序框圖如何表示?思考4:該算法中哪幾個(gè)步驟構(gòu)成循環(huán)結(jié)構(gòu)?這個(gè)循環(huán)結(jié)構(gòu)用程序框圖如何表示?思考5:根據(jù)上述分析,你能畫出表示整個(gè)算法的程序框圖嗎?點(diǎn)評(píng):在用自然語(yǔ)言表述一個(gè)算法后,可以畫出程序框圖,用順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來表示這個(gè)算法,這樣表示的算法清楚、簡(jiǎn)練,便于閱讀和交流.探究(三):程序框圖的閱讀與理解考察下列程序框圖:思考1:怎樣理解該程序框圖中包含的邏輯結(jié)構(gòu)?思考2:該程序框圖中的循環(huán)結(jié)構(gòu)屬于那種類型?思考3:該程序框圖反映的實(shí)際問題是什么?該問題就是要求1+2+4+……+263的和練習(xí)P19練習(xí):設(shè)計(jì)一個(gè)用有理指數(shù)冪逼近無理指數(shù)冪的算法,畫出算法的程序框圖1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(習(xí)題課)二.問題講解(一)順序結(jié)構(gòu)13.畫出求坐標(biāo)平面內(nèi)兩點(diǎn),之間距離的程序框圖。(二)條件結(jié)構(gòu)14、與之間的函數(shù)關(guān)系式為:。請(qǐng)你設(shè)計(jì)一個(gè)輸入用水量、輸出應(yīng)繳費(fèi)額的算法,畫出程序框圖。(三)循環(huán)結(jié)構(gòu)13.2000年某地森林面積為1000,且每年增長(zhǎng),到哪一年該地森林面積超過2000。請(qǐng)?jiān)O(shè)計(jì)一個(gè)算法,并畫出程序框圖?!咀鳂I(yè)】1.(2008寧夏、海南,5)如圖所示的程序框圖,如果輸入三個(gè)實(shí)數(shù)a、b、c,要求輸出這三個(gè)數(shù)中最大的數(shù),那么在空白的判斷框中,應(yīng)該填入下面四個(gè)選項(xiàng)中的 () A. B. C. D.2.(2007廣東,6)如圖2-1是某縣參加20XX年高考的學(xué)生身高條形統(tǒng)計(jì)圖,從左到右的各條形表示的學(xué)生人數(shù)依次記為A1、A2、…、A10(如A2表示身高(單元:cm)在內(nèi)的學(xué)生人數(shù))。圖2-2是統(tǒng)計(jì)圖2-1中身高在一定范圍的學(xué)生人數(shù)的一個(gè)算法流程圖?,F(xiàn)要統(tǒng)計(jì)身高在160~180cm(含160cm,不含180cm)的學(xué)生人數(shù),那么在流程圖中的判斷框內(nèi)應(yīng)填寫的條件是 () A. B. C. D.圖2-1圖2-23.(2008廣東,9)閱讀圖所示的程序框圖,若輸入,則輸出a=,i=。圖2-1圖2-2(注:框圖中的賦值符號(hào)“=”也可以寫成“←”或“:=”)4.(2008山東,13)執(zhí)行如圖所示的程序框圖,若P=0.8,則輸出的n=。5.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑防水工程防水材料研發(fā)與市場(chǎng)調(diào)研合同
- 金華浙江金華市交通工程管理中心招聘編外人員筆試歷年參考題庫(kù)附帶答案詳解
- 遼寧2025年渤海大學(xué)招聘高層次人才92人筆試歷年參考題庫(kù)附帶答案詳解
- 湖南2025年湖南省生態(tài)環(huán)境廳直屬事業(yè)單位招聘44人筆試歷年參考題庫(kù)附帶答案詳解
- DB2103-T 008-2023 消防技術(shù)服務(wù)機(jī)構(gòu)從業(yè)規(guī)范
- 沈陽(yáng)2025年遼寧沈陽(yáng)遼中區(qū)四家事業(yè)單位面向區(qū)內(nèi)事業(yè)單位遴選18人筆試歷年參考題庫(kù)附帶答案詳解
- 常州2025年江蘇常州工學(xué)院高層次人才招聘60人(長(zhǎng)期)筆試歷年參考題庫(kù)附帶答案詳解
- 2025年中國(guó)兩側(cè)擋渣器市場(chǎng)調(diào)查研究報(bào)告
- 2025年語(yǔ)音電路項(xiàng)目可行性研究報(bào)告
- 2025年耐高溫硅橡膠項(xiàng)目可行性研究報(bào)告
- 2025年電力鐵塔市場(chǎng)分析現(xiàn)狀
- GB 12158-2024防止靜電事故通用要求
- 《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 山東省濱州市2024-2025學(xué)年高二上學(xué)期期末地理試題( 含答案)
- 體育老師籃球說課
- 化學(xué)-江蘇省蘇州市2024-2025學(xué)年2025屆高三第一學(xué)期學(xué)業(yè)期末質(zhì)量陽(yáng)光指標(biāo)調(diào)研卷試題和答案
- 蛋雞生產(chǎn)飼養(yǎng)養(yǎng)殖培訓(xùn)課件
- 運(yùn)用PDCA降低住院患者跌倒-墜床發(fā)生率
- 海底撈員工手冊(cè)
- 2024CSCO小細(xì)胞肺癌診療指南解讀
- 立春氣象與生活影響模板
評(píng)論
0/150
提交評(píng)論