版權(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ū)寫(xiě)規(guī)則:
■程序中的每條命令都必須以回車(chē)結(jié)尾。
■一行只能寫(xiě)一條命令,若命令需分行寫(xiě),應(yīng)在一行尾
加”號(hào)續(xù)行,然后回車(chē)。
-以菜單方式建立、編輯程序文件
■用“項(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)用,可編輯類(lèi)型:C、N、D、L型。
■SAY〈提示信息〉用于對(duì)GET變量作提示性說(shuō)明。
程序中的交互語(yǔ)句及輔助
語(yǔ)句
變量可為字段名變量,也可為內(nèi)存變量,內(nèi)存變
量必須有初值,或用DEFAULT短語(yǔ)的v表達(dá)式2>
指定初值.初值一旦指定,該變量的類(lèi)型在編輯期間
就不能改變,字符型變量的寬度與數(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è)字符或直接回車(chē)(回車(chē)相當(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í)行,等待用戶輸入一串字符后,按回車(chē)
鍵程序繼續(xù)運(yùn)行。
說(shuō)明:
■輸入的任何數(shù)據(jù),均作為字符型數(shù)據(jù)處理。
提示信息的用法與WAIT語(yǔ)句相同,不選用則不提示(與WAIT不
同)。
例1:根據(jù)輸入的文件名,打開(kāi)指定的表文件。
例2:在RCDA表中按指定姓名(出生日期、工資)查詢
(LOCATE,SEEK)記錄。(XMCZ)
L
□輸入多種類(lèi)型數(shù)據(jù)命令一INPUT
格式:INPUT卜提示信息刁TOv內(nèi)存變量〉
功能:暫停程序執(zhí)行,等待用戶輸入數(shù)據(jù),回車(chē)后繼續(xù)。
說(shuō)明:
■輸入的數(shù)據(jù)類(lèi)型可為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ū)寫(xiě)的先后順序依次執(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:從鍵盤(pán)輸入兩個(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:從鍵盤(pán)上輸入三個(gè)不同的自然數(shù),輸出其中最大的。
四一「一分支語(yǔ)句的嵌套
結(jié)構(gòu):略。
例1:對(duì)DJPD表,根據(jù)學(xué)號(hào)查詢,對(duì)查到的記錄再根據(jù)平均分
定等級(jí),并填寫(xiě)等級(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(mén)。(這樣就不能自動(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è)由鍵盤(pán)輸入的數(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。
例:改寫(xiě)前面當(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ò)程的分類(lèi):
1、以獨(dú)立文件存在的過(guò)程,稱(chēng)為外部過(guò)程。
2、若干個(gè)過(guò)程共存于一個(gè)過(guò)程文件的過(guò)程,稱(chēng)為內(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ò)程之
后。
例:改寫(xiě)引入程序。
思考:求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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度物流配送與新能源充電服務(wù)承包合同3篇
- 2025關(guān)于揚(yáng)州市的勞動(dòng)合同范本
- 2025短期借款合同2
- 2024年木工職業(yè)培訓(xùn)與就業(yè)服務(wù)合同范本3篇
- 2024年標(biāo)準(zhǔn)型塑料產(chǎn)品購(gòu)銷(xiāo)協(xié)議樣本版B版
- 2024年度智能停車(chē)場(chǎng)租賃及管理服務(wù)合同模板3篇
- 2024年開(kāi)業(yè)慶典禮儀模特服務(wù)合同
- 2024全新彩鋼板房構(gòu)件生產(chǎn)與運(yùn)輸服務(wù)合同3篇
- 自行車(chē)公園租賃
- 2024年度健康養(yǎng)生產(chǎn)業(yè)入股分紅合作協(xié)議示范文本3篇
- 如何提高中小學(xué)生的閱讀能力
- 中國(guó)風(fēng)古詩(shī)詞詩(shī)歌朗讀比賽大會(huì)唐詩(shī)宋詞含內(nèi)容課件兩篇
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)基礎(chǔ)(第6版)全套教學(xué)課件
- 計(jì)量經(jīng)濟(jì)學(xué)與Stata應(yīng)用
- 12、口腔科診療指南及技術(shù)操作規(guī)范
- 湖南省岳陽(yáng)市2023年八年級(jí)上學(xué)期期末質(zhì)量檢測(cè)數(shù)學(xué)試題附答案
- 食用菌技術(shù)員聘用合同范本
- 第三單元-設(shè)計(jì)制作-主題活動(dòng)三《創(chuàng)意木書(shū)夾》-課件
- 電梯維保服務(wù)投標(biāo)方案
- 幼兒園名師優(yōu)質(zhì)公開(kāi)課:大班社會(huì)《獨(dú)一無(wú)二的我》課件
- 建筑節(jié)能課件
評(píng)論
0/150
提交評(píng)論