算法與程序框圖(教案)_第1頁
算法與程序框圖(教案)_第2頁
算法與程序框圖(教案)_第3頁
算法與程序框圖(教案)_第4頁
算法與程序框圖(教案)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

05-算法與程序框圖【知識點(diǎn)】第一章算法初步算法的概念1、算法概念:“算法”通常是指可以用計算機(jī)來解決的某一類問題是程序或步驟,這些程序或步驟必須是明確和有效的,而且能夠在有限步之內(nèi)完成.2.算法的特點(diǎn):(1)有限性:一個算法的步驟序列是有限的,必須在有限操作之后停止,不能是無限的.(2)確定性:算法中的每一步應(yīng)該是確定的并且能有效地執(zhí)行且得到確定的結(jié)果,而不應(yīng)當(dāng)是模棱兩可.(3)順序性與正確性:算法從初始步驟開始,分為若干明確的步驟,每一個步驟只能有一個確定的后繼步驟,前一步是后一步的前提,只有執(zhí)行完前一步才能進(jìn)行下一步,并且每一步都準(zhǔn)確無誤,才能完成問題.(4)不唯一性:求解某一個問題的解法不一定是唯一的,對于一個問題可以有不同的算法.(5)普遍性:很多具體的問題,都可以設(shè)計合理的算法去解決,如心算、計算器計算都要經(jīng)過有限、事先設(shè)計好的步驟加以解決.程序框圖1、程序框圖基本概念:(一)程序構(gòu)圖的概念:程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說明來準(zhǔn)確、直觀地表示算法的圖形。一個程序框圖包括以下幾部分:表示相應(yīng)操作的程序框;帶箭頭的流程線;程序框外必要文字說明。(二)構(gòu)成程序框的圖形符號及其作用程序框名稱功能起止框表示一個算法的起始和結(jié)束,是任何流程圖不可少的。輸入、輸出框表示一個算法輸入和輸出的信息,可用在算法中任何需要輸入、輸出的位置。處理框賦值、計算,算法中處理數(shù)據(jù)需要的算式、公式等分別寫在不同的用以處理數(shù)據(jù)的處理框內(nèi)。判斷框判斷某一條件是否成立,成立時在出口處標(biāo)明“是”或“Y”;不成立時標(biāo)明“否”或“N”。學(xué)習(xí)這部分知識的時候,要掌握各個圖形的形狀、作用及使用規(guī)則,畫程序框圖的規(guī)則如下:1、使用標(biāo)準(zhǔn)的圖形符號。2、框圖一般按從上到下、從左到右的方向畫。3、除判斷框外,大多數(shù)流程圖符號只有一個進(jìn)入點(diǎn)和一個退出點(diǎn)。判斷框具有超過一個退出點(diǎn)的唯一符號。4、判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。5、在圖形符號內(nèi)描述的語言要非常簡練清楚。(三)、算法的三種基本邏輯結(jié)構(gòu):順序結(jié)構(gòu)、條件結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。1、順序結(jié)構(gòu):順序結(jié)構(gòu)是最簡單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按從上到下的順序進(jìn)行的,它是由若干個依次執(zhí)行的處理步驟組成的,它是任何一個算法都離不開的一種基本算法結(jié)構(gòu)。順序結(jié)構(gòu)在程序框圖中的體現(xiàn)就是用流程線將程序框自上而下地連接起來,按順序執(zhí)行算法步驟。如在示意圖中,A框和B框是依次執(zhí)行的,只有在執(zhí)行完A框指定的操作后,才能接著執(zhí)行B框所指定的操作。2、條件結(jié)構(gòu):條件結(jié)構(gòu)是指在算法中通過對條件的判斷根據(jù)條件是否成立而選擇不同流向的算法結(jié)構(gòu)。條件P是否成立而選擇執(zhí)行A框或B框。無論P(yáng)條件是否成立,只能執(zhí)行A框或B框之一,不可能同時執(zhí)行A框和B框,也不可能A框、B框都不執(zhí)行。一個判斷結(jié)構(gòu)可以有多個判斷框。3、循環(huán)結(jié)構(gòu):在一些算法中,經(jīng)常會出現(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成立時,執(zhí)行A框,A框執(zhí)行完畢后,再判斷條件P是否成立,如果仍然成立,再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次條件P不成立為止,此時不再執(zhí)行A框,離開循環(huán)結(jié)構(gòu)。ABA成立ABA成立不成立P不成立P成立A注意:1循環(huán)結(jié)構(gòu)要在某個條件下終止循環(huán),這就需要條件結(jié)構(gòu)來判斷。因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),但不允許“死循環(huán)”。2在循環(huán)結(jié)構(gòu)中都有一個計數(shù)變量和累加變量。計數(shù)變量用于記錄循環(huán)次數(shù),累加變量用于輸出結(jié)果。計數(shù)變量和累加變量一般是同步執(zhí)行的,累加一次,計數(shù)一次。【課堂講解】1.1.1算法的概念思考2:用加減消元法解二元一次方程組 的具體步驟是什么?第一步,①+②×2,得5x=1.③第二步,第三步,第四步,第五步,思考3:參照上述思路,一般地,解方程組的基本步驟是什么?第一步,第二步,第三步,第四步,第五步,思考4:根據(jù)上述分析,用加減消元法解二元一次方程組,可以分為五個步驟進(jìn)行,這五個步驟就構(gòu)成了解二元一次方程組的一個“算法”。我們再根據(jù)這一算法編制計算機(jī)程序,就可以讓計算機(jī)來解二元一次方程組.那么解二元一次方程組的算法包括哪些內(nèi)容?思考5:一般地,算法是由按照一定規(guī)則解決某一類問題的基本步驟組成的。你認(rèn)為:(1)這些步驟的個數(shù)是有限的還是無限的?(2)每個步驟是否有明確的計算任務(wù)?思考6:有人對哥德巴赫猜想“任何大于4的偶數(shù)都能寫成兩個質(zhì)數(shù)之和”設(shè)計了如下操作步驟:第一步,檢驗(yàn)6=3+3,第二步,檢驗(yàn)8=3+5,第三步,檢驗(yàn)10=5+5,……利用計算機(jī)無窮地進(jìn)行下去!請問:這是一個算法嗎?思考7:根據(jù)上述分析,你能歸納出算法的概念嗎?算法的定義:廣義的算法是指完成某項(xiàng)工作的方法和步驟,在數(shù)學(xué)中,算法通常是指按照一定規(guī)則解決某一類問題的明確有限的步驟算法的特征:①確定性:算法的每一步都應(yīng)當(dāng)做到準(zhǔn)確無誤、不重不漏.“不重”是指不是可有可無的,甚至無用的步驟,“不漏”是指缺少哪一步都無法完成任務(wù).②邏輯性:算法從開始的“第一步”直到“最后一步”之間做到環(huán)環(huán)相扣,分工明確,“前一步”是“后一步”的前提,“后一步”是“前一步”的繼續(xù).③有窮性:算法要有明確的開始和結(jié)束,當(dāng)?shù)竭_(dá)終止步驟時所要解決的問題必須有明確的結(jié)果,也就是說必須在有限步內(nèi)完成任務(wù),不能無限制地持續(xù)進(jìn)行.探究(二):算法的步驟設(shè)計【例1】(1)設(shè)計一個算法,判斷7是否為質(zhì)數(shù).(2)設(shè)計一個算法,判斷35是否為質(zhì)數(shù).算法分析:(1)根據(jù)質(zhì)數(shù)的定義,可以這樣判斷:依次用2—6除7,如果它們中有一個能整除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)練請寫出判斷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].對所得的區(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]的長度是否小于d或f(m)是否等于0.若是,則m是方程的近似解;否則,返回第三步.當(dāng)d=0.005時,按照以上算法,可以得到下表.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時的原方程的近似解。練習(xí)1.練習(xí)22.一個人帶著三只狼和三只羚羊過河,只有一條船,同船可容納一個人和兩只動物,沒有人在的時候,如果狼的數(shù)量不少于羚羊的數(shù)量就會吃羚羊.該人如何將動物轉(zhuǎn)移過河?請?jiān)O(shè)計算法.解:具體算法如下:算法步驟:第一步:人帶兩只狼過河,并自己返回.第二步:人帶一只狼過河,自己返回.第三步:人帶兩只羚羊過河,并帶兩只狼返回.第四步:人帶一只羊過河,自己返回.第五步:人帶兩只狼過河.1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(一)思考1:“判斷整數(shù)n(n>2)是否為質(zhì)數(shù)”的算法步驟如何?第一步,給定一個大于2的整數(shù)n;第二步,第三步,第四步第五步,思考2:我們將上述算法用下面的圖形表示:思考3:在上述程序框圖中,有4種程序框,2種流程線,它們分別有何特定的名稱和功能?試分別說明。注意:在學(xué)習(xí)這部分知識的時候,要掌握各個圖形的形狀、作用及使用規(guī)則,畫程序框圖的規(guī)則如下:(1)使用標(biāo)準(zhǔn)的圖形符號。(2)框圖一般按從上到下、從左到右的方向畫。(3)除判斷框外,大多數(shù)流程圖符號只有一個進(jìn)入點(diǎn)和一個退出點(diǎn)。判斷框具有超過一個退出點(diǎn)的惟一符號。(4)判斷框分兩大類,一類判斷框“是”與“否”兩分支的判斷,而且有且僅有兩個結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果。(5)在圖形符號內(nèi)描述的語言要非常簡練清楚。探究(二):算法的基本邏輯結(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)任何一個算法各步驟之間都有明確的順序性,在算法的程序框圖中,由若干個依次執(zhí)行的步驟組成的邏輯結(jié)構(gòu),稱為順序結(jié)構(gòu)。順序結(jié)構(gòu)描述的是是最簡單的算法結(jié)構(gòu),語句與語句之間,框與框之間是按從上到下的順序進(jìn)行的。【例3】已知一個三角形三條邊的邊長分別為a,b,c,利用海倫—秦九韶公式設(shè)計一個計算三角形面積的算法,并畫出程序框圖表示.算法分析:這是一個簡單的問題,只需先算出p的值,再將它代入分式,最后輸出結(jié)果.因此只用順序結(jié)構(gòu)應(yīng)能表達(dá)出算法.算法步驟如下:第一步,輸入三角形三條邊的邊長a,b,c.第二步,計算p=.第三步,計算S=.第四步,輸出S.程序框圖如下:點(diǎn)評:很明顯,順序結(jié)構(gòu)是由若干個依次執(zhí)行的步驟組成的,它是最簡單的邏輯結(jié)構(gòu),它是任何一個算法都離不開的基本結(jié)構(gòu).探究(四):條件結(jié)構(gòu)在一個算法中,經(jīng)常會遇到一些條件的判斷,算法的流程根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu)用程序框圖表示條件結(jié)構(gòu)如下.圖1圖2條件結(jié)構(gòu):先根據(jù)條件作出判斷,再決定執(zhí)行哪一種操作的結(jié)構(gòu)就稱為條件結(jié)構(gòu)(或分支結(jié)構(gòu)),如圖1所示.執(zhí)行過程如下:條件成立,則執(zhí)行A框;不成立,則執(zhí)行B框.注:無論條件是否成立,只能執(zhí)行A、B之一,不可能兩個框都執(zhí)行.A、B兩個框中,可以有一個是空的,即不執(zhí)行任何操作,如圖2.條件結(jié)構(gòu)的兩種形式的區(qū)別:一種是在兩個“分支”中均包含算法的步驟,符合條件就執(zhí)行“步驟A”,否則執(zhí)行“步驟B”;另一種是在一個“分支”中均包含算法的步驟A,而在另一個“分支”上不包含算法的任何步驟,符合條件就執(zhí)行“步驟A”,否則執(zhí)行這個條件結(jié)構(gòu)后的步驟【例4】任意給定3個正實(shí)數(shù),設(shè)計一個算法,判斷以這3個正實(shí)數(shù)為三邊邊長的三角形是否存在,并畫出這個算法的程序框圖.算法分析:判斷以3個任意給定的正實(shí)數(shù)為三條邊邊長的三角形是否存在,只需驗(yàn)證這3個數(shù)中任意兩個數(shù)的和是否大于第3個數(shù).這個驗(yàn)證需要用到條件結(jié)構(gòu).算法步驟如下:第一步,輸入3個正實(shí)數(shù)a,b,c.第二步,判斷a+b>c,b+c>a,c+a>b是否同時成立.若是,則存在這樣的三角形;否則,不存在這樣的三角形.程序框圖如右圖:點(diǎn)評:根據(jù)構(gòu)成三角形的條件,判斷是否滿足任意兩邊之和大于第三邊,如果滿足則存在這樣的三角形,如果不滿足則不存在這樣的三角形.這種分類討論思想是高中的重點(diǎn),在畫程序框圖時,常常遇到需要討論的問題,這時要用到條件結(jié)構(gòu).三.隨堂練習(xí)例5.設(shè)計一個求解一元二次方程ax2+bx+c=0的算法,并畫出程序框圖表示.1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(二)探究(一):循環(huán)結(jié)構(gòu)提出問題(1)請大家舉出一些常見的需要反復(fù)計算的例子.(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)常會出現(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成立時,執(zhí)行A框,A框執(zhí)行完畢后,返回來再判斷條件P是否成立,如果仍然成立,返回來再執(zhí)行A框,如此反復(fù)執(zhí)行A框,直到某一次返回來判斷條件P不成立時為止,此時不再執(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時成立為止,此時不再返回來執(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)體,然后對條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時終止循環(huán).當(dāng)型循環(huán)結(jié)構(gòu)是在每次執(zhí)行循環(huán)體前,先對條件進(jìn)行判斷,當(dāng)條件滿足時,執(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),用于確定何時終止執(zhí)行循環(huán)體.探究(二):應(yīng)用實(shí)例【例6】設(shè)計一個計算1+2+……+100的值的算法,并畫出程序框圖.算法分析:通常,我們按照下列過程計算1+2+……+100的值.第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.顯然,這個過程中包含重復(fù)操作的步驟,可以用循環(huán)結(jié)構(gòu)表示.分析上述計算過程,可以發(fā)現(xiàn)每一步都可以表示為第(i-1)步的結(jié)果+i=第i步的結(jié)果.為了方便、有效地表示上述過程,我們用一個累加變量S來表示第一步的計算結(jié)果,即把S+i的結(jié)果仍記為S,從而把第i步表示為S=S+i,其中S的初始值為0,i依次取1,2,…,100,由于i同時記錄了循環(huán)的次數(shù),所以也稱為計數(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)評:這是一個典型的用循環(huán)結(jié)構(gòu)解決求和的問題,有典型的代表意義,可把它作為一個范例,仔細(xì)體會三種邏輯結(jié)構(gòu)在程序框圖中的作用,學(xué)會畫程序框圖.【例7】某廠20XX年的年生產(chǎn)總值為200萬元,技術(shù)革新后預(yù)計以后每年的年生產(chǎn)總值都比上一年增長5%,設(shè)計一個程序框圖,輸出預(yù)計年生產(chǎn)總值超過300萬元的最早年份.算法分析:先寫出解決本例的算法步驟:第一步,輸入20XX年的年生產(chǎn)總值.第二步,計算下一年的年生產(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)總值的年增長量,n為年份,則循環(huán)體為t=0.05a,a=a+t,n=n+1.(2)初始化變量:若將20XX年的年生產(chǎn)總值看成計算的起始點(diǎn),則n的初始值為2005,a的初始值為200.(3)設(shè)定循環(huán)控制條件:當(dāng)“年生產(chǎn)總值超過300萬元”時終止循環(huán),所以可通過判斷“a>300”是否成立來控制循環(huán).程序框圖如下:三.隨堂練習(xí)已知有一列數(shù),設(shè)計框圖實(shí)現(xiàn)求該列數(shù)前20項(xiàng)的和.1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)(三)討論結(jié)果:(1)順序結(jié)構(gòu)是由若干個依次執(zhí)行的步驟組成的,這是任何一個算法都離不開的基本結(jié)構(gòu).框圖略.(2)在一個算法中,經(jīng)常會遇到一些條件的判斷,算法的流程根據(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īng)過以下步驟:第一步,用自然語言表達(dá)算法步驟.第二步,確定每一個算法步驟所包含的邏輯結(jié)構(gòu),并用相應(yīng)的程序框表示,得到該步驟的程序框圖.第三步,將所有步驟的程序框圖用流程線連接起來,并加上終端框,得到表示整個算法的程序框圖.二.研探新知探究(一):多重條件結(jié)構(gòu)的程序框圖思考1:解關(guān)于的方程的算法步驟如何設(shè)計?下面流程圖是否正確?開始輸入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è)計?第一步,令,給定精確度.第二步,確定區(qū)間,滿足。第三步,取區(qū)間中點(diǎn)。第四步,若,則含零點(diǎn)的區(qū)間為,否則,含零點(diǎn)的區(qū)間為,將新得到的含零點(diǎn)的區(qū)間仍記為。第五步,判斷的長度是否小于,或是否等于0.則是方程的近似解;否則,返回第三步.思考2:該算法中哪幾個步驟可以用順序結(jié)構(gòu)來表示?這個順序結(jié)構(gòu)的程序框圖如何?思考3:該算法中第四步是什么邏輯結(jié)構(gòu)?這個步驟用程序框圖如何表示?思考4:該算法中哪幾個步驟構(gòu)成循環(huán)結(jié)構(gòu)?這個循環(huán)結(jié)構(gòu)用程序框圖如何表示?思考5:根據(jù)上述分析,你能畫出表示整個算法的程序框圖嗎?點(diǎn)評:在用自然語言表述一個算法后,可以畫出程序框圖,用順序結(jié)構(gòu)、條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來表示這個算法,這樣表示的算法清楚、簡練,便于閱讀和交流.探究(三):程序框圖的閱讀與理解考察下列程序框圖:思考1:怎樣理解該程序框圖中包含的邏輯結(jié)構(gòu)?思考2:該程序框圖中的循環(huán)結(jié)構(gòu)屬于那種類型?思考3:該程序框圖反映的實(shí)際問題是什么?該問題就是要求1+2+4+……+263的和練習(xí)P19練習(xí):設(shè)計一個用有理指數(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)系式為:。請你設(shè)計一個輸入用水量、輸出應(yīng)繳費(fèi)額的算法,畫出程序框圖。(三)循環(huán)結(jié)構(gòu)13.2000年某地森林面積為1000,且每年增長,到哪一年該地森林面積超過2000。請?jiān)O(shè)計一個算法,并畫出程序框圖?!咀鳂I(yè)】1.(2008寧夏、海南,5)如圖所示的程序框圖,如果輸入三個實(shí)數(shù)a、b、c,要求輸出這三個數(shù)中最大的數(shù),那么在空白的判斷框中,應(yīng)該填入下面四個選項(xiàng)中的 () A. B. C. D.2.(2007廣東,6)如圖2-1是某縣參加20XX年高考的學(xué)生身高條形統(tǒng)計圖,從左到右的各條形表示的學(xué)生人數(shù)依次記為A1、A2、…、A10(如A2表示身高(單元:cm)在內(nèi)的學(xué)生人數(shù))。圖2-2是統(tǒng)計圖2-1中身高在一定范圍的學(xué)生人數(shù)的一個算法流程圖。現(xiàn)要統(tǒng)計身高在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(注:框圖中的賦值符號“=”也可以寫成“←”或“:=”)4.(2008山東,13)執(zhí)行如圖所示的程序框圖,若P=0.8,則輸出的n=。5.

溫馨提示

  • 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

提交評論