07+程序的分支執(zhí)行結(jié)構(gòu)ppt課件_第1頁
07+程序的分支執(zhí)行結(jié)構(gòu)ppt課件_第2頁
07+程序的分支執(zhí)行結(jié)構(gòu)ppt課件_第3頁
07+程序的分支執(zhí)行結(jié)構(gòu)ppt課件_第4頁
07+程序的分支執(zhí)行結(jié)構(gòu)ppt課件_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第7章程序的分支構(gòu)造本章目錄7-1 程序的建立與維護(hù)7-2 程序的流程控制7-1 程序的建立與維護(hù) Visual FoxPro程序文件,是一個(gè)以.PRG為擴(kuò)展名的文本文件。任何可以建立、編輯文本文件的工具,都可以創(chuàng)建和編輯Visual FoxPro程序文件。這些文本編輯工具,可以是Visual FoxPro系統(tǒng)提供的內(nèi)部編輯器,也可以是其它常用文本編輯軟件。在文本編輯環(huán)境下,不僅可以對(duì)程序文件進(jìn)展輸入和修正,還可以實(shí)現(xiàn)字符串查找、交換、刪除和編輯功能。7-1-1 用菜單項(xiàng)選擇擇方式建立及維護(hù)程序 1.創(chuàng)建與修正程序文件 命令方式 MODIFY COMMAND 程序文件名菜一方式 翻開“文件菜單

