理學數據庫第9章_第1頁
理學數據庫第9章_第2頁
理學數據庫第9章_第3頁
理學數據庫第9章_第4頁
理學數據庫第9章_第5頁
已閱讀5頁,還剩77頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

[理學(lǐxué)]數據庫第9章第一頁,共82頁。VFP提供一種程序執行方式(fāngshì),這種方式(fāngshì)就是預先把需要執行的多條命令按一定的結構組成一個有機序列以文件的形式存儲在磁盤上,這個文件就稱為程序文件,這個序列的設計、編碼和調試的過程就是程序設計。9.1程序設計(chénɡxùshèjì)根底9.1.1程序設計(chénɡxùshèjì)的概念第二頁,共82頁。9.1.2程序的控制結構(jiégòu)任何復雜的程序都由3種根本控制結構(jiégòu)組成。它們是順序結構(jiégòu)、選擇結構(jiégòu)和循環結構(jiégòu)。

第三頁,共82頁。9.1.3結構化程序設計方法結構化程序設計采用自頂向下、逐步求精和模塊化的分析方法。自頂向下是指對設計的系統要有一個全面的理解,從問題的全局入手,把一個復雜問題分解成假設干個相互獨立的子問題。逐步求精是指程序設計的過程是一個漸進的過程,先把一個子問題用一個程序模塊來描述(miáoshù),再把每個模塊的功能逐步分解細化為一系列的具體步驟。模塊化是結構化程序的重要原那么。所謂模塊化就是把大程序按照功能分為較小的程序。第四頁,共82頁。9.1.4程序文件的建立(jiànlì)與執行1.命令方式建立或修改(xiūgǎi)程序文件命令格式:MODIFYCOMMAND[<程序文件名>|?]MODIFY.FILE.[〈文件名〉|?]功能(gōngnéng):啟動VFP提供的文本編輯器來建立或編輯程序文件。2.菜單方式建立編輯程序文件

第五頁,共82頁。命令格式:DO<程序(chéngxù)文件名>標文件后并執行。3.程序文件(wénjiàn)的執行菜單方式:①.CANCEL:終止程序運行,去除所有的私有變量,返回(fǎnhuí)命令窗口。②.RETURN:結束程序執行,返回(fǎnhuí)調用它的上級程序,假設無上級程序那么返回(fǎnhuí)命令窗口。③.QUIT:結束程序執行并退出Visual.FoxPro系統,返回(fǎnhuí)操作系統。

第六頁,共82頁。9.2順序結構(jiégòu)程序順序結構是最簡單、最根本的一種程序結構。在順序結構程序中,各命令按照各自出現的先后順序,依次(yīcì)執行。第七頁,共82頁。9.2.1程序文件(wénjiàn)中的輔助命令一.輸入(shūrù)類語句格式1:STORE<表達式>TO<內存(nèicún)變量名表>格式2:<內存(nèicún)變量>=<表達式>功能:給內存(nèicún)變量賦值。㈠.賦值語句第八頁,共82頁。㈡.交互式語句(yǔjù)/鍵盤輸入命令1.字符串數據輸入(shūrù)命令格式:ACCEPT[<提示信息>]TO<內存(nèicún)變量>功能:在屏幕上顯示提示信息,等待用戶從鍵盤輸入,再把輸入內容賦值給指定的內存變量。

