VF第講循環(huán)結構課件_第1頁
VF第講循環(huán)結構課件_第2頁
VF第講循環(huán)結構課件_第3頁
VF第講循環(huán)結構課件_第4頁
VF第講循環(huán)結構課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第五講 程序設計基礎(三)程序設計基礎(Visual FoxPro)楊勁 副教授電話: VF第講循環(huán)結構本 講 要 點 程序文件的建立與編輯 程序文件的執(zhí)行 程序文件中常用的命令 程序的基本結構控制VF第講循環(huán)結構常見的循環(huán)結構有:1)條件循環(huán)2)步長循環(huán)3)掃描循環(huán)循環(huán)結構則能夠使某些語句或程序段重復執(zhí)行若干次。如果某些語句或程序段需要在一個固定的位置上重復操作,使用循環(huán)是最好的選擇。程序的循環(huán)結構VF第講循環(huán)結構1、條件循環(huán)(DO WHILEENDDO)格式: DO WHILE LOOP EXIT ENDDO 說明: 1、循環(huán)結構從DO WHILE開始,到ENDDO結束,兩者必須成對出現(xiàn);

2、 5、循環(huán)結構能自身嵌套,還能與選擇結構的各種形式嵌套。 2、循環(huán)是否繼續(xù)取決于條件的當前取值,一般情況下循環(huán)體中應含有改變條件取值的命令或跳出循環(huán)的EXIT語句,否則將造成死循環(huán)。 3、EXIT:將控制權交給緊接在ENDDO后面的命令。 4、LOOP:將控制權直接交給DO WHILE子句,不再執(zhí)行LOOP與ENDDO之間的語句。DO WHILE ENDDO語句序列.F.T.VF第講循環(huán)結構DO WHILE 流程圖DO WHILE 語句序列ENDDO語句序列LOOP條件分支語句序列.T.F.DO WHILE 語句序列ENDDOEXIT條件分支語句序列.T.F.VF第講循環(huán)結構第 1 步, 計算

3、 0+1;第 2 步, 計算 (0+1)+2;第 3 步, 計算 (0+1+2)+3; 第 i 步, 計算 (0+1+i-1)+i; . 第 100 步,計算 (0+1+99)+100; 遞歸算法EXM6:計算s=1+2+3+100前i-1次累加和第i次累加項VF第講循環(huán)結構算法:確定循環(huán)變量(計數(shù)器)i并賦初值為1 定義s存放累加和,初值為0確定循環(huán)條件 i=100 s:=s+i確定循環(huán)變量的變化趨勢i=i+1 輸出結果s遞推公式s=1+2+3+100VF第講循環(huán)結構 i=100s=s+i i=i+1s=0, i=1開始結束輸出sYN循環(huán)變量賦初值循環(huán)條件(i大于100就結束)循環(huán)變量的變化

4、趨勢從1變到100VF第講循環(huán)結構cleas=0i=1do while i=100s=s+ii=i+1enddo?1+2+3+.+100=,sreturn循環(huán)體VF第講循環(huán)結構程序及運行結果VF第講循環(huán)結構*程序例21.PRGSET TALK OFFCLEARi=0DO WHILE i10 i=i+1 ? iENDDOSET TALK ONSET TALK OFFCLEAR i=0 DO WHILE i10 ? iENDDOSET TALK ON死循環(huán)SET TALK OFFCLEARi=0DO WHILE i10 i=i+1 ? iENDDOSET TALK ON無效循環(huán)SET TALK O

5、FFCLEAR i=0 DO WHILE i i=i+1 ? iENDDOSET TALK ON語法錯誤*程序例21-1.PRGSET TALK OFFCLEARi=0DO WHILE i10 ? i i=i+1ENDDOSET TALK ON*程序例21-2.PRGSET TALK OFFCLEARi=0DO WHILE i10 i=i+1ENDDO? iSET TALK ON邏輯值或邏輯表達式VF第講循環(huán)結構SET TALK OFFCLEAR i=0 DO WHILE .T. i=i+1 ? iENDDOSET TALK ONSET TALK OFFCLEAR i=0 DO WHILE .

6、T. i=i+1 ? i IF i=10 EXIT ENDIFENDDOSET TALK ON死循環(huán)SET TALK OFFCLEAR i=0 DO WHILE .T. i=i+1 ? i ACCEPT 是否繼續(xù) TO A IF UPPER(A)Y EXIT ENDIFENDDOSET TALK ON定數(shù)循環(huán)用戶控制循環(huán)VF第講循環(huán)結構基本方法:屬于“累加(乘)器”類型問題 (1)在進入循環(huán)前先給累加(乘)器賦初值 累加一般為0,累乘一般為1(2)用循環(huán)語句實現(xiàn)累加(乘) 循環(huán)變量(計數(shù)器)賦初值;循環(huán)條件; 循環(huán)變量的改變規(guī)律(3)循環(huán)體語句的設計 累加器當前值=累加器原值+循環(huán)變量當前值

