《過程》教學課件_第1頁
《過程》教學課件_第2頁
《過程》教學課件_第3頁
《過程》教學課件_第4頁
《過程》教學課件_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、過程教學PPT課件過程教學PPT課件例1、求sin5+sin8+sin13的值例2、求5!+8!+13!的和Private Sub Command1_Click() print Sin(5) + Sin(8) + Sin(13)End Sub引例Private Sub Command1_Click() print Fact(5) + Fact(8) + Fact(13)End SubPrivate Sub Command1_Click() print Sin(5) + Sin(8) + Sin(13)End Sub例1、求sin5+sin8+sin13的值Private S系統沒有求階乘的函數

2、,問題如何解決?解決思路: 設計一段獨立計算階乘的程序,然后調用這段程序計算階乘。引例Founction fact(n as integer)t=1for i=1 to nt=t*1next Ifact=tEnd Sub定義函數計算階乘返回結果系統沒有求階乘的函數,問題如何解決?引例Founction 將一個“較大”的問題,劃分為若干個獨立的“小”問題求解,小問題解決相對容易,只要解決了每一個“小”問題,整個問題即可解決。 每個“小” 問題的求解設計一段獨立的程序,稱為一個“過程”。 整個問題求解通過多個“過程”實現,這種解決問題的方法,體現模塊化程序設計思想。第8章 過程 將一個“較大”的問

3、題,劃分為若干個獨立的“小”問題使用過程編程有兩大好處:1.過程可使程序劃分成離散的邏輯單元,每個單元都比無過程的整個程序容易調試。2.一個程序中的過程,往往不必修改或只需稍作改動,便可以成為另一個程序的構件。 第8章 過程使用過程編程有兩大好處:第8章 過程VB過程的分類:1、內部過程: 包括系統內部的函數過程(abs,sqr)和事件過程(command1_click())。2、用戶自定義過程: 用戶根據自己的需要定義的,可供應用程序多次調用的過程。VB中的自定義過程又分為: (1) 以Sub開始的子過程; (2) 以Function開始的函數過程; (3) 以Property開始的屬性過程

4、; (4) 以Event開始的事件過程。 第8章 過程VB過程的分類:第8章 過程1. 函數過程的建立 1)用 “工具”“添加函數”菜單命令來添加函數過程。2)在代碼窗口中直接編寫過程的代碼 代碼的基本格式如下:Function 過程名 (形式參數列表) As 數據類型 語句組 過程名=表達式End Function8.1 Function(函數)過程1. 函數過程的建立 8.1 Function(函數)過程其中:(1) 過程名 過程名的命名規則與變量命名相同。它有兩方面的作用,一方面標識一個過程,另一方面可將過程運算的結果傳回到調用處。(2) As 數據類型 是Function過程返回值的類

5、型,默認為變體類型。(3) (形式參數列表) 代表調用時要傳遞給Function過程的參數變量列表。多個參數間用逗號隔開。形式參數(簡稱形參)本身沒有值,只代表了參數的個數、位置和類型,系統并不為其分配實際內存空間。8.1 Function(函數)過程其中:8.1 Function(函數)過程其中:(4) 語句組 又稱為函數體,函數體中的執行語句,用來完成函數值的運算。在程序流程返回調用程序之前,必須將函數值賦給函數名。(5)將函數值賦給函數 格式:過程名=表達式8.1 Function(函數)過程其中:8.1 Function(函數)過程例8-1 編寫計算n的階乘的Function過程。 定

6、義下面函數對應的Function過程。 例8-2 已知直角三角形兩直角邊的值,編寫計算第三邊(斜邊)的Function過程。編寫求兩個數中最大數的函數過程。 (x0)(x=0)(x2.函數過程的調用 1)直接調用,即有返回值的調用,最簡單的情況就是在賦值語句中調用函數過程,其形式為:變量名=函數過程名(實參表)2)用call語句調用,即沒有返回值的調用,格式為: call 過程名(實際參數表) 或 過程名 實際參數表3)無參函數調用,調用無參函數,只須寫出函數名 如:Now Time Date等函數8.1 Function(函數)過程2.函數過程的調用 如:Now Time Date等函數8.

