VB詳細(xì)復(fù)習(xí)大綱重點(diǎn)講義_第1頁(yè)
VB詳細(xì)復(fù)習(xí)大綱重點(diǎn)講義_第2頁(yè)
VB詳細(xì)復(fù)習(xí)大綱重點(diǎn)講義_第3頁(yè)
VB詳細(xì)復(fù)習(xí)大綱重點(diǎn)講義_第4頁(yè)
VB詳細(xì)復(fù)習(xí)大綱重點(diǎn)講義_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、信息技術(shù)會(huì)考知識(shí)要點(diǎn)算法與程序設(shè)計(jì)第一單元 算法一、用計(jì)算機(jī)解決問(wèn)題的三個(gè)階段 P21、 分析問(wèn)題-“做什么?”:確定解題任務(wù)。2、 設(shè)計(jì)算法-“怎么做?”:確定怎么樣讓計(jì)算機(jī)做(用什么軟件來(lái)解決)或讓計(jì)算機(jī)怎么做(自己動(dòng)手設(shè)計(jì)程序)。3、 VB算法實(shí)現(xiàn)及結(jié)果檢測(cè):執(zhí)行設(shè)計(jì)算法程序解決問(wèn)題,并進(jìn)行檢測(cè)和驗(yàn)證。二、算法實(shí)現(xiàn)的過(guò)程1、選擇合適算法解決實(shí)際問(wèn)題。在通常情況下,如果可用數(shù)學(xué)公式來(lái)描述問(wèn)題的,可以采用解析算法(公式求值),如果不能用數(shù)學(xué)公式來(lái)描述問(wèn)題的,可以選用枚舉(例舉出所有可能性)等其他算法。2、用三種算法表示方式之一來(lái)表示算法,在描述算法時(shí)要注意算法與程序的聯(lián)系與區(qū)別。三種算法表示

2、方式:1. 流程圖2. 自然語(yǔ)言3. 偽代碼三、算法的特征 P71、有窮性:執(zhí)行的步驟是有限的。不會(huì)無(wú)限的。解釋?zhuān)鹤⒁釬or循環(huán)和Do-While-Loop循環(huán)都是帶有結(jié)束循環(huán)的判定條件的。2、確定性:每個(gè)步驟的含義應(yīng)該是確定的。3、可行性:每個(gè)步驟是可行的,并且能在有限的時(shí)間內(nèi)完成。4、有0個(gè)或多個(gè)輸入:初始的數(shù)據(jù)可從外界輸入,可以含在算法之中。(回憶輸入語(yǔ)句)5、有一個(gè)或多個(gè)輸出:一定要有結(jié)果,一定要以一定形式輸出。(回憶輸出語(yǔ)句)四、算法的三種表示 P81、 自然語(yǔ)言:自然語(yǔ)言是指人們?cè)谌粘I钪惺褂玫恼Z(yǔ)言,用自然語(yǔ)言描述的算法通俗易懂,但缺乏直觀性和簡(jiǎn)潔性,并容易產(chǎn)生歧義。自然語(yǔ)言算法

3、表示舉例:1) (輸入原始數(shù)據(jù))輸入:鐵絲的長(zhǎng)度送變量L,矩形框的面積送變量S2) (計(jì)算d)計(jì)算L2-16S, 結(jié)果送到變量d3) (判斷是否僅有一個(gè)根)如果d=0,那么轉(zhuǎn)到74) (判斷是否無(wú)根)如果d<0,那么轉(zhuǎn)到95) (方程有兩個(gè)根)如果d>0,輸出:“兩條不同的邊長(zhǎng)”6) (算法終止)結(jié)束7) (方程有一個(gè)根)輸出:“兩條相同的邊長(zhǎng)”8) (算法終止)結(jié)束9) (方程無(wú)實(shí)數(shù)根)輸出:“無(wú)解”10) (算法終止)結(jié)束2、 流程圖:也稱(chēng)程序框圖,它是算法的一種圖形化的表示方法,與自然語(yǔ)言相比,它描述的算法形象、直觀、更容易理解。流程圖算法表示舉例:3、 偽代碼:它是介于自然

