VB常用算法4遞推窮舉積分_第1頁(yè)
VB常用算法4遞推窮舉積分_第2頁(yè)
VB常用算法4遞推窮舉積分_第3頁(yè)
VB常用算法4遞推窮舉積分_第4頁(yè)
VB常用算法4遞推窮舉積分_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、VB常用算法-遞推與窮舉一、初等數(shù)學(xué) 1、遞推法 又稱(chēng)為“迭代法”,其基本思想是把一個(gè)復(fù)雜的計(jì)算過(guò)程轉(zhuǎn)化為簡(jiǎn)單過(guò)程的多次重復(fù)。每次重復(fù)都在舊值的基礎(chǔ)上遞推出新值,并由新值代替舊值。 問(wèn)題:猴子吃桃子 小猴子有若干桃子,第一天吃掉一半多一個(gè);第二天吃掉剩下的一半多一個(gè).;如此,到第七天早上要吃時(shí),只剩下一個(gè)桃子。問(wèn)小猴子一開(kāi)始共有多少桃子? 分析:可以最后一天桃子數(shù)推出倒數(shù)第二天的桃子數(shù);再?gòu)牡箶?shù)第二天推出倒數(shù)第三天桃子數(shù). 設(shè)第n天桃子數(shù)為xn,前一天桃子數(shù)是:xn1,則有關(guān)系: xnxn1/2-1 或 xn-1 =(xn+1)*2程序如下: Private Sub Command1_Clic

2、k() Dim n% , i% , x% x = 1 第七天桃子數(shù) Print 第七天桃子數(shù): 1只 For i = 6 To 1 Step -1 x = (x + 1) * 2 Print 第 & i & 天桃子數(shù): & x & 只 Next i End Sub 2、窮舉法 又稱(chēng)枚舉法,即將所有可能情況一一測(cè)試,判斷是否滿(mǎn)足條件,一般用循環(huán)實(shí)現(xiàn)。 問(wèn)題:百元買(mǎi)百雞問(wèn)題。 假定小雞每只5角;公雞每只2元;母雞每只3元?,F(xiàn)在有100元,要求買(mǎi)100只雞,編程列出所有可能的購(gòu)雞方案。 分析: 設(shè)母雞、公雞、小雞分別x、y、z只,則有: xyz100 3x2y0.5z100 程序一: Private

3、 Sub Command1_Click() Dim x%, y%, z% Print 百錢(qián)買(mǎi)百雞問(wèn)題的各種購(gòu)買(mǎi)方案 Print 母雞數(shù) 公雞數(shù) 小雞數(shù) For x = 0 To 100 For y = 0 To 100 For z = 0 To 100 If x + y + z = 100 And 3 * x + 2 * y + 0.5 * z = 100 Then Print x, y, z End If Next z Next y Next xEnd Sub程序二(優(yōu)化) Private Sub Command2_Click() Dim x%, y% Print 百錢(qián)買(mǎi)百雞問(wèn)題的各種購(gòu)買(mǎi)方

4、案 Print 母雞數(shù) 公雞數(shù) 小雞數(shù) For x = 0 To 33 For y = 0 To 50 If 3 * x + 2 * y + 0.5 * (100 - x - y) = 100 Then Print x, y, 100 - x - y End If Next y Next xEnd Sub二、高等數(shù)學(xué) 求積分 近似計(jì)算積分:s=13(x3+2x+5)dx 分析:矩形法數(shù)值積分的思想是,將積分區(qū)間劃分為n個(gè)等分,以函數(shù)y=f(x)曲線(xiàn)和坐標(biāo)軸x上的取值a,b為上下邊界,以n個(gè)小矩形的面積Si 近似小曲邊型面積,則所求定積分值近似為:將積分區(qū)間n等分以后其小區(qū)間長(zhǎng)度為h=(b-a)

5、/n,其中a與b為積分下、上限,則:S1=f(a)*h,S2=f(a+h)*h,S3=f(a+2*h)*h,Sn=f(a+(n-1)*h)*h因?yàn)樵谟?jì)算小矩形面積時(shí)要多次計(jì)算函數(shù)f(x),所以將被積函數(shù)編寫(xiě)為函數(shù)過(guò)程。代碼如下: Public Function f(ByVal x!) As Single 被積函數(shù) f = x * (x * x + 2) + 5End FunctionPublic Function trapez(ByVal a!, ByVal b!, ByVal n%) As Single b、a分別為積分上下限,n為等分?jǐn)?shù) Dim sum!, h!, x! Dim i As

6、Integer h = (b - a) / n sum = f(a) * h For i = 1 To n - 1 x = a + i * h sum = sum + f(x) * h Next i trapez = sumEnd Function調(diào)用: Private Sub Command1_Click() Print trapez(1, 3, 30) End Sub 數(shù)論綜合題 此類(lèi)題目比較廣泛,必須給以足夠重視。 歷年題目有:平方數(shù)、擬互滿(mǎn)數(shù)、回文數(shù)、完數(shù)、幸運(yùn)數(shù)、逆序數(shù)以及無(wú)暇素?cái)?shù)、超級(jí)素?cái)?shù)、因子和等。 三、實(shí)戰(zhàn)練習(xí) 1、完善程序填空題(2002秋二(10) 找出由兩個(gè)不同數(shù)字組成的

7、平方數(shù),并將結(jié)果按圖中的格式顯示在列表框 List1中。Option Explicit Option Explicit Private Sub Command1_Click() Dim I As Long, n As Long For I = 11 To 300 (1) If Verify(n) Then (2) End If Next I End Sub Private Function Verify( (3) ) As Boolean Dim A(0 To 9) As Integer, I As Integer, Js As Integer Do While n 0 (4) n = n 10 Loop For I = 0 To 9 Js = Js + A(I) Next I (5) End Function 2、編程題(2004秋上機(jī)試卷08)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論