沈陽農(nóng)業(yè)大學(xué)vf課件第六章_第1頁
沈陽農(nóng)業(yè)大學(xué)vf課件第六章_第2頁
沈陽農(nóng)業(yè)大學(xué)vf課件第六章_第3頁
沈陽農(nóng)業(yè)大學(xué)vf課件第六章_第4頁
沈陽農(nóng)業(yè)大學(xué)vf課件第六章_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 1 2 6.1 程序設(shè)計程序設(shè)計 6.2 vfp程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ) 6.3 程序的控制結(jié)構(gòu)程序的控制結(jié)構(gòu) 6.4 多模塊程序多模塊程序 3:(program)是一組能夠完成特定任務(wù)的)是一組能夠完成特定任務(wù)的指令序列,按照特定的邏輯關(guān)系以一定的結(jié)構(gòu)指令序列,按照特定的邏輯關(guān)系以一定的結(jié)構(gòu)組織在一起,并以文件的形式存儲在計算機(jī)外組織在一起,并以文件的形式存儲在計算機(jī)外部設(shè)備上。部設(shè)備上。:根據(jù)特定的問題,使用某種程序設(shè)計根據(jù)特定的問題,使用某種程序設(shè)計語言編寫的,計算機(jī)可以執(zhí)行的指令序列。語言編寫的,計算機(jī)可以執(zhí)行的指令序列。 4程序基本操作步驟:程序基本操作步驟:1.文件文件新建新建程

2、序程序2.輸入程序語句輸入程序語句3.保存文件名為:保存文件名為:pro14.程序程序運(yùn)行運(yùn)行pro1x=34y=45z=67?x+y+z?(x+y+z)/3例:求三個數(shù)的總和及平均值。例:求三個數(shù)的總和及平均值。 5命令方式:命令方式:1.建立或修改程序:建立或修改程序:modify command 程序名程序名4.運(yùn)行程序:運(yùn)行程序:do 程序名程序名注意:程序文件擴(kuò)展名:注意:程序文件擴(kuò)展名:prg input 提示信息提示信息 to 內(nèi)存變量內(nèi)存變量 accept 提示信息提示信息 to 內(nèi)存變量內(nèi)存變量 wait 提示信息提示信息 to 內(nèi)存變量內(nèi)存變量輸入命令輸入命令注意注意:in

3、put命令可用于各種類型數(shù)據(jù)的輸入命令可用于各種類型數(shù)據(jù)的輸入,輸入字符型數(shù)據(jù)需要加定輸入字符型數(shù)據(jù)需要加定界符。界符。 accept命令只限于輸入字符型數(shù)據(jù)。輸入時內(nèi)容不需要加定界符。命令只限于輸入字符型數(shù)據(jù)。輸入時內(nèi)容不需要加定界符。 wait一般起到等待的作用。一般起到等待的作用。 7clearuse djksaccept “請輸入考號請輸入考號:” to x &將將accept 改成改成input 再運(yùn)行再運(yùn)行l(wèi)oca for 考號考號=xdisp 考號考號,姓名姓名,筆試筆試,上機(jī)上機(jī),結(jié)論結(jié)論use wait 謝謝使用謝謝使用! windows timeout 3 retu

4、rn例:成績查詢。例:成績查詢。 8在程序開始使用在程序開始使用note加注釋。加注釋。在語句前用在語句前用*加注釋。加注釋。在語句后用在語句后用& 加注釋。加注釋。加注釋加注釋 9clearset talk offuse xsdaaverage 成績成績set talk onaverage 成績成績set talk on/off 作用:關(guān)閉對話狀態(tài)。作用:關(guān)閉對話狀態(tài)。set safety on/off 作用:作用: 提供或取消安全保護(hù)。提供或取消安全保護(hù)。use xsdacopy to abcuse abczapset safety offzap 10set heading on/

5、off顯示顯示/不顯示字段名不顯示字段名use xsdadispset heading offdisp?date( )?time( )?date( )10,10 say date( )?不換行顯示不換行顯示在第幾行第幾列顯示內(nèi)容在第幾行第幾列顯示內(nèi)容 116.3.1 順序結(jié)構(gòu)順序結(jié)構(gòu) 6.3.2 選擇結(jié)構(gòu)選擇結(jié)構(gòu)6.3.3 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu) 126. 3 程序的基本控制結(jié)構(gòu)程序的基本控制結(jié)構(gòu)順序,選擇,循環(huán)三種基本結(jié)構(gòu)順序,選擇,循環(huán)三種基本結(jié)構(gòu)一一.順序結(jié)構(gòu)順序結(jié)構(gòu) 按照程序語句一條一條的順序的往下執(zhí)行。按照程序語句一條一條的順序的往下執(zhí)行。二二.選擇結(jié)構(gòu)選擇結(jié)構(gòu)根據(jù)不同的條件,選擇執(zhí)行不同