4、語(yǔ)言和計(jì)算機(jī)程序語(yǔ)言之間的一種算法描述,沒(méi)有嚴(yán)格的語(yǔ)法限制,也是專(zhuān)業(yè)軟件開(kāi)發(fā)人員描述的一種常見(jiàn)方法。偽代碼算法表示舉例:1) read (Lß鐵絲的長(zhǎng)度,Sß矩形框的面積)2) dßL2-16*S3) if(d=0) write (“兩條相同的邊長(zhǎng)”)4) else if (d<0) write(“無(wú)解”)5) else write (“兩條不同的邊長(zhǎng)”)五、算法執(zhí)行流程的三種基本模式 P131、順序模式:執(zhí)行完一個(gè)步驟后順序執(zhí)行下一個(gè)步驟。順序模式流程圖舉例:2、選擇模式:對(duì)情況進(jìn)行判斷,結(jié)果是真時(shí)執(zhí)行步驟一,否則執(zhí)行步驟二。一般使用if語(yǔ)句, if語(yǔ)句的

5、完整格式如下:if 條件 then 語(yǔ)句1 else 語(yǔ)句2 End If 。條件為真執(zhí)行語(yǔ)句1,條件為假執(zhí)行語(yǔ)句2 。也可以用塊if語(yǔ)句, 不帶else部分。或者使用ElseIf 語(yǔ)句,多條件組合。選擇模式流程圖舉例:3、循環(huán)模式:依次對(duì)情況進(jìn)行反復(fù)判斷,當(dāng)情況為真時(shí),執(zhí)行循環(huán)體部分,直到情況為假時(shí),退出循環(huán)。一般使用for-next , do-while loop等語(yǔ)句。在循環(huán)次數(shù)確定的情況下,一般使用for-next語(yǔ)句。循環(huán)的初始值,循環(huán)的終值,循環(huán)的步長(zhǎng),循環(huán)次數(shù)的計(jì)算公式以及退出循環(huán)時(shí)循環(huán)變量的值是多少(考試出現(xiàn)可以使用VB的print語(yǔ)句進(jìn)行測(cè)試)。循環(huán)模式流程圖舉例:六、基本算

6、法 1、枚舉算法:P21 又稱(chēng)為窮舉法,是一種全過(guò)程搜索結(jié)果法,在所有可能的結(jié)果中,把搜索到的每一個(gè)結(jié)果進(jìn)行逐個(gè)比對(duì),過(guò)濾不符合要求的結(jié)果,保留符合要求的結(jié)果。一般用循環(huán)結(jié)構(gòu)來(lái)解決。典型例題:鑰匙開(kāi)鎖的問(wèn)題,書(shū)本P21的兩位數(shù)字被涂抹的單據(jù)的問(wèn)題,P22的使用小盒和大盒分裝變形金剛的問(wèn)題。2、解析算法:P25 用解析的方法找出能正確體現(xiàn)問(wèn)題前提條件與求解結(jié)果之間關(guān)系的數(shù)學(xué)表達(dá)式,并通過(guò)表達(dá)式的計(jì)算來(lái)實(shí)現(xiàn)問(wèn)題求解的算法。第二單元 VB程序設(shè)計(jì)一、對(duì)象、屬性、類(lèi)、事件和事件處理的概念1、對(duì)象P47是有著狀態(tài)和行為的實(shí)體。其中對(duì)象的狀態(tài)是通過(guò)若干個(gè)屬性來(lái)描述(例如,Text1.Text=”明天有雨”

7、, Text1.BackColor=vbRed , 在此,Text1是對(duì)象名稱(chēng),Text 和 BackColor是屬性名稱(chēng), “明天有雨” 和 vbRed 是 屬性值)的;行為是對(duì)屬性進(jìn)行操作和處理的方法。Shape1對(duì)象:圖形1Label1對(duì)象:標(biāo)簽1Label2對(duì)象:標(biāo)簽2Command1對(duì)象:命令按鈕1Text2對(duì)象:文本框2Text1對(duì)象:文本框1Form1對(duì)象:窗體1控件工具箱Shape類(lèi)TextBox類(lèi)Label類(lèi)2、類(lèi)P50 是對(duì)相同性質(zhì)的對(duì)象的一種抽象。對(duì)象是類(lèi)的具體化,是一個(gè)“實(shí)例”。類(lèi)通過(guò)繼承可以創(chuàng)建許多對(duì)象。對(duì)象:shape1對(duì)象:shape2對(duì)象:shape3Shape

8、類(lèi)3、事件P53就是發(fā)生在對(duì)象上的事情(回憶:?jiǎn)螕羰录﨏lick,載入事件Load。),通常是由用戶在對(duì)象上激發(fā)的一種動(dòng)作。一個(gè)事件的發(fā)生,可以引起某個(gè)對(duì)象上某個(gè)方法(事件處理過(guò)程)的執(zhí)行(一般就是執(zhí)行一段編寫(xiě)好的程序),即由某個(gè)事件驅(qū)動(dòng)了相應(yīng)的事件處理過(guò)程的執(zhí)行。這就是面向?qū)ο蟮某绦蛟O(shè)計(jì)中的事件驅(qū)動(dòng)概念。TextBox文本框?qū)ο髮?duì)象名:RadiusTextBox文本框?qū)ο髮?duì)象名:AreaCommandButton對(duì)象對(duì)象名:command1獲取對(duì)象Radius的Text屬性值(圓的半徑)并轉(zhuǎn)換成數(shù)值后送變量r中計(jì)算圓的面積:3.1416*r*r,把值轉(zhuǎn)換成一段文字,并設(shè)置為對(duì)象Area的Te

9、xt屬性的新值開(kāi)始結(jié)束Private Sub Command1_Click()Dim r As Double 定義變量r為雙精度實(shí)數(shù),用于存放半徑值r = Val(Radius.Text) val()函數(shù)將字符型值轉(zhuǎn)換成數(shù)值型Area.Text = Str(3.1416 * r * r) str()函數(shù)將數(shù)值型值轉(zhuǎn)換成字符數(shù)值End Sub二、VB應(yīng)用程序的界面設(shè)計(jì)P55 1、VB程序設(shè)計(jì)語(yǔ)言:基于Basic語(yǔ)言的可視化程序設(shè)計(jì)環(huán)境,采用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(OOP)。2、設(shè)計(jì)環(huán)境的窗口主要有:對(duì)象窗口、控件工具箱、屬性窗口、工程窗口組成。如圖所示:3、控件工具箱集中了常用的基本控件:標(biāo)簽L

10、abel,文本框Textbox,命令按鈕CommandButton,列表框Listbox,圖像Image等。如圖所示:4、窗體(Form)是VB應(yīng)用程序的基本結(jié)構(gòu)。窗體可以看作是一個(gè)“容器”,其中放置著各種各樣在應(yīng)用程序匯總必須要用到的對(duì)象。VB程序的窗體和工程存儲(chǔ)后對(duì)應(yīng)的文件類(lèi)型分別是窗體文件.frm 和工程文件.vbp 記住還可以生成一個(gè)可執(zhí)行文件.exe。三、基本數(shù)據(jù)類(lèi)型、常量和變量以及數(shù)組1、數(shù)據(jù)是信息的一種記錄形式。在vb中,常用的基本數(shù)據(jù)類(lèi)型有以下幾種 P69數(shù)據(jù)類(lèi)型名說(shuō)明性質(zhì)Integer整數(shù)型-3276832767范圍內(nèi)的任何整數(shù) (基本是一些小的數(shù)字)Long長(zhǎng)整數(shù)型-214

