第2章 vb程序設(shè)計(jì)與算法(問題求解).ppt_第1頁
第2章 vb程序設(shè)計(jì)與算法(問題求解).ppt_第2頁
第2章 vb程序設(shè)計(jì)與算法(問題求解).ppt_第3頁
第2章 vb程序設(shè)計(jì)與算法(問題求解).ppt_第4頁
第2章 vb程序設(shè)計(jì)與算法(問題求解).ppt_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、Visual Basic Programming 1,程序設(shè)計(jì)與算法(問題求解) 第2章,2.1 程序的基本組成:輸入、處理與輸出 2.2 算法與編程工具 Points to Remember,Visual Basic Programming 2,程序的基本組成:輸入、處理與輸出,計(jì)算機(jī)解題示例 程序設(shè)計(jì)的一般步驟,2.1,利用計(jì)算機(jī)解題,首先需要確定得到什么樣的“輸出”結(jié)果; 其次是確定為了成功地獲得相應(yīng)的結(jié)果,需要提供的數(shù)據(jù),或者稱為“輸入”; 最后,就是需要確定如何“處理”輸入的數(shù)據(jù),才能獲得相應(yīng)的“輸出”結(jié)果。,Visual Basic Programming 3,計(jì)算機(jī)解題示例,例如

2、,需要利用計(jì)算機(jī)求一個(gè)三角形的面積 首先,可以確定程序的輸出就是一個(gè)三角形的面積值。并確定面積單位。 接著,要確定求三角形面積所需輸入的數(shù)據(jù)。 已知三邊長度 已知相鄰兩邊長度以及相鄰邊的夾角 以上兩種方法選其一,確定數(shù)據(jù)的輸入類型以及單位 然后,確定如何處理輸入的數(shù)據(jù),即選擇并確定求解算法,編寫程序?qū)崿F(xiàn)。 最后,全面詳細(xì)考慮周邊相關(guān)問題,使程序更加完善友好,如程序中是否需要檢查輸入數(shù)據(jù)的合法性等。 用戶輸入了非數(shù)值型數(shù)據(jù) 要構(gòu)成三角形,必須保證輸入的三個(gè)邊長值中,任意兩個(gè)邊長值相加必須大于第三邊邊長 若用戶輸入了非標(biāo)準(zhǔn)單位數(shù)據(jù)是否提示或程序自動(dòng)轉(zhuǎn)換,2.1,Visual Basic Progr

3、amming 4,當(dāng)a+bc 且 a+cb 且 b+ca 時(shí),三角形存在,其面積 式中: p=(a+b+c)/2,已知三角形三個(gè)邊的長度,設(shè)計(jì)求此三角形面積的程序,實(shí)例 程序代碼,2.1,Visual Basic Programming 5,計(jì)算機(jī)的處理步驟 可設(shè)a=3cm,b=4cm,c=5cm 輸入a、b、c的值,計(jì)算p=(3+4+5)/2=6cm 得到 計(jì)算機(jī)解題過程圖示,已知三角形三個(gè)邊的長度,設(shè)計(jì)求此三角形面積,2.1,Visual Basic Programming 6,程序設(shè)計(jì)的一般步驟,1.分析:問題定義 2.設(shè)計(jì):計(jì)劃解題 3.選擇與創(chuàng)建界面:選擇和確定界面對象 4.編碼:用

4、程序設(shè)計(jì)語言描述算法 5.測試與調(diào)試:查找并排除程序中的任何錯(cuò)誤 6.完成文檔:整理和組織描述程序的所有資料,2.1,Visual Basic Programming 7,算法與編程工具,被包含在窗體或標(biāo)準(zhǔn)模塊中的一個(gè)個(gè)過程有機(jī)地組合在一起,就構(gòu)成一個(gè)完整的應(yīng)用程序。 在設(shè)計(jì)程序前,根據(jù)實(shí)際問題的特點(diǎn)和需求,同時(shí)考慮到計(jì)算機(jī)的工作特性,確定解決該問題所需要的方法和步驟稱為“算法設(shè)計(jì)”。 算法的概念 算法示例 算法的特征 算法的描述 基本算法結(jié)構(gòu),2.2,Visual Basic Programming 8,算法的概念,廣義而言,算法就是解決某個(gè)問題或處理某件事的方法和步驟。 狹義而言,算法是專

