VB算法與程序設(shè)計(jì)_第1頁
VB算法與程序設(shè)計(jì)_第2頁
VB算法與程序設(shè)計(jì)_第3頁
VB算法與程序設(shè)計(jì)_第4頁
VB算法與程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)1.1 計(jì)算機(jī)解決問題的過程從一個生產(chǎn)方案問題了解用計(jì)算機(jī)解決問題的步驟:P6具體問題分析問題設(shè)計(jì)算法編寫程序調(diào)試程序得到答案掌握用自然語言表達(dá)算法。(P8實(shí)踐與練習(xí))算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)輾轉(zhuǎn)相除法 又名歐幾里德算法(Euclidean algorithm)是求兩個正整數(shù)之最大公約數(shù)的算法。它是已知最古老的算法, 其可追溯至前300年。它首次出現(xiàn)于歐幾里德的幾何原本(第VII卷,命題i和ii)中,而在中國則可以追溯至東漢出現(xiàn)的九章算術(shù)。它并不需要把二數(shù)作質(zhì)因子分解。 1. a b,令r為所得余數(shù)(0rb),若 r = 0,b 即為最大公約數(shù);算法結(jié)束 。 2

2、. 互換:置 ab,br,并返回第一步。 例如:求112和64的最大公約數(shù).算法如下: (1).112除以64,余數(shù)為_; (2)_除以_余數(shù)為_; (3)_除以_余數(shù)為_. 答:112和64的最大公約數(shù)為_.兩數(shù)的最大公約數(shù)乘以其最小公倍數(shù)=兩數(shù)相乘例如:求112和64的最小公倍數(shù) (1).利用輾轉(zhuǎn)相除法求得它們的最大公約數(shù)為_; (2).利用表達(dá)式求得最小公倍數(shù): 答: 112和64的最小公倍數(shù)為_.練習(xí):求164和64的最大公約數(shù)求256和24的最大公約數(shù)練習(xí):求164和64的最小公倍數(shù)求256和24的最小公倍數(shù)算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)優(yōu)點(diǎn)缺點(diǎn)自然語言不需

3、專門訓(xùn)練,通俗易懂P10流程圖描述清晰簡潔,容易表達(dá)選擇結(jié)構(gòu);利于不同環(huán)境的程序設(shè)計(jì).P11無法被計(jì)算機(jī)直接接受并進(jìn)行操作偽代碼書寫方便,格式緊湊,易于理解,便于向計(jì)算機(jī)程序設(shè)計(jì)語言過渡.P12種類繁多,語句不容易規(guī)范.P12三種算法描述方式的優(yōu)劣三種算法描述方式的優(yōu)劣算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)使用自然語言描述算法的方法雖然比較容易掌握,但是存在著很大的缺陷。例如,當(dāng)算法中含有多分支或循環(huán)操作時很難表述清楚。另外,使用自然語言描述算法還很容易造成歧義(稱之為二義性),譬如有這樣一句話“武松打死老虎”,我們既可以理解為“武松/打死老虎”,又可以理解為“武松/打/死老虎”。自然語言中的語氣和停頓

4、不同,就可能使他人對相同的一句話產(chǎn)生不同的理解。又如“你輸他贏”這句話,使用不同的語氣說,可以產(chǎn)生3種截然不同的意思,同學(xué)們不妨試試看。 無論是使用自然語言還是使用流程圖描述算法,僅僅是表述了編程者解決問題的一種思路,都無法被計(jì)算機(jī)直接接受并進(jìn)行操作。 偽代碼通常采用自然語言、數(shù)學(xué)公式和符號來描述算法的操作步驟,同時采用計(jì)算機(jī)高級語言(如C、Pascal、VB、C+、Java等)的控制結(jié)構(gòu)來描述算法步驟的執(zhí)行順序。 算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)在運(yùn)用計(jì)算機(jī)程序解決問題的過程中,算法設(shè)計(jì)有著舉足輕重的地位和作用,算法是程序設(shè)計(jì)的核心,是程序設(shè)計(jì)的靈魂.算法的好壞,直接影響著程序的通用性和有效性,

