บทที่ 8 เงื่อนไขตัดสินใจ - burapha university ·...
TRANSCRIPT
บทที่ 8
เงือ่นไขตดัสินใจ
(Condition (if-else))
จดุประสงคก์ารเรียนรู้
• สามารถเขา้ใจการก าหนดเงือ่นไขตดัสินใจ
• สามารถออกแบบเงือ่นไขการตดัสินใจจากโจทยปั์ญหาใหอ้ยูใ่นรปูแบบ
สมการคณิตศาสตรไ์ด้
• สามารถก าหนดเงือ่นไขตดัสินใจอย่างเหมาะสมเพ่ือใหไ้ดค้ าตอบออกมา
ถกูตอ้งตามที่โจทยก์ าหนดได้
หนา้ | 2
หัวขอ้เร่ือง
• เงือ่นไขตดัสินใจคืออะไร
• ตวัอยา่ง
หนา้ | 3
เงือ่นไขตดัสินใจคืออะไร
หนา้ | 4
เทคนคิส าหรบัการพิจารณาโจทยปั์ญหาท่ีมทีางเลือกหลาย
ทางเลือก ใหเ้หลือเพียงทางเลือกเดยีว เพื่อใหไ้ดผ้ลลพัธต์ามที่โจทยก์ าหนด
ตวัอย่างที่ 1 สอบตกหรือสอบผา่น
หนา้ | 5
จงแสดงผลการเปรียบเทียบการสอบของคะแนนตอ่ไปนี ้โดยมสีถานะ
นอ้ยกวา่ 50
แสดงผลวา่ “สอบตก”
มากกวา่หรือเทา่กบั 50
แสดงผลวา่ “สอบผา่น”
ขัน้ตอนการท างาน
หนา้ | 6
1. รบัคา่ตวัเลขมาใสต่วัแปร X
2. เช็คเงือ่นไง x < 50
2.1 จริง “สอบตก”
2.2 เท็จ “สอบผา่น”
หนา้ | 7
60 คะแนน
สอบตก สอบผา่นสอบผา่น
หนา้ | 8
20 คะแนน
สอบตก สอบผา่นสอบตก
หนา้ | 9
49 คะแนน
สอบตก สอบผา่นสอบตก
หนา้ | 10
50 คะแนน
สอบตก สอบผา่นสอบผา่น
ผงังาน (flowchart)
หนา้ | 11
เร่ิมตน้
รบัคา่ score
score
>= 50
“สอบผา่น” “สอบตก”
สิ้นสดุ
จริง เท็จ
หนา้ | 12
เร่ิมตน้
รบัคา่ score
score
>= 50
“สอบผา่น” “สอบตก”
สิ้นสดุ
จริง เท็จ
ถา้ score = 49
รบัคา่ 49
49 >= 50
“สอบตก”
หนา้ | 13
เร่ิมตน้
รบัคา่ score
score
>= 50
“สอบผา่น” “สอบตก”
สิ้นสดุ
จริง เท็จ
ถา้ score = 50
รบัคา่ 50
50 >= 50
“สอบผา่น”
ตวัอย่างที่ 2 สถานะของน า้
หนา้ | 14
จงระบสุถานะของน า้ โดยมเีงือ่นไข ดงันี้
กา๊ซ
อณุหภมูนิอ้ยกวา่หรือเทา่กบั
0 องศาเซลเซียส
อณุหภมูติัง้แต ่
1-99 องศาเซลเซียส
อณุหภมูมิากกวา่หรือเท่ากบั
100 องศาเซลเซียส
ของแข็ง
ของเหลว
ขัน้ตอนการท างาน
หนา้ | 15
1. รบัคา่อณุหภมูิ
2. ถา้คา่ของอณุหภมูมิคีา่นอ้ยกวา่หรือเทา่กบั 0
2.1 จริง น า้จะมสีถานะเป็นของแข็ง
2.2 เท็จ ตอ้งทดสอบเพิ่มวา่คา่ของอณุหภมูมิคีา่เทา่ใด
3. ถา้คา่ของอณุหภมูมิคีา่มากกวา่หรือเทา่กบั 100
3.1 จริง น า้จะมสีถานะเป็นกา๊ซ
3.2 เท็จ น า้จะมสีถานะเป็นของเหลว
4. แสดงคา่สถานะ
หนา้ | 16
องศาเซลเซียส
อณุหภมูิกา๊ซ
ของแข็ง
ของเหลวของเหลว
หนา้ | 17
องศาเซลเซียส
อณุหภมูิกา๊ซ
ของแข็ง
ของเหลว
ของแข็ง
หนา้ | 18
100องศาเซลเซียส
อณุหภมูิกา๊ซ
ของแข็ง
ของเหลว
กา๊ซ
ผงังาน (flowchart)
หนา้ | 19
temp
>= 100
เร่ิมตน้
รบัคา่ temp
temp
<= 0
“ของแข็ง”
สิ้นสดุ
จริง เท็จ
“กา๊ซ”“ของเหลว
”
จริง เท็จ
หนา้ | 20
เร่ิมตน้
รบัคา่ temp
temp
<= 0
“ของแข็ง”temp
>= 100
สิ้นสดุ
จริง เท็จ
ถา้ temp = 90
“กา๊ซ”“ของเหลว
”
จริง เท็จ
90 <= 0
90 >= 100
“ของเหลว”
หนา้ | 21
เร่ิมตน้
รบัคา่ temp
temp
<= 0
“ของแข็ง”temp
>= 100
สิ้นสดุ
จริง เท็จ
ถา้ temp = -5
“กา๊ซ”“ของเหลว
”
จริง เท็จ
-5 <= 0
“ของแข็ง”
หนา้ | 22
เร่ิมตน้
รบัคา่ temp
temp
<= 0
“ของแข็ง”temp
>= 100
สิ้นสดุ
จริง เท็จ
ถา้ temp = 100
“กา๊ซ”“ของเหลว
”
จริง เท็จ
100 <= 0
100 >= 100
“กา๊ซ”
ตวัอย่างที่ 3 ชมภาพยนต์
หนา้ | 23
โดยมรีาคาของบตัรชมภาพยนตด์งันี้
Day Deluxe Premium Sofa
Monday 100.- 120.- 300.-
Tuesday 100.- 120.- 300.-
Wednesday 80.- 100.- 300.-
Thursday 120.- 140.- 400.-
Friday 120.- 140.- 400.-
Saturday 140.- 160.- 450.-
Sunday 140.- 160.- 450.-
หนา้ | 24
• ก าหนดใหร้บัขอ้มลูเขา้ 2 จ านวน ดงันี้
• ตวัแปร day ส าหรบัเก็บขอ้มลูของวนัท่ีจะซ้ือบตัรชมภาพยนตร์
• ตวัแปร seat ส าหรบัเก็บขอ้มลูของท่ีนัง่ส าหรบัชมภาพยนต์
ขัน้ตอนการท างาน
หนา้ | 25
1. รบัคา่ day และ seat
2. ตรวจสอบคา่ day = Monday หรือ day = Tuesday
2.1 จริง ตรวจสอบค่า seat = Deluxe
2.1.1 จริง ราคาท่ีตอ้งจา่ยคือ 100.-
2.1.2 เท็จ ตรวจสอบคา่ seat = Premium
2.1.2.1 จริง ราคาท่ีตอ้งจา่ยคือ 120.-
2.1.2.2 เท็จ ราคาท่ีตอ้งจา่ยคือ 300.-
2.2 เท็จ ตรวจสอบคา่ day = Wednesday
2.2.1 จริง ตรวจสอบค่า seat = Deluxe
2.2.1.1 จริง ราคาท่ีตอ้งจา่ยคือ 80.-
หนา้ | 26
2.2.1.2 เท็จ ตรวจสอบค่า seat = Premium
2.2.1.2.1 จริง
ราคาท่ีตอ้งจา่ยคือ 100.-
2.2.1.2.2 เท็จ
ราคาท่ีตอ้งจา่ยคือ 300.-
2.2.2 เท็จ ตรวจสอบคา่ day = Thursday
หรือ day = Friday
2.2.2.1 จริง ตรวจสอบคา่ seat = Deluxe
2.2.2.1.1 จริง
ราคาท่ีตอ้งจา่ยคือ 120.-
หนา้ | 27
2.2.2.1.2 เท็จ
ตรวจสอบคา่ seat = Premium
2.2.2.1.2.1 จริง
ราคาท่ีตอ้งจา่ยคือ 140.-
2.2.2.1.2.2 เท็จ
ราคาท่ีตอ้งจา่ยคือ 400.-
2.2.2.2 เท็จ ตรวจสอบคา่ seat = Deluxe
2.2.2.2.1 จริง
ราคาท่ีตอ้งจา่ยคือ 140.-
หนา้ | 28
2.2.2.2.2 เท็จ
ตรวจสอบคา่ seat = Premium
2.2.2.2.2.1 จริง
ราคาท่ีตอ้งจา่ยคือ 160.-
2.2.2.2.2.2 เท็จ
ราคาท่ีตอ้งจา่ยคือ 450.-
ผงังาน (flowchart)
หนา้ | 29
seat =
Deluxe
จริง
เร่ิมตน้
รบัค่า day, seat
day = Monday or
day = Tuesday
เท็จ
“100.-”
“120.-”seat =
Premium
“200.-”
จริง
จริง
เท็จ
เท็จ
A1 B1
หนา้ | 30
A1 B1
day =
Wednesday
seat =
Deluxe “80.-”
“100.-”seat =
Premium
“300.-”
จริง
จริง
เท็จ
เท็จ
จริง
เท็จ
A2 B2
หนา้ | 31
A2 B2
seat =
Deluxe “120.-”
“140.-”seat =
Premium
“400.-”
จริง
จริง
เท็จ
เท็จ
จริง
เท็จ
สิ้นสดุ
day = Thursday
or
day = Friday
seat =
Deluxe “140.-”
“160.-”seat =
Premium
“450.-”
จริง
จริง
เท็จ
เท็จ
เมือ่ตวัแปร day = Saturday และตวัแปร seat = Premium
หนา้ | 32
seat =
Deluxe
จริง
เร่ิมตน้
รบัค่า day, seat
day = Monday or
day = Tuesday
เท็จ
“100.-”
“120.-”seat =
Premium
“200.-”
จริง
จริง
เท็จ
เท็จ
A1 B1
day = Saturday และ seat = Premium
หนา้ | 33
A1 B1
day =
Wednesday
seat =
Deluxe “80.-”
“100.-”seat =
Premium
“300.-”
จริง
จริง
เท็จ
เท็จ
จริง
เท็จ
A2 B2
หนา้ | 34
A2 B2
seat =
Deluxe “120.-”
“140.-”seat =
Premium
“400.-”
จริง
จริง
เท็จ
เท็จ
จริง
เท็จ
สิ้นสดุ
day = Thursday
or
day = Friday
seat =
Deluxe “140.-”
“160.-”seat =
Premium
“450.-”
จริง
จริง
เท็จ
เท็จ
หนา้ | 35
จากตวัอยา่ง จะพบวา่ การ
เขยีนผงังานท่ีมเีงือ่นไข จะใช ้
สญัลกัษณ ์condition หรือ
สี่เหลี่ยมขา้วหลามตดั
เงือ่นไข
หนา้ | 36
การวาง หรือเขยีนขอ้ความท่ี
เป็นเงือ่นไขภายในสญัลกัษณ ์
condition นัน้ จะตอ้งแทนดว้ย
ประพจนท์ี่สามารถระบคุ่า
ความจริงได ้ว่าจริง หรือ
เท็จ
ตวัอยา่ง
ก าหนดให ้รบัค่า x
เงือ่นไขภายในสญัลกัษณ์
ควรจะเป็น x = 1 และตอ่
ดว้ยการด าเนนิการใด ๆ
หนา้ | 37
ถา้เงือ่นไขมมีากกวา่ 1
เงือ่นไข ควรใชก้ารเชือ่ม
ประพจน ์คือ “หรือ (or)”
“และ (and)” วางระหว่าง
ประพจน์
หนา้ | 38
ตวัอยา่งการเชือ่มประพจน์
• เงือ่นไขคือ ตอ้งอายมุากกวา่ 18 ปี แตไ่มเ่กิน 25 ปี สามารถเขยีนเป็น
ประพจนไ์ด ้คือ age > 18 and age < 25
• เงือ่นไขคือ คะแนนตัง้แต ่75 – 80 คะแนน สามารถเขยีนเป็นประพจนไ์ด ้
คือ (score > 75 or score = 75) and (score < 80 or score = 80) หรือ
เขยีนไดอี้กรปูแบบ คือ score >= 75 and score <= 80
Scratch
หน้า | 39
หนา้ | 40
แนะน าบล็อคค าสัง่ส าหรบัเงือ่นไข
§ เหมาะกบัเงือ่นไขเดี่ยวเพียงเงือ่นไขเดียว
§ เหมาะกบัเงือ่นไขเดี่ยวหลายๆ เงือ่นไข
ท่ีตอ่เนือ่งเป็นชดุ
§ เหมาะกบัเงือ่นไขแบบสองเงือ่นไข
§ เหมาะกบัเงือ่นไขแบบสองเงือ่นไข
ท่ีตอ่เนือ่งเป็นชดุ
หนา้ | 41
แนะน าเงือ่นไข
§ 1 and 1 จะไดข้อ้เท็จจริงเป็น TRUE
§ 1 and 0 จะไดข้อ้เท็จจริงเป็น FALSE
§ 0 and 0 จะไดข้อ้เท็จจริงเป็น FALSE
§ 1 or 1 จะไดข้อ้เท็จจริงเป็น TRUE
§ 1 or 0 จะไดข้อ้เท็จจริงเป็น TRUE
§ 0 or 0 จะไดข้อ้เท็จจริงเป็น FALSE
§ Not TRUE จะไดข้อ้เท็จจริงเป็น FALSE
§ Not FALSE จะไดข้อ้เท็จจริงเป็น TRUE
ตวัอย่างโปรแกรม Scratch ที่ 1
หนา้ | 42
สามารถเขยีนผงังานได ้ดงันี้เร่ิมตน้
รบัค่า score
score
>= 50
“สอบผา่น” “สอบตก”
สิ้นสดุ
จริง เท็จ
หนา้ | 43
เร่ิมตน้
รบัค่า score
score
>= 50
“สอบผา่น” “สอบตก”
สิ้นสดุ
จริง เท็จ
หนา้ | 44ชมตวัอย่างไดท้ี่ https://scratch.mit.edu/projects/111056343/
ตวัอย่างโปรแกรม Scratch ที่ 2
หนา้ | 45
• คะแนนรวม <50 : เกรด F
• คะแนนรวม <60 : เกรด D
• คะแนนรวม <70 : เกรด C
• คะแนนรวม <80 : เกรด B
• คะแนนรวม <100 : เกรด A
หนา้ | 46
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 47
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 48
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 49
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 50
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 51
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 52
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 53
เร่ิมตน้
homework , midterm , final
score = homework + midterm + final
score < 50
score < 60
score < 70
score < 80
“เกรด F”
“เกรด D”
“เกรด C”
“เกรด B” “เกรด A”
จริง เท็จ
จริง เท็จ
จริง เท็จ
จริง เท็จ
สิ้นสดุ
หนา้ | 54ชมตวัอย่างไดท้ี่ https://scratch.mit.edu/projects/111057429/
หนา้ | 55
แหลง่อา้งอิง
• สว่นบรรยายจาก :
http://www.novabizz.com/NovaAce/Behavior/Decision_Making.htm
• ดดัแปลงโจทยต์วัอยา่งท่ี 2 จาก :
https://www.fcwa.org/story_of_water/html/3forms.htm
• www.scratch.mit.edu
ค าถาม ?
หนา้ | 56