人教版高中數(shù)學(xué)必修三112程序框圖與算法的基本邏輯結(jié)構(gòu) 課件_第1頁(yè)
人教版高中數(shù)學(xué)必修三112程序框圖與算法的基本邏輯結(jié)構(gòu) 課件_第2頁(yè)
人教版高中數(shù)學(xué)必修三112程序框圖與算法的基本邏輯結(jié)構(gòu) 課件_第3頁(yè)
人教版高中數(shù)學(xué)必修三112程序框圖與算法的基本邏輯結(jié)構(gòu) 課件_第4頁(yè)
人教版高中數(shù)學(xué)必修三112程序框圖與算法的基本邏輯結(jié)構(gòu) 課件_第5頁(yè)
已閱讀5頁(yè),還剩115頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)

1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)新課引入算法可以用自然語(yǔ)言來(lái)描述,但為了使算法的程序或步驟表達(dá)得更為直觀,我們更經(jīng)常地用圖形方式來(lái)表達(dá)它.例如上一節(jié)“例1.任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)做出判定”的算法可以用以下形式來(lái)表達(dá).新課引入算法可以用自然語(yǔ)言來(lái)描述,但為了使算法的程序任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)作出判斷。第一步:給定大于2的整數(shù)n第二步:第三步:第四步:第五步:任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=0?1否是求n除以i的余數(shù)r1n是質(zhì)數(shù)是否開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法自然語(yǔ)言描述圖形描述第一步:判斷n是否等于2?若n=2,則n是質(zhì)數(shù),否則,執(zhí)行第二步;第二步:依次從2~(n-1)檢驗(yàn)是不是n的因數(shù),即能整除n的數(shù),若有這樣的數(shù),則n不是質(zhì)數(shù);若沒(méi)有,則n是質(zhì)數(shù)。開(kāi)始輸入n求n除以i的余數(shù)i的值增加1,仍用i表示i>n-1或r=0?r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)結(jié)束否否是是i=2判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法自然語(yǔ)言描述圖形描述第一步:判判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法圖形描述思考:1、r的作用是什么?2、i的值增加1(i=i+1)有什么作用?3、整個(gè)圖形中有哪些基本的圖形,各自的意義和作用是什么?開(kāi)始輸入n求n除以i的余數(shù)i的值增加1,仍用i表示i>n-1或r=0?r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)結(jié)束否否是是i=2判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法圖形描述思考:1、r的作用是什程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說(shuō)明來(lái)準(zhǔn)確、直觀地表示算法的圖形.講授新課1.程序框圖的概念2.常見(jiàn)的程序框圖(ANSI,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì))流程線連接循環(huán)框連結(jié)點(diǎn)連接循環(huán)框圖的兩部分一、程序框圖程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字終端框(起止框)輸入、輸出框處理框(執(zhí)行框)判斷框表示一個(gè)算法的起始和結(jié)束表示一個(gè)算法輸入和輸出的信息賦值、計(jì)算判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明“是”或“Y”,不成立時(shí)標(biāo)明“否”或“N”.終端框輸入、處理框判斷框表示一個(gè)算法的表示一個(gè)算法輸賦值、計(jì)(1)起止框:框內(nèi)填寫(xiě)開(kāi)始、結(jié)束,任何程序框圖中,起止框是必不可少的;(2)輸入、輸出框:框內(nèi)填寫(xiě)輸入、輸出的字母、符號(hào)等;(3)處理框(執(zhí)行框):算法中需要的算式、公式、對(duì)變量進(jìn)行賦值等要用執(zhí)行框表示.(4)判斷框:當(dāng)算法要求在不同的情況下執(zhí)行不同的運(yùn)算時(shí),需要判斷框.框內(nèi)填寫(xiě)判斷條件.3.四種基本框圖的及其功能用法:(1)起止框:框內(nèi)填寫(xiě)開(kāi)始、結(jié)束,任何程序框圖中,起止框是必

為了使大家彼此之間能夠讀懂各自畫(huà)出的框圖,必須遵守一些共同的規(guī)則,下面對(duì)一些常用的規(guī)則作一簡(jiǎn)單的介紹.(1)使用標(biāo)準(zhǔn)的框圖符號(hào).(2)框圖一般按從上到下、從左到右的方向畫(huà).(3)除判斷框外,大多數(shù)程序框圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn),判斷框是具有超過(guò)一個(gè)退出點(diǎn)的唯一符號(hào).(4)一類判斷框是“是”與“否”兩分支的判斷,而且有且僅有兩個(gè)結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果.4.畫(huà)流程圖的規(guī)則為了使大家彼此之間能夠讀懂各自畫(huà)出的框圖,必須遵守一(5)在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚.(7)一個(gè)程序框圖包括以下幾部分:表示相應(yīng)操作的程序框;帶箭頭的流程線;程序框外必要的文字說(shuō)明.(6)起始框只允許一條流出線,終止框只允許一條流入線,輸入框、輸出框、處理框只有一條流入線和一條流出線,判斷框有一條流入線和兩條流出線,但任何時(shí)候只有一條流出線起作用.(5)在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚.(7)一個(gè)程序框開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=0?1否是求n除以i的余數(shù)r1n是質(zhì)數(shù)是否開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=i=i+1i≥n或r=0?否是求n除以i的余數(shù)r輸入ni=2n不是質(zhì)數(shù)r=0?n是質(zhì)數(shù)是否

盡管不同的算法千差萬(wàn)別,但它們都是由三種基本的邏輯結(jié)構(gòu)構(gòu)成的,這三種邏輯結(jié)構(gòu)就是順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu).下面分別介紹這三種結(jié)構(gòu).

