第5章选择控制项与条件叙述_第1页
第5章选择控制项与条件叙述_第2页
第5章选择控制项与条件叙述_第3页
第5章选择控制项与条件叙述_第4页
第5章选择控制项与条件叙述_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章選擇控制項與條件敘述5-1結構化程式設計5-2關係與邏輯運算子5-3簡單的條件敘述5-4選擇控制項5-5巢狀條件敘述5-6多選一條件敘述5-1結構化程式設計5-1-1結構化程式設計5-1-2流程控制的基礎5-1-1結構化程式設計-說明結構化程式設計是一種軟體開發方法,它是用來組織和撰寫程式碼的技術,使用由上而下的設計方法來分析問題,將程式分解成階層架構的「模組」(Module)。每個模組是一段擁有獨立功能的程式碼,而且只有單一的進入點和離開點,各模組間使用三種流程控制:循序結構(Sequential)、選擇結構(Selection)和重複結構(Iteration)來整合。結構化程式設計的主要觀念有三項,如下所示:由上而下設計方法。流程控制結構。模組。5-1-1結構化程式設計-由上而下設計方法由上而下設計方法是面對問題時,先將整個問題分解成數個獨立功能的大模組,再對於這每一個大模組,一一分割成數個小模組,位在下層的模組並不會跳到上層模組,如此一直往下細分。等這些細分的小問題被一一解決且測試完成後,再將它們整合起來,如此一層層向上來完成整個程式設計。5-1-2流程控制的基礎-說明程式語言撰寫的程式碼大部分是一列指令接著一列指令循序的執行,但是對於複雜的工作,為了達成預期的執行結果,我需要使用「流程控制結構」(ControlStructures)來改變執行順序。5-1-2流程控制的基礎-循序結構循序結構是程式預設的執行方式,也就是一個敘述接著一個敘述依序的執行,如下圖所示:5-1-2流程控制的基礎-選擇結構選擇結構是一種條件控制敘述,它是一個選擇題,可以分為單一選擇、二選一或多選一共三種。程式執行順序是依照關係運算式的條件,來決定執行哪一個區塊的程式碼,如下圖所示:5-1-2流程控制的基礎-重複結構重複結構就是迴圈控制,它是重複執行一個區塊的程式碼,提供一個結束條件結束迴圈的執行,依結束條件測試的位置不同分為兩種,如下所示:前測式重複結構後測式重複結構5-1-2流程控制的基礎-前測式重複結構測試迴圈結束條件在程式區塊的開頭,需要符合條件,才能執行迴圈中的程式碼,如下圖所示:5-1-2流程控制的基礎-後測式重複結構測試迴圈結束條件在程式區塊的結尾,所以迴圈的程式區塊至少會執行一次,如下圖所示:5-2關係與邏輯運算子5-2-1關係運算子5-2-2邏輯與位元運算子5-2-1關係運算子-說明關係運算子也稱為比較運算子,它並沒有優先順序的分別,通常都是使用在迴圈和條件敘述作為判斷條件,其運算結果是布林值的True或False,如下表所示:5-2-1關係運算子-比較方式VisualBasic不同資料型態的比較方式,如下表所示:5-2-2邏輯與位元運算子-說明邏輯運算子的運算元如果是關係運算式的Boolean資料型態,此時的角色是邏輯運算子;如為數值,And、Or和Xor則是位元運算子。5-2-2邏輯與位元運算子-邏輯運算子在迴圈和條件敘述的判斷條件如果不只一個,需要使用邏輯運算子來連接,如下表所示:5-2-2邏輯與位元運算子-邏輯運算子範例對於複雜的關係運算式可以使用邏輯運算子連接,一些實際的運算式範例,如下表所示:5-2-2邏輯與位元運算子-位元運算子如果運算元是Byte、Short、Integer或Long等數值時,And、Or和Xor是「位元運算子」(BitwiseOperators),能夠進行二進位值的位元運算。And、Or和Xor位元運算是以二進位表示法的每一個0或1值的位元進行運算,其每一個位元的運算結果(a和b代表一個位元),如下表所示:5-2-2邏輯與位元運算子-位元運算子範例一些位元運算式的範例,括號內是二進位的值,如下表所示:5-3簡單的條件敘述5-3-1IfThen是否選條件敘述5-3-2IfThen/Else二選一條件敘述5-3-3IIf()條件函數5-3-1IfThen是否選條件敘述-語法IfThen條件敘述是一種是否執行的條件,決定是否執行區塊內的程式碼。如果If條件為True,就執行Then/EndIf間的程式碼,其語法如下所示:If條件Then程式區塊EndIf上述「條件」是第5-2節的關係運算式。5-3-1IfThen是否選條件敘述-範例例如:學生成績超過60分是及格分數,如下所示:IftxtScore.Text>=60ThenlblOutput.Text&="成績在範圍中.."&_vbNewLinelblOutput.Text&="學生成績及格:"&_txtScore.Text&vbNewLineEndIf上述條件為True,就執行區塊的程式碼,可以顯示文字內容。5-3-1IfThen是否選條件敘述-流程圖5-3-2IfThen/Else二選一條件敘述-語法更進一步如果擁有排它情況的兩個執行區塊,只能二選一。我們可以加上Else關鍵字,如果If條件為True,就執行Then/Else間的程式碼;False就執行Else/EndIf間的程式碼,其語法如下所示:If條件Then程式區塊1Else程式區塊2EndIf5-3-2IfThen/Else二選一條件敘述-範例例如:使用IfThen/Else條件敘述,以身高來決定購買半票或全票,如下所示:length=CInt(txtLength.Text)Iflength>120ThenlblOutput.ForeColor=Color.BluelblOutput.Text="購買全票!"ElselblOutput.ForeColor=Color.RedlblOutput.Text="購買半票!"EndIf5-3-2IfThen/Else二選一條件敘述-流程圖5-3-3IIf()條件函數VisualBasic的IIf()條件函數主要是使用在指定敘述,可以使用條件來指定變數值,其語法如下所示:變數=IIf(關係/條件運算式,變數1,變數2)上述指定敘述的"="號右邊是條件函數,如同If/Else條件,若條件成立,傳回值是變數1,就是將變數值指定成變數1;否則傳回變數2,將變數值指定成變數2。例如:12/24小時制的轉換,如下所示:hour=IIf(hour>=12,hour-12,hour)5-4選擇控制項5-4-1核取方塊控制項5-4-2選項按鈕控制項5-4-3群組方塊控制項5-4選擇控制項在VisualBasic程式可以使用多種控制項來配合條件敘述,以便建立選擇功能的使用介面,如下圖所示:5-4-1核取方塊控制項-說明核取方塊是一個開關,可以讓使用者選擇是否開啟功能或設定某些參數。如果在表單擁有多個核取方塊控制項,每一個控制項都是獨立選項,換句話說,它允許複選。5-4-1核取方塊控制項-屬性核取方塊控制項的常用屬性5-4-1核取方塊控制項-是否選取當使用者選取核取方塊後,程式可以檢查核取方塊的Checked屬性,以判斷使用者是否選取核取方塊,如下所示:IfchkOriginal.CheckedThentotal+=250*quantityEndIf5-4-2選項按鈕控制項-說明選項按鈕是二選一或多選一的選擇題,使用者可以在一組選項按鈕中選取一個選項,它是一個單選題。5-4-2選項按鈕控制項-屬性選項按鈕控制項的常用屬性5-4-2選項按鈕控制項-是否選取當使用者選取選項按鈕後,程式一樣是檢查Checked屬性,以判斷是否已選取該選項按鈕,如下所示:IfrdbRare.CheckedThenlblOutput.Text="三分熟"EndIf5-4-3群組方塊控制項-說明「群組方塊」(GroupBox)是一種容器控制項,在此控制項中可以新增其他控制項,以便讓其中的控制項屬於同一群組。在功能上除了美化控制項編排外,還可以組織表單眾多不同的控制項。5-4-3群組方塊控制項-屬性群組方塊控制項的常用屬性5-5巢狀條件敘述-說明在If條件敘述如果擁有其他If條件敘述,此程式架構稱為「巢狀條件敘述」,如下所示:IfchkForeColor.CheckedThenIfrdbBlue.CheckedThenlblOutput.ForeColor=Color.RedElselblOutput.ForeColor=Color.YellowEndIfElseIfrdbBlue.CheckedThenlblOutput.BackColor=Color.RedElselblOutput.BackColor=Color.YellowEndIfEndIf5-5巢狀條件敘述-流程圖5-6多選一條件敘述5-6-1IfThen/ElseIf多選一條件敘述5-6-2SelectCase多選一條件敘述5-6-3Choose()函數5-6-1IfThen/ElseIf多選一條件敘述-說明IfThen/ElseIf條件敘述是IfThen/Else條件敘述的延伸,使用ElseIf來重複建立多選一條件敘述。例如:四則運算的IfThen/ElseIf條件敘述,如下所示:IfrdbAdd.Checked=TrueThenresult=opd1+opd2'加ElseIfrdbSubtract.Checked=TrueThenresult=opd1-opd2'減ElseIfrdbMultiply.Checked=TrueThenresult=opd1*opd2'乘ElseIfrdbDivide.Checked=TrueThenresult=opd1/opd2'除ElseMsgBox("錯誤:沒有選擇運算子!")EndIf5-6-1IfThen/ElseIf多選一條件敘述-流程圖5-6-2SelectCase多選一條件敘述-語法SelectCase多選一條件敘述比IfThen/ElseIf多條件敘述來的清楚明白,程式碼也比較簡潔。它可以依照符合條件來執行不同區塊的程式碼,其語法如下所示:SelectCase運算式Case值1程式區塊1Case值2程式區塊2…….CaseElse程式區塊NEndCase5-6-2SelectCase多選一條件敘述-範例例如:取得運費費率的SelectCase條件,如下所示:SelectCaseamountCaseIs<1000rate=0.1Case1000To4999rate=0.08Case5000To9999rate=0.05CaseIs>=10000rate=0EndSelect5-6-2SelectCase多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论