11、74836482147483467范圍內(nèi)的任何較長(zhǎng)的整數(shù)Single單精度實(shí)數(shù)型絕對(duì)值在1.401298E-45到3.402823E38內(nèi)的任何實(shí)數(shù),有效數(shù)字約67位 (帶小數(shù),基本是一些小的數(shù)字)Double雙精度實(shí)數(shù)型絕對(duì)值在10E-324到1.79E308內(nèi)的任何實(shí)數(shù),有效數(shù)字約1415位 E表示乘方的底數(shù)為10(帶小數(shù),較長(zhǎng)的小數(shù))String字符串型一段文字和符號(hào),放在一對(duì)雙引號(hào)之間Boolean邏輯型判斷的結(jié)果,其值只有兩個(gè):真(True)或假(False)Date日期型日期和時(shí)間2、常量是指在程序運(yùn)行過(guò)程中不會(huì)發(fā)生變化的量。常量有整數(shù)常量(1, 34)、實(shí)數(shù)常量(89.01, 3

12、.1415)、字符串常量(“Hello, China”)和邏輯常量(“True”“False”)等幾種類(lèi)型。另外也有直接常量和非直接常量之分,比如字符常量就是非直接常量,其余是直接常量。符號(hào)常量的說(shuō)明語(yǔ)句是:Const Pi=3.141593、變量:是數(shù)據(jù)一個(gè)存儲(chǔ)區(qū)域,在程序運(yùn)行過(guò)程中,可以發(fā)生變化的量。變量的命名規(guī)則:必須是字母開(kāi)頭的,后面可以是字母、數(shù)字和下劃線(如:a, x1, x2, it_qiu)。但是有些特殊的不能使用。例如:If, else,F(xiàn)or,True,F(xiàn)alse,Not等4、數(shù)組變量:是用來(lái)存儲(chǔ)一批同類(lèi)型的數(shù)據(jù),放置在一個(gè)連續(xù)的存儲(chǔ)空間內(nèi)。一維數(shù)組定義如下:Dim a(1

13、 to 10) As Integer其中下標(biāo)的下限(1)必須小于上限(10)。而下限和上限都應(yīng)該是整數(shù)。應(yīng)該學(xué)會(huì)通過(guò)看dim語(yǔ)句,知道數(shù)組元素的個(gè)數(shù)。四、常用的標(biāo)準(zhǔn)函數(shù)P71VB提供了大量的標(biāo)準(zhǔn)函數(shù),可供用戶編寫(xiě)程序時(shí)直接使用。教材上介紹了部分常用的數(shù)學(xué)函數(shù)、字符串函數(shù)和類(lèi)型轉(zhuǎn)換函數(shù)。(部分函數(shù)在計(jì)算機(jī)自帶的計(jì)算器里有,可以用計(jì)算器檢驗(yàn),如果計(jì)算器里沒(méi)有,大家可以在考試的時(shí)候,直接打開(kāi)VB,使用print輸出,測(cè)試一下題目里的函數(shù)到底是做什么的,明白?)常用的數(shù)學(xué)函數(shù)函數(shù)名函數(shù)的功能應(yīng)用舉例函數(shù)返回值A(chǔ)bs(X)求X的絕對(duì)值Int(X)求不大于X的最大整數(shù)Sqr(X)求X的算術(shù)平方根Exp(X

14、)求e的X次方Log(X)求以e為底的X的對(duì)數(shù)Sin (X)求X的正弦值Cos(X)求X的余弦值Tan (X)求X的正切值Rnd()產(chǎn)生一個(gè)0,1)之間的隨機(jī)小數(shù)要會(huì)算常用類(lèi)型轉(zhuǎn)換函數(shù)和字符串函數(shù)函數(shù)名函數(shù)的功能應(yīng)用舉例函數(shù)返回值A(chǔ)sc(X)字符串轉(zhuǎn)換為ASCIIChr (X)ASCII轉(zhuǎn)換為字符Val(X)字符串轉(zhuǎn)換為數(shù)值Str(X)數(shù)值轉(zhuǎn)換成字符串Len(X)計(jì)算字符串的長(zhǎng)度Mid(X,n, k)取字符串X中第n個(gè)字符起長(zhǎng)度為k的子串Fix(X)截掉數(shù)據(jù)的小數(shù)部分五、表達(dá)式的運(yùn)算(一)、算術(shù)類(lèi)基本運(yùn)算P72基本類(lèi)算術(shù)運(yùn)算按優(yōu)先級(jí)別從高到低排列,依次是:乘冪()、取負(fù)(-)、乘法(*)、實(shí)數(shù)

