งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

การควบคุมทิศทางการทำงานของโปรแกรม

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "การควบคุมทิศทางการทำงานของโปรแกรม"— ใบสำเนางานนำเสนอ:

1 การควบคุมทิศทางการทำงานของโปรแกรม
Chapter 6 การควบคุมทิศทางการทำงานของโปรแกรม

2 การควบคุมทิศทางของโปรแกรมมี 2 รูปแบบคือ
การตัดสินใจ (Decision) การตัดสินใจเลือกหนึ่งตัวเลือกจาก 2 ตัวเลือกที่มีมาให้ การตัดสินใจเลือกหนึ่งตัวเลือกจากตัวเลือกที่มีมาให้มากกว่า 2 ตัวเลือก การทำงานแบบวนซ้ำ(Iteration) การวนซ้ำแบบมีจำนวนรอบที่แน่นอน การวนซ้ำแบบมีจำนวนรอบที่ไม่แน่นอน คือมีการทำงานวนซ้ำไปเรื่อย ๆ จนกว่าจะถูกสั่งให้หยุดโดยการตรวจสอบว่าหยุดการทำงานได้หรือไม่ “การตัดสินใจอาศัยตัวแปรตรรกศาสตร์มาพิจารณาเปรียบเทียบ เพื่อเลือกทิศทาง”

3 คำสั่งตัดสินใจ If…Then
เป็นคำสั่งตัดสินใจโดยตรวจสอบเงื่อนไขที่กำหนดให้เสียก่อน - หากผลการตรวจสอบเงื่อนไขเป็นจริงก็จะทำงานตามชุดคำสั่งที่อยู่หลังคำว่า Then - แต่ถ้าผลการตรวจสอบเงื่อนไขเป็นเท็จจะทำงานตามชุดคำสั่งถัดไป

4 รูปแบบคำสั่ง If…Then If เงื่อนไขที่ตรวจสอบ Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขแล้วได้ผลเป็นจริง(True) ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขแล้วได้ผลเป็นเท็จ(False) End If

5 คำสั่งตัดสินใจ If…Then…Else เป็นคำสั่งตัดสินใจมีสองทางเลือกคือ

6 รูปแบบคำสั่ง If…Then…Else
If เงื่อนไขที่ตรวจสอบ Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขแล้วได้ผลเป็นจริง(True) Else ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขแล้วได้ผลเป็นเท็จ(False) End If

7 คำสั่งตัดสินใจ

8 รูปแบบคำสั่ง If…Then…Else แบบซ้อนกัน
ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่1ได้ผลเป็นจริง(True) If เงื่อนไขที่ 2 Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่2ได้ผลเป็นจริง(True) Else ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่2ได้ผลเป็นเท็จ(False) End If ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่1ได้ผลเป็นเท็จ(False) End If

9 รูปแบบคำสั่ง If…Then…Else แบบซ้อนกัน
ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่1ได้ผลเป็นจริง(True) Else ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่1ได้ผลเป็นเท็จ(False) If เงื่อนไขที่ 2 Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่2ได้ผลเป็นจริง(True) Else ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่2ได้ผลเป็นเท็จ(False) End If End If

10 การใช้ If ซ้อน If : ตัดสินใจเลือกมากกว่า 2ทางเลือก
เป็นการตรวจสอบเงื่อนไขของทางเลือกที่มีไปทีละทางเลือกจนครบจำนวนทางเลือกที่มีอยู่ ตามรูปแบบโฟลว์ชาร์ตดังนี้

11 รูปแบบคำสั่ง If ซ้อน If
If เงื่อนไขทางเลือกที่ 1 Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขที่1ได้ผลเป็นจริง(True) ElseIf เงื่อนไขทางเลือกที่ 2 Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขได้ผลเป็นจริง(True) ElseIf เงื่อนไขทางเลือกที่ 3 Then ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขได้ผลเป็นจริง (True) Else ชุดคำสั่งเมื่อมีการตรวจสอบเงื่อนไขได้ผลเป็นเท็จ(False) End If

