第六章程序設計基礎_第1頁
第六章程序設計基礎_第2頁
第六章程序設計基礎_第3頁
第六章程序設計基礎_第4頁
第六章程序設計基礎_第5頁
已閱讀5頁,還剩42頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第六章程序設計基礎6.2 .1 程序的概念定義:完成一定任務的命令的有序集合例:通過編程查看student表的信息一、在數據庫中運行open database stscuse studentbrowsuseclose database二、在程序文件1、建立程序文件2、在文件中輸入所有命令。3、運行程序三、程序和命令窗口的區別1、在程序窗口中,輸入完命令,按回車鍵該條命令就會被執行。2、在程序中,所以的命令輸入完形成程序文件,通過運行程序才能按照程序文件中命令的順序依次執行。四、vfp中程序命令的說明1、程序命令的注釋格式一:note 格式二:* 格式三:& 2、區別 格式一和格式二可以

2、在程序文件中單獨一行出現,稱為格式行;格式三只能出現程序文件中某跳語句的后面。四、對話開關語句格式一:set talk on|off功能:打開或關閉程序執行過程中的一些信息,這些信息顯示在狀態欄上。格式一:set safety on|off功能:打開或關閉程序執行過程中的一些信息,這些信息顯示在主窗口上。例:求student表學生的平均年齡;select avg(年齡) as 平均年齡 from student執行時在狀態欄會顯示,可以使用set talk off關閉提示,提高執行速度例:清空數據庫中某一表格的內容,會彈出安全提示,若不要安全提示則可以使用set safety off 關閉由于

3、在程序執行的時候為了提高程序的執行效率,并且在程序執行過程中讓程序順利的執行通常在編程開始和結束的地方寫如下語句:Set talk offSet safety off.Set talk onSet safety on5、命令的分行在程序中編寫命令語句時,如果語句過長則可以在該行的結束使用”;”換行。6.2.1 程序文件的建立與執行一、程序文件的建立1、菜單方式2、命令方式 :modify command (1)若文件名存在,該命令表示修改(2)若文件名不存在,該命令表示新建二、程序文件的保存1、菜單/工具欄2、快捷鍵:ctrl+w三、程序的運行1、菜單方式2、工具欄運行按鈕3、命令:do 四、

4、程序執行常用的命令1、cancel 終止程序運行,返回命令窗口2、do 轉向執行另外一個程序3、return 結束程序執行,返回調用它的上級程序,若無上級程序則返回命令窗口4、quit 退出vf 返回操作系統6.2.3 簡單的輸入、輸出命令輸入命令:input、 accept、wait輸出命令:?和?一、input命令格式:input to 例:input “請輸入一個數” to aa例:編程完成,從鍵盤輸入兩個數,求他們的和并輸出clearinput 請輸入一個數 to a?a=?ainput 請輸入一個數 to b?b=?b?a+b=?a+b說明:1、可以輸入字符型、數值型、邏輯型、日期型

5、、日期時間型等類型常量、變量、表達式。2、輸入完成后按回車鍵結束輸入,系統自動將輸入的內容賦給3、輸入字符型要使用定界符”,邏輯性使用圓點定界,日期型使用大括號定界二、accept命令格式: accept to 例:accept “請輸入一串字符串” to c說明:1、只接受字符型數據,輸入的字符串不需要加定界符2、如果不輸人任何字符直接按回車,則將空串賦給變量三、wait命令格式: wait to 例: wait “請輸入一串字符串” to c說明:1、以窗口的形式顯示提示信息,并暫停程序的執行,直到按任意鍵或單擊鼠標后繼續執行程序。2、wait用于接收單個字符且不用按回車鍵6.3 程序的結

6、構6.3.1 順序結構6.3.2 選擇結構6.3.3 循環結構6.3.1 順序結構程序結構:程序中命令或語句執行的順序。順序結構:(最基本的) 按照程序命令、語句的書寫順序依次執行的結構語句1語句2語句n總結:在順序結構中,程序執行按照語句順序進行,無任何的分支或重復例:從鍵盤輸入兩個數,交換它們的值6.3.2 選擇結構當程序執行到某一步時,有多條道路可以選擇,但是只能選擇期中一條道路,該道路只能執行一次。選擇結構語句:條件語句+分支語句一、簡單的選擇結構條件語句:If 語句序列Endif二、一般的選擇結構條件語句:If 語句序列1Else語句序列2endif例:從鍵盤輸入一個數給a,判斷若該

