解析算法、枚舉算法PPT_第1頁
解析算法、枚舉算法PPT_第2頁
解析算法、枚舉算法PPT_第3頁
解析算法、枚舉算法PPT_第4頁
解析算法、枚舉算法PPT_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、例0: For i=1 to 12 If i mod 3 = 0 Then S=S+i Next i 則語句S=S+i 執(zhí)行次數(shù)是( ) A、1 B、3 C、4 D、13,分析:i=3、6、9、12 If i mod 3 = 0 Then S=S+I C,Visual Basic 算法實(shí)例之 枚舉算法、解析算法 第11課時(shí),學(xué)習(xí)重點(diǎn): 1、 能說出枚舉算法、解析算法的概念 2、能根據(jù)語句代碼識(shí)別、運(yùn)用兩種算法,1、 枚舉算法的概念,“枚舉”字義:枚,一個(gè)一個(gè)也,舉者,列舉, 枚舉就是一個(gè)一個(gè)列舉。,枚舉算法:把問題中所產(chǎn)生的可能的情況(解)都考慮到, 一一地全部列舉出來,,特點(diǎn):優(yōu)點(diǎn),只要時(shí)間

2、足夠,正確的枚舉能得出正確和全面的解。 算法簡單,基礎(chǔ)。 缺點(diǎn), 效率差。,并在逐一列舉的過程中,檢驗(yàn)對(duì)每個(gè)可能解進(jìn)行判斷(排查), 保留符合要求的結(jié)果,去掉不符合的運(yùn)算過程。 在列舉過程中,既不能遺漏也不應(yīng)重復(fù)。,例1:找出11000中所有能被3整除的數(shù),并列出來。,For i=1 to 1000,添加內(nèi)容格式:List1.Additem 內(nèi)容,Next i,If i mod 3 = 0 Then,List1.Additem i,End if,ListBox :列表框,List1:對(duì)象名,學(xué)習(xí)新的一個(gè)VB控件類:, List1的特殊的使用方法名語句: List1.方法名,(Additem:添

3、加內(nèi)容; Clear:清空 ), List1.Additem “你好“,:列表框里添加 “你好“內(nèi)容, 假如定義變量 s 是整數(shù)型,最后s的結(jié)果顯示在列表框List1里的語句:,List1.Additem str(s), 將列表框里的內(nèi)容清空語句:,List1.Clear,或 s (軟件中默認(rèn)轉(zhuǎn)化成字符類型),1、 枚舉算法的概念,If y Mod 37 = 0 Or y Mod 67 = 0 Then,例2:有一張支票,上面的數(shù)額是5位數(shù),其百位數(shù)和十位數(shù)處已經(jīng)變得 模糊不清,如下圖;但是知道這個(gè)5位數(shù)是37或67的倍數(shù)。 現(xiàn)在要設(shè)計(jì)一個(gè)算法,找出所有滿足這些條件的5位數(shù), 并統(tǒng)計(jì)這些5位數(shù)

4、的個(gè)數(shù)。,思路分析: 這個(gè)5位數(shù)的百位和十位這兩個(gè)位置上, 可能是00、01、02、.99,這100個(gè)不同的數(shù), 從而產(chǎn)生全部可能解:25006、25016259916,先設(shè)變量:,如果用循環(huán)模式,變量 x 的取值范圍0099,這100個(gè)不同的數(shù),For x = 0 To 99,設(shè)這模糊的兩位數(shù)為變量x,整個(gè)5位數(shù)為y,y = 25006 + x * 10,List1.AddItem Str(y) End If,Next j,2、 枚舉算法的步驟:,確定范圍,先用循環(huán)結(jié)構(gòu)(For語句)確定可能范圍并一一枚舉出來。,因此,枚舉算法語句識(shí)別規(guī)律: 一般總有循環(huán)結(jié)構(gòu),且里面嵌有If語句,但反過來不一

5、定是枚舉算法。,一一枚舉,逐個(gè)檢驗(yàn),得到真解,For i=1 to 1000 If i mod 3 = 0 Then List.Additem I End if Next i,For x = 0 To 99 y = 25006 + j * 10 If y Mod 37 = 0 Or y Mod 67 = 0 Then List1.AddItem Str(y) End If Next,再用If語句寫出符合條件的解(檢驗(yàn)篩選正確的解),3、 解析算法的概念,含義:用數(shù)學(xué)公式描述客觀事物間的數(shù)量關(guān)系;,例3:計(jì)算以速度V作為勻速直線運(yùn)動(dòng)的一個(gè)物體,求在t秒內(nèi)經(jīng)過的 距離S。,則可通過公式 S= v

6、t得到。,例4:求1+2+3+n的和,,S= (1+n)*n /2,進(jìn)一步解釋: 用解析的方法找出表示問題的條件與所求結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)式, 并通過表達(dá)式的計(jì)算來實(shí)現(xiàn)問題求解。,例5:已知三角形的三邊,求三角形的面積: 在Text1,Text2,Text3分別輸入相應(yīng)的數(shù), 表示三角形的三邊a,b,c(注三邊能構(gòu)成三角形) 則半周長p=(a+b+c)/2, 計(jì)算三角形面積公式為s=sqr(p*(p-a)*(p-b)*(p-c), 單擊命令按鈕Command1“計(jì)算”,在文本框Text4中顯示面積S的值。,解析算法,例6:面額為10元、20元和50元的紙幣各有10張,求總額恰好為380元取法

7、方案的算法?,設(shè)10元取a張、20元取b張、50元取c張, a,b,c,都取到0到10之間的整數(shù),將a,b,c取值的所有可能組合逐一 代入表達(dá)式:10 a+20 b+50c=380,判斷是否成立,則輸出這一方案。 此算法屬于( )枚舉算法?解析算法?,實(shí)戰(zhàn)練習(xí)16:韓信點(diǎn)兵: 4個(gè)人一隊(duì)剩3個(gè),7個(gè)人一隊(duì)正好不剩,21個(gè)人一隊(duì)剩7個(gè),問韓信有多少兵? (假如人數(shù)在100以內(nèi),只有一個(gè)數(shù)符合)窗體如下圖:,單擊command1“點(diǎn)兵”,在文本框Text1中顯示人數(shù)。 (假如人數(shù)在1000以內(nèi),答案是多個(gè),需列表框),實(shí)戰(zhàn)練習(xí)17: 已知三角形的三邊,求三角形的面積: 在Text1,Text2,Text3分別輸入相應(yīng)的數(shù),表示三角形的三邊a,b,c (注:三邊能構(gòu)成三角形) 則半周長p=(a+b+c)/2,計(jì)算三角形面積公式為s=sqr(p*(p-a)*(p-b)*(p-c), 單擊命令按鈕Command1“計(jì)算”,在標(biāo)簽Label4中顯示面積S的值。 界面(如下圖 ),例題分析:已知菲波那契數(shù)列的通公式為a(n+2)=a(n)+a(n+1),用數(shù)組求菲波那契數(shù)列前20項(xiàng)程序段如下,請(qǐng)?jiān)诋嬀€處填入正確的語句或表達(dá)式。D

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論