從上面的程序框圖中,不難看出以下三種不同的邏輯結(jié)構(gòu).i=i+1i≥n或r=0?否是求n除以i輸入ni=2n不是質(zhì)二、順序結(jié)構(gòu)及框圖表示1.順序結(jié)構(gòu):按照步驟依次執(zhí)行的一個(gè)算法,稱為具有“順序結(jié)構(gòu)”的算法,或者稱為算法的順序結(jié)構(gòu).語(yǔ)句A語(yǔ)句B2.順序結(jié)構(gòu)的流程圖

順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的.它是由若干個(gè)處理步驟組成的,這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu).二、順序結(jié)構(gòu)及框圖表示1.順序結(jié)構(gòu):按照步驟依次執(zhí)行的一個(gè)算3.畫(huà)順序結(jié)構(gòu)程序框圖時(shí)注意事項(xiàng)左圖中,語(yǔ)句A和語(yǔ)句B是依次執(zhí)行的,只有在執(zhí)行完語(yǔ)句A指定的操作后,才能接著執(zhí)行語(yǔ)句B所指定的操作.(1)在程序框圖中,開(kāi)始框和結(jié)束框不可少;(2)在算法過(guò)程中,第一步輸入語(yǔ)句是必不可少的;(3)順序結(jié)構(gòu)在程序框圖中的體現(xiàn)就是用流程線將程序框自上而下地連接起來(lái),按順序執(zhí)行算法步驟.3.畫(huà)順序結(jié)構(gòu)程序框圖時(shí)注意事項(xiàng)左圖中,語(yǔ)句A和語(yǔ)句B是依次【例1】已知一個(gè)三角形的三邊邊長(zhǎng)分別為2,3,4,利用海倫—秦九韶公式設(shè)計(jì)一個(gè)算法,求出它的面積,畫(huà)出算法的程序框圖.開(kāi)始輸出S結(jié)束開(kāi)始框處理框輸出框結(jié)束框輸入框輸入a,b,c【例1】已知一個(gè)三角形的三邊邊長(zhǎng)分別為2,3,4,利用海倫—【例2】求兩個(gè)實(shí)數(shù)a,b

的算術(shù)平均值aver.S1:輸入兩個(gè)實(shí)數(shù)a,b;S2:計(jì)算c=a+b;S3:計(jì)算aver=c/2;S4:輸出aver.輸出aver開(kāi)始輸入a,baver=c/2結(jié)束解:用數(shù)學(xué)語(yǔ)言【例2】求兩個(gè)實(shí)數(shù)a,b的算術(shù)平均值aver.S1:【例3】“雞兔同籠”是我國(guó)隋朝時(shí)期的數(shù)學(xué)著作《孫子算經(jīng)》中的一個(gè)有趣而具有深遠(yuǎn)影響的題目:“今有雉兔同籠,上有三十五頭,下有九十四足,問(wèn)雉兔各幾何.”

請(qǐng)你設(shè)計(jì)一個(gè)這類問(wèn)題的通用算法.并畫(huà)出算法的程序框圖.設(shè)有X只雞,Y只兔.則解:雞兔同籠,設(shè)雞兔總頭數(shù)為H,總腳數(shù)為F,求雞兔各有多少只.算法分析如下:解方程組,得【例3】“雞兔同籠”是我國(guó)隋朝時(shí)期的數(shù)學(xué)著作《孫子算經(jīng)》中的第一步:輸入總頭數(shù)H,

總腳數(shù)F;第二步:計(jì)算雞的個(gè)數(shù)

x=(4H-F)/2;第三步:計(jì)算兔的個(gè)數(shù)