7、說明:定義函數時,在函數名后指定的參數稱為形式參數;在調用函數時,函數名后指定的參數稱為實際參數。在函數調用時,實參通過形參將數據傳遞給被調用函數。 函數被調用后可以返回一個運算結果,即函數值。函數值是通過給函數名賦值的方法獲得的。函數也可以沒有返回值,調用無返回值的函數,或不需要函數的返回值時,可以采用第二種調用格式.8.1 Function(函數)過程說明:8.1 Function(函數)過程 兩類Sub過程,即事件過程和用戶自定義Sub過程。 事件過程:是系統對事件響應時執行的一段程序代碼,它不能被其它過程調用。 用戶自定義Sub過程:是用戶自己建立的一種過程,它可以被其它過程隨意調用。

8、 1. Sub過程的建立 1)通過菜單 2)通過代碼窗體直接輸入代碼,格式如下:過程名(形式參數列表) 語句組 End Sub 8.2 Sub過程 兩類Sub過程,即事件過程和用戶自定義Sub過程。8.2其中:(1) 過程名 過程名的命名規則與變量命名規則相同,它起到標識一個過程的作用。(2) (形式參數列表) 說明在調用過程時要傳遞給Sub過程的參數列表,是過程與調用程序之間數據傳送的主要渠道。當有一個以上參數時,參數之間用逗號隔開。 當無參數形式參數列表時,這種過程叫無參過程,其形式如下:過程名()8.2 Sub過程其中:8.2 Sub過程(3) 語句組 是一組用于完成特定功能的程序段(過

9、程體),其中可包含Exit Sub語句用于強行退出過程。注意:通用過程與函數不同,不能通過過程名返回運算結果,而需要通過特定的形式參數將計算結果返回。8.2 Sub過程(3) 語句組 是一組用于完成特定功能的程序段(過程體),例8-3 寫出輸出如下圖形的Sub過程*例8-4 計算任意整數n的階乘的Sub過程。 編寫求兩個數中最大數的Sub過程。例8-5 編寫一個判斷素數的通用過程。8.2 Sub過程例8-3 寫出輸出如下圖形的Sub過程8.2 Sub過程2、Sub過程的調用 格式: call 過程名(實參表) 或 過程名 實參列表8.2 Sub過程2、Sub過程的調用8.2 Sub過程在主程序

10、調用過程和過程處理的結果返回主程序的運行過程中,形參與實參之間的數據傳遞是關鍵。在Function過程和Sub過程被調用之前,所有形參都無定義,也就是說所有的形參既沒有具體的存儲單元也無具體的值,只是起到形式上的作用。當程序執行轉向過程時,實參和形參按一定方式結合,形參獲取了相應的值后執行過程體,過程的運算結果通過形參(Function過程也可通過函數名)返回到主程序。8.3 參數傳遞 在主程序調用過程和過程處理的結果返回主程序的運行過程中,形參1. 形式參數與實際參數 1) 形式參數 在定義過程時,過程名后圓括號中列出的就是形式參數(簡稱形參)。在過程被調用時,它接收實參傳來的數據。 形參只

11、能是變量或數組,不能是常量、表達式或函數。2) 實際參數 在過程調用時,過程名后的圓括號中列出的數據稱為實際參數(簡稱實參),它用于向形參傳送數據。 在過程調用時,實參可以是常量、變量,數組或函數。8.3 參數傳遞 1. 形式參數與實際參數 8.3 參數傳遞 2 參數的傳遞方式 1) 按值傳遞 在過程調用執行時,實參只將其本身的值傳遞(復制)給形參,使形參得到實參的值。 采用傳值方式,在過程執行時,形參的變化不會影響實參的值,即不會將形參的值再回送給實參,這種參數傳遞方式稱為“單向”數據傳遞。 采用按值傳遞方式調用過程時,實參只能是常量、表達式或括在一對園括號中的變量名。例如, Call jc

12、h(9,3) Call sjx(x+3,y+2) 定義過程時在形參前加ByVal關鍵字,調用時,無論實參是什么形式,參數傳遞均按值傳遞方式進行。 8.3 參數傳遞 2 參數的傳遞方式 8.3 參數傳遞 2) 按地址傳遞 這是VB中傳遞參數默認的方式。它與傳值方式不同,實參在過程調用執行時,將其在內存中所分配的存儲單元地址傳遞給形參,使形參與實參具有相同的內存地址,即使用同一存儲單元。 在過程執行中,形參的任何變化都直接影響實參的值,即相當于形參將其值又回送給實參,這種參數傳遞方式稱為“雙向”數據傳遞。 采用地址傳遞方式調用過程(或函數)時,實參只能是變量或數組,不能是常量或表達式。8.3 參數

