第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第1頁
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第2頁
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第3頁
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第4頁
第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

(P75~95)教與學(xué)目標(biāo)理解循環(huán)的含義掌握實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的兩個(gè)語句(DO,DOWHILE)學(xué)會(huì)利用所學(xué)的知識(shí),解決實(shí)際問題問題引入主要內(nèi)容循環(huán)結(jié)構(gòu)概述實(shí)現(xiàn)循環(huán)的基本語句綜合應(yīng)用循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)的基本思想是重復(fù),即利用計(jì)算機(jī)運(yùn)算速度快以及能進(jìn)行邏輯控制的特性,重復(fù)執(zhí)行某些語句,以完成大量的計(jì)算要求。循環(huán)結(jié)構(gòu)的組成要素1、循環(huán)控制變量2、循環(huán)條件(進(jìn)入循環(huán)條件)3、循環(huán)體(重復(fù)性的操作)例如:S=1+2+3+…+100循環(huán)結(jié)構(gòu)的分類1、確定性循環(huán)(計(jì)數(shù)型循環(huán)):循環(huán)體的循環(huán)次數(shù)事先可確定的。例如:S=1+2+3+…+1002、非確定性循環(huán)(條件循環(huán)):循環(huán)體的循環(huán)次數(shù)事先是不明確的。例如:循環(huán)控制變量的初值和終值明確問題:如何實(shí)現(xiàn)循環(huán)結(jié)構(gòu)?DO語句DOWHILE語句循環(huán)的嵌套任務(wù)1:用DO循環(huán)實(shí)現(xiàn)計(jì)數(shù)型循環(huán)問題1、一般格式:DOi=e1,e2[,e3]…(循環(huán)體)---語句塊ENDDO初值終值步長遞增型循環(huán)遞減型循環(huán)>0<0=0死循環(huán)例1:求1+2+3+…+10的和INTEGERX,SS=0DOX=1,10,1S=S+XENDDOPRINT*,SEND步長為1時(shí)可以省略例2:求5!=5×4×3×2×1INTEGERP,KP=1DOK=5,1,-1P=P*KENDDOPRINT*,PENDDO循環(huán)的執(zhí)行次數(shù)

r=MAX(INT((e2-e1+e3)/e3),0)2、do語句的執(zhí)行過程ENDDO下面的語句計(jì)算e1、e2、e3的值e1→i計(jì)算循環(huán)次數(shù)rr=0?執(zhí)行循環(huán)體i+e3→ir-1→rYN問題與應(yīng)用3、編程輸出100~999之間的所有“水仙花數(shù)”所謂“水仙花數(shù)”是指一個(gè)三位整數(shù),其各位數(shù)字立方和等于該數(shù)本身。4、求變化的量:變化的規(guī)律循環(huán)結(jié)束的條件初始化思考:求1-2+3-4+5-…-100之和reals,x,b,nprint*,"請(qǐng)輸入x,n"read*,x,ns=1b=1doi=1,nb=b*is=s+x**i/benddoprint*,send求1-2+3-4+5-…-100之和

integers,f,is=0f=1doi=1,100s=s+i*ff=-fenddoprint*,send5、Fibonacci數(shù)列定義如下:

F1=1

F2=1

Fn=Fn-1+Fn-2(n>2)

求Fibonacci數(shù)列的前30項(xiàng)。

integerf1,f2,f3,if1=1f2=1print*,f1,f2doi=3,30f3=f1+f2print*,f3f1=f2f2=f3enddoend6、猴子吃桃問題。猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不過癮,又多吃了一個(gè)。第二天早上又將剩下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下的一半零一個(gè)。到第7天早上想再吃,就只剩下一個(gè)桃子了。求第一天共摘多少個(gè)桃子。7、閱讀程序,寫結(jié)果n=0dok=1,3n=n+kenddoWrite(*,*)n,kend注意:退出循環(huán)后循環(huán)變量的值與最后一次循環(huán)時(shí)循環(huán)變量的值不同,前者比后者多一個(gè)步長8、閱讀程序,回答問題K=0Don=21,10,-1if(mod(n,2)==0)k=k+1enddoPrint*,’k=‘,kEnd問:1)畫出該程序的流程圖2)給程序的功能是什么?3)程序執(zhí)行后,輸出結(jié)果是?Read*,nS=0F=1Dok=1,nf=f*ks=s+fEnddoWrite(*,*)send問:1)給程序的功能是什么?2)若輸入5,則程序執(zhí)行后,輸出結(jié)果是?9、閱讀程序,回答問題編寫計(jì)算下式的fortran程序

