



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第6章章 程序設(shè)計基礎(chǔ)程序設(shè)計基礎(chǔ)6.1 6.1 程序文件的建立與運行程序文件的建立與運行6.2 6.2 結(jié)構(gòu)化程序設(shè)計初步結(jié)構(gòu)化程序設(shè)計初步6.3 6.3 順序結(jié)構(gòu)程序設(shè)計順序結(jié)構(gòu)程序設(shè)計6.4 6.4 程序的選擇結(jié)構(gòu)程序的選擇結(jié)構(gòu)6.5 6.5 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)6.6 6.6 多模塊程序設(shè)計多模塊程序設(shè)計6.7 6.7 參數(shù)傳遞與變量作用域參數(shù)傳遞與變量作用域 教學目的教學目的 了解面向過程的程序設(shè)計方法,結(jié)構(gòu)化程序設(shè)計的三種基本了解面向過程的程序設(shè)計方法,結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu),子程序和過程的使用方法。結(jié)構(gòu),子程序和過程的使用方法。 基本要求基本要求 通過對三種結(jié)構(gòu)的學習,可以進
2、行簡單的程序設(shè)計通過對三種結(jié)構(gòu)的學習,可以進行簡單的程序設(shè)計 教學要點教學要點 循環(huán)嵌套,模塊調(diào)用,變量的作用域。循環(huán)嵌套,模塊調(diào)用,變量的作用域。 6.1 6.1 程序文件的建立與運行程序文件的建立與運行 程序:程序:為完成某一特定任務而組織編寫的一系列命令為完成某一特定任務而組織編寫的一系列命令和語句。和語句。程序文件:程序文件:程序以文件的形式存放于磁盤上,這個文件就稱程序以文件的形式存放于磁盤上,這個文件就稱為程序文件。為程序文件。(1 1)命令方式)命令方式: MODIFY COMMAND : MODIFY COMMAND |? 或或MODIFY file MODIFY file |
3、? |? 6.1.2 VFP6.1.2 VFP程序文件的建立與執(zhí)行程序文件的建立與執(zhí)行1.1.程序文件的建立(默認擴展名為程序文件的建立(默認擴展名為. .PRGPRG) 第一條命令中,文件的默認擴展名為第一條命令中,文件的默認擴展名為.PRG.PRG,可省略,第,可省略,第二條命令中,建立程序文件時文件擴展名二條命令中,建立程序文件時文件擴展名.PRG.PRG必須同時輸必須同時輸入,不能省略。入,不能省略。 在文件名前可直接指明該文件保存的路徑。在文件名前可直接指明該文件保存的路徑。 用用ENDEND(即(即CTRL+ENDCTRL+END鍵,以下類似)或鍵,以下類似)或WW將編輯結(jié)果存將編
4、輯結(jié)果存盤,或執(zhí)行盤,或執(zhí)行“文件文件”菜單中的菜單中的“保存保存”命令存盤;用命令存盤;用QQ或或ESCESC鍵放棄存盤,并退出編輯程序。鍵放棄存盤,并退出編輯程序。執(zhí)行該命令后,執(zhí)行該命令后,VFPVFP將打開一個用于輸入和編輯修改程將打開一個用于輸入和編輯修改程序的窗口,窗口的標題欄所顯示的就是該命令中的文序的窗口,窗口的標題欄所顯示的就是該命令中的文件名,如圖所示。件名,如圖所示。 (2 2)菜單方式)菜單方式: : “文件文件” ” “新建新建” ” 彈出彈出“新建新建”的對話框的對話框 “ “文件類型文件類型”框里選擇框里選擇“程序程序” ” 單擊按鈕單擊按鈕“新建文件新建文件”
5、” 彈出文本編輯窗彈出文本編輯窗口,在這個窗口中就可以輸入命令和語句了,最后,選擇系統(tǒng)菜口,在這個窗口中就可以輸入命令和語句了,最后,選擇系統(tǒng)菜單單“文件文件”里的菜單項里的菜單項“保存保存”,按照系統(tǒng)提示將輸入窗口中的,按照系統(tǒng)提示將輸入窗口中的程序保存起來。程序保存起來。(3) (3) 在在“項目管理器項目管理器”對話框中選擇對話框中選擇“代碼代碼”選項卡中的選項卡中的“程序程序項項”,再單擊,再單擊“新建新建”按鈕。按鈕。 (4)(4)利用其它編輯軟件建立和編輯命令文件利用其它編輯軟件建立和編輯命令文件由于由于FoxProFoxPro的命令文件屬于文本文件,因此可在的命令文件屬于文本文件
6、,因此可在WindowsWindows操作系操作系統(tǒng)下利用統(tǒng)下利用WORDWORD、WPSWPS等編輯軟件或等編輯軟件或DOSDOS操作系統(tǒng)下利用操作系統(tǒng)下利用EDITEDIT等編輯等編輯軟件來建立和編輯命令文件。軟件來建立和編輯命令文件。 示例:建立應用程序示例:建立應用程序L1.PRG L1.PRG ,功能為:打開表文件,功能為:打開表文件“學學生生.dbf”.dbf”,根據(jù)鍵入的學生姓名在該表文件中查找并輸出該學生,根據(jù)鍵入的學生姓名在該表文件中查找并輸出該學生的基本情況,關(guān)閉文件,返回。的基本情況,關(guān)閉文件,返回。命令窗口:命令窗口:MODI COMM VFPL1.PRG MODI C
7、OMM VFPL1.PRG 編輯窗口:編輯窗口:* *L1.PRGL1.PRG SET TALK OFF SET TALK OFF USE VFP USE VFP學生學生. .DBFDBF ACCEPT “ ACCEPT “請輸入學生姓名:請輸入學生姓名:” ” TO XMTO XM LOCATE FOR LOCATE FOR 姓名姓名= =XMXM ? ? 學號學號, ,姓名姓名, ,性別性別, ,班級班級 USEUSE SET TALK OFF SET TALK OFF RETURN RETURN2.2.程序文件的修改程序文件的修改(1)(1)利用系統(tǒng)菜單,操作與建立程序文件相同。利用系統(tǒng)
8、菜單,操作與建立程序文件相同。(2)(2)在命令方式下,其操作與建立程序文件相同,但必須在命令方式下,其操作與建立程序文件相同,但必須帶文件名或帶文件名或“?”。(3)(3)若程序包含在一個項目中,可以在若程序包含在一個項目中,可以在“項目管理器項目管理器”對對話框中選定它,再單擊話框中選定它,再單擊“修改修改”命令按鈕。命令按鈕。3.3.程序文件的執(zhí)行程序文件的執(zhí)行方法一、在命令方式下執(zhí)行命令文件方法一、在命令方式下執(zhí)行命令文件 DODO程序文件名程序文件名WITH WITH 方法二、使用系統(tǒng)菜單執(zhí)行命令文件方法二、使用系統(tǒng)菜單執(zhí)行命令文件“程序程序” “” “運行運行( (D)D)”,然后
9、在彈出的,然后在彈出的“運行運行”對話對話框中,選擇框中,選擇“程序列表程序列表”中要執(zhí)行的程序文件名,再單擊中要執(zhí)行的程序文件名,再單擊“運行運行”按鈕,程序就可以執(zhí)行。按鈕,程序就可以執(zhí)行。方法三、若程序包含在一個項目中,則可以在方法三、若程序包含在一個項目中,則可以在“項目管理項目管理器器”對話框中選定它,再單擊對話框中選定它,再單擊“運行運行”按鈕。按鈕。4.4.程序書寫規(guī)則程序書寫規(guī)則(1)(1)命令分行命令分行程序中每行命令都以回車鍵結(jié)束,一行只能寫一條命令。程序中每行命令都以回車鍵結(jié)束,一行只能寫一條命令。若命令需分行書寫,應在一行終了時健入繼行符若命令需分行書寫,應在一行終了時
10、健入繼行符“;”,然后,然后按回車鍵,繼續(xù)在下一行輸入。按回車鍵,繼續(xù)在下一行輸入。 (2)(2)命令注釋命令注釋 程序中可插入注釋,以提高程序的可讀性。程序中可插入注釋,以提高程序的可讀性。 注釋行以符號注釋行以符號“* *”開頭,它是一條非執(zhí)行命令,僅在程序開頭,它是一條非執(zhí)行命令,僅在程序中顯示。命令行的后面也可添加注釋,這種注釋以符號中顯示。命令行的后面也可添加注釋,這種注釋以符號“&”&”開頭。開頭。例如,例如,* * 本程序用于修改表的指定紀錄本程序用于修改表的指定紀錄 SET DATA USA & SET DATA USA & 日期格式置為日期格式
11、置為 MM-DD-YY MM-DD-YY 6.1.36.1.3、常使用的命令。、常使用的命令。命令命令 set talk set talk 命令命令格式:格式:set talk on/offset talk on/off功能:該命令控制其它命令執(zhí)行的結(jié)果輸出不輸出到屏幕上功能:該命令控制其它命令執(zhí)行的結(jié)果輸出不輸出到屏幕上命令命令 set print set print 命令命令格式:格式:set print off/onset print off/on功能:該命令控制輸出結(jié)果不輸出輸出到打印機打印輸出功能:該命令控制輸出結(jié)果不輸出輸出到打印機打印輸出命令命令文本輸出命令文本輸出命令格式格式1
12、 1:texttext 文本信息文本信息 endtextendtext功能:此命令把文本信息內(nèi)容顯示出來,允許文本信功能:此命令把文本信息內(nèi)容顯示出來,允許文本信息出現(xiàn)多行,它只能在程序工作方式中使用,而且息出現(xiàn)多行,它只能在程序工作方式中使用,而且TEXTTEXT與與ENDTEXTENDTEXT必須成對出現(xiàn)。必須成對出現(xiàn)。格式格式2 2:功能:能將一行文本信息的內(nèi)容按書寫形式的原樣顯示出功能:能將一行文本信息的內(nèi)容按書寫形式的原樣顯示出來。來。 與與的區(qū)別在于前者是在下一行的第一列開始輸出,的區(qū)別在于前者是在下一行的第一列開始輸出,而后者則不換行,在當前光標位置處開始顯示。而后者則不換行,在
13、當前光標位置處開始顯示。命令命令5 5:清屏命令:清屏命令格式:格式:clearclear 功能:清屏,常將此命令用于程序開始,保持屏幕整潔功能:清屏,常將此命令用于程序開始,保持屏幕整潔. .命令命令4 4 注釋語句注釋語句 格式一:格式一:note note 注釋字符注釋字符 格式二:格式二: * * 注釋字符注釋字符 格式三:格式三:& & 注釋注釋 功能:格式一、格式二一般對程序作注釋。格式三注釋功能:格式一、格式二一般對程序作注釋。格式三注釋某命令語句,只用在被注釋的命令行之后。某命令語句,只用在被注釋的命令行之后。命令命令6 6:返回命令:返回命令格式:格式: re
14、turn to masterreturn to master 功能:功能:return return 在一個主程序中用于結(jié)束此程序的運在一個主程序中用于結(jié)束此程序的運行并返回命令窗口;在子程序中用于結(jié)束子程序并返回到調(diào)行并返回命令窗口;在子程序中用于結(jié)束子程序并返回到調(diào)用此過程中的下一語句用此過程中的下一語句 return to masterreturn to master將過程的調(diào)用直接返回主程序。將過程的調(diào)用直接返回主程序。 中止程序執(zhí)行命令中止程序執(zhí)行命令格式:格式:CANCELCANCEL功能:中止功能:中止FoxProFoxPro程序的執(zhí)行。程序的執(zhí)行。說明:當說明:當FoxProF
15、oxPro程序運行到該語句時,將不再執(zhí)行其后面的程序運行到該語句時,將不再執(zhí)行其后面的所有語句,而直接退出程序,返回到命令窗口,同時關(guān)閉所所有語句,而直接退出程序,返回到命令窗口,同時關(guān)閉所有已打開的文件。有已打開的文件。 命令命令8. 8. 非格式化交互式命令非格式化交互式命令單字符接收命令(即等待命令)單字符接收命令(即等待命令)格式:格式:WAITWAIT TO TOWINDOWATWINDOWAT , NOWAIT CLEAR|NOCLEAR TIMEOUT NOWAIT CLEAR|NOCLEAR TIMEOUT功能:暫停程序的執(zhí)行,等待用戶輸入一個字符或按任功能:暫停程序的執(zhí)行,等
16、待用戶輸入一個字符或按任一鍵。也可只用于輸出一條提示信息。一鍵。也可只用于輸出一條提示信息。說明說明 WAIT WAIT命令使用命令使用VFPVFP程序暫停運行,等用戶按任意鍵(或回程序暫停運行,等用戶按任意鍵(或回車)后,程序繼續(xù)執(zhí)行。車)后,程序繼續(xù)執(zhí)行。 用于輸出一條提示信息。如缺省用于輸出一條提示信息。如缺省 ,則執(zhí)行命令后屏幕顯示則執(zhí)行命令后屏幕顯示“按任意鍵繼續(xù)按任意鍵繼續(xù)”,提示用戶按任,提示用戶按任意鍵,系統(tǒng)將繼續(xù)運行。意鍵,系統(tǒng)將繼續(xù)運行。 用于保存從鍵盤鍵入的字符,如果不選用于保存從鍵盤鍵入的字符,如果不選TOTO子句,子句,則輸入的數(shù)據(jù)不予保存。則輸入的數(shù)據(jù)不予保存。 W
17、indows Windows子句可使主屏幕上出現(xiàn)一個子句可使主屏幕上出現(xiàn)一個WAITWAIT提示窗口,用于提示窗口,用于輸出提示信息,該窗口的位置由輸出提示信息,該窗口的位置由ATAT選項的選項的 , 來指定,來指定,若缺省若缺省ATAT選項,選項, 在主屏幕右上角顯示。在主屏幕右上角顯示。 若使用若使用NOWAITNOWAIT選項,系統(tǒng)將不等用戶按鍵選項,系統(tǒng)將不等用戶按鍵, ,立即往下執(zhí)行。立即往下執(zhí)行。字符串接收命令字符串接收命令格式:格式:ACCEPT ACCEPT TO TO內(nèi)存變量內(nèi)存變量 功能:暫停程序的執(zhí)行,等待用戶輸入字符串數(shù)據(jù)。功能:暫停程序的執(zhí)行,等待用戶輸入字符串數(shù)據(jù)。
18、任意類型數(shù)據(jù)接收命令任意類型數(shù)據(jù)接收命令格式:格式:INPUT INPUT TO TO 功能:暫停程序的執(zhí)行,等待用戶輸入數(shù)據(jù)。功能:暫停程序的執(zhí)行,等待用戶輸入數(shù)據(jù)。 系統(tǒng)執(zhí)行該語句時,暫停正在運行著的程序,并顯示提系統(tǒng)執(zhí)行該語句時,暫停正在運行著的程序,并顯示提示信息,然后等待用戶從鍵盤輸入數(shù)據(jù),它允許用戶輸入多示信息,然后等待用戶從鍵盤輸入數(shù)據(jù),它允許用戶輸入多個字符直至輸入回車為止。并將輸入的信息以字符串的形式個字符直至輸入回車為止。并將輸入的信息以字符串的形式存儲在內(nèi)存變量中,故常用于輸入字符型的數(shù)據(jù)。存儲在內(nèi)存變量中,故常用于輸入字符型的數(shù)據(jù)。 WAIT WAIT和和ACCEPTA
19、CCEPT的相同點是:它們接收的均是字符型數(shù)據(jù),的相同點是:它們接收的均是字符型數(shù)據(jù),故兩者所接收的字符型數(shù)據(jù)都無需用單、雙引號或方括號括故兩者所接收的字符型數(shù)據(jù)都無需用單、雙引號或方括號括起來。起來。 WAIT WAIT和和ACCEPTACCEPT的最大區(qū)別是:的最大區(qū)別是:WAITWAIT只接收單個字符,并只接收單個字符,并且不需要輸入回車鍵,而且不需要輸入回車鍵,而ACCEPTACCEPT可接收多個字符,且必須用可接收多個字符,且必須用回車鍵來結(jié)束字符串的輸入?;剀囨I來結(jié)束字符串的輸入。說明:說明: WAIT WAIT和和ACCEPTACCEPT只能滿足字符型變量的賦值,而只能滿足字符型
20、變量的賦值,而INPUTINPUT能滿能滿足字符、數(shù)值、日期、邏輯型變量的賦值足字符、數(shù)值、日期、邏輯型變量的賦值, ,可用于輸入各種類可用于輸入各種類型的數(shù)據(jù)。型的數(shù)據(jù)。使用使用INPUTINPUT語句若給變量賦的值是字符型,需加定界符,否則語句若給變量賦的值是字符型,需加定界符,否則系統(tǒng)會把它當成一個變量名處理;若給變量賦的值是邏輯型系統(tǒng)會把它當成一個變量名處理;若給變量賦的值是邏輯型常量,需用定界符常量,需用定界符(.)(.)括??;輸入日期型常量兩端須加花括號括住;輸入日期型常量兩端須加花括號;輸入數(shù)值型常量,則直接輸入整數(shù)或?qū)崝?shù),也可以輸入;輸入數(shù)值型常量,則直接輸入整數(shù)或?qū)崝?shù),也可以
21、輸入一個表達式。一個表達式。 提示信息的內(nèi)容同提示信息的內(nèi)容同WAITWAIT和和ACCEPTACCEPT語句。語句。9.9.格式化輸入輸出命令格式化輸入輸出命令格式化輸出語句:格式化輸出語句: SAYSAY格式:格式: 行行, ,列列SAYSAY表達式表達式功能:在指定的行和列輸出表達式的值。功能:在指定的行和列輸出表達式的值。說明:說明:行行, ,列確定光標的位置。把顯示屏看作是由行和列組成列確定光標的位置。把顯示屏看作是由行和列組成的二維坐標系,其坐標系為的二維坐標系,其坐標系為2525行行* *8080列,規(guī)定行值取值范圍是列,規(guī)定行值取值范圍是整數(shù)整數(shù)0 02424,列值取值范圍是整
22、數(shù),列值取值范圍是整數(shù)0 07979。那么,屏幕最左上角。那么,屏幕最左上角字符的坐標就為(字符的坐標就為(0 0,0 0),最右下角字符的坐標就為(),最右下角字符的坐標就為(2424,7979)。)。例如:例如:55,30 30 SAY “ABCD”SAY “ABCD”執(zhí)行結(jié)果將在屏幕的第執(zhí)行結(jié)果將在屏幕的第5 5行第行第3030列位置開始顯示字符串列位置開始顯示字符串ABCD ABCD 格式化輸入語句:格式化輸入語句:格式:格式:SAYSAY GET GET READ READ 功能:定位顯示功能:定位顯示GETGET變量的值;變量的值;READREAD命令激活當前未被激活的命令激活當前
23、未被激活的所有所有GETGET變量,用戶就可對這些變量,用戶就可對這些GETGET變量進行編輯。變量進行編輯。說明:說明: GETGET READ READ給變量賦值的方式為全屏幕操作。開始執(zhí)行時光給變量賦值的方式為全屏幕操作。開始執(zhí)行時光標停在標停在GETGET變量顯示區(qū)的第一個位置上,利用方向鍵可在顯示區(qū)內(nèi)變量顯示區(qū)的第一個位置上,利用方向鍵可在顯示區(qū)內(nèi)上下左右移動光標。當光標在最后一個上下左右移動光標。當光標在最后一個GETGET變量的顯示位置時,按變量的顯示位置時,按下回車鍵則數(shù)據(jù)存入變量,且全屏幕編輯結(jié)束。接著就執(zhí)行下回車鍵則數(shù)據(jù)存入變量,且全屏幕編輯結(jié)束。接著就執(zhí)行READREAD
24、的的后繼命令。后繼命令。 若缺省若缺省SAYSAY子句,子句,GETGET變量值從由變量值從由 指定的坐標開始顯示;指定的坐標開始顯示;含有含有SAYSAY子句時先顯示其表達式值,然后隔一個字符接著顯示子句時先顯示其表達式值,然后隔一個字符接著顯示GETGET變變量的值。量的值。 GET GET變量必須具有初值,除變量的類型遵照初值外,其長度也將變量必須具有初值,除變量的類型遵照初值外,其長度也將由初值決定。故使用前必須先定義。由初值決定。故使用前必須先定義。6.2 6.2 結(jié)構(gòu)化程序設(shè)計初步結(jié)構(gòu)化程序設(shè)計初步 1.1.算法及流程圖算法及流程圖(1)(1)算法的概念算法的概念: :根據(jù)問題要求
25、擬定用計算機求解的策略和步根據(jù)問題要求擬定用計算機求解的策略和步驟,并把它用某種工具描述出來,稱之為驟,并把它用某種工具描述出來,稱之為“算法設(shè)計算法設(shè)計”。 (2)(2)算法的流程圖描述算法的流程圖描述 : :用一些簡單的幾何框圖表示各種類型用一些簡單的幾何框圖表示各種類型的操作,然后用帶箭頭的有向流線將各個框圖連結(jié)起來,以的操作,然后用帶箭頭的有向流線將各個框圖連結(jié)起來,以表示其執(zhí)行的先后順序,這種框圖稱為表示其執(zhí)行的先后順序,這種框圖稱為“流程圖流程圖”。2.2.結(jié)構(gòu)化程序設(shè)計方法結(jié)構(gòu)化程序設(shè)計方法 結(jié)構(gòu)化程序指整個程序由順序、選擇、循環(huán)三種基本結(jié)構(gòu)組成結(jié)構(gòu)化程序指整個程序由順序、選擇、
26、循環(huán)三種基本結(jié)構(gòu)組成。 (1)(1)自頂向下逐步求精:自頂向下逐步求精:從全局出發(fā),通盤考慮,把問題的整體從全局出發(fā),通盤考慮,把問題的整體分解成若干個相對獨立的小問題,然后再把小問題分解為若干分解成若干個相對獨立的小問題,然后再把小問題分解為若干個相對獨立的更小的問題,直到能表示成程序為止。個相對獨立的更小的問題,直到能表示成程序為止。 (2)(2)模塊化設(shè)計:模塊化設(shè)計:由一個大問題分解成若干個相對獨立的小問題,由一個大問題分解成若干個相對獨立的小問題,每個小問題實現(xiàn)一定的功能,稱為功能模塊。對大的功能模塊,每個小問題實現(xiàn)一定的功能,稱為功能模塊。對大的功能模塊,采用自頂向下逐步求精的方法
27、劃分為更小的功能模塊。各功能采用自頂向下逐步求精的方法劃分為更小的功能模塊。各功能模塊的程序可單獨編寫和調(diào)試,這樣便于多人協(xié)助完成較大型模塊的程序可單獨編寫和調(diào)試,這樣便于多人協(xié)助完成較大型的程序設(shè)計。的程序設(shè)計。3. 3. 程序設(shè)計的步驟程序設(shè)計的步驟(1)(1)分析問題分析問題主要是分析待編程序要解決什么問題,需要輸入什么主要是分析待編程序要解決什么問題,需要輸入什么數(shù)據(jù),需要做哪些處理,需要輸出什么數(shù)據(jù)等等。數(shù)據(jù),需要做哪些處理,需要輸出什么數(shù)據(jù)等等。(2)(2)畫流程圖畫流程圖用流程圖來描述處理問題的過程。用流程圖來描述處理問題的過程。(3)(3)編寫程序編寫程序根據(jù)程序流程圖,將所需
28、要的根據(jù)程序流程圖,將所需要的VFPVFP的命令、語句組織在的命令、語句組織在一起。一起。(4)(4)調(diào)試調(diào)試通過運行程序?qū)Τ绦蜻M行正確性檢驗和測試。通過運行程序?qū)Τ绦蜻M行正確性檢驗和測試。 符符 號號 名名 稱稱 功功 能能起止框起止框描述流程圖的開始和結(jié)束描述流程圖的開始和結(jié)束處理框處理框代表一個處理過程,其特征是一代表一個處理過程,其特征是一個入口,一個出口個入口,一個出口判斷框判斷框為選出幾條路線中的一條而進行為選出幾條路線中的一條而進行的判斷(條件轉(zhuǎn)移操作)的判斷(條件轉(zhuǎn)移操作)輸入輸輸入輸出框出框表示輸入輸出表示輸入輸出 流程線流程線表示信息流動的通道表示信息流動的通道 連接符連接
29、符一個流程圖在一頁紙上畫不下時,一個流程圖在一頁紙上畫不下時,用該符號連接用該符號連接4.4.流程圖介紹流程圖介紹(1)(1)繪制流程圖時所用到的基本符號繪制流程圖時所用到的基本符號說明:說明: 處理框中含有一個語句功能或一段程序,一般用自然處理框中含有一個語句功能或一段程序,一般用自然語言或數(shù)學表達式描述,盡量簡明扼要。語言或數(shù)學表達式描述,盡量簡明扼要。 流向線要清晰明確,不能相互交叉,不能出現(xiàn)死循環(huán)流向線要清晰明確,不能相互交叉,不能出現(xiàn)死循環(huán)流向線。流向線。 無論框圖描述的處理過程如何,所畫框圖總是只有一無論框圖描述的處理過程如何,所畫框圖總是只有一個入口,最后匯集到一個出口。個入口,
30、最后匯集到一個出口。 例:計算例:計算1 12 23 3100100。 SET TALK OFFSET TALK OFF S=0 S=0 FOR N=1 TO 100 FOR N=1 TO 100 S=S+N S=S+N ENDF ENDF ? 1 ? 12 23 3100=,S100=,S RETURN RETURN 算法流程圖 2)2)舉例:用框圖描述求一元二次方程舉例:用框圖描述求一元二次方程ax2+bxax2+bx+c=0+c=0的實根的實根的過程的過程分析:分析:首先輸入首先輸入a,b,ca,b,c的值,其次,計算判斷求一元二次方程實的值,其次,計算判斷求一元二次方程實根的條件根的條
31、件b b* *b-4b-4* *a a* *c c的值,最后判斷的值,最后判斷b b* *b-4b-4* *a a* *c c的值是否的值是否滿足實根存在的條件,若不滿足,則輸出方程無實根,滿足實根存在的條件,若不滿足,則輸出方程無實根,若滿足則方程有二個實根,輸出兩實根若滿足則方程有二個實根,輸出兩實根x1,x2x1,x2:x1=(-b+sqrtx1=(-b+sqrt(b(b* *b-4b-4* *a a* *c)/(2c)/(2* *a)a)x2=(-b-sqrtx2=(-b-sqrt(b(b* *b-4b-4* *a a* *c)/(2c)/(2* *a)a)6.3 順序結(jié)構(gòu)程序設(shè)計順序
32、結(jié)構(gòu)程序設(shè)計 1.1.順序結(jié)構(gòu)順序結(jié)構(gòu) 程序運行時,按照命令(語句)的排列順序逐條執(zhí)行,程序運行時,按照命令(語句)的排列順序逐條執(zhí)行,這種結(jié)構(gòu)就稱為順序結(jié)構(gòu)。這種結(jié)構(gòu)就稱為順序結(jié)構(gòu)。 2.2.簡單的輸入輸出語句簡單的輸入輸出語句 (1)(1)數(shù)據(jù)輸入語句數(shù)據(jù)輸入語句:INPUT :INPUT 1)1)格式格式: INPUT : INPUT TO TO 2)2)功能功能: :暫停程序運行,顯示提示信息,等待用戶從鍵盤上輸入數(shù)暫停程序運行,顯示提示信息,等待用戶從鍵盤上輸入數(shù)據(jù),用戶可以輸入任意合法的表達式。據(jù),用戶可以輸入任意合法的表達式。 (2)(2)單字符輸入語句單字符輸入語句: WAIT
33、 : WAIT 1)1)格式格式:WAIT :WAIT TO TO WINDOWS WINDOWS 2)2)功能功能: :暫停程序運行,顯示提示信息,等待用戶鍵入任何一個鍵,暫停程序運行,顯示提示信息,等待用戶鍵入任何一個鍵,然后繼續(xù)執(zhí)行程序。然后繼續(xù)執(zhí)行程序。 (3)(3)簡單輸出語句:?、簡單輸出語句:?、? ? 1)1)格式格式:?/? :?/? 2)2)功能功能: :依次計算并顯示表達式表中各表達式的值,所顯示的依次計算并顯示表達式表中各表達式的值,所顯示的值與值之間間隔一個空格。值與值之間間隔一個空格。 (4) (4) 信息顯示函數(shù)信息顯示函數(shù): MESSAGEBOX( ) : ME
34、SSAGEBOX( ) 1)1)格式格式: MESSAGEBOX(: MESSAGEBOX(,) ) 2)2)功能功能: :暫停程序運行,在對話框中顯示提示信息,等待用戶暫停程序運行,在對話框中顯示提示信息,等待用戶單擊按鈕,并返回一個整數(shù)表示單擊的是哪個按鈕。單擊按鈕,并返回一個整數(shù)表示單擊的是哪個按鈕。 由三個數(shù)碼相加產(chǎn)生,即由三個數(shù)碼相加產(chǎn)生,即: : + 例例:MESSAGEBOX:MESSAGEBOX函數(shù)舉例函數(shù)舉例 MESSAGEBOX函數(shù)舉例函數(shù)舉例對話框圖示對話框圖示 MESSAGEBOX(“歡迎使用本系統(tǒng)!”) MESSAGEBOX(“刪除記錄?”,1+48+256) MES
35、SAGEBOX(“繼續(xù)執(zhí)行嗎?”,3,”請確認”)3.3.環(huán)境設(shè)置語句環(huán)境設(shè)置語句環(huán)境設(shè)置語句:環(huán)境設(shè)置語句:SET SET 設(shè)置系統(tǒng)環(huán)境和狀態(tài)的語句為設(shè)置系統(tǒng)環(huán)境和狀態(tài)的語句為 SETSET語語句,句,SETSET語句實際上是一個語句組,分為兩種格式:語句實際上是一個語句組,分為兩種格式: 格式格式 SET SET ON/OFF ON/OFF 格式格式 SET SET TO TO 常用的幾個常用的幾個SETSET語句語句: : SET DEFAULT TO SET DEFAULT TO 功能:設(shè)置默認的工作目錄。功能:設(shè)置默認的工作目錄。 (2) SET PATH TO (2) SET PA
36、TH TO 功能:設(shè)置搜索路徑。功能:設(shè)置搜索路徑。(3) SET TALK ON/OFF (3) SET TALK ON/OFF 功能功能: :控制是否使某些命令產(chǎn)生屏幕控制是否使某些命令產(chǎn)生屏幕顯示顯示 (4) SET PRINT ON/OFF (4) SET PRINT ON/OFF 功能:控制屏幕上的輸出內(nèi)容是否同時功能:控制屏幕上的輸出內(nèi)容是否同時送打印機打印。送打印機打印。4.4.注釋注釋 (1)(1)注釋語句注釋語句 1)1)格式格式 * */NOTE /NOTE 2)2)功能功能 注釋語句是非執(zhí)行語句,它們不對計算機產(chǎn)生任何操注釋語句是非執(zhí)行語句,它們不對計算機產(chǎn)生任何操作作,
37、僅僅對程序起注解作用。僅僅對程序起注解作用。 (2)(2)行末注釋行末注釋 行末注釋用在語句(命令)末尾,以行末注釋用在語句(命令)末尾,以“&”&”起頭,后跟本行的注起頭,后跟本行的注釋內(nèi)容。釋內(nèi)容。6.3.1 6.3.1 順序結(jié)構(gòu)程序設(shè)計順序結(jié)構(gòu)程序設(shè)計1.1.概念概念順序結(jié)構(gòu)程序:自始至終嚴格按照程序中語句的先后順序逐順序結(jié)構(gòu)程序:自始至終嚴格按照程序中語句的先后順序逐條執(zhí)行,是最基本、最普遍的結(jié)構(gòu)形式。條執(zhí)行,是最基本、最普遍的結(jié)構(gòu)形式。順序結(jié)構(gòu)的流程圖:順序結(jié)構(gòu)的流程圖:順序結(jié)構(gòu)順序結(jié)構(gòu)ABc例:編程,根據(jù)輸入的半徑值,計算出相應的圓的周長。例:編程,根據(jù)輸入的半徑值
38、,計算出相應的圓的周長。 SET TALK OFFSET TALK OFF CLEAR CLEAR INPUT “ INPUT “請輸入圓的半徑:請輸入圓的半徑:” ” TO RTO R L=2 L=2* *3.14163.1416* *R R 5,5 SAY “ 5,5 SAY “圓的周長是:圓的周長是:”+ +STR(L,6,3)STR(L,6,3) SET TALK ON SET TALK ON6.4 程序的選擇結(jié)構(gòu)程序的選擇結(jié)構(gòu)定義:分支結(jié)構(gòu):就是按照一定的條件由判斷語句或選擇語定義:分支結(jié)構(gòu):就是按照一定的條件由判斷語句或選擇語句構(gòu)成的雙重或多重走向的程序。句構(gòu)成的雙重或多重走向的程
39、序。語語 句句 行行條件表達式條件表達式語句行序列語句行序列ENDIF后面的語句后面的語句YN簡單分支結(jié)構(gòu)簡單分支結(jié)構(gòu)的流程圖的流程圖1 1)簡單分支格式:)簡單分支格式: IF IF ENDIFENDIF注:注:IFIF和和ENDIFENDIF必須成對出現(xiàn)必須成對出現(xiàn)說明:說明:(1)IF .ENDIF(1)IF .ENDIF配對組成一條語句,缺一不可。配對組成一條語句,缺一不可。(2)IF .ENDIF(2)IF .ENDIF語句只能在程序中使用,不能使用于交互式語句只能在程序中使用,不能使用于交互式狀態(tài)。狀態(tài)。 (3)(3)該語句的執(zhí)行過程是:首先對邏輯表達式進行判斷,然后該語句的執(zhí)行過
40、程是:首先對邏輯表達式進行判斷,然后根據(jù)邏輯表達式的取值確定是否執(zhí)行根據(jù)邏輯表達式的取值確定是否執(zhí)行 。當。當 的值為的值為“真真”時,順序執(zhí)行時,順序執(zhí)行IFIF與與ENDIFENDIF之間的語句序列,之間的語句序列,然后再執(zhí)行然后再執(zhí)行ENDIFENDIF后的語句;當邏輯表達式的值為后的語句;當邏輯表達式的值為“假假”時,時,不執(zhí)行不執(zhí)行IFIF與與ENDIFENDIF之間的語句而直接執(zhí)行之間的語句而直接執(zhí)行ENDIFENDIF后面的語句。后面的語句。邏輯表達式也稱為條件,故以后敘述中邏輯表達式也簡稱為邏輯表達式也稱為條件,故以后敘述中邏輯表達式也簡稱為條件。條件。例例: :從鍵盤接收兩個
41、數(shù),在屏幕輸出大數(shù)。從鍵盤接收兩個數(shù),在屏幕輸出大數(shù)。 INPUT X= TO XINPUT X= TO X INPUT Y= TO Y INPUT Y= TO Y IF XY & IF XY &如果如果XY,XY,把把X X與與Y Y交換交換 T=X &T=X &引入第三個變量引入第三個變量T,T,進行三角交換進行三角交換 X=YX=Y Y=T Y=T ENDIF ENDIF ?X ?X RETURN RETURN 2) 雙邊分支格式:雙邊分支格式: IF ELSE ENDIF條件成立?條件成立?語句序列語句序列1語句序列語句序列2Endif后的語句后的語句Y
42、N雙邊分支的流程圖雙邊分支的流程圖說明:該語句執(zhí)行過程是:首先判斷邏輯說明:該語句執(zhí)行過程是:首先判斷邏輯表達式的值是否為真,若為真,執(zhí)行表達式的值是否為真,若為真,執(zhí)行 ,而不執(zhí)行,而不執(zhí)行 ,并,并從從ENDIFENDIF后面的語句開始繼續(xù)執(zhí)行;若為假,后面的語句開始繼續(xù)執(zhí)行;若為假,則不執(zhí)行則不執(zhí)行 1,而執(zhí)行,而執(zhí)行 ,然后再執(zhí)行,然后再執(zhí)行ENDIFENDIF后面的語句。后面的語句。 例例:編一個程序,輸入一個教工號,在編一個程序,輸入一個教工號,在STAFF表中查找,若查到就表中查找,若查到就給該教師增加給該教師增加100元基本工資,并在信息窗口提示相應的信息;若查元基本工資,并在
43、信息窗口提示相應的信息;若查不到則提示不到則提示“查無此人!查無此人!”。vOPEN DATABASE 教學管理教學管理 &打開打開“教學管理教學管理”庫作為當前庫庫作為當前庫vUSE STAFF &打開當前庫中打開當前庫中STAFF表表v CLEARv INPUT 請輸入教工號:請輸入教工號: TO JGH v LOCATE ALL FOR 教工號教工號=JGHv IF FOUND()v REPLACE 基本工資基本工資 WITH 基本工資基本工資+100v =MESSAGEBOX(該教師的基本工資已增加該教師的基本工資已增加100元元”)v ELSEv =MESSAGEBO
44、X(查無此人!查無此人!)v ENDIFv CLOSE DATABASE &關(guān)閉當前庫關(guān)閉當前庫v RETURNIF語句多重嵌套一般格式:語句多重嵌套一般格式: IF ELSE IF ELSE IF ELSE ENDIF ENDIF ENDIF3)多分支結(jié)構(gòu)多分支結(jié)構(gòu)注:注: (1)IF、ELSE(可不選可不選)、ENDIF必須成對使用必須成對使用 (2)最好采用縮格(鋸齒形)的書寫方式)最好采用縮格(鋸齒形)的書寫方式多分支程序用于解決要根據(jù)多種條件,從各種情況中選擇一種進行處理的問題。多分支程序用于解決要根據(jù)多種條件,從各種情況中選擇一種進行處理的問題。條件條件n條件條件2條件條件
45、1語句序列語句序列1語句序列語句序列n+1語句序列語句序列n語句序列語句序列2ENDCASE的下一語的下一語句句情況判斷語句格式情況判斷語句格式:DO CASE分支程序用于解決要根據(jù)多種條件,從各種情況中選擇一種進 CASE CASE CASE OTHERWISE ENDCASE說明:說明:DO CASEDO CASE和和ENDCASEENDCASE須成對出現(xiàn)須成對出現(xiàn)在情況語句中,如果邏輯表達在情況語句中,如果邏輯表達式的值為真的情況多于一個,則式的值為真的情況多于一個,則僅執(zhí)行第一個邏輯表達式值為真僅執(zhí)行第一個邏輯表達式值為真的語句系列。的語句系列。DO CASEDO CASE語句之間可以
46、嵌套使用,語句之間可以嵌套使用,DO CASEDO CASE語句和語句和IFIF語句也可以嵌套語句也可以嵌套使用使用DO CASEDO CASE語句和語句和DO WHILEDO WHILE也可也可以嵌套使用。以嵌套使用。 例例: :顯示當前季節(jié)程序。顯示當前季節(jié)程序。 M=MONTH(DATE() &M=MONTH(DATE() &獲取當前月份獲取當前月份 DO CASE DO CASE CASE M=2 OR M=12 CASE M=3 AND M=3 AND M=6 AND M=6 AND M=9 AND M=9 AND M=11 =MESSAGEBOX(” =MESSAG
47、EBOX(”現(xiàn)在是秋季現(xiàn)在是秋季) ENDCASE ENDCASE RETURN RETURN 6.5 6.5 循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)定義:按照一定條件重復進行某種特定操作的程序稱為定義:按照一定條件重復進行某種特定操作的程序稱為循環(huán)結(jié)構(gòu)程序。循環(huán)結(jié)構(gòu)程序。VFPVFP中有三種循環(huán)結(jié)構(gòu),中有三種循環(huán)結(jié)構(gòu),條件循環(huán)(當循環(huán)條件循環(huán)(當循環(huán)WHILEWHILE)計數(shù)循環(huán)(計數(shù)循環(huán)(FOR-ENDFORFOR-ENDFOR或或FOR-NEXTFOR-NEXT)庫文件記錄掃描循環(huán)(庫文件記錄掃描循環(huán)(SCANSCAN)。)。 DO WHILE DO WHILE 1 LOOPLOOP 2 EXITEXIT 3
48、 ENDDOENDDO條件條件成立成立?loopexitENDDOENDDO后面的語句后面的語句YN1、條件循環(huán)、條件循環(huán)備注備注v 例例:用用DO WHILE語句編寫程序語句編寫程序,實現(xiàn)例實現(xiàn)例6.2算法。算法。v S=0 &存放累加和的變量存放累加和的變量S初值為初值為0v N=1 &取第一個自然數(shù)取第一個自然數(shù)v DO WHILE N=100 v S=S+N &累加當前自然數(shù)累加當前自然數(shù)v N=N+1 &取下一個自然數(shù)取下一個自然數(shù)v ENDDOv ?Sv RETURN(2)(2)循環(huán)體中兩條特殊語句:循環(huán)體中兩條特殊語句:EXITEXIT和和LOOP
49、LOOP(1)(1)格式格式跳出循環(huán)語句:跳出循環(huán)語句:EXITEXIT短跳循環(huán)語句短跳循環(huán)語句:LOOP :LOOP (2)(2)功能功能在循環(huán)體中執(zhí)行到在循環(huán)體中執(zhí)行到EXITEXIT時,立時,立即無條件跳出循環(huán),轉(zhuǎn)去執(zhí)行即無條件跳出循環(huán),轉(zhuǎn)去執(zhí)行 ENDDO ENDDO 的后一個語句。若執(zhí)行的后一個語句。若執(zhí)行到到LOOPLOOP語句,則立即返回語句,則立即返回DO DO WHILEWHILE重判循環(huán)條件,而不再重判循環(huán)條件,而不再執(zhí)行循環(huán)體內(nèi)的其他語句。執(zhí)行循環(huán)體內(nèi)的其他語句。 DO WHILE DO WHILE DO WHILE DO WHILE EXIT EXIT LOOPLOOP
50、 ENDDO ENDDO ENDDOENDDO (3)EXIT (3)EXIT語句的一個典型應用語句的一個典型應用 EXITEXIT語句常用在下列控制結(jié)構(gòu)中,用于控制循環(huán)語句常用在下列控制結(jié)構(gòu)中,用于控制循環(huán)次數(shù)不確定時的循環(huán)退出。次數(shù)不確定時的循環(huán)退出。 DO WHILE .T. &DO WHILE .T. &循環(huán)條件為永真循環(huán)條件為永真 ) IF IF EXITEXIT ENDIF ENDIF ENDDO ENDDO例例: : 從鍵盤輸入若干個非零的數(shù)值,當輸入數(shù)值從鍵盤輸入若干個非零的數(shù)值,當輸入數(shù)值“0”0”時結(jié)束輸入,時結(jié)束輸入,統(tǒng)計有效數(shù)值的個數(shù)和它們的平均值。統(tǒng)計
51、有效數(shù)值的個數(shù)和它們的平均值。 CLEARCLEAR S=0 & S=0 &存放累加和存放累加和 N=0 &N=0 &存放數(shù)值個數(shù)存放數(shù)值個數(shù) DO WHILE .T. &DO WHILE .T. &這是一個永真循環(huán)這是一個永真循環(huán) INPUT INPUT 請輸入數(shù)值,請輸入數(shù)值, 輸入零時結(jié)束輸入零時結(jié)束 TO SZ TO SZ IF SZ=0 IF SZ=0 EXIT EXIT ENDIF ENDIF S=S+SZ S=S+SZ N=N+1 N=N+1 ENDDO ENDDO ? 共輸入有效數(shù)值個數(shù)共輸入有效數(shù)值個數(shù):,N:,N ? ? 平均
52、值是平均值是:,S/N:,S/N RETURN RETURN 2、計數(shù)循環(huán)格式:、計數(shù)循環(huán)格式:FOR = TO STEP LOOP EXIT ENDFOR| NEXT (注:(注:步長可為步長可為正值正值和和負值)負值)備注備注 例例:裝有裝有100只雞蛋的蛋箱,運輸過程中打碎了若干雞只雞蛋的蛋箱,運輸過程中打碎了若干雞蛋。貨主開箱取雞蛋,若蛋。貨主開箱取雞蛋,若5只只5只的取,最后剩下一只;只的取,最后剩下一只;若若6只只6只的取,最后也剩一只;若只的取,最后也剩一只;若7只只7只的?。蛔詈髣傊坏娜。蛔詈髣偤萌⊥?;請問有多少只好雞蛋?好取完;請問有多少只好雞蛋? clear for i=
53、1 to 100 if mod(i,5)=1 and mod(i,6)=1 and mod(i,7)=0 ?i, endif endf return3、表掃描循環(huán)結(jié)構(gòu)、表掃描循環(huán)結(jié)構(gòu)格式:格式:SCAN FOR WHILE LOOP EXIT ENDSCAN備注備注SCAN循環(huán)專用于控制循環(huán)專用于控制對數(shù)據(jù)表中記錄進行對數(shù)據(jù)表中記錄進行逐條操作。逐條操作。功能功能 針對當前表中指定范針對當前表中指定范圍內(nèi)滿足條件的每條圍內(nèi)滿足條件的每條記錄,逐一執(zhí)行記錄,逐一執(zhí)行SCAN與與ENDSCAN之間的語句序列。之間的語句序列。 例例: 用用SCAN循環(huán)實現(xiàn)對循環(huán)實現(xiàn)對STAFF表中出生于表中出生于5
54、0年代的教年代的教師增加師增加100元工資。元工資。 OPEN DATABASE 教學管理教學管理 USE STAFF IN 0 SCAN FOR 出生日期出生日期=1950/01/01 REPLACE 基本工資基本工資 WITH 基本工資基本工資+100 ENDSCAN CLOSE DATABASE RETURN 4、多重循環(huán)、多重循環(huán)格式(以當型循環(huán)結(jié)構(gòu)為例):格式(以當型循環(huán)結(jié)構(gòu)為例):DO WHILE 條件表達式條件表達式1 語句序列語句序列1 DO WHILE 條件表達式條件表達式2 語句序列語句序列2 DO WHILE 條件表達式條件表達式3 語句序列語句序列3 ENDDO 語句序
55、列語句序列4 ENDDO 語句序列語句序列5 ENDDO4.循環(huán)的嵌套循環(huán)的嵌套 例例:某學生食堂采購員帶某學生食堂采購員帶1000元錢去市場買雞,已知元錢去市場買雞,已知每只小雞每只小雞5元,每只公雞元,每只公雞20元,每只母雞元,每只母雞30元,現(xiàn)在要元,現(xiàn)在要求求1000元錢正好買元錢正好買100只雞且品種齊全,請編程序幫助只雞且品種齊全,請編程序幫助采購員制訂采購方案。采購員制訂采購方案。 CLEAR FOR I=1 TO 33 &最多可以買最多可以買33只母雞只母雞 FOR J=1 TO 50 &最多可以買最多可以買50只公雞只公雞 FOR K=1 TO 100 &a
56、mp;最多可以買最多可以買100只小雞只小雞 IF 30*I+20*J+5*K=1000 AND I+J+K=100 ?I,J,K ENDI ENDF ENDF ENDF循環(huán)語句與循環(huán)語句與IF語句和語句和DOCASE語句的相互嵌套語句的相互嵌套循環(huán)語句與循環(huán)語句與IF語句和語句和DOCASE語句的相互嵌套有如下幾語句的相互嵌套有如下幾種形式。種形式。形式一:形式一: DO WHILE IF ELSE ENDIF ENDDO形式二:形式二: if do while enddo endif注意:在嵌套使用時,不能互相交叉。注意:在嵌套使用時,不能互相交叉。形式四:形式四: docase case
57、 do while enddo case endcase 形式三:形式三: do while do case case endcase enddo6.6.1子程序子程序6.6.2自定義函數(shù)自定義函數(shù)6.6.3過程過程6.6 多模塊程序設(shè)計多模塊程序設(shè)計應用程序一般都是多模塊程序,可包含多個程序模塊。應用程序一般都是多模塊程序,可包含多個程序模塊。模塊是可以命名的一個程序段,可指主程序、子程序和自模塊是可以命名的一個程序段,可指主程序、子程序和自定義函數(shù)。本節(jié)介紹模塊的構(gòu)成及調(diào)用方法,多模塊程序定義函數(shù)。本節(jié)介紹模塊的構(gòu)成及調(diào)用方法,多模塊程序中變量的作用域,程序調(diào)用方法以及結(jié)構(gòu)化程序設(shè)計等。中
58、變量的作用域,程序調(diào)用方法以及結(jié)構(gòu)化程序設(shè)計等。 6.6.1子程序子程序 一、調(diào)用與返回一、調(diào)用與返回 對于兩個具有調(diào)用關(guān)系的程序文件,常稱調(diào)用程序?qū)τ趦蓚€具有調(diào)用關(guān)系的程序文件,常稱調(diào)用程序為主程序,被調(diào)用的程序為子程序。為主程序,被調(diào)用的程序為子程序。 主程序執(zhí)行時遇到主程序執(zhí)行時遇到DO命令,執(zhí)行就轉(zhuǎn)向子程序,稱為命令,執(zhí)行就轉(zhuǎn)向子程序,稱為調(diào)用子程序。子程序執(zhí)行到調(diào)用子程序。子程序執(zhí)行到RETURN語句,就會返語句,就會返回到主程序中調(diào)用命令處的下一語句繼續(xù)執(zhí)行程序,回到主程序中調(diào)用命令處的下一語句繼續(xù)執(zhí)行程序,稱為從子程序中返回,簡稱返回。稱為從子程序中返回,簡稱返回。2.帶參數(shù)子程
59、序的調(diào)用與返回帶參數(shù)子程序的調(diào)用與返回DO命令允許帶一個命令允許帶一個WITH子句,用來進行參數(shù)傳遞。子句,用來進行參數(shù)傳遞。格式:格式:DO IN說明:說明:(1) 中的參數(shù)可以是表達式,但若為內(nèi)存變量必須中的參數(shù)可以是表達式,但若為內(nèi)存變量必須具有初值。具有初值。(2) 當當是是IN子句子句中的一個過程時,中的一個過程時,DO命令調(diào)用該過程。命令調(diào)用該過程。 調(diào)用子程序時參數(shù)表中的參數(shù)值要傳送給子程序,子程調(diào)用子程序時參數(shù)表中的參數(shù)值要傳送給子程序,子程序中必須設(shè)置相應的參數(shù)接收語句接收傳遞來的參數(shù)值。序中必須設(shè)置相應的參數(shù)接收語句接收傳遞來的參數(shù)值。VFP用用PARAMETERS命令接收
60、參數(shù)值和回送參數(shù)值。命令接收參數(shù)值和回送參數(shù)值。格式:格式:PARAMETERS 功能:指定內(nèi)存變量以接收功能:指定內(nèi)存變量以接收DO命令發(fā)送的參數(shù)值,返回主命令發(fā)送的參數(shù)值,返回主程序時把內(nèi)存變量值返回給主程序中相應的內(nèi)存變量。程序時把內(nèi)存變量值返回給主程序中相應的內(nèi)存變量。說明:說明:(1)PARAMETERS必須是被調(diào)用程序的第一個語句。必須是被調(diào)用程序的第一個語句。(2)命令中的參數(shù)被命令中的參數(shù)被VFP默認為私有變量,返主時回送參數(shù)值默認為私有變量,返主時回送參數(shù)值之后即被清除。之后即被清除。(3)命令中的參數(shù)依次與調(diào)用命令命令中的參數(shù)依次與調(diào)用命令WITH子句中的參數(shù)相對應,子句中的參數(shù)相對應,故兩者參數(shù)個數(shù)必須相同。故兩者參數(shù)個數(shù)必須相同。ymj=05,10 SAY“請輸入半徑:請輸入半徑:”GET bj DEFAULT 0READDO js WITH bj,ymj &調(diào)用子程序調(diào)用子程序? “ymj=”,ymj &顯
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年信息系統(tǒng)分析與設(shè)計專業(yè)考試試卷及答案
- 2025年視覺傳達設(shè)計學考試試卷及答案
- 2025年人力資源開發(fā)與管理考試試題及答案
- 2025年計算機軟件工程師職業(yè)考試試卷及答案
- 2025年民族音樂學與文化研究考試試題及答案
- 2025年食品安全管理人員考試題及答案
- 2025年互聯(lián)網(wǎng)產(chǎn)品經(jīng)理入職測試題及答案
- 2025年工程施工管理師考試試卷及答案
- 先進半導體制造專用電子級硅烷供應協(xié)議
- 商業(yè)步行街商業(yè)街區(qū)物業(yè)管理與委托運營協(xié)議
- 居家養(yǎng)老上門服務投標方案技術(shù)標
- 區(qū)域經(jīng)濟一體化與關(guān)稅同盟理論課件
- 公路工程監(jiān)理細則范本
- 辦理用電戶更名過戶聲明書范本
- 辯論賽PPT模板模板
- 中國特色社會主義理論與實踐研究教學大綱
- GB/T 7702.7-2023煤質(zhì)顆?;钚蕴吭囼灧椒ǖ?部分:碘吸附值的測定
- 提高我們的逆商
- 2024屆一輪復習新人教版 實驗17 測量玻璃的折射率 課件(35張)
- 起訴意見書(公安)
- 松下伺服驅(qū)動器說明書
評論
0/150
提交評論