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

下載本文檔

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

文檔簡介

算法與程序設(shè)計(jì)第一章揭開計(jì)算機(jī)解決問題的

神秘面紗計(jì)算機(jī)解決問題的過程算法與算法的描述程序與程序設(shè)計(jì)語言算法與程序設(shè)計(jì)1、具體問題:華南太陽能設(shè)備廠在計(jì)劃期內(nèi)擬生產(chǎn)甲、乙、丙三種適銷產(chǎn)品,每件銷售收入分別為4萬元、3萬元、2萬元。按工藝規(guī)定,甲、乙、丙三種產(chǎn)品都需要在A、B、C、D四種不同的設(shè)備上加工,其加工所需要的時(shí)間見下表。已知A、B、C、D四種設(shè)備在計(jì)劃期內(nèi)有效使用臺(tái)時(shí)數(shù)分別為12、8、16、12。如何安排生產(chǎn)可使收入最大?設(shè)備產(chǎn)品

A

B

C

D甲2140乙2204丙1100探究的問題探究過程找出已知和未知已知甲乙丙銷售收入,ABCD四種設(shè)備有效使用臺(tái)時(shí)數(shù),甲乙丙加工的臺(tái)時(shí)數(shù),未知的是甲乙丙的產(chǎn)量及總銷售額。明確已知和未知之間關(guān)系甲乙丙加工的臺(tái)時(shí)數(shù)不能超過ABCD有效使用臺(tái)時(shí)數(shù)。人工求解問題甲乙丙的產(chǎn)量及總銷售額。寫出解題的算法窮舉2、分析問題:算法與程序設(shè)計(jì)2x+2y+z≤12X+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ì)3、設(shè)計(jì)算法:x=0x>4y=0y>3z=0z>82*x+2*y+z<=12x+2*y+z<=8f(x,y,z)=4*x+3*y+2*zz=z+1f(x,y,z)=0y=y+1x=x+1開始NYYYYNNNx=0x>4y=0y>3z=0z>8f_max<f(x,y,z)f_max=f(x,y,z)x_max=xy_max=yz_max=zz=z+1y=y+1x=x+1NYYYYNN結(jié)束輸出結(jié)果算法與程序設(shè)計(jì)4、編寫程序DimxAsInteger,yAsInteger,zAsIntegerDimx_maxAsInteger,y_maxAsInteger,z_maxAsIntegerDimf(4,3,12)AsSingleDimf_maxAsSingleForx=0To4Fory=0To3Forz=0To8If(2*x+2*y+z<=12)And(x+2*y+z<=8)Thenf(x,y,z)=4*x+3*y+2*zElsef(x,y,z)=0EndIfNextzNextyNextx算法與程序設(shè)計(jì)f_max=0Forx=0To4Fory=0To3Forz=0To8Iff_max<f(x,y,z)Thenf_max=f(x,y,z)x_max=xy_max=yz_max=zEndIfNextzNextyNextxPrint"當(dāng)x=";x_max;",y=";y_max;",z=";z_max;”時(shí),“Print"f(x,y,z)的最大值=";f_max算法與程序設(shè)計(jì)5、調(diào)試程序、得到結(jié)果1)、新建工程;2)、在窗體添加按鈕控件;3)、給按鈕添加單擊事件過程;4)、在單擊事件過程內(nèi)輸入編寫好的程序;5)、運(yùn)行程序調(diào)試結(jié)果。6、在計(jì)算機(jī)上執(zhí)行該指令序列5、通過編輯、編譯和連接產(chǎn)生計(jì)算機(jī)能夠識(shí)別的指令序列4、選用一種編程語言根據(jù)算法編寫程序4、驗(yàn)證計(jì)算結(jié)果3、生成解題算法3、用筆、紙和算盤、計(jì)算器等工具進(jìn)行計(jì)算2、尋找解題的途徑和方法2、尋找解題的途徑和方法1、理解和分析所要解決的問題1、理解和分析所面臨的問題計(jì)算機(jī)解題步驟人工解題步驟相同點(diǎn):無論何種解題方式,在解決某一實(shí)際問題時(shí),都應(yīng)該正確的理解問題的題意,從看似復(fù)雜的問題中整理出一個(gè)頭緒,然后通過算法(即解決問題的一個(gè)一個(gè)步驟)描述出某一問題的解決過程,進(jìn)行一定量的計(jì)算,最后都必須驗(yàn)證計(jì)算結(jié)果。不同點(diǎn):當(dāng)計(jì)算量較大時(shí),人工解題就有點(diǎn)力不從心了,而計(jì)算機(jī)每秒上億次的計(jì)算速度卻不在話下,并且只要算法正確,編程語句無誤的話,使用計(jì)算機(jī)編寫的解題程序可以反復(fù)使用。例如:sum=1+2+3+4+5……+(n-1)+n這樣的問題。算法與程序設(shè)計(jì)1.1計(jì)算機(jī)解決問題的過程從一個(gè)生產(chǎn)方案問題了解用計(jì)算機(jī)解決問題的步驟:P6具體問題分析問題設(shè)計(jì)算法編寫程序調(diào)試程序得到答案掌握用自然語言表達(dá)算法。(P8實(shí)踐與練習(xí))算法與程序設(shè)計(jì)想一想算法與程序設(shè)計(jì)輾轉(zhuǎn)相除法