2、,選擇“新建;在“新建窗口,選擇“程序,再選擇“新建文件;在“程序文件編輯窗口,輸入程序文件,并保管,此時(shí)建立程序文件的操作終了。2.運(yùn)轉(zhuǎn)程序文件 調(diào)用程序文件,即運(yùn)轉(zhuǎn)程序文件,是程序文件建立的最終目的。在Visual FoxPro系統(tǒng)中,調(diào)用程序文件有很多方法,在這里僅引見其中兩種方法。菜一方式 以菜一方式調(diào)用程序文件,操作方法如下: (1在Visual FoxPro系統(tǒng)主菜單下,翻開“程序菜單,選擇“運(yùn)轉(zhuǎn)。 2在“運(yùn)轉(zhuǎn)窗口,輸入被調(diào)用的程序文件名即可。 命令方式 在Command 窗口中,輸入如下命令,那么程序文件被調(diào)用。 DO 程序文件名3維護(hù)程序 修正程序文件時(shí),可以從菜單“文件中選擇

3、“翻開命令,從屏幕顯示的“翻開對(duì)話框中選擇要修正的文件,在文件編輯器窗口中進(jìn)展編輯修正程序。 在編輯過程中,按Ctrl+Q或Esc鍵,中止程序的編輯;按Ctrl+W鍵,保管編輯的程序,并前往到“命令窗口中。程序文件名默許的擴(kuò)展名為.PRG。假設(shè)省略“程序文件名,系統(tǒng)會(huì)自動(dòng)以“程序1為程序文件名存盤。 保管程序在命令窗口中鍵入: DO程序文件名執(zhí)行一個(gè)Visual FoxPro程序,程序文件名前根據(jù)需求可以加上途徑。如: DO d:VFP程序1.prg 該命令可以在命令窗口發(fā)出,也可以出如今某個(gè)程序文件中,這樣就使得一個(gè)程序在執(zhí)行的過程中還可以調(diào)用執(zhí)行另一個(gè)程序。 4運(yùn)轉(zhuǎn)程序當(dāng)程序被執(zhí)行時(shí),文件

4、中包含的命令被依次執(zhí)行,直到程序執(zhí)行終了,或遇到以下命令: CANCAL:終止程序運(yùn)轉(zhuǎn),去除一切私有變量,前往命令窗口。 DO:轉(zhuǎn)去執(zhí)行另一個(gè)程序。 RETURN:終了當(dāng)前程序的執(zhí)行,前往到調(diào)用它的上級(jí)程序,假設(shè)無上級(jí)程序那么前往到命令窗口。 QUIT:退出VFP系統(tǒng),前往到操作系統(tǒng)。 Visual FoxPro程序文件經(jīng)過編譯、連編,可以產(chǎn)生不同的目的代碼文件。假設(shè)沒有對(duì)程序進(jìn)展編譯,而且程序中存在錯(cuò)誤,那么在執(zhí)行程序過程中Visual FoxPro會(huì)指出程序中存在的錯(cuò)誤,出現(xiàn)錯(cuò)誤提示對(duì)話框。此時(shí),可以取消操作,中止程序的運(yùn)轉(zhuǎn),修正后再運(yùn)轉(zhuǎn)。 在運(yùn)轉(zhuǎn)程序時(shí),系統(tǒng)提供了兩種方式:先編譯后執(zhí)行和

5、一邊編譯一邊執(zhí)行。先編譯后執(zhí)行是在編輯窗口翻開要編譯的程序,然后在菜單“程序中選定“編譯。7-1-3 程序的編譯1.每行只能寫一條命令,每條命令以回車換行作為終了標(biāo)志;2. 命令一行寫不下時(shí),可以分多行輸入,在未輸入完的數(shù)據(jù)后加分號(hào),然后回車換行,系統(tǒng)會(huì)把此行作為前一行的續(xù)行;3.“*,“&,“NOTE用來作為程序的闡明的符號(hào)和命令;“*及“NOTE只能放在一行的前面,而“&可以放在前面或后面。7-1-4 編程時(shí)的普通規(guī)那么7-1-5 簡單的輸入輸出命令(1). ACCEPT命令格式 :accept to 功能:在屏幕上顯示提示信息,等待用戶輸入一個(gè)字符串,賦值給一個(gè)內(nèi)存變量留意:該命令只能接

6、受字符型常量,輸入一個(gè)字符串不用加引號(hào)且按回車鍵后,程序繼續(xù)執(zhí)行1鍵盤輸入語句:用于程序執(zhí)行中原始數(shù)據(jù)輸入CLEAACCE 請(qǐng)輸入用戶名= TO USER? USERWAITACCEPT命令:thisform.text1.value=(2). INPUT命令格式:input to 功能:與accept類似,不同的是能接受字符型、數(shù)字型、日期型和邏輯型數(shù)據(jù)。闡明:除輸入數(shù)值型數(shù)據(jù)外,其他幾種類型的數(shù)據(jù)一概運(yùn)用定界符;輸入的信息可以是表達(dá)式,input命令有計(jì)算功能INPUT 請(qǐng)輸入密碼: TO PASSWORD? PASSWORDWAITINPUT命令:thisform.text1.value=

7、0INPUT與ACCEPT的區(qū)別 INPUTTO ACCEPTTO (1)兩條命令的主要區(qū)別在于:ACCEPT命令能在用戶的輸入內(nèi)容中自動(dòng)添加定界符后再給變量賦值,而INPUT命令那么把輸入內(nèi)容的值計(jì)算出來后向變量賦值。因此,用 ACCEPT命令只能接受字符型常量,而INPUT命令那么能接受任何類型的表達(dá)式。 jg=7800INPUT 輸入價(jià)錢:TO a ACCEPT 輸入價(jià)錢:TO b?a=,a,b=,b 執(zhí)行時(shí),先后兩次輸入同樣的內(nèi)容jg+200,而輸出結(jié)果卻不一樣,分別為a=8000 b=jg +200 (2)命令中可選項(xiàng)缺省時(shí),屏幕上無顯示信息而直接等待用戶的輸入;另外,提示信息也可以

8、是含有變量的字符型表達(dá)式,這時(shí)屏幕上顯示的提示信息將隨變量值的不同而變化。例如, m=微型機(jī) INPUT “輸入+m+價(jià)錢TO p命令執(zhí)行時(shí),屏幕的提示信息為:輸入微型機(jī)價(jià)錢留意, INPUT命令也能接受字符型常量,但需把該常量兩邊的定界符同時(shí)輸入。(3). WAIT命令 【格式】WAIT T0 WindowsNowaitCLEAR TIMEOUT 【功能】等待用戶從鍵盤上輸入一個(gè)字符存入指定變量中。INPUT 請(qǐng)輸入密碼: TO PASSWORD? PASSWORDWAIT 進(jìn)入程序嗎?Y/N TO YN?YN2格式輸出語句 無論是內(nèi)存變量還是字段變量都可以運(yùn)用?或?命令輸出,這種輸出方式簡

9、單,但是不能按照用戶指定的位置輸出。格式輸出語句能按用戶的要求來設(shè)計(jì)屏幕格式,使之美觀、方便。【格式】 SAY 【功能】 從指定的行、列號(hào)開場輸出表達(dá)式的值?!娟U明】 1.可以是常量、字段變量及由它們組成的表達(dá)式。 2. 定位輸出時(shí),一次只能輸出一個(gè)表達(dá)式。 THISFORM.TEXT2.VALUE=3.14159*R*R文本輸出命令 命令格式(一): | 命令格式(二): TEXT ENDTEXT 命令格式(一): | 命令格式(二): TEXT ENDTEXT 功能: 格式(一)能將一行文本信息的內(nèi)容按書寫方式的原樣顯示出來.與的區(qū)別在于前者輸出的文本行帶有回車換行符,就是在下一行的第一列

10、開場輸出;而后者那么不帶,文本行在當(dāng)前光標(biāo)位置開場顯示。格式(二)那么能把TEXT與ENDTEXT之間的文本信息內(nèi)容顯示出來,允許其間出現(xiàn)多個(gè)文本行。 闡明: (1)文本輸出命令TEXT與ENDTEXT只能在程序任務(wù)方式中運(yùn)用,而且必需成對(duì)出現(xiàn)。 (2)通常把指定的屏幕畫面用TEXT與ENDTEXT括起來后直接寫在程序之中,以便在程序執(zhí)行中把該畫面按原樣顯示或打印出來。(3)在文本信息中允許出現(xiàn)變量、函數(shù)和表達(dá)式,本命令能識(shí)別它們并顯示其值。但需事先設(shè)置形狀SET TEXTMERGE ON,并且把它們用符號(hào)“括起來以區(qū)別于普通的文字信息。假設(shè)這兩個(gè)條件不同時(shí)具備,那么本命令將它們與其它的文字信

11、息同樣對(duì)待而直接輸出。例如,執(zhí)行下述命令后,在所顯示的圖式下面將顯示系統(tǒng)的當(dāng)前日期。 SET TEXTMERGE ON TEXT*設(shè)備管理系統(tǒng)*ENDTEXT (1) CLEAR 語句:【格式】CLEAR 【功能】去除屏幕信息語句(2) SET TALK ON/OFF語句:【格式】SET TALK ON / OFF【功能】命令執(zhí)行的結(jié)果傳送/不傳送到屏幕上3程序設(shè)計(jì)輔助語句命令(3) 程序運(yùn)轉(zhuǎn)終了命令:QUIT & 前往操作系統(tǒng)CANCEL & 前往Visual FoxPro 6.0“命令窗口RETURN & 前往調(diào)用途7-2 程序的流程控制 Visual FoxPro系統(tǒng)的程序有兩個(gè)特點(diǎn):

12、一是程序控制流方式,由順序、分支、循環(huán)三種根本構(gòu)造構(gòu)成。 二是面向?qū)ο罂梢暬臉?gòu)造程序模塊,在每個(gè)模塊的內(nèi)部也是由程序控制流組成。 常見的控制構(gòu)造如下: 程序的3種根本構(gòu)造任何一種計(jì)算機(jī)言語程序主體是由3種根本構(gòu)造組成:順序構(gòu)造、選擇構(gòu)造和循環(huán)構(gòu)造。順序構(gòu)造循環(huán)構(gòu)造選擇構(gòu)造 在構(gòu)造化程序設(shè)計(jì)方法中,程序根本控制構(gòu)造有三種,即順序構(gòu)造、分支構(gòu)造和循環(huán)構(gòu)造。順序構(gòu)造是一種線形構(gòu)造,是最根本的程序構(gòu)造,它是按照命令或語句的陳列順序,依次執(zhí)行。 7-2-1 順序構(gòu)造分支構(gòu)造是在程序執(zhí)行時(shí),根據(jù)不同的條件,選擇執(zhí)行不同的程序語句,用來處理有選擇、有轉(zhuǎn)移的諸多問題。7-2-2 選擇構(gòu)造選擇構(gòu)造的根本方式

