首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
實例3.8使用可選參數
編寫一個用于計算兩個實數的和以及平均值的子過程,該子過程具有一個可選參數,在調用子過程時,如果不提供與可選參數對應的實參,或實參的值為0,則在窗體上只打印兩個數的和;如果提供了一個不為0實參,則在窗體上還將打印出兩個數的平均值。
具有可選參數的子過程的代碼如下:
Private Sub(x As Single,y As Single,Optional n As Boolean=0)
Dim s As Single,A As Single
s=x=y
A=S/2
If n=False Then
Print“總和為:”& S
Else
Print“總和為:”& S
Print“平均值為:”& A
End If
End Sub
在窗體的Click事件過程中調用子過程Sum.代碼如下:
Private Sub Form_Click()
Print “不提供與可選參數對應的實參”
Sun 6,9
Print “提供與可選參數對應的實參,并且實參為0:”
Sun 6,9,0
Print 空行
Print “提供與可選參數對應的實參,并且實參不為0:”
Sun 6,9,1
End Sub
運行程序,單擊窗體,結果如圖3.25所示。
遞歸是推理和問題求解的一種強有力方法,原因在于許多對象,特別是數學研究對象具有遞歸的結構。簡單地說,如果通過一個對象自身的結構來描述或部分描述該對象就稱為遞歸。最簡單而易于理解的一個例子是階乘的遞歸定義。如果以函數f(n〕表示自然數n的階乘的道,則有定義:
遞歸定義使我們能夠用有限的語句描述一個無窮的集合。本例描述一個無窮的集合只用了兩個語句。
VB程序設計語言允許一個過程體有調用自身的語句,稱為遞歸調用。也允許調用另一過程,而該過程又反過來調用本過程,稱為間接遞歸調用。這種功能為求解具有遞歸結構的問題提供了強有力手段,使程序語言的描述與問題的自然描述完全一致,因而使程序易于理解,易于保證和維護。例如,對于上面的n階乘的遞歸定義,可以寫出相應的VB函數過程,如下面的實例3.9.這個過程的推理(計算)路線與原來函數的(遞歸)數學定義完全一致。
實例3.9求n階乘的VB函數過程
Private Function F(byval n As Integer) As Integer
If n=1 Then
F=1
Else
F=n*F(n-1)
End If
End Function
讓我們來跟蹤這個程序的計算過程,令n=4調用這個函數,用下面的形式來表示遞歸求解的過程:
(1)F(4)=4*F(3) n=4調用函數過程F(3)
(2)F(3)=3*F(2) n=3調用函數過程F(2)
(3)F(2)=2*F(1) n=2調用函數過程F(1)
(4)F(1)=1 n=1求的F(1)的值
(5)F(2)=2*1=2 回歸,n=2,求得F(2)的值
(6)F(3)=3*2=6 回歸,n=3,求的F(3)的值
(7)F(4)=4*6=24 回歸,n=3,求得F(4)的值
上面第1步到第4步求出F(1)=1的步驟稱為遞推,從第4步到第7步求出F(4)=4*6的步驟稱為回歸。
從這個例子可以看出,遞歸求解有兩個條件:
給出遞歸終止的條件和相應的狀態。
在本例中遞歸終止的條件是n=1,狀態是F(1)=1.
2.給出遞歸的表述形式,并且這種表述要向著終止條件變化,在有限步內達到終止條件。
在本例中,當n>l時,給出遞歸的表述形式為F(n)=n*F(n-1).函數值F(n)用函數值F(n-1)來表示。參數的值向減少的方向變化,在第n步出現終止條件n=1。
相關推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |