結構化程序設計_第1頁
結構化程序設計_第2頁
結構化程序設計_第3頁
結構化程序設計_第4頁
結構化程序設計_第5頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第 2 章 結構化程序設計第一講重點:命令文件的建立與執(zhí)行命令;常用的輸入、輸出命令難點:帶參數的命令文件的執(zhí)行教學目的:掌握命令文件的建立與執(zhí)行命令;常用的輸入、輸出命令教學方法和手段:理論講授、多媒體演示和實際操作相結合。理論講解主要以講授為主,輔以設問、引導、啟發(fā)、提問等教學方法。演示主要以案例驅動教學方法為主,輔以設問、引導、啟發(fā)、提問等教學方法。學生上機操作以任務驅動教學方法為主。教學過程:一、首先復習上次課的主要內容。復習主要以提問、設問等方式進行。提問時使用具體的例子。二、通過引論,導入新課。2.1.1 命令文件的建立與執(zhí)行1. 命令文件概念程序是為了完成一定任務,由若干條可執(zhí)行

2、的命令或語句組成的序列。而用于存儲這些由命令組成的文件,即為命令文件,又稱為程序文件。命令文件的擴展名為prg。2. 命令文件的建立建立程序文件可以用任何一種字處理的文本編輯器進行(如Windows 自帶的記事本)。下面我們將介紹如何調用VFP 內嵌的編輯器建立程序文件。格式: Modify command <文件名 >|?Modify file <文件名 >|?功能:進入程序編輯器,創(chuàng)建程序文件。說明: 可選項<文件名>|? 用于設置要編輯的文件名。 在文件名前可指明路徑,若未指明則默認路徑為當前驅動器的當前目錄。如執(zhí)行命令Modifycommand c:

3、shuexam1 ,程序文件exam1.prg 儲存在 c 盤的子目錄shu 下,而執(zhí)行Modify file exam2.prg后,程序文件exam2.prg 將儲存在當前驅動器的當前目錄中。例1編寫程序examl.prg,計算表達式 a*b,a>b的值,并在屏幕上顯示出結果,其中 a的值為3, b 的值為5。程序內容如下:set talk offa=3b=5? a*b? a>bset talk on在命令窗口中輸入modify command exam1 或輸入 modify file exam1.prg 即可進入到程序編輯窗口,輸入程序內容后,按下 Ctrl+w 組合鍵保存,

4、就將 exam1.prg 程序存入到磁盤。我們就在計算機上建立了一個exam1.prg 程序文件。3. 程序文件的執(zhí)行當一個程序文件建立后就可以運行了。運行VFP 程序的命令格式如下:格式: Do <程序文件名>with< 參數表 >功能:執(zhí)行指定的程序。說明: 若是省略程序文件的擴展名,則系統(tǒng)默認其擴展名為prg。 命令中的可選項with< 參數表>用于執(zhí)行帶參數的程序。 在某一個程序文件中調用其他命令文件作為子程序也使用Do 語句。創(chuàng)建程序命令:modify command exam2程序內容如下:clearset talk offuse student

5、list for 總分 >320 fields 學號,姓名,總分offuseset talk on建立該程序后,執(zhí)行命令為:do exam2則屏幕上將會顯示出:學號姓名總分9912004 韓偉娟339.0例 3 編寫程序exam3 求三角形的面積。創(chuàng)建程序命令:modify command exam3程序內容如下:parameters a,b && 定義了形式參數a,barea=(a*b)/2? "三角形面積為:",area建好 exam3.prg 文件后,執(zhí)行下述命令便可求出一個三角形面積。r=3do exam3 with r,2*r程序運行結果如下

