版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
★程序結(jié)構(gòu)設(shè)計(.prg)順序結(jié)構(gòu)選擇結(jié)構(gòu)多分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)(多重循環(huán))特別注意:setdefato盤符:\路徑setdefatoaModicomm程序名二、FoxPro常用命令I(lǐng)nput
[提示信息]
to
<內(nèi)存變量>Accept
[提示信息]
to
<內(nèi)存變量>Wait
[提示信息][to
<內(nèi)存變量>]☆查詢基本結(jié)構(gòu)(單表)(一次查多個)use表 &&打開表locatefor條件 &&查詢第一條記錄dowhile
!eof() &&循環(huán)控制?字段1,字段2,字段3 &&顯示字段值
continue &&查詢下一條記錄enddo[e.g.2-29]在學(xué)生表中按姓名查詢學(xué)生的記錄,格式如下。use學(xué)生accept"請輸入姓名:"toxmlocatefor姓名=xm?"學(xué)號姓名出生日期評分"dowhile!eof()?學(xué)號,姓名,出生日期,評分
continueenddoCloseall格式:@<行,列>
[Say
<表達式>]Get<變量名> [Picture
<格式符>] [Function
<功能符>]
[Range<表達式1>,<表達式2>]
[Valid<條件>]功能:在指定位置顯示輸出數(shù)據(jù)。定位輸入命令格式:Read功能:激活由Get命令定義的語句,允許輸入數(shù)據(jù)。激活Get命令Get命令使用的變量必須是已定義的變量,輸入數(shù)據(jù)的類型和寬度都遵照變量原來的定義。執(zhí)行Get命令后并不能立即輸入數(shù)據(jù),必須在使用Read命令激活后才能進行數(shù)據(jù)的輸入。例:設(shè)計一個輸入,要求只能輸入大于等于10、小于等于100的數(shù)值(即:10≤x≤100)。x=0@0,0say"x="getxRange10,100Read大于等于10的范圍可表示為:Range10。小于等于100的范圍可表示為:Range
,100。Range<N1,N2>:對輸入的數(shù)據(jù)進行檢驗,只有大于等于N1、小于等于N2的數(shù)據(jù)才允許被輸入。Valid<條件>:對輸入的數(shù)據(jù)進行檢驗,只有符合<條件>的數(shù)據(jù)才允許被輸入。例:設(shè)計一個輸入,要求只能輸入大于等于10、小于等于100的數(shù)值(即:10≤x≤100)。x=0@0,0say"x="getxvalidx>=10andx<=100ReadPicture
<格式字串>:每個格式符只對數(shù)據(jù)中相對應(yīng)的一個字符起作用。Function<功能字串>:功能符對數(shù)據(jù)的所有字符都起作用。代碼功能備注A只允許字母用于輸入9只允許數(shù)字格式符,用于輸入!小寫轉(zhuǎn)換成大寫用于輸入和輸出常用的格式符與功能符(3)Wait[提示信息][to<內(nèi)存變量>]說明:Ⅰ、從鍵盤輸入一個字符(C型數(shù)據(jù))后立即執(zhí)行該命令。Ⅱ、若省略[提示信息],則系統(tǒng)將給出如下提示信息: Pressanykeytocontinue…Ⅲ、若省略[to<內(nèi)存變量>],則不保存輸入的字符。例:wait“按任意鍵繼續(xù),按其它鍵退出:”toyn &&輸入:y4.坐標(biāo)函數(shù)①返回屏幕行坐標(biāo)
ROW()功能:返回工作區(qū)窗口當(dāng)前位置的行坐標(biāo)。②返回屏幕列坐標(biāo)
COL()功能:返回工作區(qū)窗口當(dāng)前位置的列坐標(biāo)。**VFP工作區(qū)窗口例:坐標(biāo)函數(shù)的使用
?"*","*"@row()+1,col()+1say"ABC"ABC1.條件分支命令(1)不帶ELSE的格式If<條件><語句序列>endif一、選擇結(jié)構(gòu)設(shè)計VisualFoxPro能用條件語句或多分支語句構(gòu)成分支結(jié)構(gòu),并根據(jù)條件成立與否來決定程序執(zhí)行的流向。條件語句是一個具有兩個分支的程序結(jié)構(gòu),可分為帶ELSE與不帶ELSE兩種格式。條件語句序列NYendif例:在cj1.dbf中按姓名查找學(xué)生,找到后顯示出來*e2.prgUsecj1acce“請輸入姓名:”toxmLocatefor姓名=xmIffound()DisplayEndifCloseall(2)帶ELSE的格式If<條件><語句序列1>else<語句序列2>endif條件語句序列1Y語句序列2Nendif例:在cj1.dbf中按姓名查找學(xué)生,找到后顯示出來,沒找到則顯示:“查無此人!”。*e2.prgUsecj1acce“請輸入姓名:”toxmLocatefor姓名=xmIffound()DisplayElse?“查無此人!”EndifCloseall例:在cj1.dbf中按姓名查找學(xué)生,如果數(shù)學(xué)成績>=60顯示“及格”,否則顯示“不及格”;沒找到則顯示:“查無此人!”。*e3.prgUsecj1acce“請輸入姓名:”toxmLocatefor姓名=xmIffound()if數(shù)學(xué)>=60
?“及格”
else?“不及格”
endifElse?“查無此人!”EndifCloseall例:在cj1.dbf中按姓名查找學(xué)生,找到后按下表顯示沒找到則顯示:“查無此人!”。不及格數(shù)學(xué)<60及格60≤數(shù)學(xué)<70良好70≤數(shù)學(xué)<90優(yōu)秀數(shù)學(xué)≥902、多路分支命令docasecase<條件1><語句序列1>case<條件2><語句序列2>…case<條件n><語句序列n>[otherwise<語句序列n+1>]endcase*e4.prgUsecj1Input“請輸入姓名:”toxmLocatefor姓名=xmIffound()docasecase數(shù)學(xué)>=90
?“優(yōu)秀”
case數(shù)學(xué)>=70and數(shù)學(xué)<90?“良好”
case數(shù)學(xué)>=60and數(shù)學(xué)<70?“及格”
case數(shù)學(xué)<60?“不及格”
endcaseElse?“查無此人!”EndifCloseall*e4.prgUsecj1Input“請輸入姓名:”toxmLocatefor姓名=xmIffound()docasecase數(shù)學(xué)>=90
?“優(yōu)秀”
case數(shù)學(xué)>=70?“良好”
case數(shù)學(xué)>=60?“及格”
otherwise?“不及格”
endcaseElse?“查無此人!”EndifCloseall5.閱讀下面程序
INPUT‘輸入年齡’TONLDOCASECASENL<7&&語句組1
?‘童年’CASENL<18?‘少年’CASENL>=18&&語句組2
由于設(shè)計不當(dāng),本程序運行結(jié)果不對。
?‘少年’
(1)運行時輸入11,輸出是(36)CASENL>=6036(A)童年(B)少年.(C)青年(D)老年
?‘老年’
(2)運行時輸入36,輸出是(37)CASENL>=35&&語句組337(A)少年.(B)青年(C)中年(D)老年
?‘中年’
(3)如果修改,你認為在指出的四個語句組中,OTHER&&語句組4
應(yīng)該去掉哪個語句組(CASE及其輸出語句)?
?‘青年’
38(A)語句1(B)語句2.(C)語句3(D)語句4ENDCASE§3
循環(huán)結(jié)構(gòu)設(shè)計循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)能夠使某些命令或程序段重復(fù)執(zhí)行若干次,當(dāng)循環(huán)條件為真時,反復(fù)執(zhí)行一組命令,否則,終止循環(huán)。DOWHILE<條件>
<命令序列>ENDDO條件命令序列NYENDDO1.條件循環(huán)【例】求:1+2+3+…+100。s=0i=1DOWHILEi<=100s=s+ii=i+1ENDDO?"1+2+3+……+100=",s*e5.prgUsecj1Dowhile!eof()
docasecase數(shù)學(xué)>=90?“優(yōu)秀”
case數(shù)學(xué)>=70?“良好”
case數(shù)學(xué)>=60?“及格”
otherwise?“不及格”
endcase
skipEnddoCloseall例:用程序?qū)崿F(xiàn)Listfor姓名=“張”的功能。(一次查詢多個)UsecjLocafor姓名=“張”?“姓名”,“數(shù)學(xué)”,“計算機”Dowhile!Eof()?姓名,數(shù)學(xué),計算機contEnddoCloseall姓名數(shù)學(xué)計算機王小平7290張海7289張強8681EOFCJ.DBF記錄號姓名數(shù)學(xué)計算機
1王小平8390顯示結(jié)果:
2張強6581
3劉雨72892.計數(shù)循環(huán)FOR<控制變量>=<初值>TO<終值>[STEP<步長>]
<命令序列>ENDFOR/NEXT【例】求:1+2+3+…+100。s=0FORi=1TO100s=s+iENDDO?"1+2+3+……+100=",sSCAN[范圍][FOR/WHILE
<條件>]
<命令序列>ENDSCAN[范圍]指定記錄范圍,缺省值為ALL。[for/while
<條件>]對記錄進行選擇。Scan循環(huán)在執(zhí)行到Endscan后都會自動向后移動記錄指針(隱含執(zhí)行skip)。3.掃描循環(huán)Use學(xué)生?"學(xué)號姓名性別出生日期入校總分"?"------------------------------------------------"Scanfor性別=“女”?學(xué)號,姓名,性別,出生日期,入??偡諩ndscan【例】顯示女學(xué)生.DBF?!?
EXIT與LOOPEXIT命令退出當(dāng)前循環(huán),執(zhí)行循環(huán)后面的命令。DOWHILE<條件>
<命令序列1>EXIT
<命令序列2>ENDDO條件語句序列1NYENDDOEXIT語句序列2LOOP命令中斷本次循環(huán),重新執(zhí)行下一次循環(huán)。條件語句序列1NYENDDOLOOP語句序列2DOWHILE<條件>
<命令序列1>LOOP
<命令序列2>ENDDODOWHILE<條件1>
<命令序列1>
DOWHILE
<條件2>
<命令序列2>
ENDDOENDDO1212
5.多重循環(huán)多重循環(huán)是指在一個循環(huán)結(jié)構(gòu)中包含另外一個或多個完整的循環(huán)結(jié)構(gòu),也稱為循環(huán)嵌套。CLEARI=1J=1DOWHILEI<10
J=1
DOWHILEJ<10
@I,JSAY"*"
J=J+1
ENDDO
I=I+1ENDDO四、練習(xí)1.閱讀下面程序
CLEARI=1J=1DOWHILEI<5J=5-I
DOWHILEJ>1@I,JSAY"*"J=J-1
ENDDOI=I+1ENDDO(1)程序輸出的圖形為(C)[A]**** [B]**** .[C]*** [D]****** *** ** **** ** * ** *(2)如果把程序中的@I,JSAY“*”改為@J,ISAY“*”則輸出的圖形為(C)[A]**** [B]**** .[C] [D]*** *** *** ***** ** ** *** * * *永真循環(huán)Dowhile.t.
(完整功能的程序)Wait“繼續(xù)嗎?”toynifupper(yn)=“Y”loopElseexitEndifenddo多次查詢多個(永真循環(huán))UsecjDowhil.t.
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年綠色建筑材料交易合同規(guī)范匯編3篇
- 2025版微粒貸逾期8萬元債權(quán)轉(zhuǎn)讓服務(wù)合同3篇
- 2025版外債借款合同匯率風(fēng)險與應(yīng)對措施3篇
- 二零二五年度菜鳥驛站快遞業(yè)務(wù)數(shù)據(jù)分析合同3篇
- 二零二五年度多功能木方模板設(shè)計與制造服務(wù)合同4篇
- 2025年學(xué)生就業(yè)實習(xí)合同
- 2025年名譽權(quán)質(zhì)押合同
- 2025年合作加盟代理合資經(jīng)營合同
- 二零二五版國際貨物檢驗鑒定服務(wù)合同(木材)3篇
- 2025年家居中介代理協(xié)議
- 化學(xué)-河南省TOP二十名校2025屆高三調(diào)研考試(三)試題和答案
- 智慧農(nóng)貿(mào)批發(fā)市場平臺規(guī)劃建設(shè)方案
- 林下野雞養(yǎng)殖建設(shè)項目可行性研究報告
- 2023年水利部黃河水利委員會招聘考試真題
- Python編程基礎(chǔ)(項目式微課版)教案22
- 01J925-1壓型鋼板、夾芯板屋面及墻體建筑構(gòu)造
- 近五年重慶中考物理試題及答案2023
- 乳腺導(dǎo)管原位癌
- 冷庫管道應(yīng)急預(yù)案
- 《學(xué)習(xí)教育重要論述》考試復(fù)習(xí)題庫(共250余題)
- 網(wǎng)易云音樂用戶情感畫像研究
評論
0/150
提交評論