y=(F-2H)/2;第四步:輸出x,y開(kāi)始輸出X,Y結(jié)束X=(4H-F)/2Y=(F-2H)/2輸入H和F解:用數(shù)學(xué)語(yǔ)言程序框圖第一步:輸入總頭數(shù)H,開(kāi)始輸出X,Y結(jié)束X=(4H-F)/第四步:計(jì)算;【例4】試描述求點(diǎn)(x0,y0)到直線Ax+By+C=0的距離的算法,并畫(huà)出算法的程序框圖.第一步:輸入x0,y0,A,B,C;第二步:計(jì)算Z1=Ax0+By0+C;第三步:計(jì)算Z2=A2+B2;第五步:輸出d.解:用數(shù)學(xué)語(yǔ)言第四步:計(jì)算;【例4】試描開(kāi)始輸入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2輸出d結(jié)束程序框圖開(kāi)始輸入x0,y0,A,B,CZ1=Ax0+By0+CZ2=課堂小結(jié)2.順序結(jié)構(gòu)的特點(diǎn)1.程序框圖:由于圖形的描述方法既形象,又直觀,設(shè)計(jì)者的思路表達(dá)得清楚易懂,便于檢查修改,所以得到廣泛的應(yīng)用.課堂小結(jié)2.順序結(jié)構(gòu)的特點(diǎn)1.程序框圖:由于圖形的描述方法既1.程序框圖的定義:又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說(shuō)明來(lái)準(zhǔn)確、直觀地表示算法的圖形.溫故知新步驟n步驟n+13.基本邏輯結(jié)構(gòu):(1)順序結(jié)構(gòu):由若干個(gè)依次執(zhí)行的處理步驟組成的.這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu) 。2.基本程序框圖及其功能;1.程序框圖的定義:又稱流程圖,是一種用規(guī)定的圖形、指向線及已知梯形上底為2,下底為4,高為5,求其面積,設(shè)計(jì)出該問(wèn)題的流程圖.開(kāi)始輸出結(jié)束作業(yè)評(píng)析已知梯形上底為2,下底為4,高為5,求其面積,設(shè)計(jì)出該問(wèn)題的三.條件結(jié)構(gòu)---在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流向根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過(guò)程的結(jié)構(gòu).兩種常見(jiàn)形式:特征:兩個(gè)步驟A,B根據(jù)條件選擇一個(gè)執(zhí)行特征:根據(jù)條件選擇是否執(zhí)行步驟A滿足條件?步驟A步驟B是否滿足條件?步驟A是否三.條件結(jié)構(gòu)---在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在.畫(huà)出這個(gè)算法的程序框圖.算法步驟:第一步:輸入3個(gè)正實(shí)數(shù)a,b,c;第二步:判斷a+b>c,a+c>b,b+c>a是否同時(shí)成立,若是,則能組成三角形;若否,則組不成三角形.例5任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊開(kāi)始輸入a,b,ca+b>c,b+c>a,c+a>b是否同時(shí)成立?是存在這樣的三角形結(jié)束否不存在這樣的三角形程序框圖:開(kāi)始輸入a,b,ca+b>c,b+c>a,c+a>b是否同時(shí)算法步驟如下:設(shè)計(jì)一個(gè)求解一元二次方程ax2+bx+c=0的算法,并畫(huà)出程序框圖表示.例6算法步驟如下:設(shè)計(jì)一個(gè)求解一元二次方程ax2+bx+c=0的程序框圖:開(kāi)始輸入a,b,c△=b2-4ac△≥0?△=0?否x1=p+q輸出x1,x2結(jié)束否是x2=p-q輸出x1=x2=p是輸出“方程沒(méi)有實(shí)數(shù)根”程序框圖:開(kāi)始輸入a,b,c△=b2-4ac△≥0?△=0設(shè)計(jì)求一個(gè)任意數(shù)的絕對(duì)值的算法,并畫(huà)出相應(yīng)的流程圖。分析:根據(jù)絕對(duì)值的定義,如果y=|x|,當(dāng)x≥0,y=x;當(dāng)x<0時(shí),y=-x,所以當(dāng)給出一個(gè)自變量x的值,求它所對(duì)應(yīng)的y值時(shí)必需先判斷x的范圍,所以要用到條件結(jié)構(gòu).算法步驟:第二步,判斷x≥0是否成立。若是,y=x;否則y=-x.第三步,輸出y.第一步,輸入x.課堂練習(xí)1.設(shè)計(jì)求一個(gè)任意數(shù)的絕對(duì)值的算法,并畫(huà)出相應(yīng)的流程圖。分析:根是程序框圖:開(kāi)始輸入xx≥0?輸出y否結(jié)束y=xy=-x是程序框圖:開(kāi)始輸入xx≥0?輸出y否結(jié)束y=xy=-x2.某商場(chǎng)購(gòu)物實(shí)行優(yōu)惠措施,若購(gòu)物金額x元在800元以上(包括800元),打8折;若購(gòu)物金額x元在500元以上(包括500元),打9折,否則不打折。設(shè)計(jì)程序框圖,要求輸入購(gòu)物金額x,能輸出實(shí)際交款額。分析:實(shí)際上是求函數(shù)的值。2.某商場(chǎng)購(gòu)物實(shí)行優(yōu)惠措施,若購(gòu)物金額x元在800元以上(包開(kāi)始輸出yx≥800?是x≥500?輸入x結(jié)束y=xy=0.9xy=0.8x否否是程序框圖:開(kāi)始輸出yx≥800?是x≥500?輸入x結(jié)束y=xy=0.歸納小結(jié)

本節(jié)課學(xué)習(xí)的主要內(nèi)容:3.基本邏輯結(jié)構(gòu):(1)順序結(jié)構(gòu):由若干個(gè)依次執(zhí)行的處理步驟組成的.這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu)。(2)條件結(jié)構(gòu)---算法的流向根據(jù)條件是否成立有不同的流向.滿足條件?步驟A是否滿足條件?步驟A步驟B是否歸納小結(jié)本節(jié)課學(xué)習(xí)的主要內(nèi)容:滿足條件?步四:算法的循環(huán)結(jié)構(gòu)思考1:在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步驟稱為循環(huán)體,那么循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎?四:算法的循環(huán)結(jié)構(gòu)思考1:在算法的程序框圖中,由按照一定的條思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件?是否

這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎?在執(zhí)行了一次循環(huán)體后,對(duì)條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán).思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件?思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件?是否這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu),你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?在每次執(zhí)行循環(huán)體前,對(duì)條件進(jìn)行判斷,如果條件滿足,就執(zhí)行循環(huán)體,否則終止循環(huán).思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件例7:計(jì)算1+2+3+…+100的值可按如下過(guò)程進(jìn)行:第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.我們用一個(gè)累加變量S表示每一步的計(jì)算結(jié)果,即把S+i的結(jié)果仍記為S,從而把第i步表示為S=S+i,其中S的初始值為0,i依次取1,2,…,100,通過(guò)重復(fù)操作,上述問(wèn)題的算法如何設(shè)計(jì)?例7:計(jì)算1+2+3+…+100的值可按如下過(guò)程進(jìn)行:第1步

