全國計算機(jī)二級vb課件第6章_第1頁
全國計算機(jī)二級vb課件第6章_第2頁
全國計算機(jī)二級vb課件第6章_第3頁
全國計算機(jī)二級vb課件第6章_第4頁
全國計算機(jī)二級vb課件第6章_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1 本周六下午2:30在計A321-1以班級為單位,購買VB習(xí)題集(自愿),3元1份。通 知2第4、5、6三章需要完全掌握的例題 例 4-4、4-6、4-7、4-13、4-17、4-18、4-19、 4-21、4-23 例 5-2、5-3、5-4、5-6、5-7、5-8、 5-10、5-11 例 6-1、6-3、6-4、6-5、6-10、6-17、 6-18、6-19、6-22、6-23 其中感覺有困難的一定要想辦法弄懂,一看就有思路的不妨寫一寫,或換種方法重新編寫。3復(fù)習(xí)上節(jié)課內(nèi)容1. Sub子過程的定義及調(diào)用2. Function函數(shù)過程的定義及調(diào)用3. 例6-1求組合數(shù) 例6-5求孿生素

2、數(shù) 分別用子過程和函數(shù)來寫。46.4 參數(shù)的傳遞 在調(diào)用一個有參數(shù)的過程時,首先進(jìn)行的是“形實(shí)結(jié)合”,實(shí)現(xiàn)調(diào)用程序與被調(diào)用的過程之間的數(shù)據(jù)傳遞。1、形參和實(shí)參2、按值傳遞和按地址(引用)傳遞 區(qū)別標(biāo)志:形參前加“ByVal”關(guān)鍵字時是按值傳,否則為按地址傳.51、形參與實(shí)參(1)形參: 為變量, 實(shí)參: 可以是變量、常量、 表達(dá)式、數(shù)組元素;(2)形參: 為數(shù)組, 實(shí)參: 一定是數(shù)組。62、按值傳遞與按地址傳遞 按值傳遞Private Sub Form_Click( ) 事件過程 Dim m As Integer, n As Integer m = 15: n = 10 Print 調(diào)用過程T

3、est前; m=; m, n=; n Call test(m, n) Print 調(diào)用過程Test后; m=; m, n=; nEnd SubSub test(ByVal x As Integer, ByVal y As Integer) x = x + 5 : y = x + 2 * y Print 形參的值; x=; x, y=; yEnd Sub通用過程-自定義子過程7按值傳遞參數(shù)的程序結(jié)果8Private Sub Form_Click( ) 事件過程 Dim m As Integer, n As Integer m = 15: n = 10 Print 調(diào)用過程Test前; m=; m

4、, n=; n Call test(m, n) Print 調(diào)用過程Test后; m=; m, n=; nEnd SubSub test(x As Integer, y As Integer) x = x + 5 : y = x + 2 * y Print 形參的值; x=; x, y=; yEnd Sub通用過程-自定義子過程2、按值傳遞與按地址傳遞 按地址傳遞9按地址傳遞參數(shù)的程序結(jié)果10 (1)使用按地址傳遞的形參,對應(yīng)的實(shí)參要求同類型的變量(或數(shù)組元素)。若實(shí)參是常量或表達(dá)式,則按傳值方式傳遞,若和形參類型不一致,則系統(tǒng)自動對實(shí)參進(jìn)行類型轉(zhuǎn)換,將轉(zhuǎn)換后的值送給形參。說明P16911 (

5、2)將變量轉(zhuǎn)變?yōu)楸磉_(dá)式的方法為將變量加括號。 例6-8 參數(shù)的數(shù)據(jù)類型轉(zhuǎn)換說明P16912 若在應(yīng)用程序中用“Private Sub Sub1(x As Integer,y As Single)”定義了子程序Sub1,主調(diào)程序中的變量I,J均為Integer型,則正確調(diào)用子程序Sub1的Call語句是 。Call Sub1(I,J) Call sub1(“245”,”231.5”) CallSub1(3.14,234) Call Sub1(3.1415,I)Call Sub1(3.1415,(I)) Call Sub1(“245abv”,”231.5”)練習(xí):133、 數(shù)組參數(shù)的傳遞 數(shù)組按地

6、址方式傳遞。 形參數(shù)組的語法格式: 形參數(shù)組名( ) As 類型143、 數(shù)組參數(shù)的傳遞 形參數(shù)組的語法格式: 形參數(shù)組名( ) As 類型注意:(1)對應(yīng)的實(shí)參必須是數(shù)組,且類型 與形參類型一致。 (2)實(shí)參數(shù)組直接放在實(shí)參表中,忽 略維數(shù)的定義,圓括號可以省略。15 (3)如果被調(diào)過程不知道實(shí)參數(shù)組的上下界,可用LBound和UBound函數(shù)確定實(shí)參數(shù)組的下界和上界。 LBound和UBound函數(shù)格式: L|UBound(數(shù)組名,維數(shù)) 示例:3、 數(shù)組參數(shù)的傳遞16數(shù)組參數(shù)的傳遞示例:Private Sub Printarr( a( ) As Integer ) Dim i As In