15、除法(/)、整數(shù)除法()、求余數(shù)(Mod)、加法(+)和減法(-)等。其中,乘法和除法是同一優(yōu)先級(jí),加法和減法也是同一優(yōu)先級(jí)。表格中的優(yōu)先級(jí)別的數(shù)字越小,級(jí)別越高?;具\(yùn)算運(yùn)算符表達(dá)式表達(dá)式的值乘冪329乘法*3*26除法/3/21.5整除321求余數(shù)Mod8 Mod 53加法+a+ba與b之和減法-a-ba與b的差在vb中,括號(hào)只有一種小括號(hào)()練習(xí)表達(dá)式的寫(xiě)法:1、252 3*25 3/2 32 8 MOD 3 3+6 7-5 -(3+2)2、 = sqr(b2-4*a*c) 注意乘號(hào)不可以省略,跟數(shù)學(xué)中有區(qū)別驗(yàn)證方法:在VB中加個(gè)問(wèn)號(hào)或者使用print 語(yǔ)句輸出計(jì)算結(jié)果(二)、關(guān)系類(lèi)基本

16、運(yùn)算P73關(guān)系運(yùn)算符號(hào)用來(lái)比較兩個(gè)數(shù)據(jù)的大小情況。結(jié)果返回一個(gè)邏輯值,真TRUE或者假FALSE基本運(yùn)算運(yùn)算符表達(dá)式表達(dá)式的值相等=1990 Mod 4 =0False不相等<>“abc”<>“abd”True小于<5<10True大于>10>100False小于等于<=10<=20True大于等于>=10>=20False他們的優(yōu)先級(jí)別一致 ,請(qǐng)寫(xiě)出跟數(shù)學(xué)里相應(yīng)的符號(hào)。1、練習(xí)1990 MOD 4=0“abc”<>“abd”150<>10010<=2510=100/10(三)、邏輯類(lèi)基本運(yùn)算

17、P73非NOT 或OR 與AND 優(yōu)先級(jí)從非、或、與 依次降低?;具\(yùn)算運(yùn)算符表達(dá)式表達(dá)式的值非NotNot (3>2)False與And(25>=10) And(25<=100)True或Or(25>100) Or (25<2)False1、非 NOT取相反,真假翻身一下。NOT 真 (結(jié)果為假)2、或 OR只有兩邊都為假時(shí)才為假,假 or 假3、與 AND 只有兩邊都為真時(shí)才真,真 AND 真非: Not(True)=False; Not(False)=True與: T And T = TT And F = FF And T = FF And F = F或:

18、T Or T = T T Or F = T F Or T = T F Or F = F 六、基本語(yǔ)句 P751、賦值語(yǔ)句:注意賦值號(hào)左邊必須并且只能是一個(gè)變量名,右邊可以是常量,變量或是表達(dá)式組合等。注意賦值號(hào)左右類(lèi)型必須是一致的。Text1.Text=”TOM”對(duì)象名稱(chēng).屬性名稱(chēng)=屬性值2、選擇語(yǔ)句:If語(yǔ)句。有行If語(yǔ)句和塊If語(yǔ)句兩種類(lèi)型。注意基本的規(guī)則。在塊If語(yǔ)句中,必須有End If結(jié)尾語(yǔ)句。 第一種行IF-ELSE語(yǔ)句的寫(xiě)法實(shí)例: If a>b Then max=a Else max=b 此寫(xiě)法的關(guān)鍵是: 沒(méi)有EndIf 完整語(yǔ)句一行結(jié)束 第二種塊IF-ELSE語(yǔ)句的寫(xiě)法實(shí)