12 Exercise รับจำนวนเงินมาแล้วสามารถนำมาแลกเหรียญ 10 เหรียญ 5 เหรียญ 2 เหรียญ 1 บาท เหรียญ 50 สตางค์ และเหรียญ 25 สตางค์ ได้ทั้งสิ้น กี่เหรียญ คำนวณค่าบัตรผ่านประตูสวนสนุก โดย เด็กสูงไม่เกิน 100 cm. ไม่คิดค่าบัตรผ่านประตู เด็กสูงไม่เกิน 120 cm. คิดค่าบัตรผ่าน 20% ของราคาบัตรเด็ก เด็กสูงไม่เกิน 130 cm. คิดค่าบัตร 50% ของราคาบัตรเด็ก เด็กสูงเกิน 130 cm. ขึ้นไป คิดราคาบัตรเด็ก คือ 120 บาท

13 Select…Case : ตัดสินใจเลือกมากกว่า 2 ทางเลือก
เป็นคำสั่งตัดสินใจที่มีการทำงานเหมือนคำสั่ง If…Then…Else คือ เลือกทางใดทางหนึ่งจากทางเลือกที่มีมากกว่า 2 ทาง ในแต่ละทางเลือกจะมีการกำหนดเงื่อนไขของแต่ละทางและจะตรวจสอบเงื่อนไขแต่ละทางเลือกหากพบว่าทางเลือกไหนมีเงื่อนไขเป็นจริงก็จะทำชุดคำสั่งภายในทางเลือกนั้นโดยไม่พิจารณาทางเลือกอื่นที่ยังไม่ได้ตรวจสอบ Select Case =? Case Is: 1 Case Is: 2 Case Is: 3 Case Is: N Statement

14 Select…Case : ตัดสินใจเลือกมากกว่า 2 ทางเลือก
รูปแบบคำสั่ง Select Case เงื่อนไข Case เงื่อนไขที่ 1 ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขที่ 1 แล้วเป็นจริง Case เงื่อนไขที่ 2 ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขที่ 2 แล้วเป็นจริง Case Else ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขทั้งหมดแล้วเป็นเท็จ End Select

15 การใช้ Choose : ตัดสินใจ
ฟังก์ชันสำเร็จรูปของ VB ที่ทำงานคล้ายกับ Select…Case รูปแบบคำสั่ง varName = Choose(Index,Choice1,Choice2,Choice3,..,Choice n) ต้องกำหนดค่าพารามิเตอร์ที่ชื่อ Index เป็นตัวเลขจำนวนเต็มตั้งแต่ 1 ขึ้นไปโดยจะคืนค่ากลับมาตามรายการพารามิเตอร์ที่มี

16 For…Next : การวนซ้ำด้วยจำนวนรอบที่แน่นอน
เป็นคำสั่งที่ต้องการให้ทำงานวนซ้ำด้วยจำนวนรอบที่แน่นอน โดยจะมี ตัวแปรคอยนับรอบการวนซ้ำ ซึ่งทุกครั้งก่อนการวนซ้ำจะตรวจสอบค่าของตัวแปรนับรอบว่าได้วนซ้ำครบตามเงื่อนไขแล้วหรือไม่ ถ้ายังไม่ครบก็วนซ้ำต่อไป วนซ้ำครบจำนวน? ทำคำสั่งถัดไป ยังไม่ครบ ครบแล้ว ทำซ้ำคำสั่งใน For

17 รูปแบบคำสั่ง For…Next
For ตัวแปรที่ใช้นับ = ค่าเริ่มต้นของตัวแปร To ค่าสุดท้ายของตัวแปร[Step การนับของตัวแปร] ชุดคำสั่งกรณีที่เงื่อนไขได้ผลเป็นจริง(True) Next ตัวแปรที่ใช้นับ

18 For…Next แบบซ้อนกัน การวนซ้ำแบบซ้อนกัน เช่นกรณีการเติมข้อมูลในตาราง ต้องเติมทีละแถวแต่ละแถวก็ต้องเติมทีละคอลัมน์ จนครบ แล้วขึ้นแถวใหม่ วนซ้ำครบจำนวน? ทำคำสั่งถัดไป ยังไม่ครบ ครบแล้ว ทำซ้ำคำสั่งใน For

19 ตัวอย่างการทำงานของ For
1) Dim i As Integer For i = 1 To 5 Beep() TextBox1.Text += "Beep: " & i & vbCrLf Next ผลรัน 2) Dim i, j As Integer Dim s As String = “ " TextBox1.Text = “ " For i = 10 To 1 Step -1 For j = 1 To i s &= " Next s &= vbCrLf TextBox1.Text = s ผลรัน

