选择结构第六章ppt课件

上传人:cn****1 文档编号:569063765 上传时间:2024-07-27 格式:PPT 页数:59 大小:551.50KB
返回 下载 相关 举报
选择结构第六章ppt课件_第1页
第1页 / 共59页
选择结构第六章ppt课件_第2页
第2页 / 共59页
选择结构第六章ppt课件_第3页
第3页 / 共59页
选择结构第六章ppt课件_第4页
第4页 / 共59页
选择结构第六章ppt课件_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《选择结构第六章ppt课件》由会员分享,可在线阅读,更多相关《选择结构第六章ppt课件(59页珍藏版)》请在金锄头文库上搜索。

1、 Visual Basic 6.0 學習範本關係運算式與邏輯運算式關係運算式和邏輯運算式兩者都是在程式設計時構成條件的根本要件,因為這兩種運算式經過運算結果會產生真或假,以供我們決定程式執行的流程。 關係運算式功能:是用來比較字串或數值的大小。關係運算式經過運算後,其結果可為True真或為False假。關係運算子種類與關係運算式的用法如下表: 關係運算子意義數學表示式VB關係運算式相等ABAB不相等ABAB大於ABAB小於ABAB大於或等於ABAB小於或等於ABAB簡例 1. 4 3 True真 2. a b False假留意:字串是以ASCII內碼來比較大小,a的ASCII碼為97,a比b的

2、ASCII碼98小,所以b比a大。假设第一個字元的ASCII碼一样,則比第二字元ASCII碼的大小,以此類推。邏輯運算 邏輯運算式是用來測試較複雜的條件,邏輯運算式的結果可以為True 或為False。邏輯運算子種類與邏輯運算式的用法如下表: 邏輯運算子意義邏輯運算式用 法And且A And B當A、B皆為真時,結果才為真。Or或A Or B假设A、B其中只需有一個為真,結果為真。Xor互斥或A Xor BA、B中必須要有一個為真而且一個為假,結果才為真。Not非Not A假设A為真,則結果為假;假设A為假,結果為真。A和B運算元經過And、Or、Xor、Not四過邏輯子運算後,一切能够的結果

3、如下表:ABA And BA Or BA Xor BNot A真真真真假假真假假真真假假真假真真真假假假假假真【例1】 1. (4 3) And (a = b) False(假) 2. (4 3) Or (a = b) True(真) 3. (4 3) Xor (a = b) True(真) 4. Not (4 3)False(假)【例2】請寫出年齡20 age 60之間的條件式: (age = 20) And (age 60)演算法(Algorithm)定義:為解決某一問題而規劃出來,一系列有次序且明確的步驟。演算法表示方式:流程圖、演算法好的演算法,必須滿足列五個條件: 1. 有 限 性:

4、就是要下在有限個步驟內解決問題。 2. 明 確 性:每個步驟都必須清楚地表達出來。 3. 輸入資料:包含零個或一個以上的輸入資料。 4. 輸出資料:至少產生一個輸出。 5. 有 效 性:每一個步驟假设交由設計師利用紙和筆來執 行,必須能在有限的時間內完成。流程圖(Flow Chart)定義:利用簡明的圖形符號來表示程式處理問題的步驟和方法。表現方式:藉著各種不同的圖形和箭頭來表達解決問題的順序,箭頭代表流程的方向,協助我們設計出週詳的程式不致漏掉某些部份。缺點:只能表示細部邏輯,對整個程式的結構比較難表示出來,所以複雜的演算法大都不採用流程圖來表示而採用演算法。符號名稱功能範例起始/結束符號表

5、示流程圖的起點或終點起始處理符號表示處理的步驟 a=2 b=a+3輸入/輸出符號表示資料的輸入或輸出輸入半徑R輸出面積A決策符號表示根據某種條件決定下一步驟是否連結符號表示流程圖中的連接點隔頁連結符號表示流程圖中的連接點,連接到隔頁 P12 P12流向符號表示任务流程的方向條件aa結束演算法(Algorithm)定義:运用文字敘述來說明處理問題的步驟優點:此種表示方式較易於改寫成任何程式語言,複雜的演算法大都採用此種方式來描画演算法。求:求123n的總和。現在分別運用流程圖和演算法來描画程式設計步驟:total = 0= 1=n是total = total + i否輸入n開始印出total結束

