第六章程序設(shè)計(jì)基礎(chǔ)_第1頁
第六章程序設(shè)計(jì)基礎(chǔ)_第2頁
第六章程序設(shè)計(jì)基礎(chǔ)_第3頁
第六章程序設(shè)計(jì)基礎(chǔ)_第4頁
第六章程序設(shè)計(jì)基礎(chǔ)_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、6.2 程序6.2.1 程序的概念6.2.2 程序文件的建立6.2.3 程序中的輸入、輸出命令6.2 .1 程序的概念定義:完成一定任務(wù)的命令的有序集合例:通過編程查看student表的信息一、在數(shù)據(jù)庫中運(yùn)行open database stscuse studentbrowsuseclose database二、在程序文件1、建立程序文件2、在文件中輸入所有命令。3、運(yùn)行程序三、程序和命令窗口的區(qū)別1、在程序窗口中,輸入完命令,按回車鍵該條命令就會被執(zhí)行。2、在程序中,所以的命令輸入完形成程序文件,通過運(yùn)行程序才能按照程序文件中命令的順序依次執(zhí)行。四、vfp中程序命令的說明1、程序命令的注釋格

2、式一:note 格式二:* 格式三:& 2、區(qū)別 格式一和格式二可以在程序文件中單獨(dú)一行出現(xiàn),稱為格式行;格式三只能出現(xiàn)程序文件中某跳語句的后面。四、對話開關(guān)語句格式一:set talk on|off功能:打開或關(guān)閉程序執(zhí)行過程中的一些信息,這些信息顯示在狀態(tài)欄上。格式一:set safety on|off功能:打開或關(guān)閉程序執(zhí)行過程中的一些信息,這些信息顯示在主窗口上。例:求student表學(xué)生的平均年齡;select avg(年齡) as 平均年齡 from student執(zhí)行時在狀態(tài)欄會顯示,可以使用set talk off關(guān)閉提示,提高執(zhí)行速度例:清空數(shù)據(jù)庫中某一表格的內(nèi)容,會彈出安全

3、提示,若不要安全提示則可以使用set safety off 關(guān)閉由于在程序執(zhí)行的時候?yàn)榱颂岣叱绦虻膱?zhí)行效率,并且在程序執(zhí)行過程中讓程序順利的執(zhí)行通常在編程開始和結(jié)束的地方寫如下語句:Set talk offSet safety off.Set talk onSet safety on5、命令的分行在程序中編寫命令語句時,如果語句過長則可以在該行的結(jié)束使用”;”換行。6.2.1 程序文件的建立與執(zhí)行一、程序文件的建立1、菜單方式2、命令方式 :modify command (1)若文件名存在,該命令表示修改(2)若文件名不存在,該命令表示新建二、程序文件的保存1、菜單/工具欄2、快捷鍵:ctrl

4、+w三、程序的運(yùn)行1、菜單方式2、工具欄運(yùn)行按鈕3、命令:do 四、程序執(zhí)行常用的命令1、cancel 終止程序運(yùn)行,返回命令窗口2、do 轉(zhuǎn)向執(zhí)行另外一個程序3、return 結(jié)束程序執(zhí)行,返回調(diào)用它的上級程序,若無上級程序則返回命令窗口4、quit 退出vf 返回操作系統(tǒng)6.2.3 簡單的輸入、輸出命令輸入命令:input、 accept、wait輸出命令:?和?一、input命令格式:input to 例:input “請輸入一個數(shù)” to aa例:編程完成,從鍵盤輸入兩個數(shù),求他們的和并輸出clearinput 請輸入一個數(shù) to a?a=?ainput 請輸入一個數(shù) to b?b=?

5、b?a+b=?a+b說明:1、可以輸入字符型、數(shù)值型、邏輯型、日期型、日期時間型等類型常量、變量、表達(dá)式。2、輸入完成后按回車鍵結(jié)束輸入,系統(tǒng)自動將輸入的內(nèi)容賦給3、輸入字符型要使用定界符”,邏輯性使用圓點(diǎn)定界,日期型使用大括號定界二、accept命令格式: accept to 例:accept “請輸入一串字符串” to c說明:1、只接受字符型數(shù)據(jù),輸入的字符串不需要加定界符2、如果不輸人任何字符直接按回車,則將空串賦給變量三、wait命令格式: wait to 例: wait “請輸入一串字符串” to c說明:1、以窗口的形式顯示提示信息,并暫停程序的執(zhí)行,直到按任意鍵或單擊鼠標(biāo)后繼續(xù)