第四步,判斷i>100是否成立.若是,則輸出S,結(jié)束算法;否則,返回第二步.第一步,令i=1,S=0.第二步,計(jì)算S+i,仍用S表示.第三步,計(jì)算i+1,仍用i表示.第四步,判斷i>100是否成立.若是,則輸出S,結(jié)束算法;思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i=1i>100?是輸出S結(jié)束S=0i=i+1S=S+i否思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i=1結(jié)束輸出S否是S=0S=S+ii≤100?i=i+1思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i=練習(xí)鞏固1、設(shè)計(jì)一算法,求積:1×2×3×…×100,畫(huà)出流程圖結(jié)束輸出Si=1,S=1開(kāi)始S=S*ii=i+1i>100?否是思考:該流程圖與前面的例中求和的流程圖有何不同?練習(xí)鞏固1、設(shè)計(jì)一算法,求積:1×2×3×…×100,畫(huà)出流例2某工廠2005年的年生產(chǎn)總值為200萬(wàn)元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長(zhǎng)5%.設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過(guò)300萬(wàn)元的最早年份.第三步,判斷所得的結(jié)果是否大于300. 若是,則輸出該年的年份; 否則,返回第二步.第一步,輸入2005年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值.算法分析:例2某工廠2005年的年生產(chǎn)總值為200萬(wàn)元,技術(shù)革(3)控制條件:當(dāng)“a>300”時(shí)終止循環(huán).(1)循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,t為年生產(chǎn)總值的年增長(zhǎng)量,n為年份,則t=0.05a,a=a+t,n=n+1.(2)初始值:n=2005,a=200.循環(huán)結(jié)構(gòu):(3)控制條件:當(dāng)“a>300”時(shí)終止循環(huán).(1)循環(huán)體:設(shè)開(kāi)始n=2005a=200t=0.05aa=a+tn=n+1a>300?結(jié)束輸出n是否程序框圖:開(kāi)始n=2005a=200t=0.05aa=a+tn=n+12、設(shè)計(jì)一算法輸出1~1000以內(nèi)能被3整除的整數(shù)結(jié)束i=i+1i<1000?輸出i否是i=0開(kāi)始3整除i?否是算法:S1:確定i的初始值為0;S2:判斷i是否等于1000,若是則程序結(jié)束,否則進(jìn)入S3;S3:使i增加1,判斷i是否能被3整除,若能輸出i,并返回S2;否則直接返回S22、設(shè)計(jì)一算法輸出1~1000以內(nèi)能被3整除的整數(shù)結(jié)束i=理論遷移

練習(xí)畫(huà)出求三個(gè)不同實(shí)數(shù)中的最大值的程序框圖.開(kāi)始輸入a,b,ca>b?a>c?是x=a是x=c否b>c?否x=b是x=c否輸出x結(jié)束理論遷移練習(xí)畫(huà)出求三個(gè)不同實(shí)數(shù)中的最大值的程序框圖.第二步,令i=1第三步,用i除n,得到余數(shù)r第四步,判斷“r=0”是否成立。若是,則i是n的因數(shù);否則i不是n的因數(shù)。第六步,判斷“i>n”是否成立。若是,輸出因數(shù),結(jié)束算法;否則,返回第三步。第一步,給定大于1的正整數(shù)n作業(yè)講評(píng):任意給定一個(gè)大于1的正整數(shù)n,試設(shè)計(jì)一個(gè)算法求出n的所在因數(shù).算法:第五步,將i的值增加1,仍用i表示。第二步,令i=1第三步,用i除n,得到余數(shù)r第四步開(kāi)始輸入ni=1求n除以i的余數(shù)ri=i+1i≥n?是否i是n的因數(shù)結(jié)束是r=0?用程序框圖來(lái)表示算法,常有三種不同的基本邏輯結(jié)構(gòu):否順序結(jié)構(gòu)條件結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu)開(kāi)始輸入ni=1求n除以i的余數(shù)ri=i+1i≥n?是否i是(3)條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序框圖各有兩種形式,相互對(duì)立統(tǒng)一.條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的基本特征:小結(jié)作業(yè)(1)程序框圖中必須有兩個(gè)起止框,穿插輸入、輸出框和處理框,一定有判斷框.(2)循環(huán)結(jié)構(gòu)中包含條件結(jié)構(gòu),條件結(jié)構(gòu)中不含循環(huán)結(jié)構(gòu).(3)條件結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的程序框圖各有兩種形式,相互對(duì)立統(tǒng)一五.程序框圖的畫(huà)法五.程序框圖的畫(huà)法題型一:設(shè)計(jì)算法解決實(shí)際問(wèn)題例題講解例1、用程序框圖表示用二分法求方程x2-2=0的近似解的算法。f(x)=x2-2輸入精確度d和初始值a,b哪些步驟可以用順序結(jié)構(gòu)表示?如何表示?題型一:設(shè)計(jì)算法解決實(shí)際問(wèn)題例題講解例1、用程序框圖表示用二題型一:設(shè)計(jì)算法解決問(wèn)題例題講解例1、用程序框圖表示用二分法求方程x2-2=0的近似解的算法。第四步可以用什么結(jié)構(gòu)表示?如何表示?f(a)f(m)<0?a=mb=m是否題型一:設(shè)計(jì)算法解決問(wèn)題例題講解例1、用程序框圖表示用二分法題型一:設(shè)計(jì)算法解決問(wèn)題例題講解例1、用程序框圖表示用二分法求方程x2-2=0的近似解的算法。哪幾個(gè)步驟可以用循環(huán)結(jié)構(gòu)表示?第三步第四步|a-b|<d或f(m)=0?輸出m是否題型一:設(shè)計(jì)算法解決問(wèn)題例題講解例1、用程序框圖表示用二分法根據(jù)上述分析,畫(huà)出表示整個(gè)算法的程序框圖。開(kāi)始結(jié)束f(a)f(m)<0??a=mb=m是否|a-b|<d或f(m)=0?輸出m是否f(x)=x2-2輸入精確度d和初始值a,b例題講解題型一:設(shè)計(jì)算法解決問(wèn)題例1、用程序框圖表示用二分法求方程x2-2=0的近似解的算法。根據(jù)上述分析,畫(huà)出表示整個(gè)算法的程序框圖。開(kāi)始結(jié)束f(a)f題型二:程序框圖的閱讀與理解例題講解開(kāi)始n≤100?n=1S=0n是偶數(shù)?S=S-n×nS=S+n×nn=n+1輸出S結(jié)束是是否否求12-22+32-42+…+992-1002的值.

