1. <small id="kntrr"><delect id="kntrr"></delect></small>
    2. <sub id="kntrr"></sub>
        1. <form id="kntrr"><listing id="kntrr"></listing></form>
            江蘇省高校計算機等級考試命題研究院 江蘇省高校計算機等級考試輔導
            2.1程序與程序文件

            程序與程序文件

            考點1 程序的概念、建立與執行

              1程序的概念
              程序是能夠完成一定任務的命令集合。這組命令被存放在稱為程序文件或命令文件的文本文件中。當運行程序時,系統會按照一定的次序自動執行包含在程序文件中的命令。
              2程序文件的建立與修改
              程序文件的建立與修改一般是通過調用系統內置的文本編輯器來進行的。其建立步驟如下。
              (l)打開文本編輯窗口。
              (2)在文本編輯窗口中輸入程序內容,此處所輸入的程序命令不會馬上被執行。
              (3)編輯完成后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件。
              3打開或修改程序文件的方法
              (1)從“文件”菜單中選擇“打開”命令,彈出“打開”對話框。
              (2)在“文件類型”列表框中選擇“程序”。
              (3)在文件列表框中選定要修改的文件,并單擊“確定”按鈕。
              (4)編輯修改后,從“文件”菜單中選擇“保存”命令或按快捷鍵Ctrl+W保存程序文件,若要放棄修改,可直接按Esc鍵,或從“文件”菜單中選擇“還原”命令。
              4程序文件的執行
              程序文件建立后,可使用多種方式、多次執行它,常用的以下有兩種方式。
              (l)菜單方式。
              (2)命令方式。

            考點2 簡單的輸入輸出命令

              程序一般都包含數據輸入、數據處理和數據輸出3個部分。
              1 INPUT命令
              格式:INPUT[<字符表達式>]TO<內存變量>
              功能:該命令等待用戶從鍵盤輸入數據,當用戶回車后,系統將表達式的值存入指定的內存變量。
              注釋:輸入的數據可以是常量、變量,也可以是更為一般的表達式。但不能不輸入任何內容直接按回車鍵輸入字符串時必須加定界符,輸入邏輯型常量時要用圓點定界(如.T. ,.F.),則輸入日期時間型常量時要用大括號(如{^2001-03-01})。
              2 ACCEPT命令
              格式:ACCEPT[<字符表達式>]TO<內存變量>
              功能:該命令等待用戶從鍵盤輸入字符串,當用戶回車后,系統將表達式的值存入指定的內存變量。
              注釋:該命令只能接收字符串。用戶在輸入字符串時不需要加定界符;否則,系統會把定界符作為字符串本身的一部分。如果不輸入任何內容而直接按回車鍵,系統會把空串賦給指定的內存變量。
              3 WAIT命令
              格式:WAIT[<字符表達式>][TO<內存變量>][WINDOW[AT<行>,<列>]]
                      [NOWAIT][CLEARINOCLEAR][TIMEOUT<數值表達式>]
              功能:該命令顯示字符表達式的值作為提示信息,暫停程序的執行,直到用戶按任意鍵或單擊鼠標時繼續程序運行。
              注釋:<內存變量>用來保存用戶輸入的字符,其類型為字符型。若用戶按的是Enter鍵或單擊了鼠標,那么<內存變量>中保存的將是空串若不選TO <內存變量>短語,則輸入的單字符不保留。

            小提示:
              如果用DO命令執行查詢文件、菜單文件,在文件名中必須要包括擴展名(QPR、MPR)。

            7.2 程序的基本結構

              程序結構是指程序中命令或語句執行的流程結構,包括3種基本結構:順序結構、選擇結構和循環結構。

            考點3 順序結構

              順序結構是最簡單的程序結構,它是按命令在程序中出現的先后次序依次執行。

            考點4 選擇結構

              支持選擇結構的語句包括條件語句和分支語句。
              1條件語句
              格式:
                  IF<條件>
                      <語句序列1>
                  [ELSE>
                    <語句序列2>]
                    ENDIF
              功能:該語句根據<條件>是否成立從兩組代碼中選擇一組執行。
              語句的執行流程圖如圖7-1和圖7-2所示。
             
               圖7-1有ELSE的選擇語句                   圖7-2無ELSE的選擇語句
              2分支語句
              格式:DO CASE
                  CASE<條件1>
                      <語句序列1>
                    CASE<條件2>
                      <語句序列2>
               ……
                    CASE<條件n>
                      <語句序列n>
                    [OTHERWISE
                      <語句序列>]
                    ENDCASE
               功能:語句執行時,依次判斷CASE后面的條件是否成立。分支語句實現的是一種擴展的選擇結構,可以根據條件從多組代碼中選擇一組執行。分支語句的流程如圖7-3所示。


             
                         圖7-3 多分支語句

            考點5 循環結構

              循環結構也稱為重復結構,是指程序在執行的過程中,其中的某段代碼被重復執行若一干珠。被重復執行的代碼段,通常稱為循環體。Visual FoxPro支持循環結構的語句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。
              1 DO WHILE - ENDDO語句
                格式:
                    DO WHILE<條件>
                        <語句序列1>
                      [LOOP]
                        <語句序列2>
                      [EXIT]
                        <語句序列3>
                        ENDDO
              功能:首先判斷循環條件是否為真,如果成立則執行DO WHILE和ENDDO之間的命令序列,如果遇到LOOP語句,則回到DO WHILE處繼續執行,遇到EXIT語句,則退出循環體;當執行到ENDDO時,再次返回DO WHILE處判斷循環條件,一直到條件為假時,退出循環體,執行ENDDO之后的語句。
              DO WHILE循環語句的控制流程如圖7-4和圖7-5所示。


             
               圖7-4基本循環結構圖           7-5含有LOOP或EXIT的循環
              2 FOR - ENDFOR語句
                格式:
                    FOR<循環變量>=<初值>TO<終值>[STEP<步長>]
                          <循環體>
                        ENDFOR
              功能:首先將初值賦給循環變量,然后判斷循環條件是否成立(若步長為正值,則循環條件為<循環變量><=<終值>;若步長為負值,則循環條件為<循環變量>>=<終值>)。如果成立,則執行循環體,然后循環變量增加一個步長值,并再次判斷循環條件,一直到條件為假時,退出循環體。該語句通常用于實現循環次數已知情況下的循環結構〕
              3 SCAN - ENDSCAN語句
              格式:
                    SCAN[<范圍>][FOR<條件1>][WHERE<條件2>]
                          <循環體>
                        ENDSCAN
               功能:該循環語句一般用于處理表中記錄,語句可指明需要處理的記錄范圍及應滿足的條件。執行該語句時,記錄指針自動、依次地在當前表的指定范圍內滿足條件的記錄上移動,對每一條記錄執行循環體內的命令。

              7.3 多模塊程序
              模塊是一個相對獨立的程序段,它可以被其他模塊調用,也可以調用其他模塊。通常,把被其他模塊調用的模塊稱為子程序,把調用其他模塊而沒有被其他模塊調用的模塊稱為主程序。應用程序一般都是多模塊程序,包含多個程序模塊。

            考點6 模塊的定義和調用

              1模塊的定義
              在Visual FoxPro中,模塊可以是命令文件,也可以是過程。過程定義的語句格式為:
                    PROCEDURE|FUNCTION<過程名>
                        <命令序列>
                      [RETURN[<表達式>]]
                    [ENDPROCIENDFUNC]
              功能說明如下。
              (1) PROCEDURE|FUNCTION命令表示一個過程的開始,并命名過程。過程名必須以字母或下劃線開頭,可以包含數字、字母和下劃線。
              (2)當程序執行到RETURN命令時,控制將轉回到調用處(或命令窗口),并返回表達式的值。若默認RETURN命令,系統將在過程結束處自動調用一條隱含的RETURN命令。
              (3)ENDPROC|ENDFUNC命令表示一個過程的結束。如果默認此語句,那么過程結束于下一條PROCEDURE|FUNCTION命令或文件尾。
              2模塊的調用
              模塊調用的格式有兩種。
              (1)使用DO命令,格式如下。
                    DO<文件名>|<過程名>
              (2)在名字后加一對小括號,格式如下。
                    <文件名>|<過程名>()
              3打開過程文件
              命令格式如下。
                    SET PROCEDURE TO[<過程文件1>[,<過程文件2>,…][ADDITIVE]
              4關閉過程文件
              命令格式如下。
                    RELEASE PROCEDURE<過程文件1>[,<過程文件2>,…]

            考點7 參數傳遞

              模塊程序可以接收調用程序傳遞過來的參數。
              (1)PARAMETERS<形參變量1>[,<形參變量2>,…]。
              (2) LPARAMETERS<形參變量1>[,<形參變量2>,…]。
              說明PARAMETERS聲明的形參被看做是模塊程序中建立的私有變量,LPARAMETERS聲明的形參被看做是模塊程序中建立的局部變量。除此之外,兩條命令無其他區別。
              不管是PARAMETERS或LPARAMETERS,都應該是模塊程序的第一條可執行命令。
              (1)調用參數調用模塊程序參數的格式如下。
                    DO<文件名>|<過程名>WITH<實參1>[,<實參2>,…]
                    <文件名>|<過程名>(<實參1>[,<實參2>,…])
              說明:實參可以是常量、變量或一般表達式,調用模塊程序時,形參的數目不能少于實參的數目,當形參數目多于實參數目時,多余的形參取初值邏輯假.F.。
              (2)參數的傳遞。模塊中參數的傳遞分為兩種:按值傳遞(實參一般為常量和表達式)和引用傳遞(實參一般為變量)。參數的傳遞方式可以重新設置,格式如下。
                        SET UDFPARMS TO VALUE|REFERENCE

            考點8 變量的作用域

              變量的一個重要屬性是作用域。變量的作用域指的是變量在什么范圍內是有效或能夠被訪問的。在Visual FoxPro中,可分為公共變量、私有變量和局部變量3類。
              1.公共變量
              在任何模塊中都可使用的變量稱為公共變量,公共變量必須先定義后使用,格式如下。
                    PUBLIC<內存變量表>
              說明:該命令是建立公共的內存變量,并賦以初值邏輯假.F.。建立好的公共變量一直有效,即使程序結束返回命令窗口也不會消失,只有執行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被釋放。
              2私有變量
              在程序中直接使用(沒有預先聲明),而由系統自動隱含建立的變量都是私有變量。
              私有變量的作用域是建立它的模塊及其下屬的各層模塊。
              3局部變量
              局部變量只能在建立它的模塊中使用,不能在上層或下層模塊中使用。程序結束時,自動釋放局部變量。格式如下
                LOCAL<內存變量表>
              說明:該變量同樣給建立的內存變量賦以初值邏輯假.F.,也必須先定義后使用。當子程序中定義的變量名與主程序中同名時,為避免子程序中的變量值改變主程序中的變量值,可在子程序中使用PRIVATE命令隱藏主程序中可能存在的變量,使這些變量在子程序中暫時無效。格式如下。
              (1)PRIVATE<內存變量表>。
              (2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。
              說明:該命令并不建立內存變量,它只是隱藏指定的在上層模塊中可能已經存在的內存變量,但是當模塊程序返回到上層模塊時,被隱藏的變量就自動恢復有效性,保持原值。

            7.4 程序調試

            考點9 調試器環境

              程序調試是指在發現程序有錯誤的情況下,確定出錯位置并糾正錯誤。計算機一般能夠發現程序的出錯位置,但對于計算機不能發現的錯誤,只能由用戶自己來查錯。Visual FoxPro提供的功能強大的調試工具—調試器,可幫助我們進行這項工作。
              調用調試器的方法一般有兩種。
              (l)選擇“工具”菜單中的“調試器”命令。
              (2)在命令窗口中輸入DEBUG命令。

            考點10 設置斷點

              可以設置以下4種類型的斷點。
              (1)在定位處中斷:可指定一行代碼,當程序調試執行到該行時,中斷程序運行。
              (2)如果表達式值為真,則在定位處中斷:指定一行代碼及一個表達式,當程序調試執行到該行代碼時,如果表達式值為真,就中斷程序運行。
              (3)當表達式值為真時中斷:可以指定一個表達式,在程序調試執行過程中,當該表達式值為邏輯真.T.時,中斷程序運行。
              (4)當表達式值改變時中斷:可以指定一個表達式,在程序調試執行過程中,當該表達式值改變時,中斷程序運行。

            考點11 “調試”菜單

              “調試”菜單包含執行程序、選擇執行方式、終止程序執行、修改程序,以及調整程序執行速度等命令。各命令具體功能如下。
              (1)運行:執行在跟蹤窗口中打開的程序:
              (2)繼續執行:當程序被中斷時,該命令可使程序在中斷處繼續往下執行。
              (3)取消:終止程序的調試執行,并關閉程序。
              (4)定位修改:終止程序的調試執行,然后在文本編輯窗口中打開調試程序。
              (5)跳出:以連續方式而非單步方式繼續執行被調用模塊程序中的代碼,然后在調用程序的調用語句的下一行處中斷。
              (6)單步:單步執行下一行代碼。如果下一行代碼調用了過程或者方法程序,那么該過程或者方法程序在后臺執行。
              (7)單步跟蹤:單步執行下一行代碼。
              (8)運行到光標處:從當前位置執行代碼直至光標處中斷。
              (9)調速:打開“調整運行速度”對話框,設置兩代碼行執行之間的延遲秒數。
              (10)設置下一條語句:程序中斷時選擇該命令,可使光標所在行成為恢復執行后要執行的語句。

            国产在线精品一区二区三区不卡_亚洲第一极品精品无码_永久免费无码网站在线观看_亚洲av综合日韩