高考數(shù)學(xué)復(fù)習(xí)點(diǎn)撥 用循環(huán)語句設(shè)計(jì)程序的途徑_第1頁
高考數(shù)學(xué)復(fù)習(xí)點(diǎn)撥 用循環(huán)語句設(shè)計(jì)程序的途徑_第2頁
高考數(shù)學(xué)復(fù)習(xí)點(diǎn)撥 用循環(huán)語句設(shè)計(jì)程序的途徑_第3頁
高考數(shù)學(xué)復(fù)習(xí)點(diǎn)撥 用循環(huán)語句設(shè)計(jì)程序的途徑_第4頁
高考數(shù)學(xué)復(fù)習(xí)點(diǎn)撥 用循環(huán)語句設(shè)計(jì)程序的途徑_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、用循環(huán)語句設(shè)計(jì)程序的途徑我們知道編寫程序的基本方法是“自上而下,逐步求精”,即先把一個復(fù)雜的大問題分解為若干相對獨(dú)立的小問題,然后對每一個小問題編寫出一個功能相對獨(dú)立的程序塊,最后再統(tǒng)一組裝,這樣編寫的程序具有結(jié)構(gòu)清晰的特點(diǎn)。而在程序設(shè)計(jì)中,我們經(jīng)常會遇到需要對一條或一組語句重復(fù)執(zhí)行多次,以最終完成某項(xiàng)任務(wù)的問題,對這類題處理的一個特點(diǎn)是對不同的運(yùn)算對象進(jìn)行若干次相同的運(yùn)算或處理,這種處理模式在程序設(shè)計(jì)中是用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)的,那么怎樣才能用循環(huán)語句實(shí)現(xiàn)這種程序設(shè)計(jì),下面介紹幾個常用方法。一 列舉法 這種方法就是根據(jù)提出的問題,列舉所有可能的情況,并用問題提出的條件檢驗(yàn)?zāi)男┦切枰?,哪些是不需?/p>

2、的,對需要的保留,對不需要的剔除。對于不定方程的求解常用列舉法。例1、在張丘建算法中有一個很有影響的不定方程問題,即“百錢買百雞”,其意思是:一只公雞價(jià)為5錢,一只母雞價(jià)為3錢,三只小雞價(jià)為1錢,要想用100錢買100只雞,問公雞、母雞、小雞可各買幾只?分析:(1)先建方程:設(shè) x , y, z 分別代表公雞,母雞,小雞數(shù), x + y +z =100則 5x+3y+z/3=100(2)確定變量范圍:若100錢全買公雞最多買20只,所以 x0,20 且x N。 同理,y 0,33 且yN,x, y 確定后小雞的只數(shù) z=100-x-y 也確定。(3)解不定方程,應(yīng)先固定一個變量的值,然后其他兩

3、個變量的值一一列舉 如 x=0 , y=0 , z=100 y=1, z=99 y=33 , z=67 當(dāng)x=1時,再對y,z的值進(jìn)行一一列舉,直到y(tǒng),z的值一一列舉完,再取x =2,重復(fù)進(jìn)行上述過程。這時x, y ,z是一組滿足“百雞”的解是否也滿足“百錢”還當(dāng)檢驗(yàn),滿足則為解,否則刪除。解:程序如下: x = 0 while x =20 y=0開始X=0Y=012Z=100-x-y3 while y =33 z=100 x y if 5*x+3*y+z/3=100 then print (o/oio(2),x , y , z) end end end框圖: 235x+3y+z/3=100Y

4、 N打印x,y,z1Y=y+1Y=33 Y NX=x+1X=20 Y N結(jié)束 評:本題是解一個不定方程問題,在先確定x值后,列舉出 y,、z 的所有可能情況,重復(fù)進(jìn)行檢驗(yàn)x、y、z 的值是否滿足 5x+3y+z/3=1=100,滿足則為解,否則不是。二 遞推法所謂遞推就是在一系列數(shù)中,已知第一個數(shù),則其后的每一個數(shù)都可利用遞推公式有前數(shù)推出,并且能重復(fù)進(jìn)行,因此可用循環(huán)結(jié)構(gòu)來處理, 例2、:裴波那契數(shù)列表示這樣一系列數(shù):0 ,1 ,1,2,3,5,8 后一項(xiàng)等于前一項(xiàng)的和,請?jiān)O(shè)計(jì)一個算法框圖,輸出這個數(shù)列的前100 項(xiàng)并編寫程序分析:如設(shè) 分別表示該數(shù)列中連續(xù)的三項(xiàng),則有由這個遞推關(guān)系可知,只

5、要已知這個數(shù)列的前2項(xiàng),就可重復(fù)利用這個遞推關(guān)系,將后面所有的項(xiàng)遞推出來。因?yàn)樗惴ㄖ校磸?fù)計(jì)算和輸出的步驟是一樣的,因此可以用循環(huán)結(jié)構(gòu)來解決。開始輸出結(jié)束 框圖:解:程序: then print end Y N評:本題是先尋找出遞推公式,也就是找出循環(huán)體,再確定循環(huán)變量的初試值和終止值,由于遞推公式重復(fù)運(yùn)用才能由前項(xiàng)推得后項(xiàng),因此可用循環(huán)語句來處理。三 迭代法 所謂迭代就是一個不斷用新值取代變量的舊值或由舊值遞推出變量的新值的過程。例3、計(jì)算:分析:其迭代方法如下:首先確定迭代變量的初試值1,其次確定迭代變量公式:S=S+I,T=TI,W=W+,當(dāng)分別取2,3,4,100時,利用迭代公式重復(fù)計(jì)算,迭代100次后即可求出100項(xiàng)的和或積,其中的取值是一個有序數(shù)列即的值由1開始每迭代一次就加1直到 100。解:程序: 框圖:開始S=0T=1W=0S=S+IT=TIW=1+輸出S,T,W結(jié)束 then S=S+1T=TW=Wprint S,T,W 是 否 評:迭代與下列因素有關(guān):迭代變量的初值、迭代公式、迭代次數(shù)。解決這類問題需要先確定迭代變量、迭代公式、迭代次數(shù)各是多少,然后

溫馨提示

  • 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

提交評論