1、這個(gè)程序框圖包含了哪些邏輯結(jié)構(gòu)?

2、循環(huán)結(jié)構(gòu)屬于哪種類型?

3、循環(huán)體執(zhí)行多少次?

4、這個(gè)程序框圖解決了什么實(shí)際問(wèn)題?

題型二:程序框圖的閱讀與理解例題講解開(kāi)始n≤100?n=1S題型二:程序框圖的閱讀與理解例題講解練習(xí)1:如右圖,該程序圖表示的算法的功能是什么?題型二:程序框圖的閱讀與理解例題講解練習(xí)1:如右圖,該程序圖題型三:程序框圖的補(bǔ)充例題講解1、求1-1000內(nèi)所有奇數(shù)的和。設(shè)計(jì)的算法框圖如右,應(yīng)該在空格位置填入什么條件?分析:空格位置是循環(huán)體部分,應(yīng)考慮需要量重復(fù)執(zhí)行的步驟是什么?以及步驟的執(zhí)行順序如何?應(yīng)該填入:S=S+ii=i+2題型三:程序框圖的補(bǔ)充例題講解1、求1-1000內(nèi)所有奇數(shù)的謝謝觀看!謝謝觀看!題型三:程序框圖的補(bǔ)充例題講解2、求的值。設(shè)計(jì)的算法框圖如右,應(yīng)該在空格位置填入什么條件?分析:空格位置判斷條件,應(yīng)該考慮循環(huán)的終止條件是什么?應(yīng)該填入:i>10題型三:程序框圖的補(bǔ)充例題講解2、求1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)

1.1.2程序框圖與算法的基本邏輯結(jié)構(gòu)新課引入算法可以用自然語(yǔ)言來(lái)描述,但為了使算法的程序或步驟表達(dá)得更為直觀,我們更經(jīng)常地用圖形方式來(lái)表達(dá)它.例如上一節(jié)“例1.任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)做出判定”的算法可以用以下形式來(lái)表達(dá).新課引入算法可以用自然語(yǔ)言來(lái)描述,但為了使算法的程序任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n是否為質(zhì)數(shù)作出判斷。第一步:給定大于2的整數(shù)n第二步:第三步:第四步:第五步:任意給定一個(gè)大于1的整數(shù)n,試設(shè)計(jì)一個(gè)程序或步驟對(duì)n開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=0?1否是求n除以i的余數(shù)r1n是質(zhì)數(shù)是否開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法自然語(yǔ)言描述圖形描述第一步:判斷n是否等于2?若n=2,則n是質(zhì)數(shù),否則,執(zhí)行第二步;第二步:依次從2~(n-1)檢驗(yàn)是不是n的因數(shù),即能整除n的數(shù),若有這樣的數(shù),則n不是質(zhì)數(shù);若沒(méi)有,則n是質(zhì)數(shù)。開(kāi)始輸入n求n除以i的余數(shù)i的值增加1,仍用i表示i>n-1或r=0?r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)結(jié)束否否是是i=2判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法自然語(yǔ)言描述圖形描述第一步:判判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法圖形描述思考:1、r的作用是什么?2、i的值增加1(i=i+1)有什么作用?3、整個(gè)圖形中有哪些基本的圖形,各自的意義和作用是什么?開(kāi)始輸入n求n除以i的余數(shù)i的值增加1,仍用i表示i>n-1或r=0?r=0?n不是質(zhì)數(shù)n是質(zhì)數(shù)結(jié)束否否是是i=2判斷一個(gè)正整數(shù)是否是質(zhì)數(shù)的算法圖形描述思考:1、r的作用是什程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說(shuō)明來(lái)準(zhǔn)確、直觀地表示算法的圖形.講授新課1.程序框圖的概念2.常見(jiàn)的程序框圖(ANSI,美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì))流程線連接循環(huán)框連結(jié)點(diǎn)連接循環(huán)框圖的兩部分一、程序框圖程序框圖又稱流程圖,是一種用規(guī)定的圖形、指向線及文字終端框(起止框)輸入、輸出框處理框(執(zhí)行框)判斷框表示一個(gè)算法的起始和結(jié)束表示一個(gè)算法輸入和輸出的信息賦值、計(jì)算判斷某一條件是否成立,成立時(shí)在出口處標(biāo)明“是”或“Y”,不成立時(shí)標(biāo)明“否”或“N”.終端框輸入、處理框判斷框表示一個(gè)算法的表示一個(gè)算法輸賦值、計(jì)(1)起止框:框內(nèi)填寫(xiě)開(kāi)始、結(jié)束,任何程序框圖中,起止框是必不可少的;(2)輸入、輸出框:框內(nèi)填寫(xiě)輸入、輸出的字母、符號(hào)等;(3)處理框(執(zhí)行框):算法中需要的算式、公式、對(duì)變量進(jìn)行賦值等要用執(zhí)行框表示.(4)判斷框:當(dāng)算法要求在不同的情況下執(zhí)行不同的運(yùn)算時(shí),需要判斷框.框內(nèi)填寫(xiě)判斷條件.3.四種基本框圖的及其功能用法:(1)起止框:框內(nèi)填寫(xiě)開(kāi)始、結(jié)束,任何程序框圖中,起止框是必