6、:三角形面積為:9在exam3程序中,parameters語句后跟參數表,這些參數稱為形式參數。執(zhí)行命令中列在with 后的參數稱為實在參數。實在參數和形式參數的個數、類型與排列次序必須完全相匹配。2.1.2 常用命令關于表操作的基本命令,在前面我們已經做過一些詳細的介紹,本小節(jié)將從程序設計的角度出發(fā),對一些在程序中常用的基本命令作具體的說明。1. 非格式化輸入語句( 1)字符串輸入命令Accept格式: Accept < 提示信息> to < 內存變量>功能:在屏幕上顯示提示信息,等待用戶鍵入一串字符,并把輸入的字符串賦值給指定的內存變量。說明: <提示信息&g

7、t;是一個字符型的表達式,若省略<提示信息>則不顯示任何提示信息。 內存變量是一個已定義或未定義的字符型內存變量。 用戶從鍵盤上輸入字符串時,不必輸入字符定界符,只要直接輸入字符串中的字符即可。字符輸入完后,按回車鍵表示結束,回車鍵不作為字符串中的字符。若直接按回車鍵,則獲得空字符串。例 4 執(zhí)行下述語句:accept "請輸入性別:" to sex此語句的功能是在屏幕上顯示“請輸入性別: ”,并將用戶輸入的內容存放到內存變量sex中。若用戶性別是“男”, 則用戶需鍵入男,再按一次回車鍵即可。( 2)數據輸入命令Input格式: Input <提示信息&g

8、t; to <內存變量>功能:在屏幕上顯示提示信息,等待用戶鍵入數據,將鍵入的值賦給指定的內存變量。說明: 提示信息是一個字符型的表達式,若省略< 提示信息> 則不顯示任何提示信息。 內存變量是一個已定義或未定義的變量。 用戶輸入數據時,應注意其類型。輸入的數據可以是常數,也可以是表達式。輸入不同類型的常數有不同的要求。字符型常數:必須用字符定界符(引號,方括號)括住,輸入完后,按回車鍵表示結束。其中字符定界符和回車鍵不作為字符串中的內容。數值型常數:可直接輸入整數或實數,輸完后,按回車鍵表示結束。貨幣型常數:應在數值前加$符號,例$123.12。日期型常數:必須用日期

9、定界符(大括號)括住, 并且年月日的格式必須與當前系統(tǒng)要求的格式相同,同時輸入的日期必須為有效日期。輸完后,按回車鍵表示結束。邏輯型常數:必須用小數點括住,數據輸完后,按回車鍵表示結束。例 5 執(zhí)行下述語句:input "請輸入性別:" to sex此語句的功能是在屏幕上顯示“請輸入性別: ”并將用戶輸入的內容存放到內存變量 sex 中,若用戶性別是“男”, 則需鍵入 "男 ",再按回車鍵即可。Input "請輸入你的考試成績:" to cj此語句的功能是在屏幕上顯示“請輸入你的考試成績: ”并將用戶輸入的數值存放到內存變量 cj 中

10、。若用戶考試成績?yōu)?3,則用戶只需鍵入83,再按回車鍵即可。input"請輸入你的出生日期:" to birthday此語句的功能是在屏幕上顯示“請輸入你的出生日期: ”并將用戶輸入的內容存放到 birthday 中。若 用戶出生日期為1978年7月3日,則在嚴格日期格式下用戶需鍵入一一人1978/07/03,在通常日期格式下用戶需鍵入07/03/78 ,再按回車鍵即可。( 3)等待命令Wait格式: Wait < 提示信息> to< 內存變量> window nowait timeout< 數值表達式>功能:暫停程序的執(zhí)行,顯示提示信息

11、,并等待用戶鍵入一個字符或單擊鼠標。說明: 用戶可通過< 提示信息>來指定顯示的提示內容,否則將顯示系統(tǒng)設定的提示信息:“按任意鍵繼續(xù) , ” 可選項to< 內存變量>,用于將輸入的一個字符賦值給指定的內存變量。 可選項windownowait用于將提示信息以系統(tǒng)信息窗口的形式出現在屏幕畫面的右上角。而帶有nowait 選項的wait 語句,并不會暫停程序的執(zhí)行,僅僅在屏幕右上角顯示提示信息。此時只須移動一下鼠標或按下任意鍵,這個系統(tǒng)信息窗口便會消除。需要注意的是nowait 必須和 window 可選項合用才會產生效果??蛇x項timeout<數值表達式 >