20 While…End While : การวนซ้ำด้วยจำนวนรอบที่ไม่แน่นอน
เป็นคำสั่งที่ทำงานเมื่อเงื่อนไขที่กำหนดเป็นจริง จะทำซ้ำไปเรื่อย ๆ จนกว่าเงื่อนไขที่กำหนดจะเป็นเท็จจึงหยุดการทำงาน วนซ้ำอีกหรือไม่? ทำคำสั่งถัดไป จริง(True) เท็จ(False) ทำซ้ำคำสั่งใน While

21 รูปแบบคำสั่ง While…End While
ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขแล้วได้ผลเป็นจริง(True) End While

22 ตัวอย่างการเขียน While Loop
Dim ans As Integer = Int(Rnd() * 10) Dim count As Integer = 0 Dim hint As Integer While hint <> ans hint = Int(InputBox("ทายตัวเลขระหว่าง 0-9", "เกมทายตัวเลข")) count += 1 End While MessageBox.Show("คุณทายไปทั้งสิ้น " & count & "ครั้ง", "ตัวเลขที่สุ่มคือ " & ans) ผลรัน ผลรัน

23 การวนซ้ำด้วยการใช้ Do…Loop
การวนซ้ำที่มีรูปแบบและการตรวจสอบเงื่อนไขที่แตกต่างกันแบ่งเป็น 4 รูปแบบ รูปแบบที่ 1: การใช้ Do While…Loop การทำงานและตรวจสอบเงื่อนไขเหมือนคำสั่ง While…End While แต่มีรูปแบบคำสั่งที่ต่างกัน ตรวจสอบเงื่อนไข ทำคำสั่งถัดไป จริง(True) เท็จ(False) ทำซ้ำคำสั่งใน While

24 รูปแบบคำสั่ง Do While…Loop
ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขแล้วได้ผลเป็นจริง(True) Loop

25 ตัวอย่างการเขียน Do..While Loop
Dim ans As Integer = Int(Rnd() * 10) Dim count As Integer = 0 Dim hint As Integer Do While hint <> ans hint = Int(InputBox("ทายตัวเลขระหว่าง 0-9", "เกมทายตัวเลข")) count += 1 Loop MessageBox.Show("คุณทายไปทั้งสิ้น " & count & "ครั้ง", "ตัวเลขที่สุ่มคือ " & ans) ผลรัน ผลรัน

26 การวนซ้ำด้วยการใช้ Do Until…Loop
การทำงานเหมือนคำสั่ง While วนซ้ำเมื่อเงื่อนไขเป็นเท็จ แต่จะหลุดการวนซ้ำเมื่อเงื่อนไขเป็นจริง ตรวจสอบเงื่อนไข ทำคำสั่งถัดไป เท็จ(False) จริง(True) ทำซ้ำคำสั่งใน Do Until รูปแบบคำสั่ง Do Until เงื่อนไข ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขแล้วได้ผลเป็นจริง(True) Loop

27 ตัวอย่างการเขียน Until Loop
Dim ans As Integer = Int(Rnd() * 10) Dim count As Integer = 0 Dim hint As Integer Do Until hint = ans hint = Int(InputBox("ทายตัวเลขระหว่าง 0-9", "เกมทายตัวเลข")) count += 1 Loop MessageBox.Show("คุณทายไปทั้งสิ้น " & count & "ครั้ง", "ตัวเลขที่สุ่มคือ " & ans) ผลรัน ผลรัน

28 การวนซ้ำด้วยการใช้ Do…Loop
รูปแบบที่ 3: การใช้ Do…Loop While การทำงานอย่างน้อย 1 รอบก่อนแล้วจึงตรวจสอบเงื่อนไขการวนซ้ำ ซึ่งจะหลุดการวนซ้ำเมื่อเงื่อนไขเป็นเท็จ ตรวจสอบเงื่อนไขที่กำหนด ทำคำสั่งถัดไป จริง(True) เท็จ(False) ทำซ้ำคำสั่งใน Do..Loop While รูปแบบคำสั่ง Do ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขแล้วได้ผลเป็นจริง(True) Loop While เงื่อนไข

29 ตัวอย่างการเขียน Do..Loop While
Dim ans As Integer = Int(Rnd() * 10) Dim count As Integer = 0 Dim hint As Integer Do hint = Int(InputBox("ทายตัวเลขระหว่าง 0-9", "เกมทายตัวเลข")) count += 1 Loop While hint <> ans MessageBox.Show("คุณทายไปทั้งสิ้น " & count & "ครั้ง", "ตัวเลขที่สุ่มคือ " & ans) ผลรัน ผลรัน