為了使大家彼此之間能夠讀懂各自畫(huà)出的框圖,必須遵守一些共同的規(guī)則,下面對(duì)一些常用的規(guī)則作一簡(jiǎn)單的介紹.(1)使用標(biāo)準(zhǔn)的框圖符號(hào).(2)框圖一般按從上到下、從左到右的方向畫(huà).(3)除判斷框外,大多數(shù)程序框圖符號(hào)只有一個(gè)進(jìn)入點(diǎn)和一個(gè)退出點(diǎn),判斷框是具有超過(guò)一個(gè)退出點(diǎn)的唯一符號(hào).(4)一類判斷框是“是”與“否”兩分支的判斷,而且有且僅有兩個(gè)結(jié)果;另一類是多分支判斷,有幾種不同的結(jié)果.4.畫(huà)流程圖的規(guī)則為了使大家彼此之間能夠讀懂各自畫(huà)出的框圖,必須遵守一(5)在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚.(7)一個(gè)程序框圖包括以下幾部分:表示相應(yīng)操作的程序框;帶箭頭的流程線;程序框外必要的文字說(shuō)明.(6)起始框只允許一條流出線,終止框只允許一條流入線,輸入框、輸出框、處理框只有一條流入線和一條流出線,判斷框有一條流入線和兩條流出線,但任何時(shí)候只有一條流出線起作用.(5)在圖形符號(hào)內(nèi)描述的語(yǔ)言要非常簡(jiǎn)練清楚.(7)一個(gè)程序框開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=0?1否是求n除以i的余數(shù)r1n是質(zhì)數(shù)是否開(kāi)始輸入ni=2i=i+1i≥n或r=0?n不是質(zhì)數(shù)結(jié)束r=i=i+1i≥n或r=0?否是求n除以i的余數(shù)r輸入ni=2n不是質(zhì)數(shù)r=0?n是質(zhì)數(shù)是否

盡管不同的算法千差萬(wàn)別,但它們都是由三種基本的邏輯結(jié)構(gòu)構(gòu)成的,這三種邏輯結(jié)構(gòu)就是順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、選擇結(jié)構(gòu).下面分別介紹這三種結(jié)構(gòu).

從上面的程序框圖中,不難看出以下三種不同的邏輯結(jié)構(gòu).i=i+1i≥n或r=0?否是求n除以i輸入ni=2n不是質(zhì)二、順序結(jié)構(gòu)及框圖表示1.順序結(jié)構(gòu):按照步驟依次執(zhí)行的一個(gè)算法,稱為具有“順序結(jié)構(gòu)”的算法,或者稱為算法的順序結(jié)構(gòu).語(yǔ)句A語(yǔ)句B2.順序結(jié)構(gòu)的流程圖

順序結(jié)構(gòu)是最簡(jiǎn)單的算法結(jié)構(gòu),語(yǔ)句與語(yǔ)句之間,框與框之間是按從上到下的順序進(jìn)行的.它是由若干個(gè)處理步驟組成的,這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu).二、順序結(jié)構(gòu)及框圖表示1.順序結(jié)構(gòu):按照步驟依次執(zhí)行的一個(gè)算3.畫(huà)順序結(jié)構(gòu)程序框圖時(shí)注意事項(xiàng)左圖中,語(yǔ)句A和語(yǔ)句B是依次執(zhí)行的,只有在執(zhí)行完語(yǔ)句A指定的操作后,才能接著執(zhí)行語(yǔ)句B所指定的操作.(1)在程序框圖中,開(kāi)始框和結(jié)束框不可少;(2)在算法過(guò)程中,第一步輸入語(yǔ)句是必不可少的;(3)順序結(jié)構(gòu)在程序框圖中的體現(xiàn)就是用流程線將程序框自上而下地連接起來(lái),按順序執(zhí)行算法步驟.3.畫(huà)順序結(jié)構(gòu)程序框圖時(shí)注意事項(xiàng)左圖中,語(yǔ)句A和語(yǔ)句B是依次【例1】已知一個(gè)三角形的三邊邊長(zhǎng)分別為2,3,4,利用海倫—秦九韶公式設(shè)計(jì)一個(gè)算法,求出它的面積,畫(huà)出算法的程序框圖.開(kāi)始輸出S結(jié)束開(kāi)始框處理框輸出框結(jié)束框輸入框輸入a,b,c【例1】已知一個(gè)三角形的三邊邊長(zhǎng)分別為2,3,4,利用海倫—【例2】求兩個(gè)實(shí)數(shù)a,b

的算術(shù)平均值aver.S1:輸入兩個(gè)實(shí)數(shù)a,b;S2:計(jì)算c=a+b;S3:計(jì)算aver=c/2;S4:輸出aver.輸出aver開(kāi)始輸入a,baver=c/2結(jié)束解:用數(shù)學(xué)語(yǔ)言【例2】求兩個(gè)實(shí)數(shù)a,b的算術(shù)平均值aver.S1:【例3】“雞兔同籠”是我國(guó)隋朝時(shí)期的數(shù)學(xué)著作《孫子算經(jīng)》中的一個(gè)有趣而具有深遠(yuǎn)影響的題目:“今有雉兔同籠,上有三十五頭,下有九十四足,問(wèn)雉兔各幾何.”

請(qǐng)你設(shè)計(jì)一個(gè)這類問(wèn)題的通用算法.并畫(huà)出算法的程序框圖.設(shè)有X只雞,Y只兔.則解:雞兔同籠,設(shè)雞兔總頭數(shù)為H,總腳數(shù)為F,求雞兔各有多少只.算法分析如下:解方程組,得【例3】“雞兔同籠”是我國(guó)隋朝時(shí)期的數(shù)學(xué)著作《孫子算經(jīng)》中的第一步:輸入總頭數(shù)H,

總腳數(shù)F;第二步:計(jì)算雞的個(gè)數(shù)