12、,是指定 Wait語句最多暫停程序執(zhí)行多少秒,若在指定的秒數時間內,用戶沒有按任意鍵或單擊鼠標,則到指定秒數后,wait 語句便會自動終止并返回空串,重新繼續(xù)執(zhí)行程序。timeout 5例 6 執(zhí)行下述語句: wait "看清后,按任意鍵,程序將繼續(xù)運行此語句的功能是在屏幕上顯示“看清后,按任意鍵,程序將繼續(xù)運行”的提示信息,在 5 秒內等待用戶按鍵或單擊鼠標終止wait 語句的執(zhí)行,繼續(xù)執(zhí)行程序;5 秒后 wait 語句自動終止,程序重新繼續(xù)運行。wait "你要找的記錄沒有找到!" window nowait此語句的功能是在屏幕右上角顯示系統(tǒng)信息窗口,窗口內容

13、為“你要找的記錄沒有找到! ”程序并不終止運行。等用戶按鍵或移動鼠標時,信息窗口自動消失。wait "繼續(xù)查找請按Y 鍵,否則請按N 鍵! " to choose window此語句的功能是在屏幕右上角顯示系統(tǒng)提示信息窗口,窗口內容為 “繼續(xù)查找請按 Y 鍵, 否則請按N鍵! ”,程序終止執(zhí)行,等待用戶按鍵,并將鍵入的一個字符賦值給內存變量choose??偨Y: Input 語句可以輸入字符型、數值型、貨幣型、邏輯型和日期(時間)型的數據,Accept 和 Wait 語句則是專門輸入字符型數據的。其中Wait 語句,常用于要求用戶快速響應的場合,用戶只需要按某個鍵就可繼續(xù)程序

14、的運行。2. 非格式化輸出語句前面已經介紹過兩種非格式化輸出語句,即?和 ?,在這里就不再重復了。下面將介紹兩個文本輸出命令。格式1 : <文本行> | <文本行 >功能:將一行文本信息的內容按書寫形式的原樣顯示出來。說明:與 的差別在于前者輸出的文本行前帶有回車換行符,就是在下一行的第一列開始輸出;而后者不帶,文本行在當前光標位置開始輸出。格式2: Text<文本信息>Endtext功能:可以進行多行文本的輸出。說明:它只能在程序中使用,并且必須成對使用。例 7 下面有 3 個文本輸出程序,它們運行的結果是相同的。modify command exam7a

15、您好 ,歡迎你光臨!今天天氣真好!modify command exam7b您好,歡迎你光臨!今天天氣真好!modify command exam7ctext您好,歡迎你光臨!今天天氣真好!endtext分別運行這3 個程序,都會在屏幕上顯示出下列內容:您好,歡迎你光臨!今天天氣真好!3. 格式化輸出語句格式: <行 ,列 > say <表達式> picture< 格式符 >function< 功能符 >size<表達式1>,表達式2>功能:在屏幕指定位置按照指定格式輸出表達式。說明: 例8 11,12 11,12 11,12執(zhí)

16、行下述語句:say "welcome home ! " say "welcome home ! " say "welcome home ! "function"!"picture"!"picture"!"11,12 say "welcomehome!" size 2,104. 格式化輸入語句格式:行,列get<變量名> picture<格式符>function<功能符>size<表達式1>,表達式2>

