第5章循環(huán)結構程序設計_第1頁
第5章循環(huán)結構程序設計_第2頁
第5章循環(huán)結構程序設計_第3頁
第5章循環(huán)結構程序設計_第4頁
第5章循環(huán)結構程序設計_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章循環(huán)結構程序設計

(P75~95)教與學目標理解循環(huán)的含義掌握實現循環(huán)結構的兩個語句(DO,DOWHILE)學會利用所學的知識,解決實際問題問題引入主要內容循環(huán)結構概述實現循環(huán)的基本語句綜合應用循環(huán)結構循環(huán)結構的基本思想是重復,即利用計算機運算速度快以及能進行邏輯控制的特性,重復執(zhí)行某些語句,以完成大量的計算要求。循環(huán)結構的組成要素1、循環(huán)控制變量2、循環(huán)條件(進入循環(huán)條件)3、循環(huán)體(重復性的操作)例如:S=1+2+3+…+100循環(huán)結構的分類1、確定性循環(huán)(計數型循環(huán)):循環(huán)體的循環(huán)次數事先可確定的。例如:S=1+2+3+…+1002、非確定性循環(huán)(條件循環(huán)):循環(huán)體的循環(huán)次數事先是不明確的。例如:循環(huán)控制變量的初值和終值明確問題:如何實現循環(huán)結構?DO語句DOWHILE語句循環(huán)的嵌套任務1:用DO循環(huán)實現計數型循環(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時可以省略例2:求5!=5×4×3×2×1INTEGERP,KP=1DOK=5,1,-1P=P*KENDDOPRINT*,PENDDO循環(huán)的執(zhí)行次數

r=MAX(INT((e2-e1+e3)/e3),0)2、do語句的執(zhí)行過程ENDDO下面的語句計算e1、e2、e3的值e1→i計算循環(huán)次數rr=0?執(zhí)行循環(huán)體i+e3→ir-1→rYN問題與應用3、編程輸出100~999之間的所有“水仙花數”所謂“水仙花數”是指一個三位整數,其各位數字立方和等于該數本身。4、求變化的量:變化的規(guī)律循環(huán)結束的條件初始化思考:求1-2+3-4+5-…-100之和reals,x,b,nprint*,"請輸入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數列定義如下:

F1=1

F2=1

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

求Fibonacci數列的前30項。

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

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論