注:ACCEPT命令只能接受字符型常量,輸入時不需加定界符。鍵盤輸入命令主要用于程序執行過程中原始數據的輸入。第九頁,共82頁。例9-1:要求用戶從鍵盤(jiànpán)上輸入用戶名,然后把輸入的用戶名顯示出來。ACCEPT“請輸入(shūrù)用戶名:〞TONAME?NAME第十頁,共82頁。格式(géshi):INPUT[<提示信息>]TO<內存變量>2.數據輸入(shūrù)命令功能:在屏幕上顯示提示信息,等待用戶從鍵盤輸入(shūrù),再把輸入(shūrù)內容賦值給指定的內存變量。注:INPUT命令能接受任何類型的表達式:①輸入C型數據時,要使用‘’或“〞作為定界符;②輸入L型數據時,.T.和.F.,兩邊的.不能省;③輸入D型數據時,要用{}或CTOD()將字符串轉成日期型變量。第十一頁,共82頁。例9-2:求任意(rènyì)兩數之和。INPUT“請輸入(shūrù)一個數x:〞TOX?X+YINPUT“請輸入(shūrù)另一個數y:〞TOY第十二頁,共82頁。J=2800INPUT“輸入J+200:〞TOAACCEPT“輸入J+200:〞TOB?“A=〞,A?“B=〞,B注:執行時,先后(xiānhòu)兩次輸入同樣的內容:J+200例9-3:給出以下(yǐxià)A、B的結果第十三頁,共82頁。格式:WAIT[<提示信息>]TO<內存(nèicún)變量>[TIMEOUT<數值表達式>]3.只能輸入一個(yīɡè)字符的命令功能:當程序執行某一處需要(xūyào)暫停時使用此命令。注:WAIT命令響應速度快,它只接受一個字符,不需用戶鍵入回車鍵。第十四頁,共82頁。****數據表操作命令菜單****翻開工作(gōngzuò)數據表增加數據表記錄刪除數據表記錄修改數據表記錄打印數據表記錄關閉工作(gōngzuò)數據表?“您選擇(xuǎnzé)的是第〞+CHOICE+“個選項〞WAIT“請選擇(xuǎnzé)相應代碼:〞TOCHOICE例9-4:第十五頁,共82頁。格式(géshi):@<行,列>SAY<提示信息>GET<變量>[RANGE<數值表達式1>,<數值表達式2>]READ4.格式輸入(shūrù)語句功能:在屏幕指定(zhǐdìng)的坐標位置上顯示提示或輸入數據。②READ一般與GET聯合起來用:當有READ時,GET<變量>的內容可以從鍵盤上修改;沒有READ時,GET后的變量只能顯示內容,不能修改;一個READ可以修改它前面的多個GET項的內容,但它可以由CLEARGETS命令隔斷。注:①<變量>:該變量應在其前面定義過(賦初值)。第十六頁,共82頁。@8,18SAY“****數據表操作命令菜單****〞@9,18SAY“〞@10,18SAY“2.增加數據表記錄〞@11,18SAY“3.刪除(shānchú)數據表記錄〞@12,18SAY“4.修改數據表記錄〞@13,18SAY“5.打印數據表記錄〞@14,18SAY“6.關閉工作數據表〞@18,28SAY“您選擇(xuǎnzé)的是:〞+LTRIM(STR(CHOICE))@16,28SAY“請選擇相應(xiāngyīng)代碼:〞GETCHOICEREAD例9-5:第十七頁,共82頁。二.輸出(shūchū)類語句1.非格式輸出(shūchū)語句格式(géshi)1:?<內存變量名表>格式2:??<內存變量名表>注:語句1是在光標所在行的下一行開始顯示,語句2那么是在當前光標位置開始顯示。功能:顯示內存變量、常量或表達式的值。第十八頁,共82頁。格式(géshi):@<行,列>SAY<表達式>[FUNCTION<功能符>][PICTURE<格式(géshi)符>]2.格式輸出(shūchū)語句功能:按指定的坐標位置在屏幕(píngmù)上輸出表達式的值。注:。第十九頁,共82頁。格式(géshi):TEXT<輸出顯示內容>ENDTEXT3.文本(wénběn)輸出語句功能:在屏幕(píngmù)上原樣顯示TEXT和ENDTEXT之間的內容。注:

TEXT、ENDTEXT是一條子句,不能省略其中任一條子句。第二十頁,共82頁。****數據表操作命令菜單****翻開工作數據表增加數據表記錄(jìlù)刪除數據表記錄(jìlù)修改數據表記錄(jìlù)打印數據表記錄(jìlù)關閉工作數據表?“您選擇(xuǎnzé)的是第〞+CHOICE+“個選項〞WAIT“請選擇相應(xiāngyīng)代碼:〞TOCHOICE例6-6TEXTENDTEXT第二十一頁,共82頁。三.設置(shèzhì)會話狀態語句語句(yǔjù)格式2:SETTALKOFF功能語句1:設置會話狀態(zhuàngtài)開通。語句2:設置會話狀態(zhuàngtài)關閉。語句格式1:SETTALKON第二十二頁,共82頁。四.清屏與注釋(zhùshì)語句語句(yǔjù)格式:CLEAR1.清屏語句(yǔjù)功能:去除屏幕上所有顯示內容,光標回到屏幕左上角。第二十三頁,共82頁。2.注釋(zhùshì)語句語句格式2:*<注釋(zhùshì)內容>注:語句(yǔjù)1、2、3在程序中,系統不執行。語句格式1:NOTE<注釋內容>功能:在程序中參加說明性語句。語句格式3:&&<注釋內容>第二十四頁,共82頁。五.RETURN命令(mìnglìng)注:一般(yībān)RETURN出現于程序末尾。格式(géshi):RETURN[<表達式>/TOMASTER/TO<程序名>]功能:結束一個程序的執行。第二十五頁,共82頁。六.終止(zhōngzhǐ)程序執行語句語句(yǔjù)格式2:QUIT注:語句1:在終止程序執行后,返回(fǎnhuí)到VFP命令狀態;語句2:返回(fǎnhuí)到操作系統狀態。語句格式1:CANCEL功能:終止程序執行,關閉所有翻開的命令文件。第二十六頁,共82頁。順序結構(jiégòu)程序:按語句的先后順序組織的程序,即把處理過程的各個步驟按執行的先后順序列出。其流程圖如右圖所示。順序(shùnxù)結構程序設計

A

B

C

N圖中箭頭表示(biǎoshì)程序執行的方向,方框代表不同的可執行語句。第二十七頁,共82頁。例9-7變量(biànliàng)的初始化和變量(biànliàng)的賦值。SETTALKOFFSTORE0TOX,Y,ZA=3B=A+1C=A*B?X,Y,Z?A,B,CSETTALKON第二十八頁,共82頁。例9-8執行以下(yǐxià)命令序列,問答問題:最后顯示的值是:所有(suǒyǒu)職工的平均工資;所有(suǒyǒu)工資在1000元以上的職工的平均工資;所有(suǒyǒu)工資在1000元以上的職工人數;所有(suǒyǒu)職工人數。USEzgbSUM根本(gēnběn)工資FOR根本(gēnběn)工資>1000TOSGZCOPYFOR根本(gēnběn)工資>1000TOGZK2USEGZK2num=reccount()ave=sgz/num?ave第二十九頁,共82頁。在計算機應用的許多場合,要求程序根據不同的條件采用不同的處理方法。如果條件滿足,那么執行某一些語句;如果條件不滿足,那么執行另一些語句。這些需要根據判斷條件來控制程序走向的程序設計稱為選擇結構程序設計,又稱分支(fēnzhī)結構程序設計。VisualFoxPro提供雙分支(fēnzhī)選擇語句、多分支(fēnzhī)選擇語句兩種選擇結構。9.3選擇結構(jiégòu)程序設計第三十頁,共82頁。

ENDIF后的語句語句序列1

ENDIF后的語句語句(yǔjù)格式:IF<條件><語句(yǔjù)序列1>ENDIF條件9.3.1雙分支選擇(xuǎnzé)語句(選擇(xuǎnzé)判斷語句)條件.T..F.語句序列1.Y..N.語句序列2[ELSE<語句(yǔjù)序列2>]第三十一頁,共82頁。注:(1)IF和ENDIF必須配對使用,而ELSE可選。(2)

IF、ELSE、ENDIF必須各占一行。(3)<條件>可以為關系表達式、邏輯表達式。(4)在<語句(yǔjù)序列1>和<語句(yǔjù)序列2>中可以嵌套IF語句(yǔjù)。執行過程:如果<條件>成立(chénglì),就執行語句序列1;如果<條件>不成立(chénglì),執行語句序列2。第三十二頁,共82頁。例請改用分支結構語句編程計算(jìsuàn)電費:不超過50度,每度0.52元;超過50度時,超出局部每度0.75元。SETTALKOFFINPUT“請輸入(shūrù)所用電量:"TODLDF=IIF〔DL<=50,0.52*DL,0.52*50+0.75*(DL-50)〕?“應繳電費為:〞+LTRIM(STR(DF,10,2))+"元"SETTALKONRETURN第三十三頁,共82頁。SETTALKOFFINPUT"請輸入行李(xíngli)重量:"TOWIF1YF=0.22*WELSEYF=0.22*40+1ENDIF?"應交托運費為:"+LTRIM(STR(YF,10,2))+"元"SETTALKONRETURN例火車托運行李:每人(měirén)不超過40公斤,每公斤0.22元;超過40公斤時,超出局部每公斤0.40元。填空完成以下程序。W<40第三十四頁,共82頁。SETTALKOFFSetdefatof:\jfvfp\prgUSEzgbACCEPT“請輸入要查找(cházhǎo)人的姓名:〞TONLOCATEALLFORXM=NIFFOUND()DISPELSE?[查無此人]ENDIFUSESETTALKONRETURN例編程:在ZGB.DBF中查找(cházhǎo)某人。第三十五頁,共82頁。9.3.2多分支選擇(xuǎnzé)語句(選擇(xuǎnzé)語句|情況語句)說明:①DOCASE和第一個CASE子句之間不能插入任何語句。②DOCASE和ENDCASE必須配對(pèiduì)使用,且DOCASE,CASE,OTHERWISE和ENDCASE各子句必須各占一行。③在<語句序列>中可嵌套情況語句。語句(yǔjù)格式:DOCASECASE<條件表達式1><語句(yǔjù)序列1>CASE<條件表達式2><語句(yǔjù)序列2>┇CASE<條件表達式n><語句(yǔjù)序列n>[OTHERWISE<語句(yǔjù)序列n+1>]ENDCASE第三十六頁,共82頁。功能:系統依次測試(cèshì)語句中各個條件表達式的值:假設為真,即執行相應<條件表達式>后的<語句序列>,然后脫離情況語句,執行ENDCASE的下一語句。假設所有的條件表達式的值均為假,那么執行OTHERWISE后面的語句序列,然后脫離情況語句,執行ENDCASE下一語句。開始(kāishǐ)判斷語句(yǔjù)序列1序列2序列n序列n+1ENDCASE后面的語句條件1條件2條件n其它……第三十七頁,共82頁。例中包含xingming,avcj等字段。試用avcj來判斷該生成績(chéngjì)屬于優(≥90)、良(≥80)、及格(≥60)或不及格(<60)。USEcjbACCEPT′請輸入姓名:′TOxmLOCATEFORALLTRIM(xingming)=ALLTRIM(xm)n=avcjDOCASECASEn>=90dj=″優″CASEn>=80dj=″良″CASEn>=60dj=″及格(jígé)″OTHERWISEdj=″不及格(jígé)″ENDCASE@5,10SAYxingming+[同學的成績等級為:]+dj第三十八頁,共82頁。A=3000DOCASE

CASEA<1000B=A/2

CASEA>=1000B=ACASEA>=2000B=2*A