7、數大于0,則顯示“a是正數”,否則顯示“a是非正數”1、clearinput 請輸入一個數: to aif a0?a是正數endifif a0?a是正數else?a是負數endifreturn三、分支語句語句格式:Do caseCase Case Case otherwiseEndcase后繼語句例:根據學生的成績顯示相應的等級,等級劃分如下: 優秀:90100(大于等于90小于100);良好:8090;中等:7080;及格:6070;不及格:60分以下clearinput 請輸入成績: to cjdo casecase cj=90?優秀case cj=80?良好case cj=70?中等ca

8、se cj=60?及格otherwise ?不及格endcase例:計算分段函數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 循環結構 也稱重復結構,是指程序在執行過程中,某段代碼被重復執行若干次。被重復的代碼段稱之為循環體。語句結構形式:條件循環、步長型循環和掃描型循環一、條件循環語句格式

9、:Do while enddo例:逐條顯示student表中性別為男的所有記錄方法一clearset talk offset safety offopen database stscuse studentgo topdo while not eof()&循環條件if 性別=男displayendifskipEnddoset talk onset safety on該方法不僅要判斷性別為男的記錄,也要判斷性別為女的記錄,算法不好,程序執行效率慢方法二:依次訪問性別為男的記錄,并顯示出來,直到訪問完(遇到eof()處)為止clearset talk offset safety offope

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

11、ndfor思考題:1、找出100999間的“水仙花數”“水仙花數”即各位數字的立方和等于本身的三位數。2、某競賽有10個評委打分,去掉一個最高分,去掉一個最低分,平均后得出最后得分。編一個求最后得分的程序。三、掃描型循環語句格式:scan forwhileEndscan注:1.該命令是將locate和continue結合一起來,執行該語句時,記錄指針依次在當前指定范圍內滿足條件的記錄上移動,并對每一條記錄執行循環體內的命令,范圍默認值是all2.Scan循環是為操作數據庫中表的的記錄設計的循環 3.記錄指針自動依次按條件移動例:逐條顯示student表中性別為男的所有記錄方法三clearope

12、n database stscuse studentscan for 性別=男displayendscan6.4多模塊化程序把一個大而復雜的程序劃分成若干個模塊來完成,每個模塊完成一個特定的功能,這種方式稱為模塊化結構。模塊是一個相對獨立的程序段,它可以被其他模塊所調用,也可去調用其他模塊。通常,把被其他模塊調用的模塊稱為子模塊,把調用其他模塊而沒有被其他模塊調用的模塊稱為主程序。應用程序一般包含多個程序模塊,所以一般都是多模塊程序。將一個應用程序分解成多個功能相對簡單、單一的程序模塊,不僅便于程序開發,而且利于程序的閱讀和維護。6.4.1 模塊的定義和調用參數傳遞變量的作用域6.4.1 模塊

13、的定義和調用1、過程的定義2、返回語句3、模塊的調用格式1、模塊的定義命令格式:Proceture|function | 命令序列 return Endproc|endfunc注:Proceture是過程的入口語句,標識了過程段的開始Endproc是過程的出口語句,標識了本過程段的結束2、返回語句格式:return return后沒有表達式,則返回.t.,否則返回表達式的值3、模塊的調用格式1:do 過程名格式2:過程名()注:調用模塊文件中的模塊時,需要它所在的文件必須處于打開狀態。例:clear?調用過程do p1?調用完畢proc p1?這是第一個過程endproc6.4.2參數的傳遞1

14、、參數的定義2、調用有參數的模塊3、參數的傳遞規則1、參數的定義: 格式一:parameters 格式二:lparameters 注:該語句必須是過程的第一條語句,定義多個參數時,用逗號隔開例:在過程s1定義參數procedure s1parameters x,yreturn x+yendproc2、調用有參數的模塊格式一:模塊名(實參1,實參2,.)格式二:do 模塊名 with 實參1,實參2,.例: clearinput 輸入一個數: to ainput 輸入另一個數: to bc=s1(a,b)?c說明:1、形參的數目不能少于實參的數目,否則系統會產生運行時的錯誤。 2、如果形參的數碼

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論