7、累乘器當前值=累乘器原值*循環(huán)變量當前值VF第講循環(huán)結構EXM7:計算s=1+2+3+n。(P59例3-8) VF第講循環(huán)結構“計算”命令按鈕的“click”事件代碼:n=thisform.text1.value s=0 x=1do while x=ns=s+xx=x+1enddothisform.text2.value=s VF第講循環(huán)結構 提示: 循環(huán)結構從do while開始,到enddo結束,兩者必須成對出現(xiàn)。 循環(huán)是否繼續(xù)取決于循環(huán)條件的當前取值,一般情況下循環(huán)體中應含有改變條件取值的命令或語句,否則將造成死循環(huán)。 循環(huán)結構能自身嵌套(多重循環(huán)),還能與選擇結構的各種形式嵌套。VF第

8、講循環(huán)結構2、計數(shù)循環(huán)(FORENDFOR)格式:FOR = TO STEP LOOP EXITENDFOR/NEXT 說明: 1、:指定作為循環(huán)計數(shù)器的內存變量或數(shù)組元素,用于控制循環(huán)的次數(shù)。在執(zhí)行FORENDFOR語句之前,此內存變量不一定存在。 2、 TO :是計數(shù)器的初始值,而是計數(shù)器的終止值。 3、 STEP :是計數(shù)器遞增或遞減的步長。步長可正可負,缺省為1。 4、循環(huán)體中一般不包含改變循環(huán)變量值的命令,否則循環(huán)次數(shù)將隨之改變。流程圖:FOR i=a TO i=b STEP c語句序列ENDFOR語句序列LOOP條件分支語句序列ibi=i+cFOR i=a TO i=b STEP

9、cENDFOR語句序列ibi=bi=i+cFOR i=a TO i=b STEP c語句序列ENDFOREXIT條件分支語句序列ibi=i+cVF第講循環(huán)結構計算s=1+2+3+100cleas=0for i=1 to 100 s=s+iendfor?1+2+3+.+100=,sreturnstep 1VF第講循環(huán)結構(教材P60) 【例3-9】設計如圖所示表單,在文本框text1中輸入N的值,求N!。 VF第講循環(huán)結構輸入ni=1,fac=1 i=1 fac=fac*n n=n-1 輸出fac 求n!的N-S圖VF第講循環(huán)結構“計算”命令按鈕的“Click”事件代碼:p=1for i=1 t

10、o thisform.text1.valuep=p*iendforthisform.text2.value=p VF第講循環(huán)結構關于步長循環(huán)的提示: 步長可正可負,缺省為1。 循環(huán)體中不應包含改變循環(huán)變量值的命令,否則循環(huán)次數(shù)將隨之改變。 如果循環(huán)次數(shù)可以通過計數(shù)器來控制,則計數(shù)循環(huán)較為簡潔。VF第講循環(huán)結構a=0FOR i=2 TO 100 STEP 2a=a+iENDFOR? aRETURN提示:計數(shù)循環(huán)完全可以使用條件循環(huán)替代,不過前者更為簡潔。例:求1到100中偶數(shù)的和a=0i=2DO WHILE i=100a=a+i i=i+2ENDDO? aRETURNVF第講循環(huán)結構 條件循環(huán)

11、步長循環(huán) input “請輸入終值:” to n input “請輸入步長:” to k i=1 for i=1 to n step k do while i=n endfor|next i=i+k endddoVF第講循環(huán)結構EXM8 :求100以內的奇數(shù)和。A=1+3+5+99循環(huán)變量初值x=1循環(huán)條件x100循環(huán)變量的變化趨勢x=x+2請同學們自己寫出程序循環(huán)體累加語句:A=A+xVF第講循環(huán)結構EXM9 :求循環(huán)變量初值x=1循環(huán)條件x8基本思路:從右到左逐個取出,操作次數(shù)為len(x)次。Av56:YijB8 11 10 9 8 7 6 5 4 3 2 1 計數(shù)器i(循環(huán)變量): l

12、en(x)=11c=c+substr(x,i,1)8BjiY:65vA substr(x,i,1)VF第講循環(huán)結構確定變量:x:操作對象 x= Av56:YijB8 i:計數(shù)器 len(x)到1c:累加器 c=c+substr(x,i,1),初值為“”確定算法:用循環(huán)在原字符串中從右到左逐個截取字符,重新組裝成逆序字符串確定循環(huán)三要素:循環(huán)變量 : i (i初值為len(x),終值為1)循環(huán)條件: i=1循環(huán)條件改變:i=i-1(從右到左截取)VF第講循環(huán)結構例: 如圖所示一程序界面。文本框TEXT1已經輸入一串文字,單擊“轉換”命令按鈕后,文本框的值將變?yōu)槭裁??“轉換” 命令按鈕的CLICK 事件代碼:N=LEN(THISFORM.TEXT1.VALUE)Y=DO WHILE N0 X=SUBSTR(THISFORM.TEXT1.VALUE,N,1) IF ASC(X)=ASC(a) X=UPPER(X) ELSE X=LOWER(X) ENDIF Y=X+YN=N-1ENDDOTHISFORM.TEXT1.VALUE=YtHIS IS A cpu.VF第講循環(huán)結構例:輸入一串ASCII字符,顯示數(shù)字字符串。假設輸入:Av56:YijB8 顯示:568。 操作方法:1、從左到右逐個取出字符

溫馨提示

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

評論

0/150

提交評論