vfp3過程程序設計_第1頁
vfp3過程程序設計_第2頁
vfp3過程程序設計_第3頁
vfp3過程程序設計_第4頁
vfp3過程程序設計_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、過程(結構化)程序設計基礎1結構化程序文件的建立、編輯、修改與執(zhí)行1.建立程序MODIFY COMMAND 程序名(文件名)2.執(zhí)行程序DO 程序名(文件名)3.修改/查看程序:MODIFY COMMAND 程序名(文件名)2 1)程序結束命令 RETURN TO MASTER 格式:結構化程序輔助命令2)清屏命令格式:CLEAR33) 注釋命令 程序中可以插入注釋,以提高程序的可讀性。NOTE|* 注釋部分& 注釋部分格式:行首注釋單命令的行尾注釋4程序的基本結構 程序=輸入+算法+輸出 基本的輸入/輸出命令1)INPUT命令 格式:INPUT TO 功能:在屏幕上顯示,并等待用戶通過鍵盤輸

2、入表達式,再把表達式的值賦給指定的。5 2)ACCEPT命令格式: ACCEPT TO 功能:該命令和INPUT類似,不同的是它會把輸入內容作為字符串常量賦值給指定的。63)基本輸出命令?|?格式:?|?, 功能:計算給定的一個或多個表達式的值,并將結果顯示在屏幕上。說明:“?”表示在當前光標的下一行輸出,而“?”表示在當前光標位置處輸出。7 VFP程序的三種基本結構1 順序結構順序結構始終按照程序中語句的先后順序逐條執(zhí)行。輸入圓的半徑,計算周長、面積,并顯示結果Set talk offClearInput “半徑:” to rL=2*r*pi()S=r2*pi()? “圓的周長:”,L? “

3、圓的面積:”,Sreturn8順序結構:是一種最基本、最簡單的程序結構。如下圖所示,先執(zhí)行A,再執(zhí)行B,A與B按照順序執(zhí)行。ABAB (a)流程圖 (b)N-S圖 92 選擇結構 應用程序在進行數據處理時需要根據不同的條件選擇執(zhí)行不同的操作,使程序的流程根據不同條件來決定程序的走向,這種程序結構稱為選擇結構。在VFP中是用IFELSEENDIF和DO CASEENDCASE來實現的。10選擇(或分支)結構:根據條件是否成立而執(zhí)行不同的程序模塊。 P T F A B條件p A B Y N (a)流程圖 (b)N-S圖 111)IF語句格式:IF ELSEENDIF功能:執(zhí)行該語句時,若條件表達式

4、的值為.T.,則執(zhí)行,否則執(zhí)行,然后再執(zhí)行ENDIF之后的語句.12EXM1:判斷某一年是否是閏年。 假如年份用y表示,判斷y是否是閏年的方法是:若y能夠被400整除或y能夠被4整除并且不能夠被100整除 y/4=int(y/4) and y/100int(y/100) or y/400=int(y/400) 提示:判斷一個整數M能否被另一個整數N整除,一般采用三種方法,判斷:MOD(M,N)是否等于0INT(M/N) 是否等于M/NM%N=0若等于,則表明M能被N整除。 13CLEARINPUT 請輸入年份: to yIF y/4=int(y/4) and y/100int(y/100) o

5、r y/400=int(y/400) ?str(y,4)+年是閏年ELSE ?str(y,4)+年不是閏年ENDIFRETURN結構化方法程序設計及運行14編程:1、輸入一個數,判斷是否為偶數,并顯示結果。2、從鍵盤輸入三個數a,b,c,按從大到小的順序重新排列,使a最大,c最小。 15從鍵盤輸入三個數a,b,c,按從大到小的順序重新排列,使a最大,c最小。(參考程序)SET TALK OFFINPUT “輸入第一個數” TO AINPUT “輸入第二個數” TO BINPUT “輸入第三個數” TO CIF ABT=AA=BB=TENDIFIF ACT=AA=CC=TENDIFIF BCT=

6、BB=CC=TENDIF?A,B,CRETUTN162)多路分支語句格式:DO CASE CASE CASE OTHERWISE ENDCASE 17EXM 5:輸入月份值,顯示對應季節(jié)的中文名字(3,4,5月為春季,6,7,8月為夏季,9,10,11月為秋季;12,1,2月為冬季)。 (參考教材P56例3-6) 18Set talk offInput “輸入月份:” to yfdo casecase yf=3 or yf=4 or yf=5jj=春季case yf=6 or yf=7 or yf=8jj=夏季case yf=9 or yf=10 or yf=11jj=秋季case yf=12

7、 or yf=1 or yf=2jj=冬季 otherwise jj=“輸入錯誤”Endcase?jjreturn19【例】計算分段函數的值20 循環(huán)結構能夠使某些語句或程序段重復執(zhí)行若干次。 3循環(huán)結構21常見的循環(huán)結構有:條件循環(huán)步長循環(huán)掃描循環(huán)涉及數據表的循環(huán),第6章介紹221、條件循環(huán)結構命令的基本格式DO WHILE 條件ENDDO功能:可以使程序在DO WHILE 條件ENDDO之間反復執(zhí)行23條件語句序列Enddo之后的語句NY24循環(huán)的控制方式 DO WHILE 條件 LOOP EXIT ENDDO通過條件來控制循環(huán)的執(zhí)行通過循環(huán)控制命令控制循環(huán)的執(zhí)行25循環(huán)通常有限定次數的循

