第7章 選擇控制項與條件判斷 [速食店點餐系統]

Slides:



Advertisements
Similar presentations
南台科技大學 機械工程系 班級 : 車輛三甲 學號 : 學生 : 黃郁鈞.  BMI 值的計算就是 :  體重 / 身高 x 身高  身高需換算成公尺單位計算.
Advertisements

1 程式語言 Visual Basic 循序結構、選擇結構 黃瀧輝 老師 Long Hwai,Huang.
第一單元 建立java 程式.
計算機程式及實習 期末報告 題目:商店結帳系統
課程名稱:程式設計 授課老師:________
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
第4章 流程控制結構 4-1 結構化程式設計 4-2 程式區塊 4-3 簡單的條件控制敘述 4-4 巢狀條件敘述 4-5 多選一條件敘述
第8章 迴圈與訊息視窗 [利息計算程式和猜數字遊戲]
重複結構簡介.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
題目:十六對一多工器 姓名:李國豪 學號:B
Chapter 5 迴圈.
第1章 程式邏輯、程式設計與Visual Basic的基礎
課程名稱:程式設計 授課老師:________
第19章 VBA程式設計 19-1 VBA的基礎 19-2 建立VBA程式 19-3 VBA的程序與函數 19-4 VBA的變數與資料型態
-VBA是Visual Basic for Applications的縮寫 -是由Microsoft公司開發出的一種程式語言
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
程式語言 -Visual Basic 條件結構.
程式語言 教學投影片.
第10章 陣列與清單控制項.
程式語言 -Visual Basic 變數、常數與資料型態.
JAVA程式語言入門(I) 授課教師:王大瑾
第四章 流程控制(一) if,if-else 與 switch
固體力學案例分析 2018/11/23.
客戶端的檔案上傳 HtmlInputFile檔案控制項 上傳單一檔案 同時上傳多個檔案.
Controls.
第18章 B4J的跨平台應用程式開發 18-1 B4J的GUI設計工具與介面控制項 18-2 使用B4J的介面控制項
在NS-2上模擬多個FTP連線,觀察頻寬的變化
流程控制 大綱 傳遞參數給main()方法 流程控制的用途與種類 if判斷敘述 switch 判斷敘述.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
第9章 視窗應用程式的事件處理 9-1 事件的基礎 9-2 表單事件 9-3 滑鼠事件 9-4 鍵盤事件 9-5 表單的鍵盤事件
第6章 迴圈結構 6-1 計數迴圈 6-2 條件迴圈 6-3 巢狀迴圈 6-4 While/End While迴圈 6-5 跳出與繼續迴圈
安裝JDK 安裝Eclipse Eclipse 中文化
第2章 Visual Basic語法的ASP.NET程式
Visual Basic 物件導向程式設計簡介.
PR150 (125K) Reader RS232.
Android App簡介及 App Inventor 2體驗 靜宜大學資管系 楊子青
第4章 視窗應用程式的基本輸出入.
邏輯關係運算 == 等於 & 且 (logical and) ~= 不等於 | 或 (logical or) < 小於
Instructor:Po-Yu Kuo 教師:郭柏佑
第一單元 建立java 程式.
PLC-GPPW軟體使用教學 授課教師:張祖烈
分支宣告與程式設計 黃聰明 國立臺灣師範大學數學系
Ch20. 計算器 (Mac 版本).
Pocket Access.
第 19 章 XML記憶體執行模式.
Ch04 VB.NET的流程控制 網頁程式設計.
JAVA 程式設計 資訊管理系 - 網路組.
資料來源 2 網路過濾軟體之安裝說明 資料來源 2.
5 重複迴圈 5.1 增減運算符號 增量運算符號 減量運算符號
安裝 / 操作 flashget SOP (以Win 7 作業系統為範例)
CH05. 選擇敘述.
期末考.
程式邏輯結構 Chapter 6 認知 認識何謂流程圖及流程圖各種符號的意義。
Controls.
第6章 運算式與運算子 [算術與多功能計算機]
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
流程控制:Switch-Case 94學年度第一學期‧資訊教育 東海大學物理系.
函數應用(二)與自定函數.
選擇性結構 if-else… switch-case 重複性結構 while… do-while… for…
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
適用於多選一 可減少if 與 else配對混淆的錯誤.
網頁設計第十二課.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
String類別 在C語言中提供兩種支援字串的方式 可以使用傳統以null結尾的字元陣列 使用string類別
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Chapter 4 Multi-Threads (多執行緒).
Unix指令4-文字編輯與程式撰寫.
ABAP Basic Concept (2) 運算子 控制式與迴圈 Subroutines Event Block
Presentation transcript:

