• 名師風采
    裴鵬飛,男,中共黨員,1994.9~1998.7,安徽農(nóng)業(yè)技術(shù)師范學院本科畢業(yè)。1998.7~2001.8 在宣城市宣州區(qū)雙橋職高擔任計算機教師。2001.9至今調(diào)至宣城市職高(更名為宣城市信息工程學校)……
    工作坊概況
    2016年安徽省教育廳、財政廳、人社廳等單位根據(jù)安徽省中等職業(yè)教育質(zhì)量提升工程批準創(chuàng)建的,目前工作坊計12人,均具有本科以上學歷,碩士研究生1人,副高6人,中級職稱2人, 35歲以下青年教師3人, 外聘教師2人。
    14.1子程序、過程及應用
    發(fā)布時間:2019-01-27 01:01:36  信息來源:出處:   閱讀次數(shù):

    14.1子程序、過程及應用

    目的與要求:

    通過本次課的學習,掌握VFP的子程序、過程與自定義函數(shù)。

    教學內(nèi)容與時間安排、教學方法:

    教學安排:

    自定義函數(shù)和過程設計                        40分鐘

    子程序的調(diào)用、變量和作用域                  40分鐘

    教學方法:

    CAI、圖形、表格

    教學重點及如何突出重點、難點及如何突破難點:

    教學重點:

    自定義函數(shù)和過程設計、子程序的調(diào)用、變量和作用域

    教學難點:

    子程序的調(diào)用、變量和作用域

    基本內(nèi)容

    教學
    手段

    課堂設計
    和時間安排

    8.6 過程和函數(shù)程序設計

    在程序設計過程中,經(jīng)常把能夠完成一個特定功能的程序編寫成一個過程,作為一個模塊。以便在其它程序中使用該功能時調(diào)用該程序。這種可以完成一個特定功能的程序稱為自定義函數(shù)或過程

    1.自定義函數(shù)

      對一些常用算法,可以編寫成通用程序,例如為了將一個小寫字符串轉(zhuǎn)換成大寫的字符串,系統(tǒng)提供了 UPPER() 函數(shù)。系統(tǒng)將一些通用的算法編寫成一個個程序提供給用戶使用,這就是所謂的系統(tǒng)函數(shù)。而用戶自定義函數(shù)是用戶根據(jù)需要自己編寫的函數(shù)。

    一、自定義函數(shù)的建立

    自定義函數(shù)的格式如下。

    【格式】FUNCTION  <函數(shù)名>

            PARAMETERS <參數(shù)表>

              <語句序列>

            RETURN <表達式>

    【功能】定義一個用戶自定義函數(shù)。

    【說明】若使用FUNCTION語句來指出函數(shù)名,表示該函數(shù)包含在調(diào)用程序中。若缺省該語句,表示此函數(shù)是一個獨立文件,函數(shù)名將在建立文件時確定,其擴展名默認為.PRG,并可使用命令MODIFY COMMAND <函數(shù)名>來建立或編輯該自定義函數(shù)。還需注意,自定義函數(shù)的函數(shù)名不能和Visual  FoxPro系統(tǒng)函數(shù)同名,也不能和內(nèi)存變量同名。

    <語句序列>組成函數(shù)體,用于進行各種處理,簡單函數(shù)的函數(shù)體可以為空。

    RETURN 語句用于返回函數(shù)值,其中的<表達式>值就是函數(shù)值。若缺省該語句,則返回的函數(shù)值為.T.。

    自定義函數(shù)與系統(tǒng)函數(shù)調(diào)用方法相同,通過函數(shù)名調(diào)用,形式為:函數(shù)名(<參數(shù)表>)。

    2過程設計

       過程是子程序的另一種形式,它和函數(shù)的不同之處是:在程序結(jié)束之后,不必返回值。如果希望返回參數(shù),可以通過PARAMETERS語句返回,而不是通過 RETURN 詞句。當調(diào)用過程時,將參數(shù)傳遞給被調(diào)用的過程,過程執(zhí)行完后,將參數(shù)通過 PAMETERS 再傳遞給主程序。所以,在過程中 RETURN 語句并不是必須的,有 RETURN 語句只不過是形式上更完整而已。

    【格式】PROCEDURE  <過程名>

             [PARAMETERS <參數(shù)表>]

             <命令序列>

             [RETURN]

    【功能】定義一個過程。

    【說明】過程作為程序的一部分時往往列在程序的最后。

    ⑴ 過程的格式是通過PROCEDURE  過程名…ENDPROC括起來的;

    ⑵  PARAMETERS語句即可傳入?yún)?shù),也可以輸出參數(shù);

    ⑶ 過程調(diào)用可以使用命令:DO過程名 WITH 參數(shù)|參數(shù)變量,如果沒有參數(shù)可以省略WITH關(guān)鍵字;

    ⑷ 在參數(shù)傳遞過程中,一次可以傳遞若干個變量。每次傳遞多少個變量,反映在調(diào)用命令中寫多少個變量,接收命令中也要寫多少個變量,傳遞變量之間存在一一對應關(guān)系。這實際是一種按地址傳遞變量的方式。在函數(shù)的PARAMETER參數(shù)傳遞過程中還提供了一種按值傳送方式,需要使用SET UDFPARMS  TO VALUE|REFERENCE命令進行設置。

    -----------本節(jié)課結(jié)束-----------

    3.主程序和子程序

    一、帶參數(shù)子程序的調(diào)用

    【格式】DO <程序名1> [WITH <參數(shù)表>][IN <程序名2>]

    【功能】主程序<程序名2>調(diào)用子程序<程序名1>。

    【說明】<參數(shù)表>中的參數(shù)可以是表達式,但若為內(nèi)存變量必須具有初值;

     調(diào)用子程序時參數(shù)表中的參數(shù)要傳送給子程序,子程序中也必須設置相應的參數(shù)接收語句。PARAMETERS 可以完成此項功能,但必須是子程序的第一條語句。

    二、子程序的返回

       主程序與子程序的概念是相對的,子程序還可調(diào)用它自己的子程序,即子程序可以嵌套調(diào)用。Visual FoxPro的返回命令包含了因嵌套而引出的多種返回方式。

    【格式】RETURN  [TO MASTER|TO <程序文件名>]

    【功能】TO  MASTER 使返回時直接返回到最外層主程序,TO <程序文件名>強制返回到指定的程序文件。

    【例】計算S=1!+2!+3!+4!+5!,要求在子程序中計算n!,并

    定義為函數(shù)。運行

    * 主程序:  E7_20.PRG

    CLEAR

    S=0   && 累加器初值為0

    FOR i=1 TO 5

     ?STR(i)+"的階乘=",STR(mul(i),3)  && 輸出每個數(shù)的階乘

     S=S+mul(i)    && 通過子程序名調(diào)用子程序函數(shù),累加階乘

    NEXT

    ?"1+2!+3!+4!+5!=",STR(S,5)

    *     子程序函數(shù):mul.PRG

    PARAMETERS n      && 定義參數(shù)

    mul=1             && 累乘器初值為1

    FOR j=1 TO n

       mul=mul*j         && 累乘

    NEXT

    RETURN mul        && 返回累乘結(jié)果

    .3.4變量作用域

       當程序使用函數(shù)或過程作為子程序來設計時,弄清楚變量的作用域尤其重要。變量的作用域指的是變量在什么范圍內(nèi)是有效或能被訪問的。在Visual FoxPro中關(guān)于變量聲明分為如下幾種情況。

    一、全程變量

       在任何模塊中都可使用的變量稱為全程變量,全程變量必須先定義后使用。全程變量可以通過關(guān)鍵字 PUBLIC 命令來定義。

    【格式】PUBLIC  <內(nèi)存變量表>

    【功能】將<內(nèi)存變量表>指定的變量設置為公共變量,并將這些變量的初值賦以.F.。

    【說明】若下層模塊中建立的內(nèi)存變量要供上層模塊使用,或某模塊中建立的內(nèi)存變量要供并列模塊使用,必須將這種變量說明成公共變量。

    二、局部變量

       局部變量使用 LOCAL 關(guān)鍵字來說明,局部變量只在當前定義的程序中有效,一旦該程序執(zhí)行完成將自動釋放局部變量。

    注意:LOCAL 與 LOCATE 前4個字符字母相同,故不可使用縮寫。

    三、私有變量

       在程序中使用,沒有通過PUBLIC和LOCAL聲明而由系統(tǒng)自動創(chuàng)建的內(nèi)存變量是私有變量。這種變量不同于局部變量和全局變

    量,它的作用范圍在本(子)程序及下屬的子程序內(nèi)有效,而在定義它的模塊程序運行結(jié)束時自動清除。

       私有變量允許與上層模塊程序的變量同名,但此時為了分清楚兩者是不同的變量,系統(tǒng)會采用暫時屏蔽上級模塊變量。這種隱蔽說明只是對上級程序的變量進行屏蔽,而不創(chuàng)建變量。隱蔽的目的是為了當前程序使用同名變量時不至于沖突。私有變量也可以使用PRIVATE關(guān)鍵字來說明。

    【格式】PRIVATE  [<內(nèi)存變量表>][ALL[LIKE|EXCEPT <通配符>]]

    【功能】聲明私有變量并隱藏上級程序的同名變量,直到聲明它的程序、過程或自定義函數(shù)執(zhí)行結(jié)束后,才恢復使用先前隱藏的變量。

    【說明】“聲明”與“建立”不一樣,前者僅指變量的類型,后者包括類型與值。PUBLIC命令除聲明變量的類型外還賦了初值,故稱為建立;而PRIVATE并不自動對變量賦值,僅是聲明而已。

    在程序模塊調(diào)用時,參數(shù)接收命令PARAMETERS聲明的參變量也是私有變量,與PRIVATE命令相同。

    講述

    自定義函數(shù)介紹5分鐘

    自定義函數(shù)的建立15分鐘

    過程設計15分鐘

    帶參數(shù)子程序的調(diào)用8分鐘

    子程序的返回10分鐘

    全程變量8分鐘

    局部變量8分鐘

    私有變量8分鐘


    CopyRight ? 2016 宣城市信息工程學校 地址:宣城市梅溪路902號 后臺登錄

    郵編:242000 電話(傳真):0563-2629508 如有問題,歡迎惠賜 Email:xclmq@163.com

    午夜免费啪在线观看视频,国产日韩欧美久久一区,久久无码高潮喷潮,国产日韩久久久久老熟女 在线观看肉片AV网站免费