17、default<表達式>range卜表達式1>卜表達式2> valid<條件1> when<條件2>Read save cycle timeout< 等待時間>功能: 在屏幕指定位置按照指定格式輸入數據,它必須與Read 語句配合使用,用 Read 命令激活當前所有的 Get 變量。例 9 執(zhí)行下述語句:12,13 get age default 0read可在屏幕第12行第13列輸入一個數值,并把這個數值賦給變量age,因為age沒有定義,所以在get0,所以用戶在輸入數Read 語句時, get 后的變量。語句中有一個defaul

18、t子句對age變量進行定義賦值。又因為賦給age的初值為數值據時,只能輸入數值型的數據,而不能是其他的類型。上面介紹的格式化輸入輸出語句,也可聯合使用。格式: <行,列 > say< 表達式 > picture< 格式符 >function< 功能符 >get< 變量名 > picture< 模式符 >function< 功能符 >default< 表達式 > range< 表達式 1>,< 表達式 2> size< 表達式 1>,表達式 2> valid&

19、lt; 條件 1>when< 條件 2>功能:從屏幕的指定位置開始顯示表達式的值,空一格后反相顯示變量的值。當執(zhí)行光標出現在變量對應的反相區(qū)并暫停程序的執(zhí)行,等待用戶輸入一個值并把該值賦予例 10 執(zhí)行下述語句:xm=" "11,12 say "請輸入您的姓名:" get xmread則在屏幕第11 行,第 12 列顯示“請輸入您的姓名: ”并在其后等待用戶輸入字符串,并將輸入內容賦值給xm。5. 其他語句( 1)注釋語句為了方便用戶對程序的閱讀,VFP 提供了一種特殊的語句注釋語句,對程序語句做出解釋說明。注釋語句不參與程序的執(zhí)行,只

20、有說明解釋功能。注釋語句有兩種,分別是:格式 1 : *< 注釋內容>功能:該行為注釋行。格式2: &&< 注釋內容>功能:該注釋符后的內容為注釋內容。說明:這兩個注釋符均可對程序語句做出解釋,但*注釋符為行注釋符,用在一行的行首,表示這一行為注釋行;而&& 用在命令行后,僅僅對該行語句做出解釋。6. 狀態(tài)設置命令( 1)會話開關格式: Set talk on|off功能:設置命令執(zhí)行的結果是否及時反饋顯示出來。( 4)屏幕顯示設置格式: Set console on|off功能:鍵盤輸入的內容是否在屏幕上顯示。( 5)系統(tǒng)保護狀態(tài)設置格

21、式: Set safety on|off功能:用于控制在文件或數據重寫時或刪除前是否發(fā)出警告。(6) Escape鍵終止程序運行設置格式: Set escape on|off功能:用于設置Esc鍵能否中斷程序運行。( 7)設置默認路徑格式: Set default to<路徑>功能:設置缺省路徑時的默認值。例12若當前盤當前路徑為c:VFP,則:modify command p1 && 在 c:VFP 目錄下創(chuàng)建p1.prg 文件set default to d:sj && 設置缺省路徑為d:sjmodify command p2 &&

22、; 在 d:sj 目錄下創(chuàng)建p2.prg 文件三、作業(yè)要求1. 仔細閱讀本節(jié)內容。2. 上機練習命令文件的建立和執(zhí)行3. 上機練習常用的輸入、輸出命令。第二講 順序結構和選擇結構重點:選擇結構的三種語句格式理解和使用難點:選擇結構的使用教學目的:學會掌握和使用選擇結構的三種語句格式教學方法和手段:理論講授、多媒體演示和實際操作相結合。理論講解主要以講授為主,輔以設問、引導、啟發(fā)、提問等教學方法。演示主要以案例驅動教學方法為主,輔以設問、引導、啟發(fā)、提問等教學方法。學生上機操作以任務驅動教學方法為主。教學過程:一、首先復習上次課的主要內容。復習主要以提問、設問等方式進行。提問時使用具體的例子。二