13、有三種根本方式:1、單條件選擇構(gòu)造單分支構(gòu)造是一種IFENDIF分支構(gòu)造格式: IF條件表達(dá)式 語句序列 EDNIF功能:條件表達(dá)式的值為真.T.那么執(zhí)行“語句序列,否那么為假.F.那么直接執(zhí)行EDNIF后續(xù)語句條件真假語句序列例2:從鍵盤輸入一個(gè)數(shù),假設(shè)為正數(shù)那么輸出,假設(shè)為非正數(shù)那么終了。 此題學(xué)生本人分析。雙向分支語句,即根據(jù)用戶設(shè)置的條件表達(dá)式的值,選擇兩個(gè)操作中的一個(gè)來執(zhí)行。是一種IFELSEENDIF選擇構(gòu)造格式:IF條件表達(dá)式語句序列1ELSE語句序列2ENDIF 功能:表達(dá)式為真,那么執(zhí)行“語句序列1,再執(zhí)行EDNIF的后續(xù)語句;為假,那么執(zhí)行“語句序列2,再執(zhí)行EDNIF的后

14、續(xù)語句。條件真假語句序列1語句序列22、雙向分支構(gòu)造例1:從鍵盤輸入一個(gè)數(shù)X,假設(shè)被5除余數(shù)為3,輸出“3, 否那么輸出“余數(shù)不為3.*MODI COMM BCB2.PRGCLEAINPUT “請(qǐng)輸入一個(gè)數(shù): TO XIF X%5=3 ? 余數(shù)為3ELSE ? 余數(shù)不為3ENDIFX=X%5=例3:求一元二次方程AX2BXC0的實(shí)根。分析:用根的判別式:DB24AC進(jìn)展判別,假設(shè):D0,闡明有實(shí)根,假設(shè):D0,那么闡明無實(shí)根。INPUT 請(qǐng)輸入A = TO AINPUT 請(qǐng)輸入B = TO BINPUT 請(qǐng)輸入C = TO C?M=B*B-4*A*CIF M=0 X1 = (-B + SQRT

15、(M)/(2*A) X2 = (-B-SQRT(M)/2/A ?X1= ,X1 ?X2= ,X2ELSE ?無實(shí)數(shù)解! ENDIF 輸入A、B、CDBB4AC如果D0X1=(-B+SQRT(D)/(2A)真X2=(-B-SQRT(D)/(2A)輸出X1、X21、從鍵盤輸入一個(gè)數(shù)X,假設(shè)能被2整除,輸出偶數(shù),否那么輸出“奇數(shù)。 *MODI COMM BCB1.PRGCLEAINPUT “請(qǐng)輸入一個(gè)數(shù): TO XIF INT(X/2)=X/2 ?這是一個(gè)偶數(shù)!ELSE ?這是一個(gè)奇數(shù)!ENDIF例:用IFELSEENDIF方法,再做一次求解一元二次方程的根,假設(shè)有實(shí)根,那么輸出實(shí)根,否那么輸出“無

16、實(shí)根。是一種DOCASEENDCASE分支構(gòu)造格式:DOCASECASE條件表達(dá)式1語句序列1CASE條件表達(dá)式2語句序列2CASE條件表達(dá)式語句序列nOTHERWISE語句序列n+1ENDCASE條件1語句序列1條件n。語句序列nOTHERWISEyNNy3、多分支條件選擇語句多路選擇功能:依次判別條件1n的表達(dá)式,當(dāng)遇到第一個(gè)條件為真時(shí),那么執(zhí)行該表達(dá)式對(duì)應(yīng)的語句序列,然后轉(zhuǎn)去執(zhí)行ENDCASE的后續(xù)語句,假設(shè)前幾個(gè)表達(dá)式都為假,那么執(zhí)行OTHERWISE的語句序列,然后執(zhí)行ENDCASE的后續(xù)語句。1IF ENDIF和DO CASE ENDCASE 必需配對(duì)運(yùn)用,DO CASE與第一個(gè)CASE條件表達(dá)式之間不應(yīng)有任何命令。2條件表達(dá)式可以是各種表達(dá)式或函數(shù)的組合,其值必需是邏輯值。3命令行序列可以由一個(gè)或多個(gè)命令組成,可以是條件控制語句組成的嵌套構(gòu)造。4DO CASE ENDCASE 命令,每次最多只能執(zhí)行一個(gè)命令行序列。在多個(gè)CASE項(xiàng)的條件表達(dá)式值為真時(shí),只執(zhí)行第一個(gè)條件表達(dá)式值為真的命令行序列,然后執(zhí)行ENDCASE的后面的第一條命令。運(yùn)用分支語句應(yīng)留意的幾點(diǎn)例:從鍵盤輸入一個(gè)學(xué)生的成果,按下述規(guī)定輸出:90分100分輸出“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論