1+(1+3)+(1+3+5)+…+(1+3+5+…+n)integers,n,s1s=0s1=0read*,ndoi=1,n,2s1=s1+iprint*,s1s=s+s1enddoprint*,send

任務(wù)2:隱含do循環(huán)結(jié)構(gòu)問題:打印1~10中所有奇數(shù)IntegerIDoI=1,10,2print*,IenddoendIntegerIPrint*,(I,I=1,10,2)end分析:1、圖形一共多少行(1)每一行輸出多少及什么數(shù)據(jù)注意與行號(hào)的關(guān)系)(2)換行問題引入2、求F數(shù)列,大于4000的最小項(xiàng)。任務(wù)3:用DOWHILE語句實(shí)現(xiàn)循環(huán)DOWHILE(邏輯表達(dá)式)循環(huán)體ENDDO邏輯表達(dá)式循環(huán)體YNDoWHILE語句的下一條語句應(yīng)用1、求S=1+2+3+….+1003、求F數(shù)列,大于4000的最小項(xiàng)。integerf1,f2,f3f1=1f2=1f3=f1+f2dowhile(f3<=4000)f1=f2f2=f3f3=f1+f2enddoprint*,f3end兩種循環(huán)語句的比較實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的兩種語句,它們各具特點(diǎn)。一般而言,事先能確定循環(huán)次數(shù)的循環(huán)問題用DO循環(huán),而事先不能確定循環(huán)次數(shù)的循環(huán)問題用DOWHILE循環(huán)。但這并不是絕對(duì)的,很多情況下它們是可以相互代替的。任務(wù)4:與循環(huán)有關(guān)的控制語句EXIT語句在循環(huán)體內(nèi)使用EXIT語句,將迫使所在循環(huán)立即終止,即跳出所在循環(huán)體,而繼續(xù)執(zhí)行循環(huán)結(jié)構(gòu)后面的語句。通常將EXIT語句與IF語句配合使用,即在循環(huán)體中使用語句:IF(e)EXIT2.CYCLE語句CYCLE語句用來結(jié)束本次循環(huán),即跳過循環(huán)體中尚未執(zhí)行的語句。在循環(huán)結(jié)構(gòu)中,CYCLE語句將使控制直接轉(zhuǎn)向循環(huán)條件測試部分,從而決定是否繼續(xù)執(zhí)行循環(huán)。(1)CYCLE語句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)的執(zhí)行。(2)EXIT語句是結(jié)束所在循環(huán),跳出所在循環(huán)體。3.CYCLE與EXIT語句的區(qū)別S=0DoI=1,100if(mod(I,2)==0)thencycleElses=s+IEndifenddoPrint*,send閱讀以下程序,分析其功能任務(wù)5:循環(huán)嵌套一個(gè)循環(huán)結(jié)構(gòu)的循環(huán)體又包括一個(gè)循環(huán)結(jié)構(gòu),就稱為循環(huán)的嵌套,或稱為多重循環(huán)結(jié)構(gòu)。INTEGER::I,J,KDOI=1,5,2DOJ=2,6,3K=I+JENDDOENDDOPrint*,kEND綜合應(yīng)用1、求2~100之間的素?cái)?shù)2、求[2,1000]內(nèi)的守形數(shù)

守形數(shù):該數(shù)平方的低位數(shù)等于該數(shù)本身。如(252=625)窮舉法:(1)列出每類可能的取值范圍(2)利用DO語句枚舉可能的取值(3)用條件驗(yàn)證枚舉的結(jié)果。輸出滿足條件的結(jié)果。知識(shí)點(diǎn)小結(jié)1、循環(huán)結(jié)構(gòu)三個(gè)基本要素(循環(huán)變量、循環(huán)體、循環(huán)條件)2、實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的兩個(gè)基本語句

dodowhile3、控制循環(huán)的兩個(gè)命令:cycle,exit!P94_10integern,s,tprint*,"請(qǐng)輸入n的值"read*,ns=0t=0doi=1,nt=t+2*i-1print*,ts=s+tenddoprint*,s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論