x=(4H-F)/2;第三步:計(jì)算兔的個(gè)數(shù)

y=(F-2H)/2;第四步:輸出x,y開(kāi)始輸出X,Y結(jié)束X=(4H-F)/2Y=(F-2H)/2輸入H和F解:用數(shù)學(xué)語(yǔ)言程序框圖第一步:輸入總頭數(shù)H,開(kāi)始輸出X,Y結(jié)束X=(4H-F)/第四步:計(jì)算;【例4】試描述求點(diǎn)(x0,y0)到直線Ax+By+C=0的距離的算法,并畫(huà)出算法的程序框圖.第一步:輸入x0,y0,A,B,C;第二步:計(jì)算Z1=Ax0+By0+C;第三步:計(jì)算Z2=A2+B2;第五步:輸出d.解:用數(shù)學(xué)語(yǔ)言第四步:計(jì)算;【例4】試描開(kāi)始輸入x0,y0,A,B,CZ1=Ax0+By0+CZ2=A2+B2輸出d結(jié)束程序框圖開(kāi)始輸入x0,y0,A,B,CZ1=Ax0+By0+CZ2=課堂小結(jié)2.順序結(jié)構(gòu)的特點(diǎn)1.程序框圖:由于圖形的描述方法既形象,又直觀,設(shè)計(jì)者的思路表達(dá)得清楚易懂,便于檢查修改,所以得到廣泛的應(yīng)用.課堂小結(jié)2.順序結(jié)構(gòu)的特點(diǎn)1.程序框圖:由于圖形的描述方法既1.程序框圖的定義:又稱流程圖,是一種用規(guī)定的圖形、指向線及文字說(shuō)明來(lái)準(zhǔn)確、直觀地表示算法的圖形.溫故知新步驟n步驟n+13.基本邏輯結(jié)構(gòu):(1)順序結(jié)構(gòu):由若干個(gè)依次執(zhí)行的處理步驟組成的.這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu) 。2.基本程序框圖及其功能;1.程序框圖的定義:又稱流程圖,是一種用規(guī)定的圖形、指向線及已知梯形上底為2,下底為4,高為5,求其面積,設(shè)計(jì)出該問(wèn)題的流程圖.開(kāi)始輸出結(jié)束作業(yè)評(píng)析已知梯形上底為2,下底為4,高為5,求其面積,設(shè)計(jì)出該問(wèn)題的三.條件結(jié)構(gòu)---在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算法的流向根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過(guò)程的結(jié)構(gòu).兩種常見(jiàn)形式:特征:兩個(gè)步驟A,B根據(jù)條件選擇一個(gè)執(zhí)行特征:根據(jù)條件選擇是否執(zhí)行步驟A滿足條件?步驟A步驟B是否滿足條件?步驟A是否三.條件結(jié)構(gòu)---在一個(gè)算法中,經(jīng)常會(huì)遇到一些條件的判斷,算任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊長(zhǎng)的三角形是否存在.畫(huà)出這個(gè)算法的程序框圖.算法步驟:第一步:輸入3個(gè)正實(shí)數(shù)a,b,c;第二步:判斷a+b>c,a+c>b,b+c>a是否同時(shí)成立,若是,則能組成三角形;若否,則組不成三角形.例5任意給定3個(gè)正實(shí)數(shù),設(shè)計(jì)一個(gè)算法,判斷分別以這3個(gè)數(shù)為三邊邊開(kāi)始輸入a,b,ca+b>c,b+c>a,c+a>b是否同時(shí)成立?是存在這樣的三角形結(jié)束否不存在這樣的三角形程序框圖:開(kāi)始輸入a,b,ca+b>c,b+c>a,c+a>b是否同時(shí)算法步驟如下:設(shè)計(jì)一個(gè)求解一元二次方程ax2+bx+c=0的算法,并畫(huà)出程序框圖表示.例6算法步驟如下:設(shè)計(jì)一個(gè)求解一元二次方程ax2+bx+c=0的程序框圖:開(kāi)始輸入a,b,c△=b2-4ac△≥0?△=0?否x1=p+q輸出x1,x2結(jié)束否是x2=p-q輸出x1=x2=p是輸出“方程沒(méi)有實(shí)數(shù)根”程序框圖:開(kāi)始輸入a,b,c△=b2-4ac△≥0?△=0設(shè)計(jì)求一個(gè)任意數(shù)的絕對(duì)值的算法,并畫(huà)出相應(yīng)的流程圖。分析:根據(jù)絕對(duì)值的定義,如果y=|x|,當(dāng)x≥0,y=x;當(dāng)x<0時(shí),y=-x,所以當(dāng)給出一個(gè)自變量x的值,求它所對(duì)應(yīng)的y值時(shí)必需先判斷x的范圍,所以要用到條件結(jié)構(gòu).算法步驟:第二步,判斷x≥0是否成立。若是,y=x;否則y=-x.第三步,輸出y.第一步,輸入x.課堂練習(xí)1.設(shè)計(jì)求一個(gè)任意數(shù)的絕對(duì)值的算法,并畫(huà)出相應(yīng)的流程圖。分析:根是程序框圖:開(kāi)始輸入xx≥0?輸出y否結(jié)束y=xy=-x是程序框圖:開(kāi)始輸入xx≥0?輸出y否結(jié)束y=xy=-x2.某商場(chǎng)購(gòu)物實(shí)行優(yōu)惠措施,若購(gòu)物金額x元在800元以上(包括800元),打8折;若購(gòu)物金額x元在500元以上(包括500元),打9折,否則不打折。設(shè)計(jì)程序框圖,要求輸入購(gòu)物金額x,能輸出實(shí)際交款額。分析:實(shí)際上是求函數(shù)的值。2.某商場(chǎng)購(gòu)物實(shí)行優(yōu)惠措施,若購(gòu)物金額x元在800元以上(包開(kāi)始輸出yx≥800?是x≥500?輸入x結(jié)束y=xy=0.9xy=0.8x否否是程序框圖:開(kāi)始輸出yx≥800?是x≥500?輸入x結(jié)束y=xy=0.歸納小結(jié)

本節(jié)課學(xué)習(xí)的主要內(nèi)容:3.基本邏輯結(jié)構(gòu):(1)順序結(jié)構(gòu):由若干個(gè)依次執(zhí)行的處理步驟組成的.這是任何一個(gè)算法都離不開(kāi)的基本結(jié)構(gòu)。(2)條件結(jié)構(gòu)---算法的流向根據(jù)條件是否成立有不同的流向.滿足條件?步驟A是否滿足條件?步驟A步驟B是否歸納小結(jié)本節(jié)課學(xué)習(xí)的主要內(nèi)容:滿足條件?步四:算法的循環(huán)結(jié)構(gòu)思考1:在算法的程序框圖中,由按照一定的條件反復(fù)執(zhí)行的某些步驟組成的邏輯結(jié)構(gòu),稱為循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步驟稱為循環(huán)體,那么循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu)嗎?四:算法的循環(huán)結(jié)構(gòu)思考1:在算法的程序框圖中,由按照一定的條思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件?是否

