




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
12十二月2023DELPHI程序設計基礎教程第四章過程與函數本章學習導讀4.1過程的說明和調用4.2函數的定義和調用4.3過程和函數的遞歸調用本章小結12十二月2023DELPHI程序設計基礎教程本章學習導讀本章介紹了過程和函數的使用、全局變量及局部變量的使用。過程與函數是實現一個特定功能的語句塊,可以在程序的其他地方被調用,也可以進行遞歸調用。過程在被調用時能執行某種特殊功能并能返回到調用它的地方,但不返回某個值,而函數調用后返回到調用點時要返回一個值。函數和過程使用前都要進行聲明。12十二月2023DELPHI程序設計基礎教程4.1過程的說明和調用4.1.1過程的說明4.1.2過程的調用12十二月2023DELPHI程序設計基礎教程4.1.1過程的說明過程的說明分為過程聲明和過程定義兩部分,過程的聲明在程序的type區中,即指定過程標識符(即過程名)和形式參數。過程名可以是任何合法的標識符;過程名后的括號內可以有多個參數也可以沒有參數,若有多個參數,不同類型之間用分號隔開。過程聲明后,還需要在implementation部分進行過程定義,過程定義即給出完整的過程頭部和過程體的定義。過程聲明的格式如下:procedure<過程名>([<形式參數表>]);過程定義的格式如下:procedure<過程名>([<形式參數表>]);
[<局部變量和常量聲明>]begin<過程語句體>end;12十二月2023DELPHI程序設計基礎教程4.1.2過程的調用過程調用的格式如下:過程名([<實際參數表>]);其中過程名是過程的標識符;實際參數可以是常量、變量或表達式,但實際參數的個數和類型必須與形式參數完全匹配,即個數相同,類型一致。例4-1:使用過程實現三個數從大到小排序輸出。12十二月2023DELPHI程序設計基礎教程4.2函數的定義和調用4.2.1函數的定義4.2.2函數的調用12十二月2023DELPHI程序設計基礎教程4.2.1函數的定義函數與過程基本相同,只是使用的保留字不同,而且多了一個返回值類型,它就可以用于表達式中,稱這種子程序為函數,這種語句序列的定義稱為函數的定義。函數定義在程序的說明部分進行,由函數首部和函數體組成,它指明函數名、函數形參及類型、函數返回值可以賦給函數名,也可以賦給Result變量。函數定義的格式如下:function函數名(形式參數列表:參數類型):函數返回類型;<說明部分>;
begin
語句1;
……函數體語句nend;例4-2:該實例定義了一個函數ShowNum,可以將一個浮點數按指定的精度輸出在屏幕上。12十二月2023DELPHI程序設計基礎教程4.2.2函數的調用函數返回一個函數值,過程則能完成一系列各種操作。函數的調用方式出現在表達式中,而過程調用是一句獨立的語句。函數調用的格式如下:函數名([<實際參數表>]);其中函數名是函數的標識符,它必須在程序調用之前進行說明;實際參數表是一些由逗號分隔的參數,參數出現的順序必須和函數定義時形式參數出現的順序和類型一致,一一對應。例4-3:求五邊形的面積,如教材圖4-1。12十二月2023DELPHI程序設計基礎教程4.3過程和函數的遞歸調用4.3.1過程和函數的遞歸調用4.3.2過程和函數的類型4.3.3過程與函數的調用約定12十二月2023DELPHI程序設計基礎教程4.3過程和函數的遞歸調用過程和函數調用他們本身,稱為遞歸調用。過程或函數A直接調用A本身,稱直接遞歸。過程或函數A調用過程或函數B,B又調用A,稱間接遞歸。在遞歸調用中,一個過程執行的某一步要用到它自身的上一步(或上幾步)的結果。遞歸在解決某些問題中,如在處理階乘運算、級數運算、冪指數運算等方面是十分有用的方法。它可以使某些看起來不易解決的問題變得容易解決,寫出的程序較簡短。但是遞歸通常需要花費較多的機器時間和占用較多的存儲空間,效率不太高。12十二月2023DELPHI程序設計基礎教程4.3.1過程和函數的遞歸調用下面的例子是要實現數學運算中的冪指數運算。例4-4:遞歸計算n!12十二月2023DELPHI程序設計基礎教程4.3.2過程和函數的類型Delphi7允許把過程和函數作為一個整體賦給某個變量或者作為參數傳遞給其他的過程和函數,這種變量就是過程或函數類型的變量。過程和函數類型的聲明過程如下例:
typeTIntegerFunction=function:integer;TProcedure=procedure;TStrProc=procedure(consts:string);varf:TIntegerFunction;//f是一個無參數、返回值為整數的函數類型的變量
proc:TProcedure;//proc是一個無參數的過程類型變量
sp:TStrProc;//sp是一個需要一個字符串為參數的過程類型變量12十二月2023DELPHI程序設計基礎教程4.3.2過程和函數的類型有了上面的聲明之后,若有如下函數定義:
procedureFLength(s:string);begin<過程體>end;12十二月2023DELPHI程序設計基礎教程4.3.3過程與函數的調用約定在調用過程或函數的時候,如果參數列表中具有多個參數,那么參數傳遞給過程或函數的順序會對結果產生一定的影響。對于不同的語言,參數傳遞的順序是不同的:Pascal語言是按照從左向右的順序進行傳遞的,而C語言是按照從右向左的順序來傳遞的。為了確定傳遞的順序,可以在過程或函數定義的時候,在directives部分利用指令字指定傳遞的順序。例4-5:可以通過該例看看參數傳遞的順序。12十二月2023DELPHI程序設計基礎教程本章小結在這一章中主要要求學生了解的要點有過程和函數的區別,過程和函數的聲明定義,過程和函數的調用及過
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝加工廠合同協議書
- 傳染疾病測試題及答案大全
- 近效期藥品試題及答案
- 冷鏈物流在醫療器械行業供應鏈金融中的應用現狀與優化策略報告
- 必讀書史記的試題及答案
- 數字技術在文化遺產數字化展示與傳播中的數據挖掘與分析策略研究
- 物業企業入職考試題庫及答案
- 門面租賃合同安全協議書
- 2025年太陽能熱利用技術政策環境與市場潛力分析報告
- 考研三選一試題及答案
- 醫院工作制度與人員崗位職責2011(衛生部醫管司修訂)
- 二級、三級電箱接線圖
- (完整版)非計劃性拔管魚骨圖
- 最新美術中國傳統玩具課件PPT
- 名著導讀《紅樓夢》PPT課件(完整版)
- GB∕T 10544-2022 橡膠軟管及軟管組合件 油基或水基流體適用的鋼絲纏繞增強外覆橡膠液壓型 規范
- 公路線形設計外文文獻中英對照
- Python編碼規范
- 體育——常用隊列隊形的口令及動作要領
- quartus ii 13.1安裝教程
- 《給教師的建議》(課堂PPT)
評論
0/150
提交評論