8、環(huán)和不限定次數的循環(huán)兩種情況。(1)、不限定次數的循環(huán)設計思想:循環(huán)是否結束由用戶控制,方法是:由用戶輸入特殊信息,然后程序判斷是否退出循環(huán)。格式:循環(huán)的三種使用方法26 DO WHILE .T. ACCEPT “是否繼續(xù)?(Y/N)” TO S IF UPPER(S)=“N” EXIT ENDIFENDDO 27S=“Y”DO WHILE UPPER(S)=“Y” ACCEPT “是否繼續(xù)?(Y/N)” TO SENDDO 28(2)、限定次數的循環(huán)設計思想:循環(huán)的次數是固定的。方法是:設置一個計數器,計算循環(huán)的次數,當達到固定次數時,程序自動退出循環(huán)。格式1:N=初值 DO WHILE N

9、 =終值 N=N+步長 ENDDO循環(huán)變量29FOR N=初值 TO 終值 STEP 步長ENDFORNEXT2、步長循環(huán)(計數循環(huán))格式:循環(huán)變量30 教材P62確定循環(huán)變量并賦初值(在FOR中實現)確定循環(huán)條件并判斷?(在FOR中實現)執(zhí)行循環(huán)體中語句序列循環(huán)體變量按步長變化(在FOR中實現)執(zhí)行ENDFOR之后的語句31求所有的水仙花數。(所謂水仙花數是指一個三位數,其各位數字的立方和等于該數本身。32循環(huán)中的幾個重要表達式1、計數表達式i=1n=0Do while i=10N=n+1 i=i+1EnddoN=0For i=1 to 10 N=n+1endfor程序舉例:從鍵盤上任意輸入

10、ASCII字符串,統(tǒng)計大寫字母的個數。計數變量332、累計表達式S=0N=1Do while n=100S=s+nN=n+1EnddoS=0For n=1 to 100S=s+nendfor程序舉例:EXM7:計算s=1+2+3+n。EXM8 :求100以內的奇數和。 累計變量34例:1到n的奇數和、偶數和 100以內能夠被X整除的數之和。 請同學們自己寫出程序353、階乘表達式S=1N=1Do while n8 顯示:568。 請同學們自己寫出程序從左到右逐個取出字符x判斷x是數字的條件:Asc(x)asc(0) and Asc(x)8 顯示: AYB 。 輸入一串ASCII字符,顯示小寫字

11、母串。假設輸入: Av56:YijB8 顯示:vij 。請同學們自己寫出程序40循環(huán)輔助語句loop: 通常又稱為中途復始語句或短路語句。 exit:通常又稱為中途退出語句或循環(huán)終止語句。注意:適用于3種循環(huán).并且只能用于循環(huán)結構語句。41流程圖:條件語句序列LOOPEXITenddo的下一條命令NY42EXMX1: 將100到150中第一個能被3整除的數找出來。 For n=100 to 150 if n%3=0 ?n exit endifendfor結束當前循環(huán),跳出exit所在的循環(huán)結構程序設計及運行43EXMX2:將10到20中所有不能被3整除的數找出來。 for n=10 to 20

12、 if n/3=int(n/3) loop endif ?n endfor結束本次循環(huán),轉入下一次循環(huán)條件的判斷程序設計及運行程序設計及運行方法1:不使用輔助語句方法2:使用輔助語句44x=.t.s=0do whil xs=s+1if s/8=int(s/8)?selseloopendiif s30 x=.f.endienddretu結果為 EXMX3:寫出程序的結果45例:輸入一個數,判斷是否為質數(素數)。Set talk offInput “輸入一個正整數” to xFor i=2 to x-1If x/i=int(x/i)ExitEndifEndforIf ix-1?”該數是質數”El

13、se?”該數不是質數”Endifreturn46例:輸入一個數,判斷是否為質數(素數)。Set talk offInput “輸入一個正整數” to xM=.t.For i=2 to x-1If x/i=int(x/i)M=.f.ExitEndifEndforIf m=.t.?”該數是質數”Else?”該數不是質數”EndifReturn47多重循環(huán)(了解執(zhí)行過程)48EXMX5:編程打印如下圖形。* clearfor i=1 to 5 &控制行 for j=1 to 2*i-1 &控制列 ?* endfor ?endforreturn程序設計及運行49 for i=1 to 6 & 用于控制

14、行 ?space(6-i)for j=1 to 2*i-1 ?“*” endfor endfor * * * * * *EXMX6:編程打印圖形。外循環(huán)控制行內循環(huán)控制列50數組在程序中的應用51數組變量 數組是一組有序內存變量的集合。 【例】利用數組完成多個數的賦值并輸出。(演示) 教材P7052定義后,它的初始值是,在使用數組時,一定要注意數組的初始化,還要注意數組下標的起始值是 。1邏輯值.F. 數組在使用前必須要通過DIMENSION或DECLARE定義。53 命令格式 例如: dime|decl a(2),b(2,2) 二維數組一維數組 注:在定義數組時,數組名不能與同一環(huán)境下的簡單變量同名。54 數組元素的賦值及輸出與簡單內存變量相同。 同一個數組元素在不同時刻可以存放不同類型的數據。 在同一個數組中,每個元素的值可以是不同的數據類型。 55數組下標應使用圓括號,二維數組的下標之間使用逗號隔開。數組的下標可以是常量、變量和表達式。數組的使用(上機體會)56每個數組元素可通過數組名及相應的下標來訪問 在賦值語句中也可使用數組名將同一個值賦給數組的所有元素。可用一維數組的形式訪問二維數組。57EXMX7:定義數組、賦值并輸出。DIMENSION A(2), B(2,2),C(2

溫馨提示

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

評論

0/150

提交評論