CASEA>=3000B=3*AENDCASE?B例閱讀以下(yǐxià)程序段,寫出運行結果:第三十九頁,共82頁。SettalkoffSetdefatof:\yyfoxclearcho=0@8,18SAY“****數據表操作命令菜單****〞@9,18SAY“1.翻開工作數據表〞@10,18SAY“2.增加數據表記錄(jìlù)〞@11,18SAY“3.刪除數據表記錄(jìlù)〞@12,18SAY“4.修改數據表記錄(jìlù)〞@14,18SAY“5.關閉工作數據表〞@15,28SAY“請選擇相應代碼:〞GETchoReadDocasecasecho=1accept“請輸入表文件名:〞tobmuse&bm例利用(lìyòng)CASE語句實現簡單的菜單功能第四十頁,共82頁。casecho=2appendcasecho=3input“請輸入(shūrù)要刪除的記錄號:〞tojlhgojlhdelecasecho=4browsecasecho=5useotherwise@15,28SAY“選擇代碼錯!〞endcaseSettalkonreturn第四十一頁,共82頁。循環(xúnhuán),就是按給定的條件連續地重復執行一段特定功能的程序。循環(xúnhuán)結構也稱為重復結構。9.4循環(xúnhuán)結構程序設計VisualFoxPro給出了三種循環結構:條件(tiáojiàn)循環〔DOWHILE……ENDDO〕計算循環〔FOR……ENDFOR〕掃描循環〔SCAN……ENDSCAN〕第四十二頁,共82頁。語句格式:DOWHILE<條件(tiáojiàn)><語句序列1>[LOOP]<語句序列2>[EXIT]<語句序列3>ENDDO循環體ENDDO后的語句(yǔjù)條件(tiáojiàn).T..F.條件循環結構流程圖一、條件循環循環體功能:有條件連續地重復執行DOWHILE與ENDDO之間的語句序列,直到<條件>為假或因執行EXIT語句而結束。條件第四十三頁,共82頁。〔2〕循環體中的LOOP是可選項。遇到LOOP時,不再執行后面的語句,轉回DOWHILE處重新判斷。其作用相當于一個特殊的“短路〞返回控制。〔3〕循環體中的EXIT也是可選項。遇到它時便無條件地退出循環,轉到ENDDO后面的語句。其作用相當于一個緊急出口。〔4〕通常LOOP或EXIT出現在循環體內嵌套的分支語句中,根據條件來決定(juédìng)是LOOP回去,還是EXIT出去。功能說明:〔1〕系統執行該語句時,先判斷(pànduàn)循環開始DOWHILE的條件是否成立,如果條件為真,那么執行循環體中的語句序列。當執行到ENDDO時,返回到DOWHILE,再次判斷(pànduàn)條件是否為真,以確定是否再次執行循環體。假設條件為假,那么結束循環,執行ENDDO后面的語句。如果第一次判斷(pànduàn)條件時,條件即為假,那么循環體一次都不執行,這就是稱為“先判斷(pànduàn)后執行〞的語句。第四十四頁,共82頁。SETTALKOFF

SETTALKONRETURNCLEAR?[OK]?[OK]?[OK]…例在屏幕(píngmù)上換行顯示字符串“OK〞20次第四十五頁,共82頁。i=1?[OK]i=i+1ENDDODOWHILESETTALKOFF

SETTALKONRETURNCLEARi<=20循環次數循環前i值循環后i值112223………202021&&設置循環(xúnhuán)變量初值&&修改循環(xúnhuán)變量例在屏幕(píngmù)上換行顯示字符串[OK]20次?[OK]第四十六頁,共82頁。①DOWHILE語句之前一定要有設置循環變量初值的語句。

在以循環(xúnhuán)變量作為循環(xúnhuán)控制參數的條件循環(xúnhuán)中②循環體內一定(yīdìng)要有修改循環變量的語句,否那么就會出現死循環。注意(zhùyì)第四十七頁,共82頁。例求自然數1至4的和。

分析(fēnxī)算法:s=s+i;i=i+1;1.i=1,s=0;2.累加第i個數3.累加次數(cìshù)加14.當i<=4重復(chóngfù)做2;5.?s。第四十八頁,共82頁。例求自然數1至4的和。

SETTALKOFFS=0

&&定義一個(yīɡè)變量表示和,并初始化&&指定以循環次數作判斷(pànduàn)條件

S=S+i&&把S的值加上i后再賦給S,即求和(qiúhé)&&修改循環變量i=1DOWHILE

i<=4i=i+1ENDDO?S&&輸出求和的結果

SETTALKON

RETURN&&設置循環變量的初值第四十九頁,共82頁。程序流程圖S=0i=11<=4S=0+1i=1+1.T.2<=4S=1+2i=2+13<=4S=3+3i=3+14<=4S=6+4i=4+15<=4.F.?10SETTALKOFFS=0i=1DOWHILEi<=4S=S+ii=i+1ENDDO?SSETTALKONRETURN×第五十頁,共82頁。假設(jiǎshè)求自然數1至N的和呢?[程序(chéngxù):求自然數1至4的和]SETTALKOFFS=0i=1INPUT〞請輸入(shūrù)N的值:〞TONDOWHILEi<=4S=S+ii=i+1ENDDO?SSETTALKON

RETURNi<=N推廣1第五十一頁,共82頁。假設(jiǎshè)求自然數1至N的積呢?[程序(chéngxù):求自然數1至N的和]SETTALKOFFS=0i=1INPUT〞請輸入(shūrù)N的值:〞TONDOWHILEi<=NS=S+ii=i+1ENDDO?SSETTALKON

RETURN推廣2S=1S=S*i第五十二頁,共82頁。例閱讀程序,并說出程序的運行(yùnxíng)結果IFi=3

LOOPENDIF程序(chéngxù)結果23456程序(chéngxù)結果2456RETURNSETTALKONSETTALKOFFi=1DOWHILEi<=5i=i+1ENDDO?i?“E”EE第五十三頁,共82頁。例求1~100以內(yǐnèi)所有奇數的和。SETTALKOFFS=0I=0DowhileI<100I=I+1Ifint(I/2)=I/2LoopendifS=S+IEnddo?“1到100的奇數(jīshù)和S=〞,SSETTALKONReturn以循環(xúnhuán)變量作為控制參數控制循環(xúnhuán)。S=0I=1Dowhile

I<100S=S+II=I+2Enddo?s程序改進:第五十四頁,共82頁。SETTALKOFFCLEARUSEzgbACCEPT“請輸入要查找人的姓名(xìngmíng):〞TONLOCATEALLFORXM=NDOWHILE.NOT.EOF()DISPCONTINUWAIT“按任意鍵繼續,按ESC鍵退出〞ENDDOUSE?“查找結束〞SETTALKONRETURN例

。利用數據表的操作(cāozuò)函數的返回值控制循環——————第五十五頁,共82頁。例求連乘數1*2*3*4*……,當積大于720時退出(tuìchū)程序。SettalkoffClearS=1I=1Dowhile.T.S=S*II=I+1Enddo?“S=〞,SSettalkonReturn循環控制條件恒為真,要使用EXIT語句(yǔjù)結束循環—————IFS>720

EXITENDIF第五十六頁,共82頁。例求[1,100]內所有(suǒyǒu)能被3或被5整除的數的個數。i=1DOWHILEi<=100i=i+1ENDDO

IFMOD(i,3)=0.OR.MOD(i,5)=0N=N+1ENDIFN=0&&定義一個(yīɡè)變量表示個數,并初始化&&總個數增加(zēngjiā)1SETTALKOFF?〞滿足條件的數的個數為〞,NSETTALKONRETURN?i&&顯示滿足條件的這個數第五十七頁,共82頁。語句(yǔjù)格式:FORX=ATOB[STEPC]<語句(yǔjù)序列1>[LOOP]<語句(yǔjù)序列2>[EXIT]<語句(yǔjù)序列3>ENDFOR|NEXT二、計數(jìshù)循環循環體功能:將FOR……ENDFOR循環中的<語句(yǔjù)序列>執行指定的次數。循環變量循環初值步長值循環終值第五十八頁,共82頁。例

求1~100之和。

SETTALKOFFClearS=0forI=1to100S=S+IEndfor?“S=〞,SSETTALKONReturn假設(jiǎshè)求100的階乘呢?思考(sīkǎo)1第五十九頁,共82頁。例求1~100之奇數(jīshù)和。SETTALKOFFClearS=0forI=1to100step2S=S+INext?“S=〞,SSETTALKONReturn假設(jiǎshè)求1~100的偶數和呢?思考(sīkǎo)2第六十頁,共82頁。例閱讀程序,寫出程序運行結果(jiēguǒ)SETTALKONSETTALKOFFS=0FORK=1TO10STEP2S=S+K

ENDFOR?SRETURNIFK=7LOOPENDIF思考(sīkǎo)3假設改成EXIT呢?第六十一頁,共82頁。語句(yǔjù)格式:SCAN[<范圍>][FOR<條件>]<語句(yǔjù)序列1>[LOOP]<語句(yǔjù)序列2>[EXIT]<語句(yǔjù)序列3>ENDSCAN三、表文件掃描(sǎomiáo)循環循環體功能:在指定的范圍內,掃描滿足給定條件的記錄,執行相應(xiāngyīng)的語句。第六十二頁,共82頁。SETTALKOFFUSEzgbACCEPT“請輸入(shūrù)要查找人的姓名:〞TONSCANFORXM=NDISPWAIT“按任意鍵繼續,按ESC鍵退出〞ENDSCANUSE?“查找結束〞SETTALKONRETURN例用SCAN語句(yǔjù)編程:在zgb.dbf中查找某人。第六十三頁,共82頁。對數據表掃描時三種(sānzhǒnɡ)循環的等價格式表文件(wénjiàn)掃描循環:SCANFOR…………ENDSCAN條件(tiáojiàn)循環:DOWHILE.NOT.EOF() …… SKIP ……ENDDO計數循環:n=RECCOUNT()FORi=1TOn

…… GOi

……ENDFOR第六十四頁,共82頁。循環(xúnhuán)嵌套循環體內又設置(shèzhì)循環的情況稱為多重循環,又稱為循環嵌套。內外循環的層次必須清楚,不允許有交叉現象出現。循環結構可以與分支結構嵌套,同樣不允許有交叉現象出現。以下交叉(jiāochā)情形不允許出現:第六十五頁,共82頁。例S1=1,S2=1+2,S3=1+2+3,……,Sn=1+2+3+……+N,編程求S1+S2+……+S100的和。s=0n=1Dowhilen<=100i=1sub=0Dowhilei<=nsub=sub+ii=i+1Enddos=s+subn=n+1Enddo?“S1+S2+……+S100=〞,s第六十六頁,共82頁。〔1〕求[1,30]之間所有(suǒyǒu)偶數的乘積。〔3〕求s=1!+2!+……+n!練習〔2〕S=1*2*3*…*N當S>800時退出(tuìchū),求此時最小的S值(4)求(5)求第六十七頁,共82頁。9.5程序(chéngxù)的模塊化9.5.1子程序、過程和函數(1).子程序的結構子程序與其他程序文件的惟一(wéiyī)區別是其末尾或返回處必須有返回語句。命令格式:RETURN.[TO.MASTER|TO.〈程序文件名〉|〈表達式〉]第六十八頁,共82頁。(2).子程序的調用子程序調用命令與主程序執行命令相同(xiānɡtónɡ),其格式都是:DO〈程序文件名〉|〈過程名〉[WITH.〈參數表〉](3).子程序的嵌套調用主程序可以調用子程序,子程序還可以調用另外的子程序,這就是子程序的嵌套調用。實際上,子程序和主程序都是相對的,任何一個程序可以調用其他程序,也可以被其他程序調用。每個被調用程序的末尾或返回處都要加上RETURN命令。第六十九頁,共82頁。(1).自定義函數的結構[FUNCTION.〈函數名〉][PARAMETERS.〈參數表〉]〈命令組〉RETURN.[〈表達式〉](2).自定義函數的調用(diàoyòng)調用(diàoyòng)格式是:〈函數名〉(〈自變量表〉)第七十頁,共82頁。(1).過程的結構過程的一般格式是:PROCEDURE〈過程名〉[PARAMETERS〈參數表〉]〈命令組〉RETURN(2).過程文件一個過程可以以文件形式單獨存在,也可以將多個過程合并(hébìng)到一個文件中,這個文件稱為過程文件。在過程文件中,每個過程仍然是獨立的,可以單獨調用。第七十一頁,共82頁。(3).過程(guòchéng)文件的翻開與關閉翻開過程(guòchéng)文件命

溫馨提示

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

評論

0/150

提交評論