版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Chapter 15VB程式進(jìn)階15-1 結(jié)構(gòu)化程式設(shè)計(jì)的概念15-2 VB中的選擇結(jié)構(gòu)15-3 VB中的重覆結(jié)構(gòu)15-4 認(rèn)識(shí)陣列第1頁(yè),共69頁(yè)。對(duì)於程序式語(yǔ)言來(lái)說(shuō),在開(kāi)發(fā)時(shí)會(huì)從上而下將程式分解成許多模組(即一個(gè)個(gè)的小程式),並使每一模組分別負(fù)責(zé)一件獨(dú)立的工作,如此即可簡(jiǎn)化大型程式的複雜性,這樣的設(shè)計(jì)觀念稱為結(jié)構(gòu)化程式設(shè)計(jì)(structured programming)。15-1結(jié)構(gòu)化程式設(shè)計(jì)的概念第2頁(yè),共69頁(yè)。由於這些模組都只有一個(gè)入口以及一個(gè)出口,不但有助於程式偵錯(cuò),而且程式整體流程也會(huì)變得更加容易閱讀與修改。其中每一模組通常由下列三種結(jié)構(gòu)組成:循序結(jié)構(gòu)選擇結(jié)構(gòu)重複結(jié)構(gòu)15-1結(jié)構(gòu)
2、化程式設(shè)計(jì)的概念第3頁(yè),共69頁(yè)。舉出三種基本結(jié)構(gòu)的例子想一想,日常生活中有那些事情符合以上介紹的三種結(jié)構(gòu)?和同學(xué)討論一下,並分別舉出一個(gè)例子。【參考答案】1. 循序結(jié)構(gòu):到醫(yī)院看病時(shí)要依序掛號(hào)候診醫(yī)生診療開(kāi)處方批價(jià)領(lǐng)藥。15-1結(jié)構(gòu)化程式設(shè)計(jì)的概念第4頁(yè),共69頁(yè)。2. 選擇結(jié)構(gòu):速食店的員工詢問(wèn)顧客要點(diǎn)幾號(hào)套餐,並依顧客所點(diǎn)之餐號(hào)準(zhǔn)備相關(guān)餐點(diǎn)。3. 重複結(jié)構(gòu):電玩遊戲終結(jié)時(shí)會(huì)詢問(wèn)是否再玩一次,若選擇是即可繼續(xù)遊戲關(guān)卡。仔細(xì)想想,有些事情是不是必須由數(shù)種結(jié)構(gòu)組合才能完成?的確如此,事實(shí)上寫(xiě)程式也是類似的狀況。15-1結(jié)構(gòu)化程式設(shè)計(jì)的概念第5頁(yè),共69頁(yè)。如果明天不下雨,我就要出去玩;凡消費(fèi)滿
3、1000元就可享9折優(yōu)惠,2000元以上8折,3000元以上7折。日常生活中充滿這類選擇性的問(wèn)題,我們必須根據(jù)現(xiàn)實(shí)條件選擇一個(gè)最適合的途徑。15-2VB中的選擇結(jié)構(gòu)第6頁(yè),共69頁(yè)。撰寫(xiě)程式時(shí)也是一樣,如果程式只能由上而下循序執(zhí)行而不具備選擇的能力,將會(huì)使程式的功用受到限制。因此VB提供了If . . .Then. . .Else以及Select.Case二種選擇結(jié)構(gòu),藉此可以執(zhí)行各種判斷並執(zhí)行相關(guān)處理,使程式撰寫(xiě)更加靈活有彈性。15-2VB中的選擇結(jié)構(gòu)第7頁(yè),共69頁(yè)。If.Then.Else 結(jié)構(gòu)顧名思義就是如果就否則的意思。例如If 明天是個(gè)好天氣 Then 去陽(yáng)明山賞楓 Else 在家
4、看電視或是If 分?jǐn)?shù) = 60 Then Print 成績(jī)及格 Else Print 成績(jī)不及格等,都是 If.Then.Else 結(jié)構(gòu)的例子。15-2.1 具判斷力的 If.Then.Else第8頁(yè),共69頁(yè)。15-2.1 具判斷力的 If.Then.Else第9頁(yè),共69頁(yè)。計(jì)算工讀生薪水(IF.Then.Else)請(qǐng)撰寫(xiě)一個(gè)計(jì)算工讀生薪水的程式:當(dāng)工作時(shí)數(shù)小於等於40小時(shí),每小時(shí)的薪水為100元;若超過(guò)40小時(shí),則超過(guò)的部分每小時(shí)再加發(fā)20元加班費(fèi),如下圖?!竟?fàn)例檔案:工讀生薪水.frm】15-2.1 具判斷力的 If.Then.Else第10頁(yè),共69頁(yè)。15-2.1 具判斷力的 If
5、.Then.Else第11頁(yè),共69頁(yè)。應(yīng)用 If.Then.Else 敘述可以處理許多單純的選擇性問(wèn)題,但有時(shí)候我們的設(shè)定條件可能不只一個(gè),例如如果有很多人就叫Pizza來(lái)吃,如果3到4個(gè)就點(diǎn)炸雞全家餐,如果只有一個(gè)人就叫便當(dāng),或是如果分?jǐn)?shù)在80分以上為優(yōu)秀,介於60到80分為尚可,60以下為極待加強(qiáng),這時(shí)就必須要使用巢狀 If.Then.Else 敘述才能解決。15-2.2 巢狀 If.Then.Else第12頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.Else第13頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.Else第14頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.El
6、se第15頁(yè),共69頁(yè)。成績(jī)分級(jí)(巢狀I(lǐng)F.Then.Else)請(qǐng)撰寫(xiě)一個(gè)成績(jī)分級(jí)的程式:使用者透過(guò)輸入方塊輸入成績(jī),若高於80分則以訊息方塊顯示優(yōu)秀,若介於6079之間則顯示尚可,59分以下則顯示極待加強(qiáng)?!竟?fàn)例檔案:成績(jī)分級(jí).frm】15-2.2 巢狀 If.Then.Else第16頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.Else第17頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.Else第18頁(yè),共69頁(yè)。求最大值(巢狀I(lǐng)F.Then.Else)請(qǐng)撰寫(xiě)一個(gè)求最大值的程式:使用者透過(guò)輸入方塊輸入三個(gè)數(shù)字A、B、C,程式處理後再以訊息方塊顯示三者的最大值?!竟?fàn)例檔案:求最大值.
7、frm】15-2.2 巢狀 If.Then.Else第19頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.Else第20頁(yè),共69頁(yè)。15-2.2 巢狀 If.Then.Else第21頁(yè),共69頁(yè)。假設(shè)某一運(yùn)動(dòng)比賽需以年齡區(qū)分為10級(jí),雖然我們可以使用巢狀的 If. Then.Else敘述來(lái)完成,但這會(huì)使程式變得十分複雜混亂,而且執(zhí)行上也比較沒(méi)有效率。為此Visual Basic 提供了 Select.Case 敘述,可作為這類多重選擇的問(wèn)題的解決方案。15-2.3 多重選擇 Select.Case第22頁(yè),共69頁(yè)。15-2.3 多重選擇 Select.Case第23頁(yè),共69頁(yè)。15-2
8、.3 多重選擇 Select.Case第24頁(yè),共69頁(yè)。15-2.3 多重選擇 Select.Case第25頁(yè),共69頁(yè)。改寫(xiě)成績(jī)分級(jí)(Select.Case)請(qǐng)利用 Select . . .Case 改寫(xiě)成績(jī)分級(jí)的程式,使成績(jī)區(qū)分為更多等級(jí)(100、9799、8096、6079、059、其他),並分別顯示不同的回應(yīng)訊息?!竟?fàn)例檔案:改寫(xiě)成績(jī)分級(jí).frm】15-2.3 多重選擇 Select.Case第26頁(yè),共69頁(yè)。15-2.3 多重選擇 Select.Case第27頁(yè),共69頁(yè)。15-2.3 多重選擇 Select.Case第28頁(yè),共69頁(yè)。重複結(jié)構(gòu)又稱迴圈,不需要一直撰寫(xiě)重複的程式
9、碼,就可以重複執(zhí)行某段程式,而且可以很方便地設(shè)定起始或停止的條件,並有效地控制程式執(zhí)行的流程。VB中主要提供 For.Next 以及 Do.Loop 二種重複,以下亦將簡(jiǎn)單介紹其觀念與應(yīng)用方式。15-3結(jié)VB中的重覆結(jié)構(gòu)第29頁(yè),共69頁(yè)。當(dāng)程式中某個(gè)敘述區(qū)段要重覆執(zhí)行的次數(shù)是固定且可計(jì)數(shù)時(shí)(例如重複執(zhí)行某程式片段100次),這類已知起始值,每執(zhí)行一次增減多少,一直到超過(guò)或等於終止值才停止的問(wèn)題,都可以使用 For.Next 敘述。15-3.1 計(jì)數(shù)式迴圈For.Next第30頁(yè),共69頁(yè)。15-3.1 計(jì)數(shù)式迴圈For.Next第31頁(yè),共69頁(yè)。計(jì)算1到100的總和(For.Next)請(qǐng)利
10、用 For.Next 敘述撰寫(xiě)一個(gè)計(jì)算1到100總和的程式?!竟?fàn)例檔案:1到100總和.frm】15-3.1 計(jì)數(shù)式迴圈For.Next第32頁(yè),共69頁(yè)。在這個(gè)程式中,我們首先宣告一個(gè)整數(shù)變數(shù) Total 用以存放加總後的結(jié)果,並藉由 Total = 0 設(shè)定其初始值為 0,然後省略 STEP 敘述表示增加值為 1,即控制變數(shù) i 每次加 1 直到 i = 100,所以這個(gè)迴圈會(huì)執(zhí)行100次。1. 程式碼15-3.1 計(jì)數(shù)式迴圈For.Next第33頁(yè),共69頁(yè)。2. 由於變數(shù) i 每次加 1,所以 Total = Total + i 相當(dāng)於所以便能達(dá)到我們想要計(jì)算1 + 2 + 3 + .
11、 + 100之值的目的。15-3.1 計(jì)數(shù)式迴圈For.Next第34頁(yè),共69頁(yè)。計(jì)算1到100的奇數(shù)和(For.Next增加值為2)請(qǐng)利用 For.Next 敘述撰寫(xiě)一個(gè)計(jì)算1到100奇數(shù)和的程式。【範(fàn)例檔案:1到100奇數(shù)和.frm】15-3.1 計(jì)數(shù)式迴圈For.Next第35頁(yè),共69頁(yè)。這個(gè)程式唯一的差別在於,為了只計(jì)算奇數(shù)之和,變數(shù) i 必需每次加 2,這可以利用程式碼 For i=1 To 100 Step 2 來(lái)達(dá)成,如此 Total = Total + i 便相當(dāng)於所以便能達(dá)到我們想要計(jì)算1到100之奇數(shù)和的目的。15-3.1 計(jì)數(shù)式迴圈For.Next第36頁(yè),共69頁(yè)。
12、For.Next 的初始值與增加值這個(gè)範(fàn)例說(shuō)明 For.Next 敘述的初始值沒(méi)有正負(fù)限制,增加值也可以是非整數(shù)。【範(fàn)例檔案:初始值與增加值.frm】15-3.1 計(jì)數(shù)式迴圈For.Next第37頁(yè),共69頁(yè)。一個(gè) For.Next 結(jié)構(gòu)之中也可以再包含一個(gè)或數(shù)個(gè) For.Next 結(jié)構(gòu),我們稱之為巢狀 For.Next。下面的例子,便是利用二層迴圈建立的九九乘法表。九九乘法表(巢狀 For.Next)請(qǐng)利用使用巢狀 For . . .Next 結(jié)構(gòu)在表單上建立九九乘法表。【範(fàn)例檔案:九九乘法表.frm】15-3.2 巢狀 For.Next第38頁(yè),共69頁(yè)。由程式中可以看出,當(dāng) i = 1
13、時(shí),j 依序由 1 至 9,當(dāng) i = 2 時(shí),j 一樣依序由 1 至 9,如此重複下去直到 i = 9。另外程式中二個(gè)Print指令的目的是,當(dāng) j 跑完一個(gè)輪迴時(shí)(剛好是一行),讓游標(biāo)換行並空一行。15-3.2 巢狀 For.Next第39頁(yè),共69頁(yè)。15-3.2 巢狀 For.Next第40頁(yè),共69頁(yè)。條件式迴圈可重覆執(zhí)行某一程式區(qū)段,至於重覆的次數(shù)則視設(shè)定條件是否符合而定。其中:前測(cè)式迴圈:先作測(cè)試再?zèng)Q定是否執(zhí)行迴圈。後測(cè)式迴圈:先執(zhí)行一次迴圈敘述後再行判斷是否重覆執(zhí)行。15-3.3 條件式迴圈 Do.Loop第41頁(yè),共69頁(yè)。15-3.3 條件式迴圈 Do.Loop第42頁(yè),共
14、69頁(yè)。15-3.3 條件式迴圈 Do.Loop第43頁(yè),共69頁(yè)。計(jì)算1到100的總和(Do While.Loop)請(qǐng)利用 Do While.Loop 敘述撰寫(xiě)一個(gè)計(jì)算1到100總和的程式?!竟?fàn)例檔案:1到100總和DoWhileLoop.frm】15-3.3 條件式迴圈 Do.Loop第44頁(yè),共69頁(yè)。由於前測(cè)式迴圈的條件式為 Do While i = 100,所以迴圈內(nèi)的敘述會(huì)一直執(zhí)行直到 i = 101 為止。當(dāng) i = 1 100 時(shí),會(huì)執(zhí)行迴圈內(nèi)的敘述,並逐一將 i 的值加到變數(shù) Total 中,也就是計(jì)算1到100的總和。下面範(fàn)例也是同樣的原理,只是我們將條件式改為 Do Un
15、til i = 101。【範(fàn)例檔案:1到100總和 DoWhileLoop.frm】15-3.3 條件式迴圈 Do.Loop第45頁(yè),共69頁(yè)。15-3.3 條件式迴圈 Do.Loop第46頁(yè),共69頁(yè)。15-3.3 條件式迴圈 Do.Loop第47頁(yè),共69頁(yè)。15-3.3 條件式迴圈 Do.Loop第48頁(yè),共69頁(yè)。下面是二個(gè)後測(cè)式迴圈的簡(jiǎn)單範(fàn)例。此外,仔細(xì)觀察這四個(gè)例子會(huì)發(fā)現(xiàn),前測(cè)試迴圈與後測(cè)試迴圈最大的差異處在於:前測(cè)試迴圈:可能連一次也不執(zhí)行迴圈內(nèi)的敘述。後測(cè)試迴圈:最少會(huì)執(zhí)行迴圈內(nèi)的敘述一次。15-3.3 條件式迴圈 Do.Loop第49頁(yè),共69頁(yè)。計(jì)算1到100的總和(Do.
16、Loop While)請(qǐng)利用 Do.Loop While 敘述撰寫(xiě)一個(gè)計(jì)算1到100總和的程式,如下圖?!竟?fàn)例檔案:1到100總和DoLoopWhile.frm】15-3.3 條件式迴圈 Do.Loop第50頁(yè),共69頁(yè)。計(jì)算1到100的總和(Do.Loop Until)利用 Do.Loop Until 敘述撰寫(xiě)一個(gè)計(jì)算1到100總和的程式?!竟?fàn)例檔案:1到100總和DoLoopUntil.frm】15-3.3 條件式迴圈 Do.Loop第51頁(yè),共69頁(yè)。當(dāng)程式中需要儲(chǔ)存一個(gè)資料時(shí),我們可以指定一個(gè)變數(shù)來(lái)儲(chǔ)存它,但若要同時(shí)儲(chǔ)存或處理20個(gè)甚至更多相同性質(zhì)的資料時(shí),便可考慮改以陣列(array
17、)的方式來(lái)儲(chǔ)存與使用資料。15-4認(rèn)識(shí)陣列第52頁(yè),共69頁(yè)。一維陣列可看做是一系列有順序的記憶體空間,當(dāng)我們宣告一個(gè)一維陣列時(shí),程式會(huì)保留記憶體中的一塊位置並將之規(guī)畫(huà)為有順序的記憶單元,程式設(shè)計(jì)師則可透過(guò)陣列索引(index)來(lái)指定要存取的記憶空間。15-4.1 一維陣列第53頁(yè),共69頁(yè)。例如當(dāng)我們要在VB中儲(chǔ)存10筆整數(shù)資料時(shí),只要宣告一個(gè)整數(shù)陣列即可,並不需要宣告10個(gè)名稱不同的整數(shù)變數(shù)。15-4.1 一維陣列第54頁(yè),共69頁(yè)。15-4.1 一維陣列第55頁(yè),共69頁(yè)。15-4.1 一維陣列第56頁(yè),共69頁(yè)。15-4.1 一維陣列第57頁(yè),共69頁(yè)。氣泡排序?qū)嵶鳎ㄒ痪S陣列的應(yīng)用)請(qǐng)
18、開(kāi)啟未完成的範(fàn)例檔案氣泡排序.vbp,並為排序鈕撰寫(xiě)事件程序,使其當(dāng)使用者輸入5個(gè)數(shù)字並按下排序鈕後,程式會(huì)顯示排序後的數(shù)字。15-4.1 一維陣列第58頁(yè),共69頁(yè)。15-4.1 一維陣列第59頁(yè),共69頁(yè)。15-4.1 一維陣列第60頁(yè),共69頁(yè)。二維陣列是一種以表格形式來(lái)看待資料的資料結(jié)構(gòu),我們可以把二維陣列想像成一個(gè)由行和列所組成的表格,其中列便代表陣列中的水平分割,而行則表示陣列中的垂直的分割。15-4.2 二維陣列第61頁(yè),共69頁(yè)。15-4.2 二維陣列第62頁(yè),共69頁(yè)。15-4.2 二維陣列第63頁(yè),共69頁(yè)。循序結(jié)構(gòu)是指從上而下,依序執(zhí)行的結(jié)構(gòu)。舉例來(lái)說(shuō),當(dāng)我們寫(xiě)一個(gè)計(jì)算購(gòu)書(shū)總價(jià)的程式時(shí),依序輸入書(shū)本定價(jià)、輸入數(shù)量,然後便得到總價(jià)為(書(shū)本定價(jià)數(shù)量)。15-1結(jié)構(gòu)化程式設(shè)計(jì)的概念第64頁(yè),共69頁(yè)。選擇結(jié)構(gòu)測(cè)試某一條件並按其結(jié)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度兒童游樂(lè)場(chǎng)主題設(shè)計(jì)策劃與施工合同4篇
- 2025版孟玲與張偉離婚協(xié)議及子女撫養(yǎng)費(fèi)支付與變更執(zhí)行合同4篇
- 上海住宅裝修服務(wù)合同范本(2024版)版B版
- 2025年度商鋪?zhàn)赓U合同商業(yè)秘密保護(hù)及保密協(xié)議4篇
- 2025版綠化用水合同履約驗(yàn)收與評(píng)價(jià)協(xié)議4篇
- 2025版油罐租賃及遠(yuǎn)程監(jiān)控管理系統(tǒng)合同范本3篇
- 二零二五版駕駛員薪酬激勵(lì)與考核合同3篇
- 二零二五版反擔(dān)保協(xié)議書(shū)范本匯編9篇
- 全新多媒體展覽展示合作合同(2025年度)3篇
- 2025年度醫(yī)療器械代理銷售與品牌形象塑造協(xié)議4篇
- 【探跡科技】2024知識(shí)產(chǎn)權(quán)行業(yè)發(fā)展趨勢(shì)報(bào)告-從工業(yè)轟鳴到數(shù)智浪潮知識(shí)產(chǎn)權(quán)成為競(jìng)爭(zhēng)市場(chǎng)的“矛與盾”
- 《中國(guó)政法大學(xué)》課件
- GB/T 35270-2024嬰幼兒背帶(袋)
- 2024-2025學(xué)年高二上學(xué)期期末數(shù)學(xué)試卷(新題型:19題)(基礎(chǔ)篇)(含答案)
- 2022版藝術(shù)新課標(biāo)解讀心得(課件)小學(xué)美術(shù)
- 七上-動(dòng)點(diǎn)、動(dòng)角問(wèn)題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
- 紅色歷史研學(xué)旅行課程設(shè)計(jì)
- 下運(yùn)動(dòng)神經(jīng)元損害綜合征疾病演示課件
- 2023中考地理真題(含解析)
- JJF 1101-2019環(huán)境試驗(yàn)設(shè)備溫度、濕度參數(shù)校準(zhǔn)規(guī)范
評(píng)論
0/150
提交評(píng)論