這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎?在執(zhí)行了一次循環(huán)體后,對(duì)條件進(jìn)行判斷,如果條件不滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件滿足時(shí)終止循環(huán).思考2:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件?思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件?是否這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu),你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?在每次執(zhí)行循環(huán)體前,對(duì)條件進(jìn)行判斷,如果條件滿足,就執(zhí)行循環(huán)體,否則終止循環(huán).思考3:還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:循環(huán)體滿足條件例7:計(jì)算1+2+3+…+100的值可按如下過(guò)程進(jìn)行:第1步,0+1=1.第2步,1+2=3.第3步,3+3=6.第4步,6+4=10.……第100步,4950+100=5050.我們用一個(gè)累加變量S表示每一步的計(jì)算結(jié)果,即把S+i的結(jié)果仍記為S,從而把第i步表示為S=S+i,其中S的初始值為0,i依次取1,2,…,100,通過(guò)重復(fù)操作,上述問(wèn)題的算法如何設(shè)計(jì)?例7:計(jì)算1+2+3+…+100的值可按如下過(guò)程進(jìn)行:第1步

第四步,判斷i>100是否成立.若是,則輸出S,結(jié)束算法;否則,返回第二步.第一步,令i=1,S=0.第二步,計(jì)算S+i,仍用S表示.第三步,計(jì)算i+1,仍用i表示.第四步,判斷i>100是否成立.若是,則輸出S,結(jié)束算法;思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i=1i>100?是輸出S結(jié)束S=0i=i+1S=S+i否思考5:用直到型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i=1結(jié)束輸出S否是S=0S=S+ii≤100?i=i+1思考6:用當(dāng)型循環(huán)結(jié)構(gòu),上述算法的程序框圖如何表示?開(kāi)始i=練習(xí)鞏固1、設(shè)計(jì)一算法,求積:1×2×3×…×100,畫(huà)出流程圖結(jié)束輸出Si=1,S=1開(kāi)始S=S*ii=i+1i>100?否是思考:該流程圖與前面的例中求和的流程圖有何不同?練習(xí)鞏固1、設(shè)計(jì)一算法,求積:1×2×3×…×100,畫(huà)出流例2某工廠2005年的年生產(chǎn)總值為200萬(wàn)元,技術(shù)革新后預(yù)計(jì)以后每年的年生產(chǎn)總值都比上一年增長(zhǎng)5%.設(shè)計(jì)一個(gè)程序框圖,輸出預(yù)計(jì)年生產(chǎn)總值超過(guò)300萬(wàn)元的最早年份.第三步,判斷所得的結(jié)果是否大于300. 若是,則輸出該年的年份; 否則,返回第二步.第一步,輸入2005年的年生產(chǎn)總值.第二步,計(jì)算下一年的年生產(chǎn)總值.算法分析:例2某工廠2005年的年生產(chǎn)總值為200萬(wàn)元,技術(shù)革(3)控制條件:當(dāng)“a>300”時(shí)終止循環(huán).(1)循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,t為年生產(chǎn)總值的年增長(zhǎng)量,n為年份,則t=0.05a,a=a+t,n=n+1.(2)初始值:n=2005,a=200.循環(huán)結(jié)構(gòu):(3)控制條件:當(dāng)“a>300”時(shí)終止循環(huán).(1)循環(huán)體:設(shè)開(kāi)始n=2005a=200t=0.05aa=a+tn=n+1a>300?結(jié)束輸出n是否程序框圖:開(kāi)始n=2005a=200t=0.05aa=a+tn=n+12、設(shè)計(jì)一算法輸出1~1000以內(nèi)能被3整除的整數(shù)結(jié)束i=i+1i<1000?輸出i否是i=0開(kāi)始3整除i?否是算法:S1:確定i的初始值為0;S2:判斷i是否等于1000,若是則程序結(jié)束,否則進(jìn)入S3;S3:使i增加1,判斷i是否能被3整除,若能輸出i,并返回S2;否則直接返回S22、設(shè)計(jì)一算法輸出1~1000以內(nèi)能被3整除的整數(shù)結(jié)束i=理論遷移

練習(xí)畫(huà)出求三個(gè)不同實(shí)數(shù)中的最大值的程序框圖.開(kāi)始輸入a,b

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論