又名歐幾里德算法(Euclideanalgorithm)是求兩個(gè)正整數(shù)之最大公約數(shù)的算法。它是已知最古老的算法,其可追溯至前300年。它首次出現(xiàn)于歐幾里德的《幾何原本》(第VII卷,命題i和ii)中,而在中國則可以追溯至東漢出現(xiàn)的《九章算術(shù)》。它并不需要把二數(shù)作質(zhì)因子分解。1.a÷b,令r為所得余數(shù)(0≤r<b),若r=0,b即為最大公約數(shù);算法結(jié)束。

2.互換:置a←b,b←r,并返回第一步。

例如:求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ì)1.2算法和算法的描述1、算法的概念算法是在有限步驟內(nèi)求解某一問題所使用的一組定義明確的規(guī)則。即,用計(jì)算機(jī)求解某一問題的方法,是能被機(jī)械地執(zhí)行的動(dòng)作或指令的有窮集合。算法的特征:1)、有0或多個(gè)輸入。解題算法中可以沒有數(shù)據(jù)輸入,也可以同時(shí)輸入多個(gè)需

要算法處理的數(shù)據(jù)。2)、確定性。解題方法中的任何一個(gè)操作步驟都是清晰無誤的,不會(huì)使人產(chǎn)生

歧義或者誤解。3)、有窮性。任何一種提出的解題方法都是在有限的操作步驟內(nèi)可以完成的,

哪怕是失敗的解題方法。4)、有1個(gè)或多個(gè)輸出。一個(gè)算法執(zhí)行結(jié)束之后必須有數(shù)據(jù)處理結(jié)果輸出,哪怕

是輸出錯(cuò)誤的數(shù)據(jù)結(jié)果,沒有輸出的算法使毫無意義的。5)、能行性。解題方法中的任何一個(gè)操作步驟在現(xiàn)有計(jì)算機(jī)軟硬件條件下和邏

輯思維中都能夠?qū)嵤?shí)現(xiàn)。算法與程序設(shè)計(jì)2、算法的描述表示算法的語言有自然語言、流程圖、偽代碼等。1)、用自然語言描述算法;2)、用流程圖描述算法:掌握流程圖的基本圖形及其功能。3)、用偽代碼描述算法。注意對比三種算法描述方式的優(yōu)劣。1).輸入m和n的值;

2).r=m除以n的余數(shù);

3).如果r=0,則輸出n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論