19、例:(常用)d=b2-4*a*cIf d>0 ThenText1.Text=“有解”ElseIf d=0 ThenText1.Text=“有兩個(gè)相同的實(shí)數(shù)根”Else Text1.Text=“無(wú)解”EndIf3、循環(huán)語(yǔ)句:描述了一種重復(fù)計(jì)算的過(guò)程,由于計(jì)算機(jī)的計(jì)算速度極快,因此,用計(jì)算機(jī)來(lái)處理重復(fù)性的計(jì)算是十分合適的。常用的循環(huán)語(yǔ)句有如下兩種形式:(1)For語(yǔ)句:通過(guò)次數(shù)控制循環(huán)的計(jì)算過(guò)程。For 語(yǔ)句語(yǔ)法格式 For 循環(huán)變量 = 初值To終值Step 步長(zhǎng)語(yǔ)句塊Next 循環(huán)變量l 步長(zhǎng)(step)是循環(huán)變量的增量,其值可以是正數(shù)(遞增循環(huán))或負(fù)數(shù)(遞減循環(huán)),但不能是0。如果步長(zhǎng)

20、為1,則可以連同保留字Step略去不寫(xiě)。l 除了步長(zhǎng)知識(shí)點(diǎn)的講解,還要講解初值、終值、步長(zhǎng)都必須是整數(shù)。l 執(zhí)行Next之后,循環(huán)變量的值都會(huì)增加一個(gè)步長(zhǎng)的值。(2)Do-While-Loop語(yǔ)句:通過(guò)條件控制循環(huán)的在某些情況下,循環(huán)的次數(shù)無(wú)法預(yù)先知道,但已知在什么條件下應(yīng)該循環(huán)。這時(shí),使用Do語(yǔ)句來(lái)描述這樣的循環(huán)比較合適。Do語(yǔ)句的一般格式如下:Do While 條件表達(dá)式語(yǔ)句塊Loop4、注釋語(yǔ)句:P83以單引號(hào) 開(kāi)頭的一串字符。為的是讓程序更加易讀,它的存在不對(duì)程序產(chǎn)生任何影響。5、輸入、輸出語(yǔ)句的補(bǔ)充:(1)利用文本框輸入的方式 如:r=val(text1.text)(2)利用彈出對(duì)話

21、框的方式輸入 如:R=Inputbox(“輸入圓的半徑”)(3)利用改變對(duì)象屬性的方法 如: Text1.Text=str(x*3.1416*r) Label1.Caption=“春節(jié)快樂(lè)”(4)利用消息對(duì)話框的方法 如:Msgbox(“Hello”)(5)利用打印輸出方法 如:Print p六、過(guò)程與函數(shù)P831、 VB應(yīng)用程序是按模塊化的方式組成的,程序模塊分為過(guò)程和函數(shù)兩種。2、 過(guò)程:將整個(gè)程序劃分為一個(gè)個(gè)較小的邏輯單元,每個(gè)邏輯單元構(gòu)成一個(gè)過(guò)程。過(guò)程中的代碼可以反復(fù)被重復(fù)調(diào)用。強(qiáng)調(diào)的是動(dòng)作。過(guò)程分為兩類(lèi),一類(lèi)是事件處理過(guò)程,另一類(lèi)是通用過(guò)程。事件處理過(guò)程的格式:Sub 事件處理過(guò)程名

22、(參數(shù)表)語(yǔ)句塊End Sub事件過(guò)程處理名必須符合下面的規(guī)則:對(duì)象名_事件的標(biāo)準(zhǔn)名常見(jiàn)的時(shí)間標(biāo)準(zhǔn)名有 Click Dblclick KeyPress load 等3、 函數(shù):是類(lèi)似于過(guò)程的另一個(gè)程序模塊,不同之處在于函數(shù)執(zhí)行完成后,函數(shù)的計(jì)算結(jié)果被送到函數(shù)的調(diào)用點(diǎn)上,供程序的后續(xù)部分進(jìn)行處理。強(qiáng)調(diào)的是值的計(jì)算。函數(shù)分為標(biāo)準(zhǔn)函數(shù)和自定義函數(shù)。自定義函數(shù)的格式: Function 函數(shù)名(參數(shù)表) As 類(lèi)型名 函數(shù)值返回值的類(lèi)型函數(shù)的格式: Function函數(shù)名(參數(shù)表)As 函數(shù)返回值類(lèi)型 語(yǔ)句塊 End Function第三單元 算法的程序?qū)崿F(xiàn) P95本章重點(diǎn): 枚舉算法、解析算法的基本