6、執(zhí)行程序。2、wait用于接收單個字符且不用按回車鍵6.3 程序的結(jié)構(gòu)6.3.1 順序結(jié)構(gòu)6.3.2 選擇結(jié)構(gòu)6.3.3 循環(huán)結(jié)構(gòu)6.3.1 順序結(jié)構(gòu)程序結(jié)構(gòu):程序中命令或語句執(zhí)行的順序。順序結(jié)構(gòu):(最基本的) 按照程序命令、語句的書寫順序依次執(zhí)行的結(jié)構(gòu)語句1語句2語句n總結(jié):在順序結(jié)構(gòu)中,程序執(zhí)行按照語句順序進(jìn)行,無任何的分支或重復(fù)例:從鍵盤輸入兩個數(shù),交換它們的值6.3.2 選擇結(jié)構(gòu)當(dāng)程序執(zhí)行到某一步時,有多條道路可以選擇,但是只能選擇期中一條道路,該道路只能執(zhí)行一次。選擇結(jié)構(gòu)語句:條件語句+分支語句一、簡單的選擇結(jié)構(gòu)條件語句:If 語句序列Endif二、一般的選擇結(jié)構(gòu)條件語句:If 語句

7、序列1Else語句序列2endif例:從鍵盤輸入一個數(shù)給a,判斷若該數(shù)大于0,則顯示“a是正數(shù)”,否則顯示“a是非正數(shù)”1、clearinput 請輸入一個數(shù): to aif a0?a是正數(shù)endifif a0?a是正數(shù)else?a是負(fù)數(shù)endifreturn三、分支語句語句格式:Do caseCase Case Case otherwiseEndcase后繼語句例:根據(jù)學(xué)生的成績顯示相應(yīng)的等級,等級劃分如下: 優(yōu)秀:90100(大于等于90小于100);良好:8090;中等:7080;及格:6070;不及格:60分以下clearinput 請輸入成績: to cjdo casecase cj

8、=90?優(yōu)秀case cj=80?良好case cj=70?中等case cj=60?及格otherwise ?不及格endcase例:計(jì)算分段函數(shù)F(x)=2x-1 x03x+5 0=x3X+1 3=x55x-3 5=x=10clearInput “輸入x值: to xDo case Case x0 f=2*x-1 case x3 f=3*x+5 case x5 f=x+1 case x10 f=5*x-3 otherwise f=7*x+2Endcase? f(,x,)=,f9/96.2.3 循環(huán)結(jié)構(gòu) 也稱重復(fù)結(jié)構(gòu),是指程序在執(zhí)行過程中,某段代碼被重復(fù)執(zhí)行若干次。被重復(fù)的代碼段稱之為循環(huán)體

9、。語句結(jié)構(gòu)形式:條件循環(huán)、步長型循環(huán)和掃描型循環(huán)一、條件循環(huán)語句格式:Do while enddo例:逐條顯示student表中性別為男的所有記錄方法一clearset talk offset safety offopen database stscuse studentgo topdo while not eof()&循環(huán)條件if 性別=男displayendifskipEnddoset talk onset safety on該方法不僅要判斷性別為男的記錄,也要判斷性別為女的記錄,算法不好,程序執(zhí)行效率慢方法二:依次訪問性別為男的記錄,并顯示出來,直到訪問完(遇到eof()處)為止clea

10、rset talk offset safety offopen database stscuse studentgo toplocat for 性別=男do while not eof()&循環(huán)條件displaycontinueenddoset talk onset safety on二、步長型循環(huán) 根據(jù)給定的次數(shù)重復(fù)執(zhí)行循環(huán)體語句:For = to step Endfor |next用于循環(huán)次數(shù)已知的情況 省略step默認(rèn)步長為1 若初值終值,步長為正數(shù)否則為負(fù)數(shù)例:顯示1100 之間的整數(shù)clearfor i=1 to 100 step 1?iEndfor例:逆序顯示501之間的偶數(shù)cle

11、arfor i=50 to 2 step -2?iendfor思考題:1、找出100999間的“水仙花數(shù)”“水仙花數(shù)”即各位數(shù)字的立方和等于本身的三位數(shù)。2、某競賽有10個評委打分,去掉一個最高分,去掉一個最低分,平均后得出最后得分。編一個求最后得分的程序。三、掃描型循環(huán)語句格式:scan forwhileEndscan注:1.該命令是將locate和continue結(jié)合一起來,執(zhí)行該語句時,記錄指針依次在當(dāng)前指定范圍內(nèi)滿足條件的記錄上移動,并對每一條記錄執(zhí)行循環(huán)體內(nèi)的命令,范圍默認(rèn)值是all2.Scan循環(huán)是為操作數(shù)據(jù)庫中表的的記錄設(shè)計(jì)的循環(huán) 3.記錄指針自動依次按條件移動例:逐條顯示stu