23、、通過引論,導入新課。首先復習一下上次課的主要內容,復習主要以提問方式進行,然后導入新課。提問時使用具體的例子。2.2.1 順序結構按順序結構組織程序,只需先把處理過程的各個步驟詳細列出,然后把有關命令按照處理的邏輯順序自上而下排列起來便可。上一節(jié)給出的例題就是按順序結構組織程序的。例13編程顯示表student.dbf中姓王的學生記錄。modify command exam13 程序內容如下:clearuse studentlist for 姓名="王 "use 例 13 即為一個順序結構的程序。2.2.2 選擇結構選擇結構能根據指定條件和當前值在兩條或多條程序路徑中選擇

24、一條執(zhí)行,因此在一個程序中便能處理多種情況的復雜問題。VFP 提供 3 種格式的選擇結構。1. 單一選擇格式: If 條件 命令序列Endif功能:條件取值為“真”,執(zhí)行命令序列;條件取值為“假”,命令序列就不執(zhí)行。說明: If 和 Endif 必須成對出現,相互匹配。例 14 單一選擇結構示例。Modify command exam14程序內容如下:clearwait "是否退出?(Y/N ) : " to a && 變量 a 識別用戶是否退出if upper(a)= "Y"&&upper 函數把小寫字母轉換為大寫字母w

25、ait "您選擇了退出,現在就要退出Visual FoxPro ! " timeout 5quitendif2.格式: If條件命令序列1Else命令序列2Endif功能:根據條件的取值在命令序列1與 命令序列2這兩條路徑中選擇一條執(zhí)行。例 15 求圓的面積和周長。通過鍵盤輸入半徑的值,當半徑大于等于0,則輸出圓的面積和周長,當半徑小于0,則輸出提示信息“輸入值無效”。程序內容如下:set talk offinput "請輸入圓的半徑值:" to rif r=0mj=3.14*r*rzc =2*3.14*r?"圓的面積為:",mj?&

26、quot;圓的周長為:",zcelse?"輸入值無效"endif set talk on例 16 編寫程序完成以下功能:根據從鍵盤輸入的學號在student 表中進行查找,找到則顯示該學生的學號,姓名,總分;找不到,則顯示“無此學號” 程序內容如下:use studentaccept "請輸入學號:" to xhlocate for 學號 =xhif found( )?"學號:"+ 學號?"姓名:"+ 姓名?"總分 :",總分else?"無此學號!"endifuse

27、3.格式: Do casecase <條件1><命令序列1>case <條件2><命令序列2>case <條件n><命令序列n>otherwise<命令序列n+1>Endcase功能:自上而下依次判斷命令中列出的條件,只要找到某一條件為“真”,就執(zhí)行與之相關的命令序列,余下的條件便不再判斷,有關的命令也不執(zhí)行。在沒有一個條件取值為“真”時,若有 otherwise 可選項,就執(zhí)行命令序列n +1,否則什么也不做??梢娫诒姸嗟拿钚蛄兄?,多重選擇最多只選擇執(zhí)行其中的一個命令序列,也可能一個也不執(zhí)行。說明:If與E

28、ndif、Do case與Endcase標志選擇結構的開始與結束,它們必須成對出現。3 種選擇結構不僅自身可以嵌套,而且還能相互嵌套。例 編寫程序求下列分段函數的值,x 的值通過鍵盤輸入。程序內容如下:set talk offy=0input "請輸入 x 的值: " to xdo casecase x<0y=2*x-1case x>=0 .and. x<5y=3*x+5case x>=5y=x+1endcase?"y=", yset talk on三、作業(yè)要求1. 閱讀本節(jié)內容,理解書上的例子。2. 上機驗證書上的例子。第三講

