版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章
程序設(shè)計(jì)基礎(chǔ)
2.4程序與程序文件1.
本章要點(diǎn)VisualFoxPro的工作方式程序文件的建立與編輯程序的基本結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)過(guò)程2.2.4.1程序的概念
概念:程序時(shí)能夠完成一定任務(wù)的命令的有序的集合。
特點(diǎn):1、可以利用編輯器方便的修改和保存,2、程序一旦建立,就可以被多次修改3、在程序中可以出現(xiàn)在命令窗口中無(wú)法使用的命令和語(yǔ)句。例:2.40
要點(diǎn)3.2.4.2程序文件的建立、修改與執(zhí)行
1.建立或修改程序文件可用兩種方式調(diào)用系統(tǒng)內(nèi)置的文本編輯器建立或修改程序文件:命令方式MODIFYCOMMAND[<盤(pán)符>][<路徑>]〈程序文件名〉或MODIFYFILE[<盤(pán)符>][<路徑>]〈程序文件名〉菜單方式打開(kāi)“文件”菜單,選擇“新建”;在“新建”窗口,選擇“程序”,再選擇“新建文件”要點(diǎn)4.2.保存程序程序輸入、編輯完畢,單擊【文件】|【保存】菜單項(xiàng),或按Ctrl+W復(fù)合鍵,在“另存為”對(duì)話框中指定程序文件的存放位置和文件名,并單擊“保存”按鈕保存程序文件并退出文本編輯器。程序文件的默認(rèn)擴(kuò)展名是.PRG。
5.3.執(zhí)行程序程序文件建立后,可以用多種方式、多次執(zhí)行它。下面是兩種常用的方式。(1)菜單方式①
單擊【程序】|【運(yùn)行】菜單項(xiàng),打開(kāi)“運(yùn)行”對(duì)話框;②
從文件列表框中選擇要運(yùn)行的程序文件,并單擊“運(yùn)行”命令按鈕,啟動(dòng)運(yùn)行該程序文件
(2)命令方式【格式】DO[<盤(pán)符>][<路徑>\]<文件名>【功能】執(zhí)行指定<盤(pán)符>、<路徑>下的程序文件
6.執(zhí)行程序文件時(shí),將依次執(zhí)行文件中的命令,直到所有命令執(zhí)行完畢,或者執(zhí)行到以下命令:①CANCAL:終止程序運(yùn)行,清除所有的私有變量,返回命令窗口;③RETURN:結(jié)束程序執(zhí)行,返回調(diào)用它的上級(jí)程序,若無(wú)上級(jí)程序則返回命令窗口;④QUIT:結(jié)束程序執(zhí)行并退出VisualFoxPro系統(tǒng),返回操作系統(tǒng)
7.2.4.3簡(jiǎn)單的輸入輸出命令3簡(jiǎn)單的輸入輸出命令1.ACCEPT命令【格式】ACCEPT[<提示信息>]TO<內(nèi)存變量>【功能】在程序執(zhí)行過(guò)程中,將用戶交互式輸入的內(nèi)容作為字符串賦值給指定內(nèi)存變量。該命令只接受字符型數(shù)據(jù),輸入的字符串不需要加定界符
8.2.INPUT命令
【格式】INPUT[<提示信息>]TO<內(nèi)存變量>【功能】在程序執(zhí)行過(guò)程中,將用戶交互式輸入的內(nèi)容賦值給指定內(nèi)存變量
可以輸入字符型、數(shù)值型、邏輯型、日期型和日期時(shí)間型等類(lèi)型數(shù)據(jù),而且可以是常量、變量、函數(shù)或表達(dá)式等形式,按回車(chē)鍵結(jié)束輸入,系統(tǒng)將輸入的數(shù)據(jù)賦值給<內(nèi)存變量>。9.【例】從鍵盤(pán)輸入兩個(gè)任意正數(shù),編程求以兩數(shù)為邊長(zhǎng)的長(zhǎng)方形面積。程序文件名為PROG4.PRGSETTALKOFFCLEARINPUT“長(zhǎng)方形一邊的長(zhǎng)為:”TOAINPUT“長(zhǎng)方形另一邊的長(zhǎng)為:”TOBS=A*B?“長(zhǎng)方形的面積為:”,SSETTALKONRETURN10.3.WAIT命令【格式】WAIT[<提示信息>][TO<內(nèi)存變量>][WINDOW[AT<行>,<列>]][NOWAIT][CLEAR|NOCLEAR][TIMEOUT<數(shù)值表達(dá)式>]【功能】顯示提示信息,暫停程序執(zhí)行,直到用戶按任意鍵或單擊鼠標(biāo)時(shí)繼續(xù)執(zhí)行程序。若選擇可選項(xiàng)[TO<內(nèi)存變量>],將輸入的單個(gè)字符作為字符型數(shù)據(jù)賦給指定的<內(nèi)存變量>;若用戶是按Enter鍵或單擊鼠標(biāo),<內(nèi)存變量>的值為空串。若省略所有可選項(xiàng),屏幕顯示“鍵入任意鍵繼續(xù)……”默認(rèn)提示信息
11.4.三條輸入命令的異同ACCEPT命令只能接受字符型數(shù)據(jù),不需定界符,輸入完畢按回車(chē)鍵結(jié)束;WAIT命令只能輸入單個(gè)字符,且不需定界符,輸入完畢不需按回車(chē)鍵;INPUT命令可接受數(shù)值型、字符型、邏輯型、日期型和日期時(shí)間型數(shù)據(jù),數(shù)據(jù)形式可以是常量、變量、函數(shù)和表達(dá)式,如果是字符串,需用定界符,輸入完畢按回車(chē)鍵結(jié)束。
12.2.5程序的基本結(jié)構(gòu)
VisualFoxPro程序由順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)構(gòu)成。二是面向?qū)ο罂梢暬慕Y(jié)構(gòu)程序模塊,在每個(gè)模塊的內(nèi)部也是由程序控制流組成。常見(jiàn)的控制結(jié)構(gòu)如下:
1.順序結(jié)構(gòu)順序結(jié)構(gòu)是在程序執(zhí)行時(shí),根據(jù)程序中語(yǔ)句的書(shū)寫(xiě)順序依次執(zhí)行的命令序列。VisualFoxPro系統(tǒng)中的大多數(shù)命令都可以作為順序結(jié)構(gòu)中的語(yǔ)句。
2.分支結(jié)構(gòu)分支結(jié)構(gòu)是在程序執(zhí)行時(shí),根據(jù)不同的條件,選擇執(zhí)行不同的程序語(yǔ)句,用來(lái)解決有選擇、有轉(zhuǎn)移的諸多問(wèn)題。要點(diǎn)13.
3.循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)則能夠使某些語(yǔ)句或程序段重復(fù)執(zhí)行若干次。如果某些語(yǔ)句或程序段需要在一個(gè)固定的位置上重復(fù)操作,使用循環(huán)是最好的選擇。
要點(diǎn)14.
分支結(jié)構(gòu)形式有如下三種:
1.簡(jiǎn)單的條件語(yǔ)句單向分支語(yǔ)句,即根據(jù)用戶設(shè)置的條件表達(dá)式的值,決定某一操作是否執(zhí)行。(1)語(yǔ)句格式:IF〈條件表達(dá)式〉〈命令行序列〉ENDIF(2)語(yǔ)句功能:該語(yǔ)句首先計(jì)算〈條件表達(dá)式〉的值,當(dāng)〈條件表達(dá)式〉的值為真時(shí),執(zhí)行〈命令行序列〉;否則,執(zhí)行ENDIF后面的第一條命令。例2.412.5.1選擇結(jié)構(gòu)
要點(diǎn)15.【例】求一元二次方程AX2+BX+C=0的實(shí)根。程序文件名為PROG7.PRG。SETTALKOFFCLEARINPUTTOAINPUTTOBINPUTTOCZ=B^2-4*A*CIFZ>=0X1=(-B+SQRT(Z))/(2*A)X2=(-B-SQRT(Z))/(2*A)?X1,X2ENDIFSETTALKONRETURN16.
2.一般形式的條件語(yǔ)句語(yǔ)句格式:IF〈條件表達(dá)式〉〈命令行序列1〉ELSE〈命令行序列2〉ENDIF(2)語(yǔ)句功能:該語(yǔ)句首先計(jì)算〈條件表達(dá)式〉的值,當(dāng)〈條件表達(dá)式〉的值為真時(shí),執(zhí)行〈命令行序列1〉中的命令;否則,執(zhí)行〈命令行序列2〉中的命令;執(zhí)行完〈命令行序列1〉或〈命令行序列2〉后都將執(zhí)行ENDIF后面的第一條命令。要點(diǎn)17.【例】編寫(xiě)一密碼校驗(yàn)程序(假設(shè)密碼為ABC)。程序文件名為PROG10.PRG。SETTALKOFFCLEARACCEPT“請(qǐng)輸入您的密碼:”TOAAAIFAAA=”ABC”CLEAR?”歡迎使用本系統(tǒng)!”ELSE?”密碼錯(cuò)誤!”WAITQUITENDIFSETTALKON18.
3.多分支語(yǔ)句語(yǔ)句格式:DOCASECASE〈條件表達(dá)式1〉<命令行序列1〉CASE〈條件表達(dá)式2〉<命令行序列2〉……CASE〈條件表達(dá)式N〉〈命令行序列N〉][OTHERWISE〈命令行序列N+1〉]ENDCASE要點(diǎn)19.【例】假設(shè)收入(P)與稅率(R)的關(guān)系如下表,編程求稅金。程序文件名為PROG12.PRG。
0 P<800R=0.05 800≤P<20000.08 2000≤P<50000.1 P≥5000SETTALKOFFCLEARINPUT“請(qǐng)輸入收入:”TOPDOCASECASEP<800R=0CASEP<2000R=0.0520.CASEP<5000R=0.08OTHERWISER=0.1ENDCASETAX=P*R?”稅金為:”,TAXSETTALKONRETURN21.
4.使用選擇語(yǔ)句應(yīng)注意的幾點(diǎn)
(1)IF……ENDIF和DOCASE……ENDCASE必須配對(duì)使用,DOCASE與第一個(gè)CASE〈條件表達(dá)式〉之間不應(yīng)有任何命令。(2)〈條件表達(dá)式〉可以是各種表達(dá)式或函數(shù)的組合,其值必須是邏輯值。(3)〈命令行序列〉可以由一個(gè)或多個(gè)命令組成,可以是條件控制語(yǔ)句組成的嵌套結(jié)構(gòu)。(4)DOCASE……ENDCASE命令,每次最多只能執(zhí)行一個(gè)〈命令行序列〉。在多個(gè)CASE項(xiàng)的〈條件表達(dá)式〉值為真時(shí),只執(zhí)行第一個(gè)〈條件表達(dá)式〉值為真的〈命令行序列〉,然后執(zhí)行ENDCASE的后面的第一條命令。要點(diǎn)22.2.5.2循環(huán)結(jié)構(gòu)
1.DOWHILE循環(huán)語(yǔ)句【格式1】DOWHILE<條件表達(dá)式><語(yǔ)句序列>ENDDO
要點(diǎn)一個(gè)循環(huán)結(jié)構(gòu)一般應(yīng)具備如下的條件:(1)循環(huán)的初始條件:一般為給循環(huán)控制變量賦初值;(2)循環(huán)頭:循環(huán)語(yǔ)句的起始,設(shè)置、判斷循環(huán)條件;(3)循環(huán)尾:循環(huán)語(yǔ)句的結(jié)尾;(4)循環(huán)體:位于循環(huán)頭和循環(huán)尾之間、循環(huán)控制重復(fù)執(zhí)行的語(yǔ)句序列23.【格式2】DOWHILE<條件表達(dá)式><語(yǔ)句序列1>[LOOP]<語(yǔ)句序列2>[EXIT]<語(yǔ)句序列3>ENDDOLOOP語(yǔ)句:強(qiáng)行返回到循環(huán)開(kāi)始語(yǔ)句。EXIT語(yǔ)句:強(qiáng)行跳出循環(huán),接著執(zhí)行ENDDO后的語(yǔ)句24.【例2.44】編程求1+2+3+……+100之和。程序文件名為PROG16.PRG。SETTALKOFFCLEARS=0I=1DOWHILEI<=100S=S+II=I+1ENDDO?”1+2+3+……+100=”,SSETTALKONRETURN25.
2.FOR循環(huán)語(yǔ)句【格式】FOR<循環(huán)變量>=<初值>TO<終值>[STEP<步長(zhǎng)>]<循環(huán)體>ENDFOR|NEXT要點(diǎn)26.使用FOR循環(huán)語(yǔ)句的有關(guān)說(shuō)明:①省略STEP<步長(zhǎng)>,則〈步長(zhǎng)〉為默認(rèn)值1;②〈初值〉、〈終值〉和〈步長(zhǎng)〉都可以是數(shù)值表達(dá)式,但這些表達(dá)式僅在循環(huán)語(yǔ)句開(kāi)始執(zhí)行時(shí)計(jì)算一次。循環(huán)語(yǔ)句執(zhí)行過(guò)程中,初值、終值和步長(zhǎng)是不會(huì)改變的,并由此確定循環(huán)的次數(shù);③可以在循環(huán)體內(nèi)改變循環(huán)變量的值,但會(huì)改變循環(huán)執(zhí)行次數(shù);④EXIT和LOOP命令可以出現(xiàn)在循環(huán)體內(nèi)。執(zhí)行LOOP命令時(shí),結(jié)束本次循環(huán),循環(huán)變量增加一個(gè)步長(zhǎng)值,返回FOR循環(huán)頭判斷循環(huán)條件是否成立。執(zhí)行EXIT命令時(shí),程序跳出循環(huán),執(zhí)行循環(huán)尾后面的語(yǔ)句
27.【例2.47】從鍵盤(pán)輸入10個(gè)數(shù),編程找出其中的最大值和最小值。程序文件名為PROG23.PRG。SETTALKOFFCLEARINPUT“請(qǐng)從鍵盤(pán)輸入一個(gè)數(shù):”TOASTOREATOMAX,MINFORI=2TO10INPUT“請(qǐng)從鍵盤(pán)輸入一個(gè)數(shù):”TOAIFMAX<AMAX=AENDIFIFMIN>AMIN=AENDIFENDFOR?“最大值為:”,MAX?“最小值為:”,MINSETTALKONRETURN28.【例6-30】輸出STUDEN
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版港口物流中心運(yùn)營(yíng)合同
- 2025年度安全生產(chǎn)標(biāo)準(zhǔn)化咨詢服務(wù)及現(xiàn)場(chǎng)指導(dǎo)合同3篇
- 2024生物質(zhì)鍋爐余熱回收利用項(xiàng)目合作協(xié)議3篇
- 2025年度大理石地暖系統(tǒng)設(shè)計(jì)與施工合同3篇
- 2024軟件系統(tǒng)銷(xiāo)售合同系統(tǒng)購(gòu)買(mǎi)合同
- 2024物業(yè)企業(yè)服務(wù)能力提升與市場(chǎng)拓展合作協(xié)議3篇
- 敦煌壁畫(huà)與文創(chuàng)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋酒泉職業(yè)技術(shù)學(xué)院
- 森林防火施工員聘用協(xié)議
- 建筑工程節(jié)能改造合同
- 別墅鋅鋼欄桿安裝施工協(xié)議
- 服務(wù)推廣合同協(xié)議(2025年)
- 中國(guó)保險(xiǎn)行業(yè)協(xié)會(huì)官方-2023年度商業(yè)健康保險(xiǎn)經(jīng)營(yíng)數(shù)據(jù)分析報(bào)告-2024年3月
- 新人教版小學(xué)三年級(jí)數(shù)學(xué)上冊(cè)知識(shí)點(diǎn)整理歸納培訓(xùn)課件
- 霉菌性陰道炎VVC的分類(lèi)及診治
- 預(yù)制艙技術(shù)方案思源弘瑞課件
- 四年級(jí)科學(xué)《運(yùn)動(dòng)與摩擦力》說(shuō)課課件
- 訴訟費(fèi)退費(fèi)確認(rèn)表
- 全球變暖視野下中國(guó)與墨西哥的能源現(xiàn)狀分析
- 新外研版八年級(jí)上冊(cè)英語(yǔ)全冊(cè)教案(教學(xué)設(shè)計(jì))
- 2022年(高級(jí))茶藝師職業(yè)資格考試參考題庫(kù)-下(多選、判斷題部分)
- 邊坡安全施工組織方案
評(píng)論
0/150
提交評(píng)論