13、傳遞 2) 按地址傳遞8.3 參數傳遞 例8-10 編寫一個降序排序的過程,調用編寫的過程對任意輸入的一組數排序。過程應用舉例例8-10 編寫一個降序排序的過程,調用編寫的過程對任意輸 VB的應用程序由若干個過程組成,這些過程一般保存在窗體文件(.frm)或標準模塊文件(.bas)中。變量在過程代碼中是必不可少的。一個變量、過程所處的位置不同,可被訪問的范圍也不同。把變量、過程可被訪問的范圍稱為變量、過程的作用域。 應用程序(.vbp)若干個窗體模塊(*.frm)文件若干個標準模塊(.bas)文件事件過程(Sub)自定義通用過程(Sub)自定義函數過程(Function)自定義通用過程(Sub

14、)自定義函數過程(Function)Vb應用程序組成8.4 變量、過程的作用域 VB的應用程序由若干個過程組成,這些過程一般保存1.過程的作用域 在定義過程時,可以指定關鍵字Private或Public,不同的關鍵字使定義的過程作用范圍有所不同。 1)窗體(模塊)級過程 窗體級過程是指在窗體通用聲明段定義的、用Private關鍵字限制的過程;模塊級過程是指在標準模塊內定義的、用Private關鍵字限制的過程,該類過程只能在所屬的窗體或標準模塊中被其它過程調用。 8.4 變量、過程的作用域1.過程的作用域 8.4 變量、過程的作用域2) 全局級過程 指在窗體或標準模塊中定義的過程,其默認是全局的

15、,可加Pub1ic說明。全局級過程可供該應用程序的所有窗體和所有標準模塊中的過程調用,但根據過程所處的位置不同,其調用方式有所區別: (1) 在窗體中定義的全局級過程,外部過程要調用,必須在過程名前加該過程所處的窗體名。 (2) 在標準模塊中定義的過程,外部過程均可調用,但過程名必須惟一,否則要加標準模塊名。 8.4 變量、過程的作用域2) 全局級過程 8.4 變量、過程的作用域2、變量的作用域 變量的作用域是指變量能被訪問的范圍。根據變量聲明的位置,把變量的作用域分為過程級和模塊級。對于模塊級變量,根據限制范圍的關鍵字(Private或Public)又可分為私有級變量和公有級變量。為了便于理

16、解,下面按照過程級、窗體級(私有級變量)和全局級(公有級變量)三種分別介紹。 1) 過程級變量 過程級變量的作用范圍限制在該過程內部,也就是說在一個過程內部聲明的變量,只有該過程內部的代碼才能訪問或改變變量的值。在過程內部,局部變量可通過以下兩種形式聲明 。 8.4 變量、過程的作用域2、變量的作用域8.4 變量、過程的作用域用Dim聲明局部變量 用Dim聲明的變量采用動態存儲分配方式。即每次過程調用時,系統都會為變量分配所需的存儲單元并進行初始化,并在過程調用結束時自動將其釋放。用Static聲明局部變量 用Static聲明的局部變量采用靜態存儲分配方式,系統在程序運行開始時為其分配存儲單元

17、并初始化,此后該存儲單元始終由它占用,直至程序結束。 靜態變量僅初始化一次,以后再次調用時就不初始化了。如果在某個過程中未說明而直接使用了某個變量,則該變量被默認為過程級變量8.4 變量、過程的作用域用Dim聲明局部變量 如果在某個過程中未說明而直接使用了某 注意下面的程序,其中用Static聲明局部變量 Private Sub Command1_Click() Static x%, s% x = x + 4 s = s + 1 Print x, s End Sub 例中的靜態變量s和x,除了在過程第一次調用時自動賦初始值0外,以后每次調用時其初始值均為前一次調用結束時的值。8.4 變量、過程的作用域 注意下面的程序,其中用Static聲明局部變量8.4 2)窗體(模塊)級變量 窗體(模塊)級變量的作用域限制在聲明它的窗體(模塊)中的所有過程均可訪問該變量,其他窗體不能訪問該變量。在窗體的通用聲明段中用Private或Dim關鍵字聲明。3)全局級變量 全局級變量在所有模塊的所有過程都能使用,它的作用范圍是整個應用程序,在模塊的通用段中使用Public關鍵字聲明。8.4 變量、過程的作用域2)窗體(模塊)級變量 8.4 變量、過程的作用域遞歸的思想:遞歸概念:一個過程調用自己本身。遞歸實現:(如:N!)分析:根據階乘的定義,求n的階乘可以轉換為求n*(n-1)!

溫馨提示

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

評論

0/150

提交評論