5、指用計(jì)算機(jī)解決某一問題的方法和步驟。 計(jì)算機(jī)算法可以分為兩大類:一類是數(shù)值計(jì)算算法;另一類是非數(shù)值計(jì)算算法。 研究解決各種特定類型問題的算法已成為一個(gè)稱為“計(jì)算方法”的專門學(xué)科。 對于同一問題的求解,往往可以設(shè)計(jì)出多種不同的算法。一般而言,評價(jià)一個(gè)算法的好壞優(yōu)劣,主要看算法是否正確、運(yùn)行的效率及占用系統(tǒng)資源的多少等。,Visual Basic Programming 9,算法示例,【例2-1】算法1 【例2-2】算法2,Visual Basic Programming 10,算法1 求兩個(gè)自然數(shù)的最大公約數(shù)的算法,S1.輸入兩個(gè)自然數(shù)M、N; S2.求M除以N的余數(shù)R; S3.使M=N,即用N

6、代換M; S4.使N=R,即用R代換N; S5.若R0,則重復(fù)執(zhí)行S2、S3、S4(循環(huán)),否則轉(zhuǎn)S6; S6.輸出M,M即為M和N的最大公約數(shù)。 本算法是由古希臘數(shù)學(xué)家歐幾里德提出的,所以又稱為“歐幾里德算法”。算法中的S1、S2、S3叫作算法步驟,每個(gè)算法步驟明確規(guī)定所要進(jìn)行的操作及處理對象的特性(M、N為自然數(shù))。 歐幾里德算法是求兩個(gè)自然數(shù)最大公約數(shù)的經(jīng)典算法。 證明,Visual Basic Programming 11,算法2 在N個(gè)字符數(shù)據(jù)集合中,查找有無 特定的字符串存在,S1.輸入字符數(shù)據(jù)的個(gè)數(shù)N和要查找的數(shù)據(jù)S; S2.使I=1,I用于計(jì)數(shù); S3.從字符數(shù)據(jù)集合中讀取第I

7、個(gè)數(shù)據(jù)X; S4.若X=S,輸出“找到S”的信息,算法結(jié)束,否則轉(zhuǎn)S5; S5.使I=I+1,計(jì)數(shù)器計(jì)數(shù); S6.若IN;則重復(fù)執(zhí)行S3、S4、S5(循環(huán));否則轉(zhuǎn)S7; S7.輸出“找不到S”信息,算法結(jié)束。 本算法也稱為“順序查找算法”,也是在處理非數(shù)值信息時(shí)最常用的一種算法。,Visual Basic Programming 12,算法的特征,從上述算法的示例可以看出,作為算法,應(yīng)具備以下特征: 1)確定性-算法的每個(gè)步驟都應(yīng)確切無誤,沒有歧義性。 2)可行性-算法的每個(gè)步驟都必須是計(jì)算機(jī)能夠有效執(zhí)行、可以實(shí)現(xiàn)的,并可得到確定的結(jié)果。 3)有窮性-一個(gè)算法包含的步驟必須是有限的,并在一個(gè)

8、合理的時(shí)間限度內(nèi)可以執(zhí)行完畢。 4)輸入性-執(zhí)行算法時(shí)可以有多個(gè)輸入,但也可以沒有輸入(0個(gè)輸入)。 5)輸出性-一個(gè)算法必須有1個(gè)或多個(gè)輸出。,Visual Basic Programming 13,算法的描述,算法可以采用多種方式來表示。比如使用人們的自然語言像英語、漢語等來描述;使用某種代碼符號來描述或者使用特定的圖形來描述等等。由于圖形的描述方法既形象,又直觀,所以得到廣泛的應(yīng)用。 用于描述算法的圖形使用較多的是所謂的流程框圖,簡稱流程圖。它是使用規(guī)定的圖形符號來描述算法的。流程圖使用的圖形符號見表2-1。 圖2-2和圖2-3分別是上一節(jié)兩個(gè)算法示例的流程圖。圖框內(nèi)的文字用于說明具體的操作內(nèi)容。顯而易見,使用流程圖比使用自然語言描述算法優(yōu)越地多。,Visual Basic Programming 14,表2-1,Visual Basic Programming 15,N,M,Visual Basic Programming 16,基本算法結(jié)構(gòu),“結(jié)構(gòu)化程序設(shè)計(jì)方法”的核心是規(guī)定了算法的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。,Visual Basic Programming 17,順序結(jié)構(gòu),Visual Basic Programming 18,分支結(jié)構(gòu),Visual Ba

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論