6、的程序語句,用來解決根據(jù)不同的條件,選擇執(zhí)行不同的程序語句,用來解決有選擇,有轉(zhuǎn)移的諸多問題。有選擇,有轉(zhuǎn)移的諸多問題。三三.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)使一些語名重復(fù)地執(zhí)行若干次。使一些語名重復(fù)地執(zhí)行若干次。 13順序結(jié)構(gòu)流程圖順序結(jié)構(gòu)流程圖程序語句程序語句1程序語句程序語句26.3.1順序結(jié)構(gòu)順序結(jié)構(gòu) 14雙分支選擇結(jié)構(gòu)流程圖雙分支選擇結(jié)構(gòu)流程圖條件?條件?語句序列語句序列1語句序列語句序列2其它語句其它語句yesno 15條件?條件?yes程序語句程序語句其它語句其它語句no循環(huán)結(jié)構(gòu)流程圖循環(huán)結(jié)構(gòu)流程圖 16例例:查找查找djks表中有沒有叫劉表中有沒有叫劉寧這個學(xué)生,顯示有關(guān)信息。寧這個學(xué)生,顯示

7、有關(guān)信息。clearuse djksloca for 姓名姓名=“劉寧劉寧disp 考號考號,姓名姓名,筆試筆試,上機(jī)上機(jī),結(jié)論結(jié)論use return結(jié)束結(jié)束清除屏幕清除屏幕打開打開djks表表查找名為劉寧的記錄查找名為劉寧的記錄顯示該學(xué)生的情況顯示該學(xué)生的情況 關(guān)閉表關(guān)閉表程序流程示意圖程序流程示意圖 17順序結(jié)構(gòu)課堂練習(xí):順序結(jié)構(gòu)課堂練習(xí):任意輸入四個數(shù),找出任意輸入四個數(shù),找出四個數(shù)的最大值和最小值。四個數(shù)的最大值和最小值。提示提示1:任意輸入一個數(shù)用:任意輸入一個數(shù)用input命令實現(xiàn)。命令實現(xiàn)。例如:例如:input “請輸入第一個數(shù)請輸入第一個數(shù)” to x提示提示2:利用利用m

8、ax( ),),min( )函數(shù)。)函數(shù)。 例如:例如: ?max(4,5,6,2)值為)值為6 18clearinput 請輸入第請輸入第1個數(shù)個數(shù) to x1input 請輸入第請輸入第2個數(shù)個數(shù) to x2input 請輸入第請輸入第3個數(shù)個數(shù) to x3input 請輸入第請輸入第4個數(shù)個數(shù) to x4m=max(x1,x2,x3,x4) n=min(x1,x2,x3,x4)?m,nreturn任意輸入任意輸入的四個數(shù)的四個數(shù)求出最大值求出最大值和最小值和最小值輸出結(jié)果輸出結(jié)果程序結(jié)束程序結(jié)束答案答案: 196.3.2選擇結(jié)構(gòu)選擇結(jié)構(gòu)基本形式有三種基本形式有三種:單分支、雙分支、多分支

9、。單分支、雙分支、多分支。1.單分支結(jié)構(gòu)單分支結(jié)構(gòu)if 條件表達(dá)式條件表達(dá)式 命令行序列命令行序列 endif語句格式:語句格式:條件?條件?語句序列語句序列endif后續(xù)語句后續(xù)語句yes流程示意圖流程示意圖no 20clearuse djksaccept 請輸入考號請輸入考號: to xloca for 考號考號=xif found( )disp 考號考號,姓名姓名,筆試筆試,上機(jī)上機(jī),結(jié)論結(jié)論endifuse return單分支結(jié)構(gòu)單分支結(jié)構(gòu)例:成績查詢,找到則顯示成績。例:成績查詢,找到則顯示成績。 212.雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)語句格式:語句格式:if 條件表達(dá)式條件表達(dá)式 命令行序列

10、命令行序列1else 命令行序列命令行序列2endif功能功能:即根據(jù)用戶設(shè)置的條件表達(dá)式的值即根據(jù)用戶設(shè)置的條件表達(dá)式的值,選擇兩個選擇兩個操作中的一個來執(zhí)行操作中的一個來執(zhí)行. 22clearuse djksaccept 請輸入考號請輸入考號: to xloca for 考號考號=xif found( )disp 考號考號,姓名姓名,筆試筆試,上機(jī)上機(jī),結(jié)論結(jié)論else?無此人無此人“endifuse return雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)例:成績查詢,找到則顯示成績,沒找到則顯示無此人。例:成績查詢,找到則顯示成績,沒找到則顯示無此人。 23l任意輸入一個數(shù)任意輸入一個數(shù),如果這個數(shù)大于零則在