7、teger For i=LBound(a) To UBound(a) Print a(i);Next IEnd Sub Private Sub Form_Click( ) Dim a(1 to 4) As Integer, b(2 To 5) As Integer . a ,b 數(shù)組元素數(shù)據(jù)輸入,處理 Call Printarr( a( ) ): Call Printarr( b )End Sub形參數(shù)組實(shí)參數(shù)組17 (4)在過程中不能用Dim語句對形參數(shù)組進(jìn)行聲明。但如果實(shí)參數(shù)組是動態(tài)的,則可以在過程中用Redim語句來改變數(shù)組的大小,被調(diào)用以后,實(shí)參數(shù)組的維界也會隨之變化。 例題:3、 數(shù)

8、組參數(shù)的傳遞18累乘積問題 例6-9 Private Sub Command1_Click() Dim a%(1 To 5) , b%(3 To 8) , i% , t1# , t2# for i=1 to 5 a(i)=i next i for i=3 to 8 b(i)=i next i t1=tim(a() : t2=tim(b) print “t1=”,t1, “t2=”,t2 end subFunction tim(a() As Integer) Dim t#, i% t=1 For i=LBound(a) To UBound(a) t=t*a(i) Next i tim=tEnd

9、Function19例6-10 選擇法排序分析:P195 21(1)(千萬不能暈) 例題:20 對于可變參數(shù)的過程,在調(diào)用時,傳遞的實(shí)參的個數(shù)和類型可以是任意變化的。 其格式為: Sub 過程名(ParamArray 數(shù)組名() 例6-114、可變參數(shù)(了解)21 對象參數(shù):將窗體或控件作為通用過程的參數(shù),其用法與數(shù)據(jù)類型作為參數(shù)一樣。 在形參表中如果是窗體參數(shù),則用As Form來定義,如果是控件參數(shù),則用As Control來定義。 如果實(shí)參為對象,則只能按地址傳遞。 例6-125、對象參數(shù)(了解)22已知有下面過程Private Sub procl(a%,b$,Optional x As

10、 Boolean) End Sub正確調(diào)用此過程的語句是 Call procl(5) Call procl 5, ”abc”, false procl(12, ”abc”, True) procl 5, ”abc” end of 6.46、可選參數(shù) 看一個例題236.5 變量、過程的作用域 變量、過程可被訪問的范圍稱為變量、過程的作用域。1、變量的作用域2、過程的作用域241、變量作用域 它決定了哪些子過程或函數(shù)過程可能訪問該變量。 分為:局部變量、窗體/模塊級變量、全局變量。251、變量作用域(1)局部變量 :過程中 Dim|Static 變量名 As 類型, .(2)窗體/模塊級變量:窗體

11、/模塊通用聲明Dim|Private 變量名 As 類型, .(3)全局變量:窗體/模塊的通用聲明 Public 變量名 As 類型,.26在“過程內(nèi)”用Dim或Static聲明的變量只能在本過程中使用, 別的過程不可訪問Dim|Static 變量名 As 類型,變量名 As 類型.局部靜態(tài)變量局部變量(1) 局部變量27 Dim:定義的變量,只在執(zhí)行期間存在,過程執(zhí)行結(jié)束,變量內(nèi)容自動消失,每次調(diào)用重新對變量進(jìn)行初始化;(1) 局部變量28 Static:定義的變量,在程序的整個運(yùn)行過程中可保留變量的值,直到結(jié)束程序的運(yùn)行,即每次調(diào)用過程時,靜態(tài)變量保持原來的值,而不被重新初始化。 例如:(

12、1) 局部變量29 在一個窗體/模塊的任何過程外 即在“通用聲明”處。 可被本窗體/模塊的任何過程訪問。Dim|Private 變量名 As 類型,變量名 As 類型.(2)窗體/模塊級變量30在窗體或標(biāo)準(zhǔn)模塊的任何“過程或函數(shù)”外 即在“通用聲明”處,用Public語句聲明的變量。Public 變量名 As 類型, 變量名 As 類型.(3)全局變量31(3)全局變量作用域: 整個應(yīng)用程序,可被應(yīng)用程序的任何過程訪問. 其值在整個程序中保留, 直到整個程序運(yùn)行結(jié)束,才會消失.32變量作用域總結(jié):對不同作用范圍的3種變量聲明及使用規(guī)則作用范圍局部變量窗體模塊級變量全局變量窗體標(biāo)準(zhǔn)模塊聲明方式被其它模塊過程存取被本模塊的其他過程存取聲明位置Dim,Static不能不能在過程中Dim,Private不能能窗體模塊的“通用聲明”段Public能,但在變量名前加窗體名能窗體/模塊的“通用聲明”段能33過程的作用域分為(1)窗體/模塊級(2)全局級。2、過程的作用域34(1)窗體

溫馨提示

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

評論

0/150

提交評論