版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 循環(huán)結(jié)構(gòu)、程序框圖的畫法 北京取得北京取得20082008奧運會主辦權(quán)奧運會主辦權(quán). .國際奧委會對遴選出國際奧委會對遴選出的五個城市進(jìn)行投票表決的操作程序:的五個城市進(jìn)行投票表決的操作程序: 首先進(jìn)行第一次投票,如果有一個城市得票超過首先進(jìn)行第一次投票,如果有一個城市得票超過一半,那么這個城市取得主辦權(quán);如果沒有一個城市一半,那么這個城市取得主辦權(quán);如果沒有一個城市得票超過一半,那么將其中得票最少的城市淘汰;然得票超過一半,那么將其中得票最少的城市淘汰;然后重復(fù)上述過程,直到選出一個城市為止后重復(fù)上述過程,直到選出一個城市為止. . 問題:問題:你能利用算法語言敘述上述過程嗎?你能利用算法
2、語言敘述上述過程嗎?第一步,投票第一步,投票.第二步,統(tǒng)計票數(shù)第二步,統(tǒng)計票數(shù).如果有一個城市得票超過一半,如果有一個城市得票超過一半,那么這個城市取得主辦權(quán),轉(zhuǎn)入第三步;否則淘那么這個城市取得主辦權(quán),轉(zhuǎn)入第三步;否則淘汰得票數(shù)最少的城市,轉(zhuǎn)入第一步汰得票數(shù)最少的城市,轉(zhuǎn)入第一步.第三步,宣布主辦城市第三步,宣布主辦城市.奧運會主辦權(quán)投票過程的算法結(jié)構(gòu)奧運會主辦權(quán)投票過程的算法結(jié)構(gòu)開始開始投票投票有一個城市有一個城市得票數(shù)超過總票得票數(shù)超過總票 數(shù)的一半數(shù)的一半? ?輸出該城市輸出該城市結(jié)束結(jié)束淘汰得票數(shù)淘汰得票數(shù)最少的城市最少的城市是是否否 在一些算法中在一些算法中, ,經(jīng)常經(jīng)常會出現(xiàn)從某些
3、地方開始會出現(xiàn)從某些地方開始, ,按照一定條件按照一定條件, ,反復(fù)執(zhí)行反復(fù)執(zhí)行某一步驟的情況某一步驟的情況, ,這就是這就是循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu). .算法的循環(huán)結(jié)構(gòu)算法的循環(huán)結(jié)構(gòu) 在一些算法中,經(jīng)常會出現(xiàn)從某處開始,按照一定的在一些算法中,經(jīng)常會出現(xiàn)從某處開始,按照一定的條件反復(fù)執(zhí)行某些步驟的情況,這就是某些步驟的情況,這就是循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu),反復(fù)執(zhí)行的步驟稱為,反復(fù)執(zhí)行的步驟稱為循環(huán)循環(huán)體體. .循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是一種計算機(jī)結(jié)構(gòu),是程序設(shè)計中是一種計算機(jī)結(jié)構(gòu),是程序設(shè)計中最能發(fā)揮計算機(jī)特最能發(fā)揮計算機(jī)特長的程序結(jié)構(gòu)長的程序結(jié)構(gòu),可以減少源程序重復(fù)書寫的,可以減少源程序重復(fù)書寫的工作量,工作量,
4、描述重復(fù)執(zhí)行描述重復(fù)執(zhí)行某段算法的問題。某段算法的問題。循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)在程序框圖中是利用在程序框圖中是利用判斷框判斷框來表示,判來表示,判斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件成立和條件不成立時所斷框內(nèi)寫上條件,兩個出口分別對應(yīng)著條件成立和條件不成立時所執(zhí)行的不同指令,其中一個要指向循環(huán)體,然后再從循環(huán)體回到判執(zhí)行的不同指令,其中一個要指向循環(huán)體,然后再從循環(huán)體回到判斷框的入口處。斷框的入口處。某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:某些循環(huán)結(jié)構(gòu)用程序框圖可以表示為: 循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否 這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為直到型循環(huán)結(jié)構(gòu)直到型循環(huán)結(jié)構(gòu),你能指出直到型循環(huán)結(jié)構(gòu)的特
5、征嗎?你能指出直到型循環(huán)結(jié)構(gòu)的特征嗎? 在執(zhí)行了一次循環(huán)在執(zhí)行了一次循環(huán)體后,對條件進(jìn)行體后,對條件進(jìn)行判斷,如果條件不判斷,如果條件不滿足,就繼續(xù)執(zhí)行滿足,就繼續(xù)執(zhí)行循環(huán)體,直到條件循環(huán)體,直到條件滿足時終止循環(huán)滿足時終止循環(huán). .還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示還有一些循環(huán)結(jié)構(gòu)用程序框圖可以表示為:為:循環(huán)體循環(huán)體滿足條件?滿足條件?是是否否這種循環(huán)結(jié)構(gòu)稱為這種循環(huán)結(jié)構(gòu)稱為當(dāng)型循環(huán)結(jié)構(gòu)當(dāng)型循環(huán)結(jié)構(gòu),你能,你能指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?指出當(dāng)型循環(huán)結(jié)構(gòu)的特征嗎?學(xué)學(xué).科科.網(wǎng)網(wǎng)在每次執(zhí)行循在每次執(zhí)行循環(huán)體前,對條環(huán)體前,對條件進(jìn)行判斷,件進(jìn)行判斷,如果條件滿足,如果條件滿足,就執(zhí)行循環(huán)體,
6、就執(zhí)行循環(huán)體,否則終止循環(huán)否則終止循環(huán). .引例引例1 1:設(shè)計一個計算:設(shè)計一個計算1+2+3+1001+2+3+100(累加問題)累加問題)的值的的值的算法,并畫出程序框圖算法,并畫出程序框圖. .第一步,第一步,0+1=1.0+1=1.第二步,第二步,1+2=3.1+2=3.第三步,第三步,3+3=6.3+3=6.第四步,第四步,6+4=10.6+4=10. 第一百步,第一百步,4 950+100=5 050. 4 950+100=5 050. 算法分析:算法分析:通常,我們按照下列過程計算通常,我們按照下列過程計算1+2+1001+2+100的值的值這個過程包含重復(fù)的步驟,可以這個過程
7、包含重復(fù)的步驟,可以用循環(huán)結(jié)構(gòu)表示。用循環(huán)結(jié)構(gòu)表示。 我們用一個變量我們用一個變量S S表示每一步的計算結(jié)果,即把表示每一步的計算結(jié)果,即把S+iS+i的結(jié)果仍記為的結(jié)果仍記為S S,從而把第從而把第i i步表示為步表示為S=S+iS=S+i,其中,其中S S的初始值為的初始值為0 0,i i依次取依次取1 1,2 2,100100,通過重復(fù)操作,通過重復(fù)操作,由于由于i同時表示循環(huán)的同時表示循環(huán)的次數(shù),所以次數(shù),所以i也稱為也稱為計數(shù)變量計數(shù)變量(計數(shù)器)(計數(shù)器)(i=i+1)(一個一個一個一個跳的計數(shù)器)(跳的計數(shù)器)(i=i+2)(隔一跳的計數(shù)器)(隔一跳的計數(shù)器)(i=2*i)(翻倍
8、)翻倍).第一步,第一步,令令i=1(管循環(huán)的,像一個循環(huán)的機(jī)器),管循環(huán)的,像一個循環(huán)的機(jī)器),S=0.(裝最終的結(jié)果?。ǔ跏贾担ㄑb最終的結(jié)果?。ǔ跏贾担┑诙?,第二步,如果如果i100成立(條件),則執(zhí)行第三步,否則,成立(條件),則執(zhí)行第三步,否則,輸出輸出S,結(jié)束算法,結(jié)束算法.第三步,第三步,S=S+i.第四步,第四步,i=i+1,返回第二步,返回第二步.iSSii1數(shù)學(xué)表達(dá)式:探討累加、累乘問題的一般算法:探討累加、累乘問題的一般算法:算算 法:法:第一步:令第一步:令i = 1,S = 0;第二步:若第二步:若i100成立,則執(zhí)行第三步;成立,則執(zhí)行第三步; 否則,輸出否則
9、,輸出S,結(jié)束算法;,結(jié)束算法;第三步:第三步:S = S + i;第四步:第四步:i = i + 1,返回第二步。,返回第二步。程序框圖:程序框圖:開始開始i = 1S = 0i = i + 1i100?輸出輸出S結(jié)束結(jié)束是是否否S = S + i當(dāng)型循環(huán)當(dāng)型循環(huán)算算 法:法:程序框圖:程序框圖:開始開始i = 1S = 0i = i + 1否否i100?輸出輸出S結(jié)束結(jié)束是是S = S + i直到型循環(huán)直到型循環(huán)第一步:令第一步:令i = 1; S = 0第四步:判斷第四步:判斷i 100是否成立,若是,是否成立,若是, 則輸出則輸出S;否則,返回第二步;否則,返回第二步;第二步:計算第二
10、步:計算S = S + i;第三步:第三步: 計算計算i = i + 1;開始開始i = 1S = 0i = i + 1i100?輸出輸出S結(jié)束結(jié)束是是否否S = S + i當(dāng)型循環(huán)當(dāng)型循環(huán)開始開始i = 1S = 0i = i + 1否否i100?輸出輸出S結(jié)束結(jié)束是是S = S + i直到型循環(huán)直到型循環(huán)當(dāng)型循環(huán)與直到型循環(huán)的區(qū)別:當(dāng)型循環(huán)與直到型循環(huán)的區(qū)別: 1、當(dāng)型循環(huán)可以不執(zhí)行循環(huán)體,直到型循環(huán)至少執(zhí)、當(dāng)型循環(huán)可以不執(zhí)行循環(huán)體,直到型循環(huán)至少執(zhí) 行一次循環(huán)體行一次循環(huán)體.2、當(dāng)型循環(huán)先判斷后執(zhí)行,直到型循環(huán)先執(zhí)行后判斷、當(dāng)型循環(huán)先判斷后執(zhí)行,直到型循環(huán)先執(zhí)行后判斷.3、對同一算法來說
11、,當(dāng)型循環(huán)和直到型循環(huán)的條件、對同一算法來說,當(dāng)型循環(huán)和直到型循環(huán)的條件 互為反條件互為反條件. 設(shè)計算法求設(shè)計算法求的值,并畫出程序框圖的值,并畫出程序框圖. .分析:分析:這是一個共有這是一個共有100100項的累加求和題,需要設(shè)計一個計項的累加求和題,需要設(shè)計一個計數(shù)變量,一個累加變量,用循環(huán)結(jié)構(gòu)實現(xiàn)這一算法數(shù)變量,一個累加變量,用循環(huán)結(jié)構(gòu)實現(xiàn)這一算法. .111111 2233499 100100 101+ +創(chuàng)創(chuàng)解:解:算法如下:算法如下:第一步,令第一步,令S=0,k=1.S=0,k=1.第二步,若第二步,若k k100100成立,則執(zhí)行第三步;成立,則執(zhí)行第三步;否則,輸出否則,
12、輸出S S,結(jié)束算法,結(jié)束算法. .第三步,第三步,第四步,第四步,k=k+1k=k+1,返回第二步,返回第二步. .程序框圖如圖所示:程序框圖如圖所示:()1SS.k k1=+1 1三種邏輯結(jié)構(gòu)中,順序結(jié)構(gòu)是最簡單的結(jié)構(gòu),循三種邏輯結(jié)構(gòu)中,順序結(jié)構(gòu)是最簡單的結(jié)構(gòu),循環(huán)結(jié)構(gòu)必然包含條件結(jié)構(gòu),它們共同構(gòu)成了算法的基環(huán)結(jié)構(gòu)必然包含條件結(jié)構(gòu),它們共同構(gòu)成了算法的基本結(jié)構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過這三本結(jié)構(gòu),無論怎樣復(fù)雜的邏輯結(jié)構(gòu),都可以通過這三種結(jié)構(gòu)來表達(dá)種結(jié)構(gòu)來表達(dá) 。3在循環(huán)結(jié)構(gòu)中都有一個計數(shù)器和累加變量。計數(shù)器用于記錄循環(huán)次數(shù),累加變量用于輸出結(jié)果。計數(shù)變量和累加變量一般是同步執(zhí)行的
13、,累加一次,計數(shù)一次。2 2循環(huán)結(jié)構(gòu)要在某個條件下終止循環(huán),這就需要條件結(jié)構(gòu)循環(huán)結(jié)構(gòu)要在某個條件下終止循環(huán),這就需要條件結(jié)構(gòu)來判斷。因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),但不允許來判斷。因此,循環(huán)結(jié)構(gòu)中一定包含條件結(jié)構(gòu),但不允許“死循環(huán)死循環(huán)”。4 4畫循環(huán)結(jié)構(gòu)程序框圖前要注意:畫循環(huán)結(jié)構(gòu)程序框圖前要注意:確定循環(huán)變量和初確定循環(huán)變量和初始條件;始條件;確定算法中反復(fù)執(zhí)行的部分,即循環(huán)體;確定算法中反復(fù)執(zhí)行的部分,即循環(huán)體;確確定循環(huán)的轉(zhuǎn)向位置;定循環(huán)的轉(zhuǎn)向位置;確定循環(huán)的終止條件確定循環(huán)的終止條件. .小小 結(jié):結(jié):算法如下:算法如下:開始開始S = 1i = 2S = Sii = i + 1i
14、100?輸出輸出S結(jié)束結(jié)束是是否否例例2:寫出求寫出求123100的一個算法(累乘問題)的一個算法(累乘問題)第一步:令第一步:令S = 1; i = 2第四步:若第四步:若i100不成立,則返回第二步;不成立,則返回第二步; 否則,輸出否則,輸出S,結(jié)束算法;,結(jié)束算法;第二步:第二步:S = S i;第三步:第三步: i = i + 1;iSSiii*1:項積的迭代數(shù)學(xué)表達(dá)式前練習(xí):練習(xí):2、寫出求、寫出求 的和的一個算法,的和的一個算法, 并畫出流程圖并畫出流程圖1001312111、寫出求、寫出求13 5 7 99的積的一個算法,的積的一個算法, 并畫出流程圖。并畫出流程圖。作業(yè):作業(yè)
15、:2:寫出求:寫出求13 5 7 99的一個算法,并的一個算法,并畫出流程圖。畫出流程圖。S1:T=1S2:i=3S3:T=TiS4:i=i+2S5:若:若 i99則輸出則輸出T,算法結(jié),算法結(jié)束,否則轉(zhuǎn)束,否則轉(zhuǎn)S3解:算法解:算法開始開始T=1i=3T=Tii=i+2i99輸出輸出T結(jié)束結(jié)束YN例例3 3 某工廠某工廠20052005年的年生產(chǎn)總值為年的年生產(chǎn)總值為200200萬元,技術(shù)革新后預(yù)萬元,技術(shù)革新后預(yù)計以后每年的年生產(chǎn)總值都比上一年增長計以后每年的年生產(chǎn)總值都比上一年增長5%.5%.設(shè)計一個程序設(shè)計一個程序框圖,輸出預(yù)計年生產(chǎn)總值超過框圖,輸出預(yù)計年生產(chǎn)總值超過300300萬元
16、的最早年份萬元的最早年份. .算法分析算法分析:第一步,第一步,輸入輸入20052005年的年生產(chǎn)總值年的年生產(chǎn)總值. .第二步,第二步,計算下一年的年生產(chǎn)總值計算下一年的年生產(chǎn)總值. .第三步,第三步,判斷所得的結(jié)果是否大于判斷所得的結(jié)果是否大于300.300.若是,則輸出該年若是,則輸出該年的年份;否則,返回第二步的年份;否則,返回第二步. .循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu):(1 1)確定循環(huán)體:確定循環(huán)體:設(shè)設(shè)a a為某年的年生產(chǎn)總值,為某年的年生產(chǎn)總值,t t為年生產(chǎn)總值為年生產(chǎn)總值的年增長量,的年增長量,n n為年份,則循環(huán)體為為年份,則循環(huán)體為t=0.05at=0.05a,a=a+ta=a+t,
17、n=n+1.n=n+1.(2 2)初始化變量:初始化變量:n=2 005n=2 005,a=200.a=200.(3 3)設(shè)定循環(huán)控制條件:設(shè)定循環(huán)控制條件:當(dāng)當(dāng)“a300”a300”時終止循環(huán)時終止循環(huán). .開始開始n=2005a=200t=0.05aa=a+tn=n+1 a300?結(jié)束結(jié)束輸出輸出n是是否否程序框圖程序框圖:1.1.如圖給出的是計算如圖給出的是計算 的值的一個程序框圖,其中判斷的值的一個程序框圖,其中判斷框內(nèi)應(yīng)填入的條件是框內(nèi)應(yīng)填入的條件是_._. 解:解:由框圖可知,該過程由框圖可知,該過程共執(zhí)行循環(huán)體共執(zhí)行循環(huán)體1010次次. .111124620+ +答案:答案:i i1010?S SS SS SS S2.2.畫出計算畫出計算1 12 24 42 27 72 21001002 2的值的程序框圖的值的程序框圖. .解:解:算法分析:需要一個計數(shù)變量算法分析:需要一個計數(shù)變量和一個累加變量,和一個累加變量, 將累加變量的初始值設(shè)為將累加變量的初始值設(shè)為0 0,計數(shù),計數(shù)變量的值每次加變量的值每次加3 3,從,從1 1到到100.100.程程序框圖如圖所示:序框圖如圖所示: ? ,開始S=
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度二手車買賣合同范本:二手車交易合同樣本與質(zhì)保期約定
- 2024年度活動板房搭建與環(huán)保評估合同3篇
- 2024年房地產(chǎn)認(rèn)籌協(xié)議范本(團(tuán)購)3篇
- 2024年架空輸電線路桿塔設(shè)備運輸合同
- 2024版二婚離婚協(xié)議書模板:共同財產(chǎn)清算與分割流程2篇
- 2024年廢紙收購協(xié)議3篇
- 2024版bt項目生態(tài)環(huán)保責(zé)任合同2篇
- 2024年度蘇州物業(yè)服務(wù)滿意度提升合同
- 2024年商品砼購銷合同附材料檢測與質(zhì)量保障3篇
- 2024版房產(chǎn)交易稅費結(jié)算與退還合同范本3篇
- 2023年民航東北空管局人員招聘筆試真題
- 教研組長述職報告演講
- 農(nóng)村集體經(jīng)濟(jì)組織內(nèi)部控制制度
- 《接觸網(wǎng)施工》課件 5.1.2 避雷器安裝
- 第二屆全國技能大賽珠寶加工項目江蘇省選拔賽技術(shù)工作文件
- 淮陰工學(xué)院《供應(yīng)鏈管理3》2022-2023學(xué)年第一學(xué)期期末試卷
- 2025年計算機(jī)等級考試一級計算機(jī)基礎(chǔ)及MS Office應(yīng)用試卷及解答參考
- 小學(xué)五年級上冊語文 第一單元 語文要素閱讀(含解析)
- 2024年廣東公需科目答案
- ABB工業(yè)機(jī)器人基礎(chǔ)知識
- 中國校服產(chǎn)業(yè)挑戰(zhàn)與機(jī)遇分析報告 2024
評論
0/150
提交評論