11、如果這個數(shù)大于零則在屏幕上顯示屏幕上顯示你好你好,否則在屏幕上顯示否則在屏幕上顯示再見再見。 24input 請輸入數(shù): to xif x0?你好else?再見endif 25clearinput 請輸入三角形的第一邊請輸入三角形的第一邊: to ainput 請輸入三角形的第二邊請輸入三角形的第二邊: to binput 請輸入三角形的第三邊請輸入三角形的第三邊: to cif a0 and b0 and c0 if a+bc and b+ac and a+cb p=(a+b+c)/2 s=sqrt(p*(p-a)*(p-b)*(p-c) ?三角形的三邊長分別為三角形的三邊長分別為:,a,b

12、,c ?三角形面積為三角形面積為:,round(s,2) else ?此三邊不能構(gòu)成三角形此三邊不能構(gòu)成三角形! endif else ?三角形邊長必須大于三角形邊長必須大于0! endif例例任意輸入三個數(shù),如果這三個數(shù)能構(gòu)成三角形的三任意輸入三個數(shù),如果這三個數(shù)能構(gòu)成三角形的三邊,計算該三角形面積,否則輸入錯誤信息。邊,計算該三角形面積,否則輸入錯誤信息。 26do casecase 條件表達(dá)式條件表達(dá)式1命令行序列命令行序列1case 條件表達(dá)式條件表達(dá)式2命令行序列命令行序列2case 條件表達(dá)式條件表達(dá)式n命令行序列命令行序列notherwise 命令行序列命令行序列n+1endca

13、se3.多分支結(jié)構(gòu)多分支結(jié)構(gòu) 27y=2*x-5 x1 y=2*x 1=x=10 練習(xí)練習(xí) (利用(利用do case endcase 語句)計算語句)計算y值。值。 28clearinput 請輸入請輸入x的值的值 to xdo case case x1 y=2*x-5 case x=10 y=2*x+5endcase?y 296.3.3循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)do while loopexit enddo 30do while 型循環(huán)也叫當(dāng)型循環(huán),即根據(jù)型循環(huán)也叫當(dāng)型循環(huán),即根據(jù)條件表達(dá)式的值條件表達(dá)式的值,決定循環(huán)體內(nèi)的執(zhí)行次數(shù)。決定循環(huán)體內(nèi)的執(zhí)行次數(shù)。最簡單的循環(huán)格式為最簡單的循環(huán)格式為:do

14、 while enddo 31cleari=5do while i0 ?love i=i-1enddo 32x=1do while x50?xx=x*3enddo 33計算計算1+2+100s=0i=1do while ia(i) temp=a(1) a(1)=a(i) a(i)=temp endifendfor? 5個數(shù)中最小數(shù)是個數(shù)中最小數(shù)是:,a(1)例例2:任意輸入任意輸入5個數(shù),找出最小值。個數(shù),找出最小值。 42cleardime a(5)for i=1 to 5input 請輸入第請輸入第 + str(i,1) + 個數(shù):個數(shù): to a(i)endforfor i=2 to 5

15、 if a(1)a(i) temp=a(1) a(1)=a(i) a(i)=temp endifendfor? 5個數(shù)中最小數(shù)是個數(shù)中最小數(shù)是:,a(1)例例3:輸出任意行數(shù)正三角。輸出任意行數(shù)正三角。 43調(diào)用子程序:調(diào)用子程序:do 子程序名子程序名 with 參數(shù)參數(shù)返回返回:return 44例:例:任意輸入一個數(shù),計算以該數(shù)為半徑的圓面積。任意輸入一個數(shù),計算以該數(shù)為半徑的圓面積。cleararea=0input 請輸入半徑請輸入半徑 to r if r=0 ?半徑必須大于半徑必須大于0! else do area with r,area endif?半徑是半徑是:,r?面積是面積是

16、: ,areapara r1,ss=pi()*r1*r1return主程序主程序main子程序子程序area45s=0for i=3 to 5 i=i+2 s=s+inext?s程序程序1程序程序2c=a=沈陽農(nóng)大沈陽農(nóng)大b=程序設(shè)計程序設(shè)計for j=1 to 2 c=c+left(a,2)+right(b,2)next?c程序程序3n=3k=1 for i=1 to n k=k*i next?k46store 0 to a,bdo while a30 a=(a+1)*(a+2) b=b+1enddo?b程序程序4程序程序5y=0do while y=10 y=y+1 if y/4=int(

17、y/4) ?y endifenddo程序程序6x=int(rand( )+5)do case case x=3 ? 大大 case x=4 ?小小 case x=5 ?多多 otherwise ?“少少” endcase47x=0y=1do while x1 exit endif a=a+1 b=b+a*(a+1)enddo?b程序程序9cleara=-5input 輸入輸入c的值的值 to cdo case case a=-5 b=a+1 case a=0 b=a+2 otherwise b=a+3endcase ?b48dime aa(4)s=0for n=1 to 4 aa(n)=nendforfor i=1 to 4 s=s+aa(i)endfor?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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論