北師大版高中數(shù)學(xué)必修3第二章:2.3《循環(huán)結(jié)構(gòu)》課件
ID:75686 2021-12-21 1 3.00元 23頁 624.00 KB
已閱讀10 頁,剩余13頁需下載查看
下載需要3.00元
免費下載這份資料?立即下載
循環(huán)結(jié)構(gòu)算法初步,步驟1步驟2(1)順序結(jié)構(gòu)-----是由若干個依次執(zhí)行的處理步驟組成的.這是任何一個算法都離不開的基本結(jié)構(gòu).,(2)條件結(jié)構(gòu)---在一個算法中,經(jīng)常會遇到一些條件的判斷,算法的流向根據(jù)條件是否成立有不同的流向.條件結(jié)構(gòu)就是處理這種過程的結(jié)構(gòu).滿足條件?步驟A步驟B是否滿足條件?步驟A是否,練習(xí)鞏固1 看下面的程序框圖,分析算法的作用(1)開始結(jié)束輸入xy=3*x*x+4*x+5輸出y(2)開始結(jié)束輸入a,ban-1,或r=0?否是求n除以i的余數(shù)r循環(huán)結(jié)構(gòu)---在一些算法中,也經(jīng)常會出現(xiàn)從某處開始,按照一定條件,反復(fù)執(zhí)行某一步驟的情況,這就是循環(huán)結(jié)構(gòu).反復(fù)執(zhí)行的步驟稱為循環(huán)體.,是循環(huán)體滿足條件?否Until(直到型)循環(huán)循環(huán)結(jié)構(gòu)分為兩種------當(dāng)型和直到型.當(dāng)型循環(huán)在每次執(zhí)行循環(huán)體前對循環(huán)條件進行判斷,當(dāng)條件滿足時執(zhí)行循環(huán)體,不滿足則停止;(當(dāng)條件滿足時反復(fù)執(zhí)行循環(huán)體)直到型循環(huán)在執(zhí)行了一次循環(huán)體之后,對控制循環(huán)條件進行判斷,當(dāng)條件不滿足時執(zhí)行循環(huán)體,滿足則停止.(反復(fù)執(zhí)行循環(huán)體,直到條件滿足)循環(huán)體滿足條件?是否While(當(dāng)型)循環(huán),(2)注意:循環(huán)結(jié)構(gòu)不能是永無終止的“死循環(huán)”,一定要在某個條件下終止循環(huán),這就需要條件結(jié)構(gòu)來作出判斷,因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu).,第一步:給定一個大于2的整數(shù)n第二步:令i=1第三步:用i除n,得到余數(shù)r第四步:判斷“r=0”是否成立;若是,則輸出“i”第六步:判斷“i>n”是否成立,若是,結(jié)束算法;否則,返回第三步.設(shè)計一個算法,求出n(n>2)的所有因數(shù)。第五步:i的值增加1,仍用i表示,例1設(shè)計一算法,求和:1+2+3+…+100第一步:確定首數(shù)a,尾數(shù)b,項數(shù)n;第二步:利用公式“總和=(首數(shù)+尾數(shù))×項數(shù)/2”求和;第三步:輸出求和結(jié)果。算法1:開始結(jié)束輸入a,b,nS=(a+b)*n/2輸出S,例3:設(shè)計一個計算1+2+3+……+100的值的算法,并畫出程序框圖.算法分析:第1步:0+1=1;第2步:1+2=3;第3步:3+3=6;第4步:6+4=10…………第100步:4950+100=5050.第(i-1)步的結(jié)果+i=第i步的結(jié)果各步驟有共同的結(jié)構(gòu):為了方便有效地表示上述過程,我們引進一個變量S來表示每一步的計算結(jié)果,從而把第i步表示為S=S+iS=0S=S+1S=S+2S=S+3…S=S+100,例1設(shè)計一算法,求和:1+2+3+…+100S=S+i怎么用程序框圖表示呢?3、i有什么作用?S呢?i=i+1S=S+iS=0S=S+1S=S+2S=S+3…S=S+100累加變量S來表示每一步的計算結(jié)果,從而把第i步表示為S=S+iS的初始值為0,i依次取1,2,…,100,由于i同時記錄了循環(huán)的次數(shù),所以i稱為計數(shù)變量.,i=i+1S=S+i解決方法就是加上一個判斷,判斷是否已經(jīng)加到了100,如果加到了則退出,否則繼續(xù)加。試分析兩種流程的異同點直到型結(jié)構(gòu)當(dāng)型結(jié)構(gòu)S=S+ii=i+1是否S=S+ii=i+1否是i<=100?i>100?請?zhí)钌吓袛嗟臈l件。,結(jié)束S=S+ii=i+1i<=100?輸出S否是i=1,S=0開始步驟A步驟B思考:將步驟A和步驟B交換位置,結(jié)果會怎樣?能達到預(yù)期結(jié)果嗎?為什么?要達到預(yù)期結(jié)果,還需要做怎樣的修改?答:達不到預(yù)期結(jié)果;當(dāng)i=100時,沒有退出循環(huán),i的值為101加入到S中;修改的方法是將判斷條件改為i<100,程序框圖:開始i=1S=0S=S+ii=i+1i>100?是輸出S結(jié)束否直到型循環(huán)結(jié)構(gòu)開始i=1S=0i≤100?是S=S+ii=i+1否輸出S結(jié)束當(dāng)型循環(huán)結(jié)構(gòu),若將“i=1”改成“i=0”,則程序框圖怎么改?結(jié)束輸出Sum否是S=0開始結(jié)束輸出SS=0開始否是i=0i=0S=S+iS=S+ii=i+1i=i+1i>=100?i<100?,說明:一般地,循環(huán)結(jié)構(gòu)中都有一個計數(shù)變量和累加變量.計數(shù)變量用于記錄循環(huán)次數(shù),同時它的取值還用于判斷循環(huán)是否終止,這個變量的取值一般都含在執(zhí)行或中止循環(huán)體的條件中。累加變量用于輸出結(jié)果.累加變量和計數(shù)變量一般是同步執(zhí)行的,累加一次,記數(shù)一次.,結(jié)束輸出Si=0,S=0開始i=i+1S=S+ii>n?否是輸入n改進上面的算法,表示輸出1,1+2,1+2+3,…,1+2+3+…+(n-1)+n()的過程。,練習(xí)鞏固1、設(shè)計一算法,求積:1×2×3×…×100,畫出流程圖結(jié)束輸出Ai=0,A=1開始i=i+1A=A*ii>=100?否是思考:該流程圖與前面的例3中求和的流程圖有何不同?,例5某工廠2005年的年生產(chǎn)總值為200萬,技術(shù)革新以后每年的年生產(chǎn)總值比上一年增長5%。設(shè)計一個程序框圖,輸出預(yù)計年生產(chǎn)總值超過300萬元的最早年份。算法分析:第一步,輸入2005年的年生產(chǎn)總值。第二步,計算下一年的年生產(chǎn)總值。第三步,判斷所得的結(jié)果是否大于300.若是,則輸出該年的年份;否則,返回第二步,由于“第二步”是重復(fù)操作的步驟,所以可以用循環(huán)結(jié)構(gòu)來實現(xiàn)。我們按照“確定循環(huán)體”“初始化變量”“設(shè)定循環(huán)控制條件”的順序來構(gòu)造循環(huán)結(jié)構(gòu)。(2)初始化變量:若將2005年的年生產(chǎn)總值堪稱計算的起始點,則n的初始值為2005,a的初始值為200.(3)設(shè)定循環(huán)控制條件:當(dāng)“年生產(chǎn)總值超過300萬元”時終止循環(huán),所以可通過判斷“a>300”是否成立來控制循環(huán)。(1)確定循環(huán)體:設(shè)a為某年的年生產(chǎn)總值,t為年生產(chǎn)總值的年增長量,n為年份,則循環(huán)體為,程序框圖:開始n=2005a=200t=0.05an=n+1a>300?是輸出n結(jié)束否a=a+t,小結(jié)1、循環(huán)結(jié)構(gòu)的特點2、循環(huán)結(jié)構(gòu)的框圖表示3、循環(huán)結(jié)構(gòu)有注意的問題避免死循環(huán)的出現(xiàn),設(shè)置好進入(結(jié)束)循環(huán)體的條件。當(dāng)型和直到型重復(fù)同一個處理過程,作業(yè):課本P20頁A組2;
相關(guān)資料
同類資料
更多
北師大版高中數(shù)學(xué)必修3第二章:2.3《循環(huán)結(jié)構(gòu)》課件