版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、VFP程序設計基礎VFP程序設計基礎要 點 Visual FoxPro的工作方式 程序文件的建立與編輯 程序的基本結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)要 點 Visual FoxPro的工作方式Visual FoxPro的工作方式 Visual FoxPro系統(tǒng)提供有三種工作方式:即單命令方式、菜單方式及程序文件方式。 1.單命令方式 Visual FoxPro的工作方式 Vis 2.菜單方式 2.菜單方式3.程序文件方式 程序文件(簡稱程序)也叫做命令文件。運用程序文件方式進行數(shù)據(jù)庫管理,是通過程序文件編輯工具,將對數(shù)據(jù)庫資源進行操作管理的命令和對系統(tǒng)環(huán)境進行設置的命令,集中在一個以(.PRG)為擴展名
2、的命令文件中,然后再通過菜單方式或命令方式運行該命令文件。所謂命令方式,即通過程序文件中的命令完成不同的操作。程序: 是多條命令按一定規(guī)則組織成的一個有機的序列3.程序文件方式程序: 是多條命令按一定規(guī)則組織成的一個有機注釋語句NOTE * & 注釋整一行,NOTE后至少有一個空格可以注釋在某條語句之后注釋語句注釋整一行,NOTE后至少有一個空格可以注釋在某條語對話開關(guān)語句【格式】SET TALK OFF|ONclear &清屏 set talk off &關(guān)閉對話顯示open data student &打開數(shù)據(jù)庫 use sc &打開SC表(學號,課程號,成績)listsum to arr
3、ay a &求和?總成績:,a &輸出set talk on &開啟對話顯示close data對話開關(guān)語句clear &清屏 VFP源程序是用VFP命令或程序中專用語句編寫的文本文件,其擴展名是PRG。VFP專用程序編輯器建立源程序文件方法一:“文件”菜單項“新建”選擇“程序”“新建文件”。方法二:使用常用工具欄的“新建”按鈕。 VFP源程序是用VFP命令或程序中專用語句編寫的文本說明1:此方法可以建立新程序文件,又可修改已有的程序文件。方法三:在命令窗口中執(zhí)行命令: Modify Command 說明2:文件的擴展名可缺省,系統(tǒng)默認擴展名為.PRG。說明1:此方法可以建立新程序文件,又可修
4、改已有的程序文件。方方法四:在項目管理器中,進入“代碼”選項卡,選擇“程序”,單擊“新建”。說明3:一個命令行中只能寫一條命令,若一行寫不下,需使用分行符“;”。方法四:在項目管理器中,進入“代碼”選項卡,選擇“程序”,單 保存程序文件方法一:單擊“文件”菜單項“保存”。方法二:單擊“常用”工具欄里的“保存”按鈕。方法三:按 Ctrl+W 。方法四:關(guān)閉程序編輯器,系統(tǒng)提示是否保存文件。 保存程序文件方法一:單擊“文件”菜單項“保存”。方法二:方法一:“文件”菜單項“打開”“文件類型”為“程序”選擇文件“確定”方法二:單擊“常用”工具欄里的“打開”按鈕。方法三:在命令窗口中執(zhí)行命令: Modi
5、fy Command | ? 打開程序文件方法一:“文件”菜單項“打開”“文件類型”為“程序”選 在VFP中,可以執(zhí)行源程序、編譯程序、應用程序和可執(zhí)行程序種程序文件。(1)源程序(PRG):源程序是文本文件,可以對其內(nèi)容進行修改。只要有源程序文件,就可以生成其他3種程序文件。 執(zhí)行程序就是按照程序的內(nèi)部控制結(jié)構(gòu)執(zhí)行文件中的相關(guān)語句序列。 程序文件的類型 在VFP中,可以執(zhí)行源程序、編譯程序、應用程序和可執(zhí)(2)編譯程序(FXP):每個源程序文件都有對應的編譯程序文件,執(zhí)行編譯程序比執(zhí)行源程序的速度快。 (3)應用程序(APP):由多個文件(包括程序、表單和菜單等)連接成一個應用程序文件。注意
6、:以上三種文件都是在VFP環(huán)境下運行。 (2)編譯程序(FXP):每個源程序文件都有對應的編譯程序文(4)可執(zhí)行程序(EXE):將多個文件(包括程序、表單和菜單等)連接成一個可執(zhí)行程序文件,此種文件可以脫離VFP環(huán)境運行。 編譯程序 當執(zhí)行一個源程序時,系統(tǒng)自動將其編譯為編譯程序(FXP)。在VFP中允許只編譯而不執(zhí)行程序。(4)可執(zhí)行程序(EXE):將多個文件(包括程序、表單和菜單方法一:在程序編輯器中,單擊“程序”菜單項“編譯”。方法二:單擊“程序”菜單項“編譯”選擇“文件類型”為“程序”選擇程序文件“編譯”編譯方法為:方法一:在程序編輯器中,單擊“程序”菜單項“編譯”。方法二執(zhí)行程序 方
7、法二:“程序”菜單“運行”選擇“文件類型”為“程序”選擇或輸入程序文件名“運行”。方法三:在程序或命令窗口中執(zhí)行: Do 說明:當源程序(PRG)和編譯程序(FXP)文件同時存在時,系統(tǒng)將執(zhí)行距當前時間最近的程序文件。 方法一:在程序編輯器中,“程序”菜單“執(zhí)行”或“運行”常用工具執(zhí)行程序 方法二:“程序”菜單“運行”選擇“文件類型”為輸入字符串語句語句格式: Accept To “字符表達式”:作為執(zhí)行到此語句時的提示信息。若無此項,則不輸出任何信息。 內(nèi)存變量:用來接收輸入的字符串。若不輸入任何字符,則將空字符賦值給內(nèi)存變量。 例: Accept “請輸入學號:” To XH? ”輸入的學
8、號是:”+XH 輸入字符串語句語句格式:“字符表達式”:作為執(zhí)行到此語句時的等待語句語句格式:Wait To Window At ,Nowait Clear|NoclearTimeout “字符表達式”:提示信息。若無此項,則輸出任何信息。 To 內(nèi)存變量:用來接收輸入的字符。若不輸入任何字符,則將空字符賦值給內(nèi)存變量。 等待語句語句格式:“字符表達式”:提示信息。若無此項,則輸出說明:允許輸入任何類型的表達式。Input輸入字符串時必須加上定界符??梢暂斎胱址汀?shù)值型、邏輯型、日期型和日期時間型等類型數(shù)據(jù),而且可以是常量、變量、函數(shù)或表達式等形式,按回車鍵結(jié)束輸入,系統(tǒng)將輸入的數(shù)據(jù)賦值給。
9、輸入表達式語句 語句格式: Input To 例:N=2Input 請輸入數(shù)據(jù): To M? M說明:允許輸入任何類型的表達式。Input輸入字符串時必須加ACCEPT命令只能接受字符型數(shù)據(jù),不需定界符,輸入完畢按回車鍵結(jié)束; WAIT命令只能輸入單個字符,且不需定界符,輸入完畢不需按回車鍵; INPUT命令可接受數(shù)值型、字符型、邏輯型、日期型和日期時間型數(shù)據(jù),數(shù)據(jù)形式可以是常量、變量、函數(shù)和表達式,如果是字符串,需用定界符,輸入完畢按回車鍵結(jié)束。 三條輸入命令的異同ACCEPT命令只能接受字符型數(shù)據(jù),不需定界符,輸入完畢按回程序的基本結(jié)構(gòu) 1順序結(jié)構(gòu) 順序結(jié)構(gòu)是在程序執(zhí)行時,根據(jù)程序中語句的
10、書寫順序依次執(zhí)行的命令序列。Visual FoxPro系統(tǒng)中的大多數(shù)命令都可以作為順序結(jié)構(gòu)中的語句。 2分支結(jié)構(gòu) 分支結(jié)構(gòu)是在程序執(zhí)行時,根據(jù)不同的條件,選擇執(zhí)行不同的程序語句,用來解決有選擇、有轉(zhuǎn)移的諸多問題。程序的基本結(jié)構(gòu) 1順序結(jié)構(gòu) 3循環(huán)結(jié)構(gòu) 循環(huán)結(jié)構(gòu)則能夠使某些語句或程序段重復執(zhí)行若干次。 4過程結(jié)構(gòu) 在許多應用程序中,有一些程序段需要反復執(zhí)行多次,這些程序段不在一個固定的位置上,而是分散在程序的許多位置上重復執(zhí)行,可將其與嵌入它的程序分開,形成獨立的程序序列,待使用時再調(diào)入程序中,以實現(xiàn)不同位置上的重復操作。 3循環(huán)結(jié)構(gòu)【例】編寫程序,在STUDENT數(shù)據(jù)庫的STUD表中查找并顯示
11、任意一個學生的情況。OPEN DATABASE STUDENT USE STUDACCEPT 請輸入學生的姓名: TO XMLOCA FOR 姓名=XM?學生 +XM+的基本情況如下:?學號:+學號?姓別:+性別?班級名: +班級名?地址:+地址?出生日期: +DTOC(出生日期)CLOSE DATABASE 【例】編寫程序,在STUDENT數(shù)據(jù)庫的STUD表中查找并顯【例】寫程序P3.PRG:從鍵盤輸入兩個任意整數(shù),計算這兩個數(shù)的和、差、積、商。 CLEARINPUT 請輸入第一個數(shù): TO AINPUT 請輸入第二個數(shù): TO B? 這兩個數(shù)的和為: , A+B? 這兩個數(shù)的差為: , A
12、-B? 這兩個數(shù)的積為: , A*B? 這兩個數(shù)的商為: , A/B【例】寫程序P3.PRG:從鍵盤輸入兩個任意整數(shù),計算這兩個【例】從鍵盤輸入兩個任意正數(shù),編程求以兩數(shù)為邊長的長方形面積。程序文件名為PROG4.PRGSET TALK OFFCLEARINPUT 長方形一邊的長為: TO AINPUT 長方形另一邊的長為: TO BS=A*B? 長方形的面積為: , SSET TALK ONRETURN【例】從鍵盤輸入兩個任意正數(shù),編程求以兩數(shù)為邊長的長方形面積練習: CLEARCREATE TABLE 學生成績 (姓名 C(8),課程號 C(10),成績 N(3)INSERT INTO 學
13、生成績 VALUES (張三,計算機,90)INSERT INTO 學生成績 VALUES (李四,英語,80)SELECT * FROM 學生成績 1 編寫程序文件P1.PRG,運行程序,觀察結(jié)果。要求程序完成以下步驟: (1)用SQL語句中CREATE TABLE創(chuàng)建一個學生成績表,其中包括如下字段:姓名C(8)、課程名C(10)、成績N(3) (2)用SQL語句中INSERT INTO 添加如下數(shù)據(jù) 張三 計算機 90 李四 英語 80 (3)用SELECT查詢語句查詢所有記錄。 練習: CLEAR 1 編寫程序文件P1.PRG,運行語句格式: If Then Endif開始語句序列結(jié)束
14、條件?YN分支結(jié)構(gòu)后面語句單分支If語句其中IF-ENDIF必須配對出現(xiàn)。選擇結(jié)構(gòu) 語句格式:開始語句序列結(jié)束條件?YN分支結(jié)構(gòu)后面語句單分支I例:Input 請輸入一個N: To NIf N0 N=-N Endif? N的絕對值是:, N例:雙分支If語句 語句格式: If Then ELSE Endif開始語句序列1結(jié)束條件?YN語句序列2分支結(jié)構(gòu)后面語句雙分支If語句 語句格式:開始語句序列1結(jié)束條件?YN語句序例,求兩個數(shù)中較小值:Input X= To XInput Y= To YIf X0)0 (X=0)1 (X0Y=1ElseIf X=0Y=0ElseY=-1EndifEndif
15、? YInput 請輸入一個數(shù): To X控制程序是否繼續(xù)執(zhí)行 例 6.8:? DATE() & 輸出系統(tǒng)日期CANCEL & 結(jié)束本程序的執(zhí)行? TIME() & 此語句得不到執(zhí)行(1)Cancel:結(jié)束當前程序的運行。控制程序是否繼續(xù)執(zhí)行 例 6.8:(1)Cancel:結(jié)束當控制程序是否繼續(xù)執(zhí)行 (2)Suspend:暫停程序的執(zhí)行。暫停期間可以在命令窗口中執(zhí)行交互命令。(3)Resume:繼續(xù)執(zhí)行Suspend暫停的程序,從Suspend語句的下一條繼續(xù)。 例:X=1SuspendY=2? X+Y控制程序是否繼續(xù)執(zhí)行 (2)Suspend:暫停程序的執(zhí)行。條件函數(shù) 函數(shù)格式: Iif(
16、,) 說明:若條件成立,則表達式1的值作為函數(shù)值;否則,表達式2的值作為函數(shù)值。例如:Input 輸入一個數(shù)N: To N M = Iif(N0,-N, N) ? ”N的絕對值是:”, M條件函數(shù) 函數(shù)格式:說明:若條件成立,則表達式1的值作為函數(shù)開始語句序列 1結(jié)束條件1?YN語句序列 2條件2?YN語句序列 n條件n?YNOTHERWISE語句序列 n+1.多分支結(jié)構(gòu)開始語句序列 1結(jié)束條件1?YN語句序列 2條件2?YN語句語句格式:Do CaseCase Case Case Otherwise Endcase語句格式:說明1:執(zhí)行時,系統(tǒng)從上向下依次對Case后面的條件進行判斷,當條件
17、不成立時,就判斷下一個Case條件是否成立。一旦某個Case條件成立,就執(zhí)行該Case與下一個Case(Otherwise或Endcase)之間的語句序列,然后執(zhí)行Endcase后面的語句。說明2:若所有條件都不成立,而有Otherwise項,則執(zhí)行語句序列n+1,然后執(zhí)行Endcase后面的語句;若所有條件都不成立,且無Otherwise項,則直接執(zhí)行Endcase后面的語句。 說明1:執(zhí)行時,系統(tǒng)從上向下依次對Case后面的條件進行判斷Input 請輸入一個數(shù): To XDo CaseCase X0Y=1Case X=0Y=0Otherwise Y=-1Endcase? Y1 (X0)0
18、(X=0) 1 (X0)S=1+2+3+4+5+6i=0S=s+isiS=S+ii=i+100010112123333646410510515615621S=1+2+3+4+5+6i=0siS=S+ii=i+100循環(huán)結(jié)構(gòu)程序設計 循環(huán)結(jié)構(gòu)指在執(zhí)行程序過程中,重復執(zhí)行某程序段。在循環(huán)體中,可以利用Exit語句提前結(jié)束循環(huán),也可利用Loop語句提前結(jié)束本次循環(huán)。重復執(zhí)行的程序段稱為循環(huán)體,重復執(zhí)行的次數(shù)稱為循環(huán)次數(shù)。循環(huán)結(jié)構(gòu)程序設計 循環(huán)結(jié)構(gòu)指在執(zhí)行程序過程中,重復執(zhí)行某程序Do While(當型)循環(huán)語句 語句格式: Do While Enddo 開始語句序列 結(jié)束條件?YN循環(huán)前的語句循環(huán)體
19、后的語句語句序列 Y說明:Do While與Enddo必須成對使用。Do While(當型)循環(huán)語句 語句格式:開始語句序列 結(jié)例,求前100個自然數(shù)的和:S=0 N=1 Do While N=100 S=S+NN=N+1Enddo循環(huán)條件循環(huán)體S=1+2+3+4+100例,求前100個自然數(shù)的和:循環(huán)條件循環(huán)體S=1+2+3+4死循環(huán)如果循環(huán)體中沒有能執(zhí)行到的、使條件趨于不成立的語句、結(jié)束循環(huán)或結(jié)束程序的語句,將永遠執(zhí)行不完循環(huán)體,即出現(xiàn)死循環(huán)。語句修改為:Do While Loop Exit Enddo死循環(huán)如果循環(huán)體中沒有能執(zhí)行到的、使條件趨于不成立的語句、結(jié)Do While(當型)循環(huán)
20、語句(2)Exit:一旦執(zhí)行到Exit語句,就結(jié)束整個循環(huán)。(1)Loop:一旦執(zhí)行到Loop語句,就提前結(jié)束本次循環(huán)。例,對鍵盤輸入的每一個正數(shù),輸出其算術(shù)平方根;當輸入的數(shù)小于或等于0時,結(jié)束程序。 Do While(當型)循環(huán)語句(2)Exit:一旦執(zhí)行到E開始循環(huán)體前語句循環(huán)體條件Y分支條件YLOOPN分支結(jié)構(gòu)下面的語句N循環(huán)體下面的語句結(jié)束 無條件轉(zhuǎn)向循環(huán) 語句格式(以當型循環(huán)為例) DO WHILE IF LOOP ENDIF ENDDO開始循環(huán)體前語句循環(huán)體條件Y分支條件YLOOPN分支結(jié)構(gòu)下面 例: 計算1100的奇數(shù)和。說明:int(N): 取整函數(shù) 此處用于判斷i的奇偶性思考:利用mod(N1,N2)如何 判斷奇偶性?*Ex3.prgstore 0 to i, tdo while i100 i=i+1 if int(i/2)=i/2 loop endif t=t+ienddo? 1100奇數(shù)和為: , t 例: 計算1100的奇數(shù)和。說明:int(N): 取整函開始循環(huán)體前語句循環(huán)體條件Y分支條件NEXITY分支結(jié)構(gòu)下面的語句N循環(huán)體下面的語句結(jié)束 無條件跳出循環(huán) 語句格式(以當型循環(huán)為例) DO WHILE IF EXIT ENDIF ENDDO開始循環(huán)體前語句循環(huán)體條
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園緊急保安招聘合同
- 貨車環(huán)境衛(wèi)生合同
- 飼料配送貨車司機聘用合同
- 綠色住宅地熱井施工合同
- 設備租賃協(xié)議書范本
- 耕地無償耕種協(xié)議書
- 瓦工勞務合同書樣本
- 公共建筑光伏 框架合作協(xié)議書
- 集體林權(quán)承包合同范本
- 黃河干流供水合同范例
- 未來當兵職業(yè)生涯規(guī)劃書
- 鎂合金回收與再利用
- 帶狀皰疹中醫(yī)護理
- BOSS GT-6效果處理器中文說明書
- 浙江省杭州市拱墅區(qū)2023-2024學年六年級(上)期末數(shù)學試卷
- 網(wǎng)絡安全培訓
- 學校食品安全與膳食經(jīng)費管理制度(3篇)
- 2020年甘肅公務員考試申論試題(省級卷)
- 【事業(yè)單位考試真題】《綜合基礎知識》必看考點《刑法》(2021年版)(附答案解析)
- 大學生職業(yè)規(guī)劃大賽成長賽道
- 第三單元(整體教學設計)七年級語文上冊大單元教學名師備課系列(統(tǒng)編版2024)
評論
0/150
提交評論