第7章 選擇控制項與條件判斷 [速食店點餐系統] 第7章 選擇控制項與條件判斷 [速食店點餐系統]

Contents 7-1 結構化程式設計 7-2 是否選條件敘述 7-3 選擇控制項 7-4 二選一條件敘述 7-5 多選一條件敘述

7-1 結構化程式設計 7-1-1 結構化程式設計 7-1-2 流程控制的基礎

7-1-1 結構化程式設計-說明 結構化程式設計是一種軟體開發方法,它是用來組織和撰寫程式碼的技術,使用由上而下的設計方法來分析問題,將程式分解成階層架構的「模組」(Module)。 每個模組是一段擁有獨立功能的程式碼,且只有單一進入點和離開點,各模組間使用三種流程控制:循序結構(Sequential)、選擇結構(Selection)和重複結構(Iteration)來整合。 結構化程式設計主要觀念有三項,如下所示: 由上而下設計方法。 流程控制結構。 模組。

7-1-1 結構化程式設計-由上而下設計方法 由上而下設計方法是面對問題時,先將整個問題分解成數個獨立功能的大模組,再對每一個大模組,一一分割成數個小模組,位在下層模組並不會跳到上層模組,如此一直往下細分。 這些細分的小問題被一一解決且測試完成後,再將它們整合起來,如此一層層向上來完成整個程式設計。

7-1-2 流程控制的基礎-說明 程式語言撰寫的程式碼大部分是一列指令接著一列指令循序的執行,但對於複雜工作,為了達成預期執行結果,需要使用「流程控制結構」(Control Structures)來改變執行順序。

7-1-2 流程控制的基礎-循序結構 循序結構是程式預設執行方式,也就是一個敘述接著一個敘述依序的執行,如下圖所示:

7-1-2 流程控制的基礎-選擇結構 選擇結構是一種條件控制敘述,它是一個選擇題,可以分為單一選擇、二選一或多選一共三種。程式執行順序是依照關係運算式的條件,來決定執行哪一個區塊的程式碼,如下圖所示:

7-1-2 流程控制的基礎-重複結構 重複結構就是迴圈控制,它是重複執行一個區塊程式碼,提供一個結束條件結束迴圈的執行,依結束條件測試的位置不同分為兩種,如下所示: 前測式重複結構 後測式重複結構

7-1-2 流程控制的基礎-前測式重複結構 測試迴圈結束條件在程式區塊開頭,需要符合條件,才能執行迴圈中的程式碼,如下圖所示:

7-1-2 流程控制的基礎-後測式重複結構 測試迴圈結束條件在程式區塊結尾,所以迴圈程式區塊至少會執行一次,如下圖所示:

7-2 是否選條件敘述-語法 If Then條件敘述是一種是否執行的條件,決定是否執行程式區塊內程式碼。如果If條件為True,就執行Then/End If間的程式碼,其語法如下所示: If 條件 Then 程式區塊 End If 上述「條件」是第6-4節的比較運算式。

7-2 是否選條件敘述-範例 例如:在第6-3-2節的多功能計算機可加上身高和體重的條件判斷,只有身高大於等於130公分,才計算BMI值,如下所示: If height >= 130 Then Dim h As Double h = height / 100.0 lblOutput.Text = _ weight / h ^ 2 End If