6、=+11. 运用流程圖表示 2. 2. 运用演算法表示运用演算法表示 輸入:輸入一個正整數輸入:輸入一個正整數n n 輸出:列印輸出:列印totaltotal,而,而total = 1 + 2 + + ntotal = 1 + 2 + + n 【步驟】【步驟】 Step 1 Step 1 輸入一個正數輸入一個正數n n Step 2 Step 2 令令total = 0total = 0 Step 3 Step 3 令令= 1= 1 Step 4 Step 4 令令total = total +total = total + Step 5 Step 5 令令= =+ 1+ 1 Step 6 S

7、tep 6 假假设设=n=n,則跳回,則跳回Step 4Step 4執行;否則執行執行;否則執行Step 7Step 7 Step 7 Step 7 印出印出totaltotal Step 8 Step 8 結束程式執行結束程式執行結構化程式設計結構化程式設計是發展軟體所採用的一項根本程式設計技術,它包括了以下幾項技巧: 1. 运用三種根本的邏輯結構:循序、選擇和重覆。 2. 由上而下的設計。 3. 模組獨立性。循序結構定義:程式執行時依一定的順序,由上而下,一個敘述接著一個敘述依序執行,是最簡單而常用的結構。 敘述A敘述B敘述CA=2B=3C=A+B實例選擇結構定義:程式在執行中,依據條件值

8、的結果來改變程式執行的順序。方式:當滿足條件時,就執行某一敘述區段,反之則執行另一敘述區段。選擇結構普通分為以下三種:1. 單一選擇結構2. 雙向選擇結構3. 多向選擇結構 單一選擇結構Then敘述區段真條件假得分能否超過一千分則撥放一段音樂真假實例雙向選擇結構Then敘述區段A真條件假Then敘述區段B實例是,則印出他好嗎?真性別能否為男生假不是,則印出妳好嗎?多向遭擇結搆敘述區段A條件敘述區段B敘述區段C敘述區段D敘述區段E90分數則等級為優80分數90則等級為甲70分數80則等級為乙60分數70則等級為丙分數60則等級為丁實例運算式分數重覆結構运用時機:程式中某一敘述區段需求反覆地執行,

9、不断到符合或是不符合某一條件時,才離開重覆執行的部份。我們常將重覆結構稱為迴圈。重覆結構可分為以下兩種:1. 前測式重覆結構2. 後測式重覆潔構前測式重覆結構 先測試條件,假设條件為真,則執行敘述區段A,再回到測試條件;否則離開迴圈,往下執行敘述區段B。所以在敘述區段A中必須有改變條件為假的敘述,否則會變成無窮迴圈。實例輸入新答案真假輸出答對學生未答對題目敘述區段A真假敘述區段B條件後測式重覆結構先執行敘述區段A,再測試條件,假设條件成立則再執行敘述區段A;否則離開迴圈往下執行敘述區段B。所以敘述區段A至少執行一次。敘述區段A敘述區段A真假實例射擊遊戲遊戲結束真假條件擊中目標 無條件選擇:Go

10、to敘述(此敘述不具結構化建議少用) 選擇結構 選擇敘述If . Then .Else敘述IIF函數Select Case敘述Choose函數Switch函數雙向選擇單一選擇:IfThen敘述多向選擇條件選擇單一選擇的 ifThen 敘述單一選擇敘述是當運算式結果為真時,才執行Then後面的敘述區段;假设不滿足條件,則不執行任何敘述。中文意思:假设 就 語法分為以下兩種:1. 單行敘述2. 多行敘述單行敘述語法: If Then 敘述區段 範 例將一個數值取絕對值。1 Private Sub Form_Activate()2 x = -53 Print “x=;x4 If x 10000 Th

11、en6 累加 = (金額 - 10000) * 0.97 金額 = 10000 + 累加8 End If9 Print10 Print “實收金額 = ; 金額11 End SubIf Then敘述區段End If 範 例 2購物金額如超過1萬元時,則超過一萬元的部份打9折優待,設計程式顯示實收金額。本例變數名稱运用中文,僅為示範VB.NET的變數也可以用中文命名,但建議少用中文名稱當做變數名稱。雙向選擇的 if Then Else 敘述雙向選擇敘述是當條件為真時,會執行Then後面的敘述區段,否則執行Else後面的敘述區段。中文意思:假设就否則其格式如下:If Then敘述區段AElse敘述

