ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยGiuliano Caputo ได้เปลี่ยน 5 ปีที่แล้ว
1
Decision: Single and Double Selection (if and if-else statement)
Programming I 4
2
Decision (การตัดสินใจ)
3
การทำงานแบบเลือกทำ (Selection)
การทำงานของคอมพิวเตอร์ นอกเหนือจากการทำงานแบบ ตามลำดับ (Sequence) แล้ว จะมีการทำงานอีกลักษณะ คือ การ ทำงานแบบเลือกทำ (Selection) ใช้เงื่อนไขเป็นตัวตัดสินใจ การทำงานอย่างหนึ่งจะถูกเลือกให้ ทำงาน เมื่อเงื่อนไขเป็นจริง การทำงานลักษณะนี้ จะทำให้ คอมพิวเตอร์มีการทำงานที่หลากหลาย มากขึ้น
4
โครงสร้างควบคุมพื้นฐานของ Flowchart
ทำหน้าที่ควบคุมการทำงานของโปรแกรมว่าไปใน ทิศทางใด แบ่งออกเป็น 3 ประเภท 1. การทำงานแบบเป็นลำดับ (Sequence) 2. การทำงานแบบเลือกทำ (Selection) 3. การทำงานวนรอบ (Repetition)
5
การทำงานแบบเลือกทำ (Selection)
เป็นโครงสร้างการทำงานที่มีการตัดสินใจ แบบมีเงื่อนไขทางตรรกะ โดยใช้พีชคณิตบูลีน (จริง/เท็จ) เพื่อให้ ตัดสินใจ ถ้าเงื่อนไขนั้นเป็นจริง แล้วจะทำอะไร? ถ้า เงื่อนไขนั้นเป็นเท็จ แล้วจะทำอะไร? การทำงานแบบเลือกทำ (Selection) นั้นถูก แบ่งได้อีก 3 รูปแบบ 1. Single Selection 2. Double Selection 3. Multi Selection
6
1. Single Selection ถ้าเงื่อนไขเป็นจริง แล้วจะทำอะไร
แต่ถ้าเงื่อนไขนั้นเป็นเท็จก็จะไม่เกิดการ ทำงานใดๆ ขึ้นเลย รูปแบบการเขียนผังงาน Single Selection ถ้าเงื่อนไขเป็นจริง ให้ทำ คำสั่งที่1 ถ้าเงื่อนไขเป้นเท็จ ให้ออก จากโครงสร้าง
7
1. Single Selection (ตัวอย่าง)
8
2. Double Selection ถ้าเงื่อนไขเป็นจริง แล้วจะทำอะไร ถ้าเงื่อนไข เป็นเท็จ แล้วจะทำอะไร รูปแบบการเขียนผังงาน Double Selection ถ้าเงื่อนไขเป็นจริง จะทำ คำสั่งที่ 1 ถ้าเงื่อนไขเป็นเท็จ จะทำ คำสั่งที่ 2
9
2. Double Selection (ตัวอย่าง)
จ่ายค่าหมูปิ้ง 20 บาท จ่ายค่ากะเพรา 35 บาท
10
3. Multi Selection ลักษณะการทำงานจะแบ่งออกเป็นกรณี (Case)
ตรวจสอบว่าค่าข้อมูลที่นำมาเปรียบเทียบตรงกับกับ เงื่อนไขใดที่เป็นจริง ก็จะเข้ากรณีนั้น รูปแบบการเขียนผังงาน Double Selection ถ้ากรณีที่ 1 เป็นจริง ทำคำสั่งที่ 1 ถ้ากรณีที่ 2 เป็นจริง ทำคำสั่งที่ ถ้ากรณีที่ N เป็นจริง ทำคำสั่ง ที่ N
11
3. Multi Selection (ตัวอย่าง)
12
ผังงาน 1 ผังงานใน การโยน เหรียญหนึ่ง เหรียญ ถ้า ออกก้อยจะ เล่นเกมส์ ถ้า ออกหัวจะ อ่านหนังสือ เรียน
13
ผังงาน 2 ผังงานรับ จำนวนเงิน เพื่อตัดสินใจ ซื้อโทรศัพท์ ถ้า ได้เงินน้อยกว่า 30,000 บาท จะ ซื้อโทรศัพท์ Samsung Hero แต่ถ้าได้ เงินมากกว่า 30,000 บาท จะ ซื้อโทรศัพท์ iPhone6+
14
ผังงาน 3 ผังงานรับจำนวน เต็ม 2 จำนวน เพื่อตรวจสอบว่า ค่าของตัวเลขใด น้อยที่สุด ให้ แสดงตัวเลขนั้น
15
เงื่อนไข (condition) เมื่อมีทางเลือก 2 ทางเลือก ใช้เงื่อนไข ตัดสินใจเพื่อเลือกการทำงานอย่างใด อย่างหนึ่ง เงื่อนไข คือ นิพจน์ที่บอกได้ว่าเป็นจริง หรือเท็จ จริง เท็จ เงื่อนไข
16
True or False จากนิพจน์ logic ต่อไปนี้ ค่าความจริง เป็น จริง หรือ เท็จ กำหนดให้ a = 10, b = 13 ข้อ นิพจน์ logic ค่าความจริง 1 a != b จริง 2 b > 0 3 (a % 2) < 0 เท็จ 4 (b % 2) != 0 5 (b - 6) == 7 6 b <= (a + 3)
17
True or False จากนิพจน์ logic ต่อไปนี้ ค่าความจริง เป็น จริง หรือ เท็จ กำหนดให้ x = 5, y = -2, ch=‘A’ ข้อ นิพจน์ logic ค่าความจริง 1 5 == x จริง 2 (x <= 0) && (9 == 7) เท็จ 3 (( x+1 ) > 10) || (x >= y) 4 !(x == 5) && (y > -1) 5 (x > 4) || (y > 0) && ( x !=y) 6 (ch == ‘B’) || !(x+y > 0)
18
คำสั่งควบคุมการทำงานแบบเลือกทำ
เงื่อนไข (condition) คือการดำเนินการที่ ให้ผลลัพธ์เป็นจริงหรือเท็จ การตัดสินใจว่าจะเลือกทางใดขึ้นอยู่กับ ผลลัพธ์ คำสั่งควบคุมการทำงานแบบเลือกทำ (1) คำสั่ง if (single selection) (2) คำสั่ง if – else (double selection) ค่าผลลัพธ์ที่ เป็น 0 หรือ NULL หมายถึง เท็จ ค่าผลลัพธ์ที่ ไม่ใช่ 0 หรือไม่ใช่ NULL หมายถึง จริง
19
คำสั่ง if เป็นการเลือกว่าจะ “ทำ” หรือ “ไม่ทำ” ใช้เงื่อนไขเป็นตัวตัดสิน
เงื่อนไขเป็นจริง (true) จะทำคำสั่งที่อยู่ใน if เงื่อนไขเป็นเท็จ (false) จะไม่ทำคำสั่งที่อยู่ใน if
20
รูปแบบคำสั่ง if if (เงื่อนไข) คำสั่ง1; if (เงื่อนไข) { คำสั่ง1; }
คำสั่ง2; … }
21
ตัวอย่างการใช้คำสั่ง if
22
ตัวอย่างการใช้คำสั่ง if
23
ตัวอย่างการใช้คำสั่ง if
24
ตัวอย่างการใช้คำสั่ง if
25
คำสั่ง if-else ใช้ตัดสินใจว่าจะเลือกทำคำสั่งใดคำสั่ง หนึ่ง ระหว่างคำสั่ง 2 ชุด ใช้เงื่อนไขเป็นตัวตัดสิน ถ้าเงื่อนไขเป็นจริง ทำคำสั่งชุดที่ 1 ถ้าเงื่อนไขเป็นเท็จ ทำคำสั่งชุดที่ 2
26
รูปแบบคำสั่ง if-else if (เงื่อนไข) คำสั่ง1; else คำสั่ง2;
{ คำสั่ง1; } else คำสั่ง2; if (เงื่อนไข) { คำสั่ง1; …. } else คำสั่ง2;
27
ตัวอย่าง คำสั่ง if-else
28
ตัวอย่าง คำสั่ง if-else
29
ตัวอย่าง 1 if ( 0 ) cout << “ if ” << endl; else cout << “ else ” << endl; ผลลัพธ์ else
30
ตัวอย่าง 2 if ( -1 ) cout << “ if ” << endl; else cout << “ else ” << endl; ผลลัพธ์ if
31
ตัวอย่าง 3 int x = 10; if ( x ) cout << “ if ” << endl; else cout << “ else ” << endl; ผลลัพธ์ if
32
ตัวอย่าง 4 -5 < 0 จริง int x = -5; if ( x < 0 ) {
cout << “negative number” << endl; } else { cout << “positive number” << endl; }
33
ตัวอย่าง 4 -5 < 0 จริง int x = -5; if ( x < 0 ) {
cout << “negative number” << endl; } if (x >= 0){ cout << “positive number” << endl;
34
ตัวอย่าง 5 10 < 0 เท็จ int x = 10; if ( x < 0 ) {
cout << “negative number” << endl; } else { cout << “positive number” << endl; }
35
ตัวอย่าง 6 20 >= 0 จริง int x = 20; if ( x >= 0 ) {
cout << “ A ” << endl; } if ( x > 10 ) { cout << “ B ” << endl; 20 > 10 จริง ผลลัพธ์ A B
36
ตัวอย่าง 7 5 >= 0 จริง 5 > 10 เท็จ ผลลัพธ์ A C
int x = 5; if ( x >= 0 ) { cout << “ A ” << endl; } if ( x > 10 ) { cout << “ B ” << endl; } else { cout << “ C ” << endl; 5 > 10 เท็จ ผลลัพธ์ A C
37
โจทย์ตัวอย่าง 1 จงเขียนโปรแกรมรับจำนวนเต็ม 1 จำนวน แล้วทดสอบว่าเป็นเลขที่หาร ด้วย 3 ลงตัวหรือไม่ ถ้าลงตัวให้แสดง ข้อความ “Divisible” ถ้าไม่ลงตัวไม่ต้อง แสดงอะไรเลย วิเคราะห์โจทย์ Input เลขจำนวนเต็ม 1 จำนวน Process ทดสอบว่าหารด้วย 3 ลงตัว หรือไม่ Output ข้อความ หรือ ไม่แสดงอะไร เลย
38
ออกแบบโปรแกรม Algorithm รับจำนวนเต็มเก็บใน num
แสดงข้อความ “Divisible” 3. จบการทำงาน
39
เขียนโปรแกรม
40
เพิ่มโจทย์ตัวอย่าง 1 จากโจทย์เดิมหากเพิ่มเงื่อนไขให้ ทดสอบว่าเป็นเลขที่หารด้วย 3 และ 5 ลงตัวหรือไม่
41
ตัวอย่างโจทย์ 2 จงเขียนโปรแกรมรับเลขจำนวนเต็ม 2 ตัว แล้วนับว่าตัวเลขที่รับเข้ามา มีเลข จำนวนเต็มลบทั้งหมดกี่ตัว วิเคราะห์โจทย์ Input เลขจำนวนเต็ม 2 ตัว Process นับตัวเลขที่เป็นจำนวนเต็ม ลบ Output จำนวนตัวเลขเต็มลบ
42
ออกแบบโปรแกรม Algorithm 1. รับจำนวนเต็มตัวที่ 1 เก็บไว้ใน a 2. รับจำนวนเต็มตัวที่ 2 เก็บไว้ใน b 3. กำหนด count (ตัวนับ) ให้เก็บค่า 0 ไว้ 4. ถ้า a < 0 เพิ่มค่า count ไป 1 5. ถ้า b < 0 6. แสดงค่าที่เก็บอยู่ใน count 7. จบการทำงาน
43
เขียนโปรแกรม
44
โจทย์ตัวอย่าง 3 จงเขียนโปรแกรมเพื่อตรวจสอบเงินเดือน ของพนักงานหากมีเงินเดือนมากกว่า บาท แต่น้อยกว่า จะได้รับ โนนัสให้แสดงข้อความ You get BONUS! ถ้าไม่ได้อยู่ในช่วงนี้ให้แสดงข้อความ You don’t get BONUS! วิเคราะห์โจทย์ Input จำนวนเงินเดือน Process ตรวจสอบจำนวนเงินอยู่ในช่วง > เงินเดือน > หรือไม่ Output ข้อความ
45
ออกแบบโปรแกรม Algorithm 1. รับจำนวนเงินเดือนเก็บใน salary 2. ถ้า (salary < 20000) && (salary > 10000) เป็นจริง แสดงข้อความ “You get BONUS!” ถ้าเป็นเท็จ แสดงข้อความ “You don’t get BONUS!” 3. จบการทำงาน
46
เขียนโปรแกรม
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.