12、dent表中性別為男的所有記錄方法三clearopen database stscuse studentscan for 性別=男displayendscan6.4多模塊化程序把一個大而復(fù)雜的程序劃分成若干個模塊來完成,每個模塊完成一個特定的功能,這種方式稱為模塊化結(jié)構(gòu)。模塊是一個相對獨(dú)立的程序段,它可以被其他模塊所調(diào)用,也可去調(diào)用其他模塊。通常,把被其他模塊調(diào)用的模塊稱為子模塊,把調(diào)用其他模塊而沒有被其他模塊調(diào)用的模塊稱為主程序。應(yīng)用程序一般包含多個程序模塊,所以一般都是多模塊程序。將一個應(yīng)用程序分解成多個功能相對簡單、單一的程序模塊,不僅便于程序開發(fā),而且利于程序的閱讀和維護(hù)。6.4.1

13、模塊的定義和調(diào)用6.4.2參數(shù)傳遞6.4.3變量的作用域6.4.1 模塊的定義和調(diào)用1、過程的定義2、返回語句3、模塊的調(diào)用格式1、模塊的定義命令格式:Proceture|function | 命令序列 return Endproc|endfunc注:Proceture是過程的入口語句,標(biāo)識了過程段的開始Endproc是過程的出口語句,標(biāo)識了本過程段的結(jié)束2、返回語句格式:return return后沒有表達(dá)式,則返回.t.,否則返回表達(dá)式的值3、模塊的調(diào)用格式1:do 過程名格式2:過程名()注:調(diào)用模塊文件中的模塊時,需要它所在的文件必須處于打開狀態(tài)。例:clear?調(diào)用過程do p1?調(diào)

14、用完畢proc p1?這是第一個過程endproc6.4.2參數(shù)的傳遞1、參數(shù)的定義2、調(diào)用有參數(shù)的模塊3、參數(shù)的傳遞規(guī)則1、參數(shù)的定義: 格式一:parameters 格式二:lparameters 注:該語句必須是過程的第一條語句,定義多個參數(shù)時,用逗號隔開例:在過程s1定義參數(shù)procedure s1parameters x,yreturn x+yendproc2、調(diào)用有參數(shù)的模塊格式一:模塊名(實(shí)參1,實(shí)參2,.)格式二:do 模塊名 with 實(shí)參1,實(shí)參2,.例: clearinput 輸入一個數(shù): to ainput 輸入另一個數(shù): to bc=s1(a,b)?c說明:1、形參的

15、數(shù)目不能少于實(shí)參的數(shù)目,否則系統(tǒng)會產(chǎn)生運(yùn)行時的錯誤。 2、如果形參的數(shù)碼多于實(shí)參的數(shù)目,則多余的形參取初值邏輯假.F.參數(shù)的傳遞規(guī)則:兩種規(guī)則:值傳遞和地址傳遞格式一: do with 說明:若實(shí)參為常量或者表達(dá)式,則為值傳遞。若實(shí)參為變量,則為地址傳遞。若給實(shí)參變量加上()則強(qiáng)制轉(zhuǎn)化為值傳遞值傳遞:形參、實(shí)參相互獨(dú)立,形參值的改變不會影響實(shí)參的值。地址傳遞:形參、實(shí)參相互統(tǒng)一,形參變量值的改變會影響原來實(shí)參的值。例:procedure s1parameters x,yx=x+1y=y+1Endproccleara=2b=3do s1 with 2,3?a?b格式二:模塊名(參數(shù)列表)總結(jié):不論實(shí)參是值、變量、表達(dá)式,均是按值傳遞6.4.3變量的作用域1、全局變量2、局部變量3、私有變量1、全局變量(公共變量):是在任何模塊中都可使用的變量,要先建立后使用。建立命令:Public 注:(1)其初值為.f.,賦值后改變。一旦建立就一直有效,即使程序運(yùn)行結(jié)束返回到命令窗口也不會消失。只有執(zhí)行clear memory、release、quit 等命令后,才被釋放。(2)在命令窗口中直接使用而由系統(tǒng)自動隱含建立的變量也是公共變量例:procedure s1a=a+1b=b+1Endprocc

溫馨提示

  • 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

提交評論