《過程》教學(xué)課件_第1頁(yè)
《過程》教學(xué)課件_第2頁(yè)
《過程》教學(xué)課件_第3頁(yè)
《過程》教學(xué)課件_第4頁(yè)
《過程》教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、過程教學(xué)PPT課件過程教學(xué)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系統(tǒng)沒有求階乘的函數(shù)

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

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

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

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

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

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

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

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

10、調(diào)用過程和過程處理的結(jié)果返回主程序的運(yùn)行過程中,形參與實(shí)參之間的數(shù)據(jù)傳遞是關(guān)鍵。在Function過程和Sub過程被調(diào)用之前,所有形參都無(wú)定義,也就是說所有的形參既沒有具體的存儲(chǔ)單元也無(wú)具體的值,只是起到形式上的作用。當(dāng)程序執(zhí)行轉(zhuǎn)向過程時(shí),實(shí)參和形參按一定方式結(jié)合,形參獲取了相應(yīng)的值后執(zhí)行過程體,過程的運(yùn)算結(jié)果通過形參(Function過程也可通過函數(shù)名)返回到主程序。8.3 參數(shù)傳遞 在主程序調(diào)用過程和過程處理的結(jié)果返回主程序的運(yùn)行過程中,形參1. 形式參數(shù)與實(shí)際參數(shù) 1) 形式參數(shù) 在定義過程時(shí),過程名后圓括號(hào)中列出的就是形式參數(shù)(簡(jiǎn)稱形參)。在過程被調(diào)用時(shí),它接收實(shí)參傳來(lái)的數(shù)據(jù)。 形參只

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

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

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

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

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

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論