VB程序設計子程序_第1頁
VB程序設計子程序_第2頁
VB程序設計子程序_第3頁
VB程序設計子程序_第4頁
VB程序設計子程序_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第四章 過程與函數 對于某些多次反復執行的程序段,我們可以將它定義成子程序。 子程序分為過程和函數。定義 在代碼窗口中直接定義子過程形式如下 :Public/Private sub 子程序名(參數列表) 語句 Exit Sub 語句 End Subl函數過程形式如下 :Public/Private Function 函數名(參數列表) As 類型 語句 函數名=返回值 Exit Function 語句 函數名=返回值 End Functionl形參列表:參數1,參數2,l 參數定義: byval 變量名 as 數據類型Byval 數據傳遞方式:值傳遞,省略時為地址傳遞Exit sub/Exit

2、 function 中途退出過程調用l子程序名參數列表 /Call 子程序名(參數列表)l變量名 = 函數名(參數列表)例:過程調用 call exchange( a, b)或 exchange( a,b)例:函數調用Print maxnum(a,b)X=maxnum(a,b)例5.1 編一交換兩個數的過程。Private Sub jiaohuan(x As Integer, y As Integer) Dim t As Integer t = x x = y y = tEnd Sub形參: x, y 數據傳遞方式: 地址傳遞參數傳遞Private Sub Form_Click()Dim a

3、As Integer, b As Integera = 10 : b = 20 Print 原值:; a1=; a, b1=; b call jiaohuan(a, b)Print 交換后:; a1=; a, b1=; bEnd Sub函數的定義和調用lprivate function jch ( n as integer)l dim f as integer,I as integerl f=1l for i=1 to nl f=f*il next il jch=flend function 在表達式中使用在表達式中使用 計算計算 m!*n!/(m-n)! jch(m)*jch(n)/jch(

4、m-n)過程的作用域(1) 窗體中的過程lprivate 子程序只能在本窗體中調用lpublic 子程序可以在其它窗體中應用,但調用方式為 窗體名.過程名(2) 標準模塊中的過程 public 可以在任意窗體和模塊中使用遞歸遞歸 l用自身的結構來描述自身稱為“遞歸”。遞歸總有一個“結束條件”,此結束條件稱為“邊界條件”。例1:五個人論歲數,第一個人說比第二個人大2歲,第二個人說比第三個人大2歲,第三個人說比第四個人大2歲,第四個人說比第五個人大2歲,第五個說他10歲,問每人多大歲數?遞歸l s(5)=s(4)+2 s(5)=18 s(4)=s(3)+2 s(4)=16 l s(3)=s(2)+

5、2 s(3)=14l s(2)=s(1)+2 s(2)=12l s(1)=10遞推回推Li:階乘5!=4!*5 遞推 4!=3!*4 3!=2!*3 2!=1!*2 1!=1 邊界條件 2!=1*2=2 回推 3!=2*3=6 4!=6*4=245!=24*5=120代碼如下:Private Function fac(n as integer) if n=1 then fac=1 else fac=n*fac(n-1) end ifEnd Function菲波那契數列前兩項為1,從第三項開始,其值為它前面兩項的和。Private Function fibo(n As Integer)If n

6、= 1 Or n = 2 Thenfibo = 1Else fibo = fibo(n - 1) + fibo(n - 2)End IfEnd Function代碼如下:Private Sub Command1_Click()Dim n As Integer, i As Integer, k As IntegerPicture1.clsn = Val(Text1.Text)For i = 1 To n Picture1.Print fibo(i); ; k = k + 1 If k = 5 Then k = 0 Picture1.Print End IfNext IEnd Sub常用算法舉例l求素數l選擇法排序l冒泡法排序l順序查找要判斷一個數x是否是素數,需要判斷x是否能 被2至x-1內的某一個自然數整除。若都不能 整除,則x是素數。(所以,判斷一個數是否為素數,只要看在2到它的平方根之間有沒有約數。 例題:素數l第一次從未排好序的數組中找出最小(或最大)的,放在第一個位置;第二次從后面的n1個數

溫馨提示

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

評論

0/150

提交評論