7-2 是否選條件敘述-省略End If 如果條件需要加上體重需要超過20公斤,且If Then條件運算式為True時只會執行一列程式碼,此時可以省略End If,如下所示: If height < 130 Or weight < 20 Then _ lblOutput.Text = "錯誤: 身高體重值錯誤!"

7-2 是否選條件敘述-Visual Basic專案 Visual Basic專案:Ch7-2\多功能計算機 這個Windows應用程式是修改第6-3-2節的【多功能計算機】,使用If Then條件檢查身高和體重是否符合範圍,符合範圍才計算和顯示BMI值,否則顯示錯誤訊息。其執行結果如下圖所示:

7-3 選擇控制項 7-3-1 核取方塊控制項 7-3-2 選項按鈕控制項 7-3-3 群組方塊控制項

7-3-1 核取方塊控制項-說明 核取方塊是一個開關,可讓使用者選擇是否開啟功能或設定某些參數。如果表單擁有多個核取方塊控制項,每一個控制項都是獨立選項,換句話說,它允許複選。 核取方塊擁有2個狀態,一是【核取】;另一是【未核取】。如果核取核取方塊,在小方塊會顯示勾號,如下圖所示:

7-3-1 核取方塊控制項-屬性 CheckBox核取方塊控制項常用屬性說明,如下表所示:

7-3-1 核取方塊控制項-是否選取 當使用者選取核取方塊後,程式碼可使用核取方塊的Checked屬性值,以判斷使用者是否選取此核取方塊,值True表示勾選,如下所示: If chkBeef.Checked Then quantity = CInt(txtBeef.Text) total += 80 * quantity End If

7-3-1 核取方塊控制項-Visual Basic專案 Visual Basic專案:Ch7-3-1\速食店點餐系統 在Windows應用程式使用CheckBox控制項勾選餐點,在TextBox輸入數量後,可在Label標籤控制項顯示結帳總價。其執行結果如下圖所示:

7-3-2 選項按鈕控制項-說明 選項按鈕是二選一或多選一的選擇題,使用者可以在一組選項按鈕中選取一個選項,這是一個單選題。 選項按鈕的選項是互斥的,只能選取其中一個選項,如果選取,在小圓圈中會顯示實心圓,沒有選取是空心圓 ,如下圖所示:

7-3-2 選項按鈕控制項-屬性 RadioButton選項按鈕控制項的常用屬性說明,如下表所示:

當使用者選取選項按鈕後,在程式碼一樣是檢查Checked屬性,以判斷是否選取該選項按鈕,如下所示: 7-3-2 選項按鈕控制項-是否選取 當使用者選取選項按鈕後,在程式碼一樣是檢查Checked屬性,以判斷是否選取該選項按鈕,如下所示: If rdbCoke.Checked Then total += 30 * total_qty End If

7-3-2 選項按鈕控制項-Visual Basic專案 Visual Basic專案:Ch7-3-2\速食店點餐系統 這個Windows應用程式擴充第7-3-1節的【速食店點餐系統】,新增3個RadioButton控制項來選擇購買飲料,數量就是購買漢堡數量。其執行結果如下圖所示:

7-3-3 群組方塊控制項-說明 「群組方塊」(GroupBox)是一種容器控制項,在此控制項中可以新增其他控制項,以便讓這些控制項屬於同一群組,如下圖所示: 上述選項按鈕之外就是群組方塊,其功能除了美化控制項編排外,還可組織表單眾多不同控制項。例如:如果有多組選項按鈕擁有排它性,就可以使用群組方塊在同一個表單建立多組不同的選項按鈕。

7-3-3 群組方塊控制項-屬性 GroupBox群組方塊控制項的常用屬性說明,如下表所示:

7-3-3 群組方塊控制項-Visual Basic專案 Visual Basic專案:Ch7-3-3\速食店點餐系統 這個Windows應用程式是擴充第7-3-2節的【速食店點餐系統】,使用GroupBox控制項來群組2組RadioButton控制項,一是上一節選擇飲料;另新增一組來選擇薯條。其執行結果如下圖所示:

7-4 二選一條件敘述-語法 在第7-2節的條件只是選擇執行或不執行程式區塊的單一選擇,更進一步如果擁有排它情況的兩個執行區塊,只能二選一。可以加上Else關鍵字,其語法如下所示: If 條件 Then 程式區塊1 Else 程式區塊2 End If 上述If條件如為True,就執行Then/Else間的程式碼;False就執行Else/End If間的程式碼。

7-4 二選一條件敘述-範例 例如:速食店慶祝100家新店開張,消費200元以下95折;200元以上(含)9折,此時就可以使用If Then/Else條件敘述,以消費額來決定適用的折扣,如下所示: If total >= 200 Then total = total * 0.9 lblOutput.Text &= "9折: " Else total = total * 0.95 lblOutput.Text &= "95折: " End If lblOutput.Text &= total.ToString("C")

7-4 二選一條件敘述-流程圖

7-4 二選一條件敘述-Visual Basic專案 Visual Basic專案:Ch7-4\速食店點餐系統 擴充第7-3-3節的【速食店點餐系統】,因為新店開張促銷,凡消費200元以下95折;200元以上(含)9折,使用If Then/Else條件敘述來計算折扣,並且將選擇薯條的2個If Then條件改為If Then/Else條件敘述。其執行結果如下圖所示:

7-5 多選一條件敘述 7-5-1 If Then/ElseIf多選一條件敘述 7-5-2 Select Case多選一條件敘述

7-5-1 If Then/ElseIf多選一條件敘述-說明 If Then/ElseIf條件敘述是If Then/Else條件敘述的延伸,使用ElseIf來重複建立多選一條件敘述。 例如:擴充第6-3-1節的【算術計算機】,新增RadioButton控制項配合If Then/ElseIf條件敘述來決定使用哪一種運算子。

7-5-1 If Then/ElseIf多選一條件敘述-範例 If rdbAdd.Checked = True Then lblOutput.Text = opd1 + opd2 ElseIf rdbSubtract.Checked = True Then lblOutput.Text = opd1 - opd2 ElseIf rdbMultiply.Checked = True Then lblOutput.Text = opd1 * opd2 ………. ElseIf rdbExp.Checked = True Then lblOutput.Text = opd1 ^ opd2 Else lblOutput.Text = opd1 \ opd2 End If

7-5-1 If Then/ElseIf多選一條件敘述-流程圖

7-5-1 If Then/ElseIf多選一條件敘述-Visual Basic專案 Visual Basic專案:Ch7-5-1\算術計算機 這個Windows應用程式是擴充第6-3-1節的【算術計算機】,新增RadioButton控制項來選擇運算子,程式是配合If Then/Else If條件來執行運算。其執行結果如下圖所示:

7-5-2 Select Case多選一條件敘述-語法 Select Case多選一條件敘述比If Then/ElseIf多條件敘述來的清楚明白,其程式碼也比較簡潔。它可以依照符合條件來執行不同區塊的程式碼,其語法如下所示: Select Case 運算式 Case 值1 程式區塊1 Case 值2 程式區塊2 ……. Case Else 程式區塊N End Case 上述「運算式」值是用來和Case值比較,每一個Case是一個條件,如果True,就執行之後的程式區塊。若有例外情況則執行Case Else後的程式區塊。

7-5-2 Select Case多選一條件敘述-範例 Select Case total Case Is < 100 rate = 0.2 Case 100 To 499 rate = 0.1 Case 500 To 999 rate = 0.05 Case Is >= 1000 rate = 0 End Select

7-5-2 Select Case多選一條件敘述-流程圖

7-5-2 Select Case多選一條件敘述-Case條件

7-5-2 Select Case多選一條件敘述- Visual Basic專案 Visual Basic專案:Ch7-5-2\速食店點餐系統 擴充第7-3-3節的【速食店點餐系統】,目前速食店正式提供外送服務,其費率是依據消費金額的百分比來計算。在點餐系統新增CheckBox控制項來勾選是否外送,程式是使用Select Case條件敘述來計算外送運費。其執行結果如下圖所示: