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

      14.1子程序、過(guò)程及應(yīng)用

      目的與要求:

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

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

      教學(xué)安排:

      自定義函數(shù)和過(guò)程設(shè)計(jì)                        40分鐘

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

      教學(xué)方法:

      CAI、圖形、表格

      教學(xué)重點(diǎn)及如何突出重點(diǎn)、難點(diǎn)及如何突破難點(diǎn):

      教學(xué)重點(diǎn):

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

      教學(xué)難點(diǎn):

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

      基本內(nèi)容

      教學(xué)
      手段

      課堂設(shè)計(jì)
      和時(shí)間安排

      8.6 過(guò)程和函數(shù)程序設(shè)計(jì)

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

      1.自定義函數(shù)

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

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

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

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

              PARAMETERS <參數(shù)表>

                <語(yǔ)句序列>

              RETURN <表達(dá)式>

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

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

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

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

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

      2過(guò)程設(shè)計(jì)

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

      【格式】PROCEDURE  <過(guò)程名>

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

               <命令序列>

               [RETURN]

      【功能】定義一個(gè)過(guò)程。

      【說(shuō)明】過(guò)程作為程序的一部分時(shí)往往列在程序的最后。

      ⑴ 過(guò)程的格式是通過(guò)PROCEDURE  過(guò)程名…ENDPROC括起來(lái)的;

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

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

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

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

      3.主程序和子程序

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

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

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

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

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

      二、子程序的返回

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

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

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

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

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

      * 主程序:  E7_20.PRG

      CLEAR

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

      FOR i=1 TO 5

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

       S=S+mul(i)    && 通過(guò)子程序名調(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變量作用域

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

      一、全程變量

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

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

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

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

      二、局部變量

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

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

      三、私有變量

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

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

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

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

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

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

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

      講述

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

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

      過(guò)程設(shè)計(jì)15分鐘

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

      子程序的返回10分鐘

      全程變量8分鐘

      局部變量8分鐘

      私有變量8分鐘


      CopyRight ? 2016 宣城市信息工程學(xué)校 地址:宣城市梅溪路902號(hào) 后臺(tái)登錄

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

      日韩无码第一页,一区_97资源人妻碰碰碰_有码无码人妻Av_午夜亚洲国产理论片2020网站 亚洲无码片AV一级 岛国av无码专区免费看
      <style id="uedzd"></style>
    3. <style id="uedzd"></style>
    4. <dfn id="uedzd"></dfn>
    5. <dfn id="uedzd"></dfn>
      1. <ruby id="uedzd"></ruby>
        <ruby id="uedzd"></ruby>