30 การวนซ้ำด้วยการใช้ Do…Loop Until
การทำงานอย่างน้อย 1 รอบก่อนแล้วจึงตรวจสอบเงื่อนไขการวนซ้ำ ซึ่งจะหลุดการวนซ้ำเมื่อเงื่อนไขเป็นจริง ตรวจสอบเงื่อนไขที่กำหนด ทำคำสั่งถัดไป เท็จ(False) จริง(True) ทำซ้ำคำสั่งใน Do..Loop Until รูปแบบคำสั่ง Do ชุดคำสั่งเมื่อตรวจสอบเงื่อนไขแล้วได้ผลเป็นเท็จ(False) Loop Until เงื่อนไข

31 ตัวอย่างการเขียน Do..Until Loop
Dim ans As Integer = Int(Rnd() * 10) Dim count As Integer = 0 Dim hint As Integer Do hint = Int(InputBox("ทายตัวเลขระหว่าง 0-9", "เกมทายตัวเลข")) count += 1 Loop Until hint = ans MessageBox.Show("คุณทายไปทั้งสิ้น " & count & "ครั้ง", "ตัวเลขที่สุ่มคือ " & ans) ผลรัน ผลรัน

32 คำสั่ง Exit เป็นคำสั่งเพื่อกระโดดออกจากการทำงานโดยที่ไม่จำเป็นต้องทำคำสั่งที่เหลืออยู่หรือวนซ้ำไม่ครบตามจำนวนรอบ สามารถจบการทำงานได้ทันที รูปแบบคำสั่ง Exit ชื่อคำสั่ง

33 แบบฝึกหัด โค้ดต่อไปนี้แสดง MessageBox จำนวนกี่ครั้ง 1) For a =0 to 9
Msgbox (“Hello”) If a> 5 then Exit For End If Next 2) For a = 20 to 4 Step -2 Msgbox (“Hello”) Next 4) a= 10 Do While a <10 Msgbox (“Hello”) a += 1 Loop 3) a= 0 Do While a <10 Msgbox (“Hello”) a += 1 Loop 6) a= 10 Do Msgbox (“Hello”) a += 1 Loop While a <10 5) a= 0 Do Until a =10 a += 2 Loop Msgbox (a)

34 แบบฝึกหัด เขียนโปรแกรมป้อนรหัสผ่าน เหมือน ATM โดยมีเงื่อนไข
ตอบได้ไม่เกิน 3 ครั้ง ถ้าตอบถูก ออกจากการวนแสดงข้อความ “รหัสถูกต้อง” จบการทำงาน ถ้ายกเลิกก่อน ให้ออกจากการวนและแสดงข้อความ “ดีแล้วที่ยกเลิก” จบการทำงาน ถ้าตอบผิด ให้บอกว่า ผิดกี่ครั้ง แล้วให้ตอบใหม่ ถ้าตอบผิดครบ 3 ครั้ง ให้แสดงข้อความว่า “เสียใจด้วยบัตรของท่านถูกยึด” จบการทำงาน

35 แบบฝึกหัด เขียนโปรแกรมแสดงแม่สูตรคูณ โดยการป้อนค่าแม่สูตรคูณ
เขียนโปรแกรมแสดงแม่สูตรคูณ โดยการป้อนค่าแม่สูตรคูณ เขียนโปรแกรมบวกเลขโดยเริ่มตั้งแต่ 1-10 ด้วยคำสั่ง while และ until Loop เขียนโปรแกรมป้อนตัวเลข แล้วแสดงผลว่าเป็นเลขคี่ หรือเลขคู่ทาง MessageBox หากป้อนคำว่า “Stop” ก็ให้หยุดการวนรับค่าออกจากการทำงานของลูป

36 แบบฝึกหัด สสาร จุดเยือกแข็ง จุดเดือด น้ำ 100 เอทานอล -114 78 ปรอท -39
100 เอทานอล -114 78 ปรอท -39 357 ออกซิเจน -219 -183


ดาวน์โหลด ppt การควบคุมทิศทางการทำงานของโปรแกรม

งานนำเสนอที่คล้ายกัน


Ads by Google