版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八章程序設(shè)計(jì)基礎(chǔ)
■——、VF的工作方式
-二、程序的建立與運(yùn)行
■三、程序中的交互語(yǔ)句及輔助語(yǔ)
包
■四、程序的基本結(jié)構(gòu)
■五、過(guò)程設(shè)計(jì)
VF的工作方式
VF的三種工作方式:命令方式、菜單方式、
程序文件方式。
■程序文件(命令文件)方式:
□程序:就是根據(jù)所解決問(wèn)題的需要,將能完成相應(yīng)
功能的命令或語(yǔ)句按照一定的邏輯關(guān)系組織起來(lái)的
命令集合。
□程序文件的擴(kuò)展名為.PRG。
程序的
?以命令方式建立、編輯程序文件
□格式:MODIFYCOMMANDv程序文件名〉
功能:建立或編輯修改程序文件。
說(shuō)明:
■擴(kuò)展名默認(rèn)為PRG。
■文件名為默認(rèn)路徑下已有的文件,則使用此命令表示修改指定
的程序。
文件名為默認(rèn)路徑下沒(méi)有的文件,則使用此命令表示新建指定
的程序。
■命令:MODICOMM?功能:從文件列表中選擇碧賀
--------------------------------------------------------------
□保存程序:1、用“文件”菜單中的"保存“命令。
程序的建立與運(yùn)行
□程序書(shū)寫規(guī)則:
■程序中的每條命令都必須以回車結(jié)尾。
■一行只能寫一條命令,若命令需分行寫,應(yīng)在一行尾
加”號(hào)續(xù)行,然后回車。
-以菜單方式建立、編輯程序文件
■用“項(xiàng)目管理器”建立、編輯程序文件
■慳序文件的調(diào)用
□以命令方式調(diào)用
格式:DOv程序文件名〉
說(shuō)明:程序運(yùn)行中,遇到以下情況之一,將終止程序運(yùn)行:
■執(zhí)行到程序尾,自然結(jié)束,返回VF系統(tǒng)主窗口。
■執(zhí)行了RETURN命令,終止程序執(zhí)行,返回原調(diào)用處的下一語(yǔ)句
繼續(xù)執(zhí)行。(主要用于過(guò)程中)
■執(zhí)行了CANCEL命令,終止程序執(zhí)行返回系統(tǒng)主窗口。
■執(zhí)行了QUIT命令,終止程序執(zhí)行,退出VF系統(tǒng)。
□以菜單方式調(diào)用程序文件
程序中的交互語(yǔ)句及輔助
澗匍的格式化輸入、輸出命令
□格式化輸入命令(P140)
格式:語(yǔ)句1:@v行,列〉[SAYv提示信息刁GETv變量)
[DEFAULTv表達(dá)式2>]
語(yǔ)句2:READ
功能:語(yǔ)句1的功能是在屏幕指定位置顯示v提示信息>和<變量〉的
值。語(yǔ)句2的功能是重新編輯修改v變量〉的值。
說(shuō)明:
■要輸入編輯數(shù)據(jù),語(yǔ)句1、2必須聯(lián)用,可編輯類型:C、N、D、L型。
■SAY〈提示信息〉用于對(duì)GET變量作提示性說(shuō)明。
程序中的交互語(yǔ)句及輔助
語(yǔ)句
變量可為字段名變量,也可為內(nèi)存變量,內(nèi)存變
量必須有初值,或用DEFAULT短語(yǔ)的v表達(dá)式2>
指定初值.初值一旦指定,該變量的類型在編輯期間
就不能改變,字符型變量的寬度與數(shù)值型變量的小
數(shù)位數(shù)也無(wú)法改變。
例1:編程RCDA表中追加記錄,并輸入編號(hào)、
姓名、性別、出生日期、工資現(xiàn)狀的值。
(ZJ.PRG)
例2:編程輸入BH、XM、XB、RQ、Gfe*?情,
程序中的交互語(yǔ)句及輔助
語(yǔ)句
■格式化輸出命令
格式:@v行,歹U>SAYV表達(dá)式〉[FUNCTIONV
功能符>][PICTURE〈格式符刁
例:查找王國(guó)民并輸出。(CHAZ.PRG)
■內(nèi)機(jī)對(duì)話命令
□輸入單字符命令一WAIT
格式:WAIT卜提示信息刁[TO〈內(nèi)存變量刁
功能:暫停程序執(zhí)行,等待用戶鍵入一字符后繼續(xù)。
說(shuō)明:
■輸入的任何數(shù)據(jù),均作為字符型數(shù)據(jù)處理。
-只能輸入一個(gè)字符或直接回車(回車相當(dāng)于輸入空串)。
■v提示信息〉一般用字符串說(shuō)明,不選用則自動(dòng)提示“按任一鍵繼續(xù)…”。
-選用TO〈內(nèi)存變量〉時(shí),可將輸入的字符保存在內(nèi)存變量中,以便以后
使用。
例:若有表文件WJ1.DBF、WJ2.DBF、WJ3.DBF,如何實(shí)現(xiàn)只輸入一
個(gè)字符而能打開(kāi)這些表。
杰入奉礁喘其—ACCEPT(可輸入多個(gè)字符)
格式:ACCEPT卜提示信息刁TOv內(nèi)存變量,
功能:暫停程序執(zhí)行,等待用戶輸入一串字符后,按回車
鍵程序繼續(xù)運(yùn)行。
說(shuō)明:
■輸入的任何數(shù)據(jù),均作為字符型數(shù)據(jù)處理。
提示信息的用法與WAIT語(yǔ)句相同,不選用則不提示(與WAIT不
同)。
例1:根據(jù)輸入的文件名,打開(kāi)指定的表文件。
例2:在RCDA表中按指定姓名(出生日期、工資)查詢
(LOCATE,SEEK)記錄。(XMCZ)
L
□輸入多種類型數(shù)據(jù)命令一INPUT
格式:INPUT卜提示信息刁TOv內(nèi)存變量〉
功能:暫停程序執(zhí)行,等待用戶輸入數(shù)據(jù),回車后繼續(xù)。
說(shuō)明:
■輸入的數(shù)據(jù)類型可為C、N、D、Lo
■輸入字符型數(shù)據(jù),必須加定界符;輸入日期型,用{為丫丫丫-[71111-
dd}或用CTOD()函數(shù)轉(zhuǎn)換。
例1:在RCDA表中按指定姓名查詢。(XMCZ.PRG)
例2:在RCDA表中按指定工資(生日)查找。
口小結(jié):區(qū)別WAIT、ACCEPT、INPUT三條命令的梅資心
■輔助命令
□CLEAR清屏命令
□NOTE|*卜字符串刁注釋必須自成一行,對(duì)程序段
作說(shuō)明。
&&卜字符串習(xí)注釋接在命令語(yǔ)句后對(duì)該語(yǔ)句作說(shuō)
明。
□TEXT
v文本內(nèi)容〉
ENDTEXT
功能:原樣輸出TEXT與ENDTEXT之間的內(nèi)容。
(CD.PRG)
I程序的基本結(jié)構(gòu)-----------------
■VF系統(tǒng)的應(yīng)用程序中,常見(jiàn)的控制結(jié)構(gòu)有:
□順序結(jié)構(gòu)
特點(diǎn):按照語(yǔ)句書(shū)寫的先后順序依次執(zhí)行,執(zhí)行到程序尾退出。
缺陷:1、一次只能操作一組數(shù)據(jù);2、不能對(duì)數(shù)據(jù)進(jìn)行判斷。
□分支結(jié)構(gòu)
一、簡(jiǎn)單分支語(yǔ)句
格式:IFv條件〉
v語(yǔ)句序列》
ENDIF
意義:略。
?、簡(jiǎn)單分支語(yǔ)句
□說(shuō)明:IF、ENDIF必須成對(duì)使用。
■V條件,可以是表達(dá)式,也可是函數(shù),但結(jié)果必須為邏
輯值。
例1:在RCDA表中按姓名查詢記錄,找到則顯示該
記錄,沒(méi)找到則提示“無(wú)此姓名的記錄!”。
例2:從鍵盤輸入兩個(gè)不同的自然數(shù),輸出其中最
大的。
例3:按姓名查詢,并提示是否進(jìn)行修改,回答“Y”
退出。(CDXG.PRG)
二、選擇分支語(yǔ)句——
格式:IFv條件〉
v語(yǔ)句序列1>
ELSE
v語(yǔ)句序列2>
ENDIF
意義:略。
例1:P150o
例2:修改前面的例2。
三溫鉞攀句
CASEv條件1>
v命令序列1>
CASE〈條件n>
v命令序列n>
[OTHERWISE
〈命令序列n+1>]
ENDCASE
功能說(shuō)明:略。
三、多分支語(yǔ)句
注意:
■DOCASE與ENDCASE必須成對(duì)出現(xiàn)。
■DOCASE與CASE之間不能放其它語(yǔ)句。
■各條件不能互相包含,即不能讓兩個(gè)或兩個(gè)以上的〈條件>值
為.「,因?yàn)槌绦蛑荒軋?zhí)行第一個(gè)值為工的v條件,所對(duì)應(yīng)的
語(yǔ)句序列。
例1:P151o
例2:從鍵盤上輸入三個(gè)不同的自然數(shù),輸出其中最大的。
四一「一分支語(yǔ)句的嵌套
結(jié)構(gòu):略。
例1:對(duì)DJPD表,根據(jù)學(xué)號(hào)查詢,對(duì)查到的記錄再根據(jù)平均分
定等級(jí),并填寫等級(jí)字段,(85分以上為優(yōu),76?85為良,
60?75為中,60分以下為差)若沒(méi)找到則顯示:“查無(wú)此人!”。
例2:對(duì)成績(jī)表,根據(jù)學(xué)號(hào)查詢,對(duì)查到的記錄再判斷其民族,
若為少數(shù)民族則總分+5,否則不加分,若沒(méi)找到指定記錄,則
提示:“查無(wú)此人!”。
注意:
■ELSE與ENDIF都與最近的IF語(yǔ)句匹配。
-各分支結(jié)構(gòu)不能相互交叉。
Ef環(huán)結(jié)構(gòu)程序設(shè)計(jì)
一、當(dāng)型循環(huán)
格式:DOWHILEv條件,
v語(yǔ)句序列》
[LOOP]
v語(yǔ)句序列》
[EXIT]
v語(yǔ)句序列》
ENDDO
意義:當(dāng)v條件,為萬(wàn).時(shí),重復(fù)執(zhí)行DOWHILE與ENDDO
之間的語(yǔ)句序列,直到v條件>為F.時(shí),退出循環(huán)繼續(xù)執(zhí)
行1ENDDO之后的語(yǔ)句。一
、當(dāng)型循環(huán)
注意:
■LOOP、EXIT只能在循環(huán)中使用,而不能在循環(huán)外使
用。
■DOWHILE…ENDDO語(yǔ)句本身不具有給循環(huán)變量賦初
值的功能,因此應(yīng)當(dāng)在該語(yǔ)句之前給循環(huán)變量賦初值,
并在循環(huán)體中修改循環(huán)變量的值。
■LOOP作用:不再執(zhí)行其后的語(yǔ)句序列,而進(jìn)入下一次
循環(huán),即重新返回DOWHILE處判斷條件的值。
■EXIT作用:強(qiáng)制退出循環(huán),繼續(xù)執(zhí)行ENDD^^^
句O
幾種常見(jiàn)的循環(huán)結(jié)構(gòu):
1、對(duì)數(shù)據(jù)表記錄進(jìn)行操作的循環(huán)
特點(diǎn):
■循環(huán)條件一般用.NOT.EOF()o
■用SKIP命令修改循環(huán)條件。
■循環(huán)體中操作對(duì)象是數(shù)據(jù)表中的記錄。
例1:逐條顯示RCDA表中性別為女的記錄。(條件分別
為.NOT.EOF()與.NOT.B0F()o)
例2:在RCDA表中,按性別查找,依次對(duì)性別為女的工資
加100元。
1、對(duì)數(shù)據(jù)表記錄進(jìn)行操作的循環(huán)
例3:在成績(jī)表中,統(tǒng)計(jì)解幾成績(jī)分別在85分以上,
76至85分,小于76分的學(xué)生的人數(shù)。
練習(xí):在DJPD表中,按平均分對(duì)每人評(píng)定等級(jí),并
將評(píng)定結(jié)果填到等級(jí)字段中。(85分以上為優(yōu),
76?85為良,60?75為中,60分以下為差)
舟點(diǎn)循環(huán)次數(shù)一定的循環(huán)
■循環(huán)次數(shù)一定。
■循環(huán)條件多為關(guān)系表達(dá)式,其中含控制循環(huán)次數(shù)的循環(huán)變量。
■循環(huán)變量有初值和終值。
■循環(huán)體中有修改循環(huán)變量的語(yǔ)句,使循環(huán)變量增或減值,否則成
為死循環(huán)。
例1:求1到100之間所有整數(shù)之和。(兩種方法)
例2:求1至”00之間的奇數(shù)和。(三種方法)
練習(xí):求10!o
3、隨機(jī)循環(huán)
特點(diǎn):
■隨機(jī)條件總是為T。(這樣就不能自動(dòng)退出循環(huán)一死循環(huán))
■必要時(shí),可使用EXIT、RETURN>CANCEL、QUIT強(qiáng)制
退出循環(huán))
例:在RCDA表中,實(shí)現(xiàn)可連續(xù)按姓名查詢。
作業(yè):用循環(huán)語(yǔ)句編程判斷任意一個(gè)由鍵盤輸入的數(shù)
是否為素?cái)?shù)。
、“計(jì)數(shù)”型循環(huán)控制語(yǔ)句
格式:FORv循環(huán)變量>=v變量初值〉TOv終值>[STEPv變量
步長(zhǎng)刁
v命令序列〉
[LOOP]
[EXIT]
ENDFOR|NEXT
功能:循環(huán)變量首先被賦為變量初值,然后比較循環(huán)變量與終值來(lái)
決定是否執(zhí)行循環(huán)體內(nèi)的命令語(yǔ)句。步長(zhǎng)值為正數(shù)時(shí),若循環(huán)變
量值不大于終值,就執(zhí)行循環(huán)體;步長(zhǎng)為負(fù)數(shù)時(shí),若循環(huán)變量不
小于終值,就執(zhí)行循環(huán)體。執(zhí)行一遇到ENDFOR或NEXT,循環(huán)
變量立即被加上步長(zhǎng)值,然后重新與結(jié)束值比較。
說(shuō)明:如果無(wú)STEP短語(yǔ),默認(rèn)步長(zhǎng)值為1。
例:改寫前面當(dāng)型循環(huán)的例子。
三、“指針”型循環(huán)控制語(yǔ)句
格式:SCAN卜范圍習(xí)[FOR〈條件表達(dá)式1>][WHILEv條件
表達(dá)式2>]
v命令序列〉
[LOOP]
[EXIT]
ENDSCAN
功能:程序執(zhí)行到該語(yǔ)句,首先判斷EOF()函數(shù)的值,若為
真,則執(zhí)行ENDSCAN之后的語(yǔ)句;否則結(jié)合條件1與條件2執(zhí)
行循環(huán)中的v命令序列〉,然后指針移到下一條范圍內(nèi)滿足條
件的記錄,再判斷EOF()的值,直到EOF()為真結(jié)束循環(huán)。
四、多重循環(huán):即循環(huán)體中又包含另外一些
循環(huán)。
格式:略。
例1:在RCDA表中,按性別查詢,要求能逐條查到所有性
別相同的記錄并顯示。
例2:打印九九表。
練習(xí):輸出3到100之間的所有素?cái)?shù)。(輸出格式:一行輸
出5個(gè)數(shù),每個(gè)數(shù)間用5空格隔開(kāi)。)
■HA
■定義:我們將以過(guò)程說(shuō)明語(yǔ)句開(kāi)頭,以返回命令結(jié)
束,能完成一定功能,可以被其它程序反復(fù)調(diào)用的程
序段叫做過(guò)程。
■過(guò)程的分類:
1、以獨(dú)立文件存在的過(guò)程,稱為外部過(guò)程。
2、若干個(gè)過(guò)程共存于一個(gè)過(guò)程文件的過(guò)程,稱為內(nèi)
部過(guò)程。
■過(guò)程返回語(yǔ)句
1、RETURN[TOMASTER]
功能:返回調(diào)用程序原調(diào)用處的下一語(yǔ)句繼續(xù)執(zhí)行。
TOMASTER的作用:用在過(guò)程嵌套中,直
接返回最高層調(diào)用處,如不選,則逐級(jí)返回。
2、RETRY
功能:返回調(diào)用程序原調(diào)用語(yǔ)句,繼續(xù)執(zhí)行。
■外部過(guò)程的建立及調(diào)用:
1、建立與建立一般程序相同。至訃女
SETTALKOFF
S=0
N=1
T=1
DOWHILEN<=5
T=T*N
N=N+1
ENDDO
S=S+T
N=1
T=1
DOWHILEN<=10
T=T*N
N=N+1
ENDDO
S=S+T
N=1
T=1
DOWHILEN<=20
T=T*N
N=N+1
ENDDO
S=S+T
?’5!+10!+20!=',S
SETTALKON
2、過(guò)程調(diào)用
格式:DOv過(guò)程名〉
說(shuō)明:可以將過(guò)程保存在單獨(dú)的程序文件中,也可放
在程序的結(jié)尾,但不能把可執(zhí)行的主程序放在過(guò)程之
后。
例:改寫引入程序。
思考:求C=M!/(N!*(M-N)!)
過(guò)程文件及使用
1、過(guò)程文件的建立
格式:MODICOMMv文件名〉
2、過(guò)程文件的組織形式
PROCEDUREv過(guò)程名1>
v語(yǔ)句序列》
ENDPROC
PROCEDUREv過(guò)程名N>
v語(yǔ)句序列,
ENDPROC--------------------
3、一過(guò)程文件的調(diào)用
步驟:①打開(kāi)過(guò)程文件
格式:SETPROCEDURETOv文件名〉
注意:同一時(shí)刻只允許打開(kāi)一個(gè)過(guò)程文件。
②調(diào)用過(guò)程文件中的過(guò)程
格式:DOv過(guò)程名>
功能:調(diào)用已打開(kāi)的過(guò)程文件中的指定過(guò)程。
③關(guān)閉過(guò)程文件
格式1:SETPROCEDURETO
格式2:CLOSEPROCEDURE
功能:關(guān)閉打開(kāi)的過(guò)程文件。
■過(guò)程的嵌套
■過(guò)程調(diào)用中的數(shù)據(jù)傳遞
□利用內(nèi)存變量的屬性傳遞數(shù)據(jù)
■全局變量(公共變量)
公共變量是在VF系統(tǒng)的全部范圍內(nèi)均有效的內(nèi)存變量。(包括命
令窗口及程序的任何部分[主程序及其子程序中])
定義格式:PUBLICv內(nèi)存變量表〉
功能:把v內(nèi)存變量表〉中指定的內(nèi)存變量定義為全局變量。
說(shuō)明:1、全局變量在程序結(jié)束時(shí)不釋放,只能使用清除
內(nèi)存變量的命令清除。(CLEARMEMORY,CLEARALL)
2、定義的全局變量在賦值前,自動(dòng)賦值為.F.。
■局部變量
局部變量只在定義它的程序段有效,而在此程序段的上級(jí)程
序段或下級(jí)程序段無(wú)效。
定義格式:LOCALv內(nèi)存變量表〉
功能:把v內(nèi)存變量表〉中指定的內(nèi)存變量定義為局部變量。
說(shuō)明:1、局部變量在其所在程序段結(jié)束時(shí)自動(dòng)清除。
2、定義的局部變量在賦值前,自動(dòng)賦值為.F.。
■私有變量
私有變量是在定義它的程序段以及其下級(jí)程序段(被調(diào)用過(guò)
程)的局部范圍內(nèi)都有效的內(nèi)存變量。
定義格式1:PRIVATEv內(nèi)存變量表〉
格式2:PRIVATEALL[LIKE|EXCEPTv通配變量名習(xí)
功能:把指定的變量定義為私有變量。
說(shuō)明:1、程序中凡沒(méi)有使用PUBLIC、LOCAL和PRIVATE
語(yǔ)句定義的變量都是私有變量。
2、格式2用法:
PRIVATEALL:定義所有內(nèi)存變量為私有變量。
PRIVATEALLLIKEv通配變量名〉:定義與v通配變量名〉
相符的變量為私有變量。
PRIVATEALLEXCEPT〈通配變量名〉:定義與v通配變
量名〉不相符的變量為私有變量。
3、局部、私有變量在其有效程序段結(jié)束時(shí)自動(dòng)清唆
□例子
settalkoff
ocaly
Drivx
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度山砂項(xiàng)目砂石資源采購(gòu)合同6篇
- 2025年房產(chǎn)買賣居間服務(wù)合同規(guī)范樣本
- 動(dòng)漫教育發(fā)展:2025年《動(dòng)漫欣賞課》課件展示2篇
- 2025年度個(gè)人汽車交易合同范本2篇
- 2025年度納稅擔(dān)保期限與稅務(wù)合規(guī)合同
- 2025年度個(gè)人與公司間的借款逾期罰息合同3篇
- 二零二五年度生態(tài)餐飲原物料綠色配送服務(wù)合同3篇
- 2025年度個(gè)人房屋租賃合同范本(含租金支付方式)2篇
- 2025年度新型電梯銷售及居間服務(wù)合同協(xié)議書(shū)范本3篇
- 2025年度門面租賃合同租賃雙方權(quán)利義務(wù)協(xié)議4篇
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設(shè)計(jì)規(guī)范-PDF解密
- 冷庫(kù)制冷負(fù)荷計(jì)算表
- 肩袖損傷護(hù)理查房
- 設(shè)備運(yùn)維管理安全規(guī)范標(biāo)準(zhǔn)
- 辦文辦會(huì)辦事實(shí)務(wù)課件
- 大學(xué)宿舍人際關(guān)系
- 2023光明小升初(語(yǔ)文)試卷
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 申請(qǐng)使用物業(yè)專項(xiàng)維修資金征求業(yè)主意見(jiàn)表
- 房屋買賣合同簡(jiǎn)單范本 房屋買賣合同簡(jiǎn)易范本
- 無(wú)抽搐電休克治療規(guī)范
評(píng)論
0/150
提交評(píng)論