12、區段BEnd If 範 例 6_4_3由InputBox函數鍵入品名、單價和數量,假设購買金額超過100元必須扣稅(稅率5%),同時將購買金額、稅金及應付稅額以標籤控制項顯示在表單上。1 Private Sub Form_Activate () 2 price = Val(InputBox(請輸入單價:, 單價) 3 qty = Val(InputBox(請輸入數量:, 數量)4 total = price * qty5 If total 100 Then6 tax_rate = 0.057 Else8 tax_rate = 09 End If10tax = total * tax_rate1

13、1 pay = total + tax12 Print “單價 : ; price13 Print “數量 : ; qty 14 Print - 15 Print “金額 : ; total16 Print “稅額 : ; tax 17 Print - 18 Print “總額 : ;pay 19 End Sub【結果】 1. 輸入單價對話方塊和輸入數量對話方塊: 2.輸出結果:輸出結果:IIf 函數語法:變數=IIf(, V1, V2)功能:依條件的成立與否,傳回V1或V2。範 例 4运用IIf函數來比較兩數的大小1 Private Sub Form_Activate() 2 num1 =

14、-40 3 num2 = 154 result = IIf(num1 num2, 大於, 小於或等於)5 Print6 Print num1 = ; num17 Print num2 = ; num2 8 Print =9 num1 ; result ; num210 End Sub核取方塊 Check Box核取方塊:工具是在多個選項中挑出一個以上的選項或是都不挑選。選項按鈕:只能由多個選項中挑出一個選項。選項按鈕核取方塊框架選項按鈕核取方塊的建立 1. 在工具箱選取 核取方塊工具。 2. 在表單任务區拉出核取方塊物件大小。 核取方塊工具預設標題名稱核取方塊控制項設定核取方塊常用屬性屬性說明

15、Alignment核取方塊內核取按鈕與標題名稱間的相對位置0靠左對齊:核取按鈕在標題名稱的左側(預設值)1靠右對齊:核取按鈕在標題名稱的右側Caption標題名稱,預設名稱為Check1,Check2.Value(預設屬性)核取方塊被選取的狀態0不核取:核取方塊未被選取預設值1核取:核取方塊已被選取2忽略:核取方塊內v符號呈灰色Enabled核取方塊能否被核取True核取方塊可以核取(預設值)False核取方塊不能被核取範 例运用核取方塊來設定字體的顯示效果,以正常字、粗體字或加底線顯示。lblChar(標記)chkBold(核取方塊)cmdOk(指令按鈕)chkUnder(核取方塊)cmdE

16、nd(指令按鈕)物件屬性預設名稱Name(物件名稱)Caption(標題)Font/大小(字型大小)Value(值)Form1f6_5_1f6_5_1字體(預設值)Label1lblChar環保第一24Check1chkBold粗體字120Check2chkUnder加底線120Command1cmdOK確定12Command2cmdEnd結束12 假设要有多個選項可供選擇而且只能單選時,我們可以运用 選項按鈕控制項來設計。 每個選項按鈕都是相互關聯的,假设其中一個選項按鈕被按時,其它選項按鈕皆自動調整成未選按狀態 。選項按鈕選項按鈕 Option Button選項按鈕的建立 1. 在工具箱選

17、取 選項按鈕工具。 2. 在表單任务區拉出選項按鈕控制項大小:選項按鈕工具預設標題名稱選項按鈕控制項設定選項按鈕常用屬性屬性說明Alignment選項按鈕內按鈕與標題名稱間的相對位置0靠左對齊:選項按鈕在標題名稱的左側(預設值)1靠右對齊:選項按鈕在標題名稱的右側Caption標題名稱,內定名稱為Option1,Option2Value(預設屬性)選項按鈕被選擇的狀態。False:選項按鈕未被選取(預設值)True:選項按鈕已被選取Enabled選項按鈕能否是有效True選項按鈕有效(預設值)False選項按鈕無效透過靠左、居中、靠右選項鈕來控制標題的對齊方式 (程式碼請參照光碟)lblTit

18、leoptLeftcmdOkoptRightcmdEndoptCenter物件屬性預設名稱Form1Label1Option1Option2Option3Command1Command2Name(物件名稱)f6_6_1lblTittleoptLeftoptCenteroptRightcmdOKcmdEndCaption(標題)f6_6_1VisualBasic靠左居中靠左確定結束BorderStyle(邊界)(預設值)1-單線固定1Font/大小(字型大小)(預設值)181212121212巢狀選擇敘述定義:在條件選擇敘述區段中又有條件選擇敘述。IfThenIfThen敘述區段AElse敘述區

19、段BEndIfElseIfThen敘述區段CElse敘述區段DEndIfEndIf巢狀選擇敘述的流程圖如下: 敘述區段A敘述區段B條件3敘述區段C敘述區段D條件1真真假假條件2真假範 例假设學生的品行為甲且學期成績大於等於80分,則印出表現優良!;否則印出表現普通!。有兩種方式來撰寫本程式。 1 Private Sub Form_Activate() 2 score1 = 甲 3 score2 = 86 4 Print 5 print “品行 = ; score1 6 Print “ 成績 = ; score2 7 If score1 = 甲 Then 8 If score2 = 80 The

20、n 9 Print “表現優良!10 Else11 Print “表現普通!12 End If13 Else14 Print 表現普通!15 End If16 End Sub1. 运用巢狀選擇敘述 1 Private Sub Form_ Activate() 2 score1 = 甲 3 score2 = 86 4 Print 5 Print “ 品行 = ; score1 6 Print “ 成績 = ; score2 7 If score1 = “甲 And score2 = 80 Then 將上例第7,8行合併 8 Print “ 表現優良! 9 Else10 Print “ 表現普通!

21、11 End If12 End Sub2. 利用雙向選擇敘述配合邏輯運算多向選擇 1. Select Case敘述 2. Choose函數 3. Switch函數Select Case 敘述SelectCase運算式Case測試值1敘述區段1Case測試值2敘述區段2Case測試值n敘述區段nCaseElse敘述區段n+1EndSelect1.SelectCase敘述會依據運算式的結果,找出符合條件的測試值再執行該測試值中的敘述區段,以達成多向選擇的功能。至於運算式可以是數值或字串運算式,而測試值的資料型態必須和運算式值一样。運算值敘述區段1敘述區段n+1敘述區段2敘述區段n測試值1測試值2測

22、試值n真真真假假假2.運算式:可以為數運算式:可以為數值值或字串運算式。或字串運算式。3.測試測試值值:資料型態必須和運算式:資料型態必須和運算式值值的型態一的型態一样样。 CaseY :測試:測試值值能否為大寫能否為大寫Y Case“abc,“ABC:測測試試值值能能否否和和右右列列的的兩兩個個字字串之一相符。串之一相符。 Case-5,0,100:測測試試值值能能否否等等於於50或或100。 Case60To100:測測試試值值能能否否介介於於60100間。間。 CaseIs60:測試:測試值值能否小於能否小於60。4.假假设设一一切切的的測測試試值值都都不不符符合合運運算算式式條條件件,

23、則則執執行行接接在在CaseElse後面的敘述區段。後面的敘述區段。範 例輸入年度綜合所得淨額,計算全年應納稅額。(程式碼請參照光碟)級別所得稅 x 稅率 累進差額 全年應納稅額1370,000 以下 x 6% 0 = 全年應納稅額2370,000990,000 x 13% 25,900 = 全年應納稅額3990,0001,980,000 x 21% 105,100 = 全年應納稅額41,980,0003,720,000 x 30% 283,300 = 全年應納稅額53,720,000 以上 x 40% 655,300 = 全年應納稅額綜合所得稅速算公式: Choose 函數語法:Choose

24、(i, V1, V2,Vn)功能:依i的整數值,傳回依序的對應值【說明】1. 假设i非整數數值時,將小數部份捨棄。2. i =1,傳回V1 值,i = 2傳回V2 值,i=n傳回Vn 值。3. V1 ,V2 ,.Vn 可以為不同資料型態。4. 假设i的整數值小於1或大於n,傳回Null無對應值。 範 例 3依不同正整數給予不同英文單字。 1 Private Sub Form1_Activate() 2 i = 2 3 res = Choose(i, “one, “two, “three) 4 Print i& “ is & . 5 End SubSwitch 函數語法:Switch(運算式1,

25、 V1, 運算式2, V2, 運算式n, Vn)功能:依序判斷運算式能否成立,假设成立則傳對應值 範 例3輸出不同國家的首都名稱。 1 Private Sub Form1_Activate( ) 2 nation = 美國 3 city = Microsoft.VisualBasic.Switch(nation = 日本, 東京, nation = 美國, 華盛頓, nation = 法國, 巴黎) 4 Label1.Text = nation & 的首都是 & city 5 End Sub 1.先先判判斷斷運運算算式式1能能否否為為真真,假假设设為為真真,則則傳傳回回V1;否否則則再判斷運算

26、式再判斷運算式2。其他依此類推。其他依此類推。2.V1,V2,.Vn可以為不同的資料型態。可以為不同的資料型態。3.一切運算式的結果皆為假,則傳回一切運算式的結果皆為假,則傳回Null。框架 Framev 當一個表單中有許多物件時,我們可以利用框架 來作分門別類,使得整個畫面整齊而有條理。v框架搬移時,會連同框架內的物件一同移動,使得畫面的調整任务,更加輕鬆。我們將背負其它物件的物件稱為母件,被背負的物件則稱為子件。v 母件與子件間有以下特性:v 1. 母件將內部的子件和外部的物件隔離,彼此相互不干擾。v 2. 子件的座標值是以母件為基準,和其它物件無關。v 3. 母件移動時子件亦隨之移動,使

27、得畫面安排更加便利。框架的建立 1. 選取框架:將指標移至工具箱 框架工具上按一下滑鼠左鍵。 2. 拖 曳 出 框 架 : 將 指 標 移 至 表 單 中 適 當 的 位 置 , 按 住 滑 鼠 左 鍵 ,並拖曳出適當大小後,放開左鍵。 3. 修正屬性值:修正框架屬性表內的屬性值。 4. 安 顿 其 它 物 件 : 將 其 它 物 件 設 置 在 框 架 中 , 留 意 物 件 的 邊 務 必 在 框 架 內 , 否 則 會 被 視 為 在 表 單 上 , 而 不 是在框架內。預設標題名稱框架工具框架控制項設定框架常用屬性屬 性說 明Caption(預設屬性)標題名稱,表示此框架類別、功能、選

28、項等。运用框架的好處1.將將同同一一性性質質的的控控制制項項集集中中在在框框架架內內,可可使使程程式式操操作更加方便。作更加方便。2.多多組組選選項項按按鈕鈕分分別別安安顿顿在在不不同同的的框框架架中中,彼彼此此獨獨立立不會相互关擾。不會相互关擾。3.移移動動框框架架時時,上上面面的的控控制制項項會會隨隨之之移移動動,免免除除多多次次調整位置的困擾。調整位置的困擾。运用框架將一份調查表的內容分門別類。(程式碼請參照光碟) lblTitlefraSexoptManfraYearsopt1opt41lblShowcmdOktxtNameoptWomanopt21opt61cmdEndV6f6_9_

29、1(Form)屬性物件預設名稱Name(物件名稱)Caption(標題)Font/大小(字型大小)Text(文字)Form1f6_9_1f6_9_1調查表(預設值)Label1lblTitle請輸入姓名:12Text1txtName12Frame1fraSex性別12Option1optMan男12Option2optWoman女12Frame2fraYears年齡12Option3opt11-20歲12Option4opt2121-40歲12母件與子件移動表單時,上面的控制項會隨之移動,其間的關係有如母子,所以我們將可以背負其它物件的物件稱為母件(或稱為收納器),而被背負的物件則稱為子件。母

30、件與子件間有以下特性: 1. 母件將內部的子件和外部的物件隔離,彼此相互不 干擾。 2. 子件的座標值是以母件為基準,和其它物件無關。 3. 母件移動時子件亦隨之移動,使得畫面安排更加便 利。 螢幕(Screen)是一切母件中最根本也是最大的物件。螢幕物件只能有一個,並且大多的屬性只能讀取,不能修正。其常用屬性如下: 屬性說明ActiveControl在程式執行中获得目前擁有控制權的控制項名稱ActiveForm在程式執行中获得目前任务的表單物件名稱Height在程式執行時获得螢幕的高度Width在程式執行時获得螢幕的寬度以上一節的調查表來說明物件間之關係。 物件名稱物件類別主從關係Scree

31、n螢幕母件(根)有一子件f6_9_1f6_9_1表單母件有7個子件*fraSex框架子件其母件為f6_9_1母件有2個子件optMan選項按鈕子件其母件為fraSexoptWoman選項按鈕子件其母件為fraSexfraYears框架子件其母件為f6_9_1母件有4個子件opt1選項按鈕子件其母件為fraYearsopt21選項按鈕子件其母件為fraYearsopt41選項按鈕子件其母件為fraYearsopt61選項按鈕子件其母件為fraYearslblTitle標籤子件其母件為f6_9_1LblShow標籤子件其母件為f6_9_1TxtName文字方塊子件其母件為f6_9_1CmdOk指令

32、按鈕子件其母件為f6_9_1CmdExit指令按鈕子件其母件為f6_9_1txtNameoptManfraSexoptWomanlblTitleScreen-f6_9_1opt1lblShowopt21fraYearsopt41opt61cmdOkcmdEnd3.假设要確定選項按鈕物件能否為框架物件的子件有兩種方式: j拖曳選項按鈕物件,看它能否能離開框架物件,假设 不能則選項按鈕物件為框架子件。 k拖曳框架物件,看選項按鈕物件能否隨之移動,假设 是則框架物件為選項按鈕物件的母件。4. 假设操作錯誤,可以刪除控制項。其操作步驟為: j先將被刪除的控制項變成作用控制項。 k再到編輯功能表中選刪除指令,被選的控制項會被刪除。或是在控制項上按右鍵,執行快顯功能表中的刪除指令。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号