5、影響著問題解決的效率.程序的編制依賴于算法的設(shè)計(jì)。程序的效率主要取決于算法的效率。算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)4)、程序設(shè)計(jì):即是編寫程序的過程。一個高質(zhì)量的程序,應(yīng)具備以下條件:(1)、建立正確的靈堂模型和確定有效的計(jì)算方法;(2)、運(yùn)行結(jié)果必須正確,且在精度和其他各方面均滿足要求;(3)、程序本身具有良好的結(jié)構(gòu),邏輯清楚,易讀易懂。(4)、程序運(yùn)行時間盡可能短,同時盡可能合理地使用內(nèi)存;(5)、便于檢查、修正、移植和維護(hù)。5)、程序設(shè)計(jì)語言的產(chǎn)生與發(fā)展(P18)(1)、機(jī)器語言:由“0”和“1”組成的二進(jìn)制代碼,是能夠被計(jì)算機(jī)直接接受和 執(zhí)行的計(jì)算機(jī)語言。 優(yōu)缺點(diǎn):(2)、匯編語言:采用類

6、似英語縮寫略詞且?guī)в兄浶缘姆栃问酱娑M(jìn)制 機(jī)器代碼的計(jì)算機(jī)語言。是符號化了的機(jī)器語言。用能反映 指令功能的助記符表達(dá)的計(jì)算機(jī)語言。 優(yōu)缺點(diǎn):(3)、高級語言:相對于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如VB、C、C+,VC、Java、Pascal等。算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)語言種類優(yōu)勢不足機(jī)器語言能被計(jì)算機(jī)直接接受和執(zhí)行程序設(shè)計(jì)任務(wù)繁重,效率低下,與自然語言存在巨大鴻溝,程序員不易培養(yǎng)。匯編語言比機(jī)器語言更易理解必須有語言翻譯器支持,效率低,匯編源程序較冗長、復(fù)雜,容易出錯。高級語言更接近自然語言,移植性好。 要語言翻譯器支持。各種程序設(shè)計(jì)語言的比較算

7、法與程序設(shè)計(jì)算法與程序設(shè)計(jì)S1S2SnCS1S2CS1順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)1、具體問題:、具體問題:華南太陽能設(shè)備廠在計(jì)劃期內(nèi)擬生產(chǎn)甲、乙、丙三種適銷產(chǎn)品,每件銷售收分別為4萬元、3萬元、2萬元。按工藝規(guī)定,甲、乙、丙三種產(chǎn)品都需要在A、B、C、D四種不同的設(shè)備上加工,其加工所需要的時間見下表。已知A、B、C、D四種設(shè)備在計(jì)劃期內(nèi)有效使用臺時數(shù)分別為12、8、16、12。如何安排生產(chǎn)可使收入最大? 設(shè)備產(chǎn)品ABCD甲2140乙2204丙1100探究的問題探究過程找出已知和未知已知甲乙丙銷售收入,ABCD四種設(shè)備有效使用臺時數(shù),甲乙丙加工的臺時數(shù),未知的是甲乙丙的

8、產(chǎn)量及總銷售額。明確已知和未知之間關(guān)系甲乙丙加工的臺時數(shù)不能超過ABCD有效使用臺時數(shù)。人工求解問題甲乙丙的產(chǎn)量及總銷售額。寫出解題的算法窮舉2、分析問題:、分析問題:算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)2x+2y+z12X+2y+z 84x 164y 120 x 6; 0 y 6; 0 z 120 x 8; 0 y 4; 0 z 80 x 40 y 30 x 40 y 30 z 8算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)3、設(shè)計(jì)算法:、設(shè)計(jì)算法:x=0 x4y=0y3z=0z82*x+2*y+z=12x+2*y+z4y=0y3z=0z8f_maxf(x,y,z)f_max=f(x,y,z)x_max=xy_ma

9、x=yz_max=zz=z+1y=y+1x=x+1NYYYYNN結(jié)束輸出結(jié)果算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)4、編寫程序、編寫程序Dim x As Integer, y As Integer, z As IntegerDim x_max As Integer, y_max As Integer, z_max As IntegerDim f(4, 3, 12) As SingleDim f_max As SingleFor x = 0 To 4For y = 0 To 3For z = 0 To 12If (2 * x + 2 * y + z = 8) And (x + 2 * y + z = 8) Thenf(x, y, z) = 4 * x + 3 * y + 2 * zElsef(x, y, z) = 0End IfNext zNext yNext x算法與程序設(shè)計(jì)算法與程序設(shè)計(jì)f_max = 0For x = 0 To 4For y = 0 To 3For z = 0 To 8If f_max f(x, y, z) T

溫馨提示

  • 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

提交評論