23、思想,以及利用這些算法進(jìn)行程序設(shè)計(jì),解決實(shí)際問(wèn)題。注意點(diǎn): 使用枚舉算法,要求列舉出所有可能的情況,不能遺漏,也不能重復(fù)。另外使用枚舉算法計(jì)算容量較大,需要強(qiáng)調(diào)程序優(yōu)化措施,提高計(jì)算機(jī)的效率。枚舉算法:就是按問(wèn)題本身的性質(zhì),一一列舉該問(wèn)題所有可能的解,并在逐一列舉的過(guò)程中,檢驗(yàn)每個(gè)可能解是否是問(wèn)題的真正解,如是,就采納這個(gè)解,否則就拋棄它。實(shí)例:自行車(chē)胎壞掉的時(shí)候,修車(chē)師傅檢查壞掉的位置,就是一個(gè)枚舉算法,他選定某一個(gè)位置為起始位置,然后按順序一塊塊的檢查過(guò)來(lái),直到找到壞掉的位置,需要注意的問(wèn)題是:找到一個(gè)壞掉的位置后,還要繼續(xù)找嗎?為了安全起見(jiàn),建議繼續(xù)找由此,在使用枚舉算法的時(shí)候的注意事項(xiàng)

24、,即要把所有可能的情況都找出來(lái),否則有可能會(huì)漏掉答案。例:一份單據(jù)被涂抹的數(shù)字的推算。該例題的程序請(qǐng)參考PPT-第九節(jié):枚舉算法和程序?qū)嵗龁?wèn)題:一張單據(jù)上有一個(gè)5位數(shù)的編號(hào),其百位數(shù)和十位數(shù)處已經(jīng)變得模糊不清,如圖所示。但是知道這個(gè)5位數(shù)是37或67的倍數(shù)。現(xiàn)在要設(shè)計(jì)一個(gè)算法,找出所有滿足這些條件的5位數(shù)。并統(tǒng)計(jì)這些5位數(shù)的個(gè)數(shù)。枚舉算法關(guān)鍵:1、一一列舉該問(wèn)題所有可能的解2、檢驗(yàn)每個(gè)可能解是否是問(wèn)題的真正解000102039899J一一列舉該問(wèn)題所有可能的解讓變量J依次取0到99這100個(gè)不同的值,同時(shí)對(duì)于J的每個(gè)確定的值乘以10加上25006這樣就能形成一個(gè)可能解.0J乘以1000加上25

25、00625006110250162202502698980259869999025996所有可能的解!用變量N表示。檢驗(yàn)每個(gè)可能解是否是問(wèn)題的真正解這個(gè)5位數(shù)是37或67的倍數(shù)25006、25016、25026、25986、25996N MOD 37=0 OR N MOD 67=0開(kāi)始現(xiàn)在要設(shè)計(jì)一個(gè)算法,找出所有滿足這些條件的5位數(shù)。并統(tǒng)計(jì)這些5位數(shù)的個(gè)數(shù)。計(jì)數(shù)器C計(jì)數(shù)器置初值:C=0J0J<100?N是37的倍數(shù)或是67的倍數(shù)?計(jì)數(shù)器C計(jì)數(shù)C=C+1輸出:真正解N的值J J+1YYN輸出:計(jì)數(shù)器C的值結(jié)束NJ:循環(huán)變量,其作用如下:1、用它來(lái)控制循環(huán)是否繼續(xù)進(jìn)行,并在循環(huán)處理過(guò)程中用來(lái)記錄已經(jīng)執(zhí)行的循環(huán)的次數(shù)。2、依次產(chǎn)生應(yīng)填在百位和十位上的數(shù)值。N:存儲(chǔ)一個(gè)可能解N 25006+J*10J J+1開(kāi)始計(jì)數(shù)器置初值:C0J0J<100?N

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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)論