29、循環(huán)結構重點:循環(huán)結構的三種語句格式理解和使用難點:循環(huán)結構的三種語句格式使用教學目的:掌握循環(huán)結構的三種語句格式使用教學方法和手段:理論講授、多媒體演示和實際操作相結合。理論講解主要以講授為主,輔以設問、引導、啟發(fā)、提問等教學方法。演示主要以案例驅動教學方法為主,輔以設問、引導、啟發(fā)、提問等教學方法。學生上機操作以任務驅動教學方法為主。教學過程:一、首先復習上次課的主要內容。復習主要以提問、設問等方式進行。提問時使用具體的例子。二、通過引論,導入新課。2.2.3 循環(huán)結構按循環(huán)結構來組織程序,能夠做到由指定條件的當前值來控制程序中某一部分命令序列的重復執(zhí)行。VFP 提供了多種循環(huán)結構,它們是

30、當循環(huán)、For-Next 循環(huán)、表文件掃描循環(huán)等等。1. 當循環(huán)格式: Do while < 條件 ><命令序列>Loop<命令序列>Exit<命令序列>Enddo功能:判斷條件的取值,若為“真”就執(zhí)行 Do 與 Enddo 之間的命令序列(稱為循環(huán)體),再判斷條件的取值,重復剛才的過程。一旦條件取值為“假”,就跳出循環(huán)體轉而執(zhí)行Enddo 下一條命令。只要條件取值保持為“真”,循環(huán)體就會不斷地重復執(zhí)行,流程圖如圖15.4 所示。例20編寫程序逐條顯示 student表中的記錄。程序內容如下:use studentdo while .not. e

31、of( )displaywait windows timeout 2skipenddouse例 22 編程計算1+2+, +100 的值。分析:求和是采用累加的方式,從一個初始值出發(fā),通過循環(huán)累加求出最后的結果。s 用來存放累加的結果,初值為0, n 既作為被累加的數據,也作為控制循環(huán)的條件是否成立的變量,初值為1 。程序內容如下:set talk offs=0n=1do while n<=100s=s+nn=n+1enddo? "1+2+, +100=",sset talk on2. For Next格式: For <內存變量>=<表達式 1>

32、; to <表達式 2>step <表達式 3>< 命令序列>ExitLoopEndfor | Next功能:本命令中的內存變量(又稱循環(huán)變量)類似于計數器,它的取值范圍由<表達式1>(初值)與<表達式2>(終值)確定,通過判斷內存變量的取值是否在指定范圍之中來確定循環(huán)體是否重復執(zhí)行。例 24 編程用For Next 循環(huán)計算1+2+,+100 的值。程序內容如下:set talk offs=0for i=1 to 100 step 1s=s+iendfor? "1+2+, +100=",sset talk on例

33、 25 編程統(tǒng)計100 以內能夠被3 或 5 整除的數的個數。程序內容如下:set talk offnum=0for i=1 to 100if mod(i,3)=0 .or. mod(i,5)=0num=mun+1endifendfor? "100 以內能夠被3 或 5 整除的數的個數為:",numset talk on3.格式: Scan <范圍>for< 條件 1>while< 條件 2><命令序列>ExitLoopEndscan功能:對當前表中滿足條件的記錄,依次重復執(zhí)行循環(huán)體。在數據庫應用程序中,經常要對表中指定的記錄

34、逐個進行某種處理,此時可以使用VFP 提供的表掃描循環(huán)命令。例26用Scan循環(huán)逐條顯示 student.dbf中男同學的記錄。程序內容如下:set talk offuse studentscan for 性別=" 男 "displaywait windows timeout 2endscanuseset talk on以上我們介紹了三種結構,這三種結構在編程中通常是配合使用的。下面以它們混合使用為例進行說明。三、作業(yè)要求1. 課后習題2, 32. 上機練習書上的例子和驗證自己編寫的題目。第四講 綜合程序設計、過程和函數程序設計重點:程序設計中三種結構的嵌套使用和過程和函數

35、的定義和調用難點:過程和函數程序設計教學目的:掌握程序設計中三種結構的嵌套使用,掌握過程和函數的定義和調用,會設計簡單的綜合程序。教學方法和手段:理論講授、多媒體演示和實際操作相結合。理論講解主要以講授為主,輔以設問、引導、啟發(fā)、提問等教學方法。演示主要以案例驅動教學方法為主,輔以設問、引導、啟發(fā)、提問等教學方法。學生上機操作以任務驅動教學方法為主。教學過程:一、首先復習上次課的主要內容。復習主要以提問、設問等方式進行。提問時使用具體的例子。二、通過引論,導入新課。程序應用舉例自定義函數系統(tǒng)將一些經典的通用算法編成一個個程序提供給用戶使用,這就是所謂系統(tǒng)函數。用戶也可以根據自己的需要編寫相應的

36、函數即自定義函數。下面我們將介紹如何自定義函數。1. 自定義函數的定義格式: Function < 函數名稱> parameters <參數表>< 函數體 > return < 表達式 > 功能:定義一個函數。說明:Function <函數名稱 > 此項是定義函數名稱,可選項parameters參數表 >是函數中參數傳遞的語句,每個參數之間用逗號隔開,它們又可稱為形式參數。return< 表達式 >是將處理后的值返回給調用程序使用,一個函數必須在程序運行結束時返回一個函數值,這是函數的基本特點。若函數不提供返回值,則

37、VFP使用.T.作為默認返回值。例31建立自定義函數sm(n),其功能是計算1+2+3+, +n累加和。數值求和是計算機程序設計中的主要運算,求和是采用累加的方式,從一個初始值出發(fā),通過循環(huán)累加求出最后的結果。function smparameters ns=0k=1do while k<=ns=s+kk=k+1enddoreturn s2. 自定義函數的調用上面兩個例子就是兩個自定義函數,對于自定義函數我們應該如何調用呢?自定義函數的調用和系統(tǒng)函數的調用基本相同,下面舉例說明。例 32 利用自定義函數求矩形面積。set talk off.? "c=3, k=4",

38、"area=", area(3,4)? "c=4, k=6", "area=", area(4,6)set talk onfunction areaparameters h,ws=h*wreturn s在該程序中定義了一個函數area()。其中有兩處調用到此函數area(3,4)和area(4,6)。在執(zhí)行對函數的調用時,實在參數將代替函數中的形式參數。需要注意的是形式參數必須是合法的內存變量名,實在參數必須與形式參數的個數、類型、順序完全一致。實在參數可以是常量,也可以是已賦值的合法內存變量。這些變量名即使與形式參數的名字相同,也不

39、影響程序的運行。2.3.2 過程1. 過程的定義在一個復雜的管理系統(tǒng)中,有些工作往往要反復執(zhí)行多次,如某種格式的報表多次打印、某個計算過程多次使用等等。解決這個問題的方法可以采用循環(huán)語句來實現,但當這個需要重復計算加工的過程每次重復加工的對象不同時,或在程序的不同地方重復時,有時用循環(huán)的方法就很難實現,因此VFP 提供了一種比較有效的方法過程。過程和自定義函數類似,它和函數不同之處是:在過程結束后,不必返回 值。格式: Procedure <過程名>parameters <參數表>< 過程體 >13return 功能:定義一個過程。例34編一個過程rq,該過

40、程的功能為將一個XX/XX/XX形式的日期格式轉換為XXXX 年XX月XX 日形式并顯示出來。procedure rq parameters r y=year(r) m=month(r) d=day(r)a=str(y,4)+ "年 " + str(m,2) + " 月 "+ str(d,2) + " 日 " ?areturn2. 過程的調用 過程調用可用下面的格式:格式: Do <過程名 > with < 參數表 > 功能:中斷當前程序的執(zhí)行,執(zhí)行指定過程中的語句。說明:當程序執(zhí)行到此語句時,便會停下來,轉去執(zhí)行<過程名 >中的語句,直至執(zhí)行完畢,再重新返回到主程序,去執(zhí)行Do 語句下面的語句。若指

溫馨提示

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

最新文檔

評論

0/150

提交評論