ใช้คำสั่ง If ,If.. else ,If... ซ้อน If และคำสั่ง Switch ..case

Download Report

Transcript ใช้คำสั่ง If ,If.. else ,If... ซ้อน If และคำสั่ง Switch ..case

บทที่ 3
PROGRAMMING
เขี ย นโปรแกรม
โดยสร้ างขั้ นตอนการทางานโปรแกรมแบบเลื อ กทา : DECISION
BY
WATHINEE DUANGONNAM
E-MAIL : [email protected]
เนื ้อหาวันนี ้
Algorithm & Programming โดยสร้างขั้นตอนการทางาน
โปรแกรมแบบเลือกทา : Decision
 if
 if ..Else
 if ซ้อน if
switch ..case
โอเปอร์ เรเตอร์ (Operator)
 โอเปอร์ เรเตอร์ (Operator) คือเครื่ องหมายแทนการปฏิบตั ิการทาง
คณิ ตศาสตร์ หรื อเปรี ยบเทียบ ข้างล่างนี้จะแจกแจงตัว Operator ประเภท
ต่างๆ
รู้จกั กับ ++ ,--
x=x+1 มีความหมายเดียวกับ x++
x=x-1 มีความหมายเดียวกับ x-เช่น x=5
x++ คือ x= 6
y=10 y -- คือ y=9
แสดง การกาหนดค่า
แสดงเครื่ องหมายที่ใช้ ในการเปรี ยบเทียบข้ อมูล
แสดงเครื่ องหมายที่ใช้ ในการเปรี ยบเทียบข้ อมูล
เครื่องหมาย การเปรียบเทียบ
==
เท่ากับ
!=
ไม่เท่ากับ
>
<
>=
<=
มากกว่า
น้อยกว่า
มากกว่าหรื อเท่ากับ
น้อยกว่าหรื อเท่ากับ
ตัวอย่ าง
3==10
3!=10
ผลลัพธ์
false
true
3>10
3<10
3>=10
3<=10
false
true
false
true
แสดงตัวดาเนินการทางตรรกศาสตร์
แสดงตัวดาเนินการทางตรรกศาสตร์
เครื่องหมาย ความหมาย
&&
||
!
AND
OR
NOT
ตัวอย่ าง
a=10,b=5
(a>b)&&(b==10)
(a<b)||(a==10)
!(a==b)
ผลลัพธ์
true
true
true
อัลกอริ ทึม (Algorithms)
การเขียนผังงาน : Flowchart
สั ญลักษณ์ ในผังงาน
Decision
สัญลักษณ์ที่ใช้สาหรับการสร้างเงื่อนไข
เพื่อตัดสิ นใจทางเลือกที่ตอ้ งการ
Preparation
แทนการทางานเป็ นรอบ (loop)
สัญลักษณ์ ในผังงาน
On-Page Reference
เป็ นสัญลักษณ์ที่นามาใช้แทนจุดเชื่อมโยงของแผนภาพ(ผังงาน)
ในหน้าเดียวกัน
\
off-page Reference
เป็ นสัญลักษณ์ที่ใช้แทนการเชื่อมโยงจาก
จุดเชื่อมจากหน้าหนึ่งไปยังอีกหน้าหนึ่ง
(ในกรณี ที่อยูค่ นละหน้า)
โครงสร้างควบคุม (Control Structure)
15
 การควบคุมโปรแกรมให้ทางานได้ตามต้องการ เราจาเป็ นต้องมี
ความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม
ประกอบด้วย
ลาดับการทางาน (Sequence)
ทางเลือก,ตัดสิ นใจ (Decision)
การวนซ้ า (Iteration)
โครงสร้างควบคุม (Control Structure)
การเลือกกระทาตามเงื่อนไข(Decision)
 คือ การเขียนโปรแกรมเพื่อนาค่าไปเลือกกระทา โดยปกติจะมีเหตุการณ์ให้ทา 2
กระบวนการ คือเงื่อนไขเป็ นจริ งจะกระทากระบวนการหนึ่ง และเป็ นเท็จจะกระทาอีก
กระบวนการหนึ่ง แต่ถา้ ซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรด
นักศึกษา เป็ นต้น
การเลือกกระทาตามเงื่อนไข(Decision)
แสดงการตรวจสอบเงื่อนไขให้โปรแกรมเลือกทาอย่างใดอย่างหนึ่ง
ซึ่งมี 3 กรณี
1. การเลือกแบบ 1 เส้ นทาง
2. การเลือกแบบ 2 เส้ นทาง
3. การเลือกแบบหลายทางเลือก (N ทางเลือก)
การเลือกแบบ 1 เส้ นทาง
19
เท็จ
เงือ่ นไข
จริง
คาสั่ งเมื่อเป็ นจริง
 รู ปแบบการสร้างทางเลือก เพื่อใช้ในการ
ตัดสิ นใจทางานอย่างเดียวเท่านั้น
ระบบไฟแดง
ตัวอย่ าง
ให้ กาหนดค่าตัวเลข 1 จานวน ถ้ าเป็ นเลขคูใ่ ห้ บวกค่าเพิ่มอีก 1
Start21
x=3
false
true
(x%2)==0
x++
Stop
ตัวอย่ าง
Start
22
22
ให้ กาหนดค่าตัวเลข 1 ค่าถ้ าเป็ นเลขคู่
ให้ แสดงข้ อความบอกว่า เป็ นจานวนคู่
จากนัน้ บวกค่าเพิ่มอีก 1 ค่า
x=3
no
yes
(x%2)==0
x++
Stop
ตัวอย่ าง
23
ให้ รับข้ อมูลตัวเลข 1 ค่า
แล้ วแสดงผลตัวเลขนันออกทาง
้
หน้ าจอ แต่ ถ้ าตัวเลขไม่ใช่เลขคู่ให้ ทา
เป็ นเลขคูก่ ่อน
Start
23
Read x
no
yes
(x%2) !=0
x++
Stop
โจทย์สาหรับนักศึกษา
โจทย์ 1
 ให้รับค่าข้อมูลคะแนนเต็ม 10
 ถ้าคะแนน 6 - 10ให้แสดงข้อมูลว่า “ท่านสอบผ่าน ,Pass”
การเลือกแบบ 2 เส้ นทาง
25
เท็จ
คาสั่ งเมื่อเป็ นเท็จ
เงือ่ นไข
จริง
คาสั่ งเมื่อเป็ นจริง
 เมื่อเงื่อนไขเป็ น จริ ง จะทาอย่างหนึ่ง
 เมื่อเงื่อนไขเป็ น เท็จ จะทาอีกอย่างหนึ่ง
ตัวอย่าง
 ให้รับค่าข้อมูลคะแนน (เต็ม 100 ) โดยเกณฑ์ดงั นี้
1-50 แสดงข้อมูล “Fail”
51-100 แสดงข้อมูล “Pass”
Start
Read A
false
A>=51
print
“Fail”
true
print
“Pass”
Stop
โจทย์สาหรับนักศึกษา
โจทย์ 2
 ให้กาหนดค่าให้กบั ตัวแปร ถ้าเป็ นเลขคู่ให้ แสดงข้อความ Even number ถ้าเป็ น
เลขคี่ให้แสดงข้อความ Odd number
การเลือกแบบหลาย (n) เส้ นทาง
เมือ่ เงือ่ นไขเท่ ากับทางใดก็จะเลือกทาเฉพาะ
ทางนั้น
เงือ่ นไข 1
จริง
คาสั่ งเมือ่ เป็ นจริง
เท็จ
เงือ่ นไข 2
จริง
คาสั่ งเมือ่ เป็ นจริง
เท็จ
เงือ่ นไข 3
เท็จ
คาสั่ งเมือ่ เป็ นเท็จ
คาสั่ งถัดไป
จริง
คาสั่ งเมือ่ เป็ นจริง
ตัวอย่ าง
ออกแบบ Flowchart ให้คอมพิวเตอร์
รับคะแนนนักศึกษา (X) แล้วนามา
จัดกลุ่มตามเงื่อนไขและแสดงผล
ทางจอภาพ
เงื่อนไข
คะแนน 80-100 กลุ่ม G
คะแนน 50-79 กลุ่ม P
คะแนนต่ากว่า 50 กลุ่ม F
Start
Read X
X>=80
Yes
group = ‘G’
No
X>=50
No
group = ‘F’
group
Stop
Yes
group = ‘P’
ตัวอย่ าง
ออกแบบ Flowchart ให้คอมพิวเตอร์
รับคะแนนนักศึกษา (X) แล้วนามา
จัดกลุ่มตามเงื่อนไขและแสดงผล
ทางจอภาพ
เงื่อนไข
คะแนน 80-100 กลุ่ม G
คะแนน 50-79 กลุ่ม P
คะแนนต่ากว่า 50 กลุ่ม F
Start
Read X
X> 79
Yes
group = ‘G’
No
X >49
No
group = ‘F’
group
Stop
Yes
group = ‘P’
ตัวอย่ าง
ออกแบบ Flowchart ให้คอมพิวเตอร์
รับคะแนนนักศึกษา (X) แล้วนามา
จัดกลุ่มตามเงื่อนไขและแสดงผล
ทางจอภาพ
เงื่อนไข
คะแนน 80-100 กลุ่ม G
คะแนน 50-79 กลุ่ม P
คะแนนต่ากว่า 50 กลุ่ม F
Start
Read X
X<50
Yes
group = ‘F’
No
X< 80
No
group = ‘G’
group
Stop
Yes
group = ‘P’
ตัวอย่ าง
ออกแบบ Flowchart ให้คอมพิวเตอร์
รับคะแนนนักศึกษา (X) แล้วนามา
จัดกลุ่มตามเงื่อนไขและแสดงผล
ทางจอภาพ
เงื่อนไข
คะแนน 80-100 กลุ่ม G
คะแนน 50-79 กลุ่ม P
คะแนนต่ากว่า 50 กลุ่ม F
Start
Read X
X<=49
Yes
group = ‘F’
No
X<=79
No
group = ‘G’
group
Stop
Yes
group = ‘P’
Start
ตัวอย่าง
Read X
ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) X > =80
แล้วนามาตัดเกรดตามเงื่อนไขและแสดงผลเกรดทางจอภาพ No
X >=70
เงื่อนไข
No
คะแนน 80-100 เกรด A
X > =60
คะแนน 70-79 เกรด B
No
คะแนน 60-69 เกรด C
X > =50
คะแนน 50-59 เกรด D
No
คะแนนต่ากว่า 50 เกรด F
grade =‘F’
grade
Start
Yes
Yes
Yes
Yes
grade =‘A’
grade =‘B’
grade =‘C’
grade =‘D’
Start
ตัวอย่าง
Read X
X > 79
ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X)
แล้วนามาตัดเกรดตามเงื่อนไขและแสดงผลเกรดทางจอภาพ No
X > 69
เงื่อนไข
No
คะแนน 80-100 เกรด A
X > 59
คะแนน 70-79 เกรด B
No
คะแนน 60-69 เกรด C
X > 49
คะแนน 50-59 เกรด D
No
คะแนนต่ากว่า 50 เกรด F
grade =‘F’
grade
Start
Yes
Yes
Yes
Yes
grade =‘A’
grade =‘B’
grade =‘C’
grade =‘D’
Start
ตัวอย่าง
Read X
ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) X < =49
แล้วนามาตัดเกรดตามเงื่อนไขและแสดงผลเกรดทางจอภาพ No
X <=59
เงื่อนไข
No
คะแนน 80-100 เกรด A
X <=69
คะแนน 70-79 เกรด B
No
คะแนน 60-69 เกรด C
X <= 79
คะแนน 50-59 เกรด D
No
คะแนนต่ากว่า 50 เกรด F
grade =‘A’
grade
Start
Yes
Yes
Yes
Yes
grade =‘F’
grade =‘D’
grade =‘C’
grade =‘B’
การเขียนโปรแกรม Decision
การเลือกแบบ 1 เส้ นทาง
 คาสั่ ง If ใช้สาหรับการตัดสิ นใจ โดยถ้าเป็ นจริ งจะทาตามคาสั่งต่างๆ ที่กาหนดไว้
ภายใต้เงื่อนไข ซึ่ งเงื่อนไขจะอยูภ่ ายในเครื่ องหมายวงเล็บ ( ) ถ้าเป็ นจริ งแล้วจะไป
ทางานคาสั่งที่อยูภ่ ายในเครื่ องหมายปี กกา { }
ผลที่ได้จะเป็ น true
หรื อ false
if (เงื่อนไข)
{
ประโยคคาสั่งเมื่อเงื่อนไขเป็ นจริ ง;
}
ถ้ามีคาสัง่ เพียงบรรทัดเดียวไม่จาเป็ นต้องใส่ ปีกกา { } ก็ได้ แต่ถา้ มีมากกว่า 1 บรรทัด
ต้องใส่ ปีกกาด้วย
โจทย์
 ให้กำหนดค่ำคะแนน(เต็ม 10 คะแนน)โดยถ้ำ คะแนนมำกกว่ำ 5 ให้
แสดงข้อมูล Pass
ตัวอย่างโปรแกรม แบบกาหนดค่า (ง่าย)
กรณี น้อยกว่าหรื อเท่ากับ 5
ในโปรแกรมไม่ได้ให้แสดงข้อมูลอะไร
โจทย์
 ให้กาหนดค่าตัวเลข 1 ค่า แล้วแสดงผล
โดยถ้าตัวเลขไม่ใช่เลขคู่ให้บวกเพิม่ อีก 1 ค่า
ตัวอย่างโปรแกรม
โจทย์ กรณีรับข้ อมูลทาง keyboard ( 1 เงื่อนไข)
 ให้รับค่าข้อมูลคะแนนเต็ม 10 ถ้าคะแนนมากกว่า 5 คะแนน
ให้แสดงข้อมูลว่า “ท่านสอบผ่าน”
ตัวอย่างโปรแกรมรับค่าข้ อมูลตัวเลข ทาง keyboard
โจทย์
 ให้รับข้อมูลตัวเลข 1 ค่าแล้วแสดงผล
โดยถ้าตัวเลขไม่ใช่เลขคู่ให้บวกเพิม่ อีก 1 ค่า
ตัวอย่างโปรแกรม
ผลของโปรแกรมในกรณี ต่าง ๆ
การเลือกแบบ 2 เส้ นทาง
 คาสั่ ง If...else เป็ นคาสัง่ ที่มี 2 เงื่อนไข ถ้าเงื่อนไขใน If เป็ นจริ งก็จะเข้าไป
ทางานคาสัง่ ภายใน If แต่ถา้ เงื่อนไขเป็ นเท็จจะไปทางานคาสัง่ ภายใน else
รู ปแบบเป็ นดังนี้
if (เงื่อนไข) {
คาสัง่ ต่างๆ เมื่อเงื่อนไขเป็ นจริ ง ;
} else {
คาสัง่ ต่างๆ เมื่อเงื่อนไขเป็ นเท็จ ;
}
โจทย์
 ให้รับค่าข้อมูลคะแนนเต็ม 10
 ถ้าคะแนน 6 - 10ให้แสดงข้อมูลว่า “ท่านสอบผ่าน ,Pass”
 ถ้าคะแนน 1 – 5 ให้แสดงข้อมูล “ท่านสอบตก, Fail”
ตัวอย่างโปรแกรม
ผลของโปรแกรมในกรณี ต่าง ๆ
โจทย์สาหรับนักศึกษา
โจทย์ 11
 ให้กาหนดค่าตัวเลข 2 ตัว
 โดยนาตัวแปร 2 ค่ามาเรี ยง มาก  น้อย
การเลือกแบบ N เส้ นทาง
 คาสั่ ง if แบบซ้อน
(Nested IF) เป็ น
คาสัง่ ที่มีเงื่อนไขเพื่อ
การตัดสิ นใจ
มากกว่า 2 เงื่อนไข
ขึ้นไป หรื อกล่าว
โดยสรุ ป คือ การใช้
คาสัง่ if ซ้อน if
if (เงื่อนไขที่ 1) {
คาสัง่ ต่างๆ เมื่อเงื่อนไขที่ 1 เป็ นจริ ง ;
} else if (เงื่อนไขที่ 2) {
คาสัง่ ต่างๆ เมื่อเงื่อนไขที่ 2 เป็ นจริ ง ;
} else if (เงื่อนไขที่ 3) {
คาสัง่ ต่างๆ เมื่อเงื่อนไขที่ 3 เป็ นจริ ง ;
} else {
คาสัง่ ต่างๆ เมื่อเงื่อนไขเป็ นเท็จ ;
}
โจทย์
 ให้รับค่าข้อมูลคะแนนเต็ม 10
 ถ้าคะแนน 6 - 10ให้แสดงข้อมูลว่า “ท่านสอบผ่าน ,Pass”
 ถ้าคะแนน 1 – 5 ให้แสดงข้อมูล “ท่านสอบตก, Fail”
 แต่ถา้ ระบุขอ้ มูลมากกว่า 10 ให้แสดงข้อมูล “รับค่าคะแนน
1- 10 เท่านั้น ,Error ”
ตัวอย่างโปรแกรม
ผลของโปรแกรมกรณี ต่างๆ
โจทย์
 ให้เขียนโปรแกรมคานวณเกรด โดยรับคะแนนทาง keyboard จากนั้นแสดงผล
เกรดที่ได้โดยมีเงื่อนไขดังนี้
0-49 ได้เกรด F
50-59 ได้เกรด D
60-69 ได้เกรด C
70-79 ได้เกรด B
80-100 ได้เกรด A
ตัวอย่างโปรแกรม
ผลของโปรแกรมในกรณีตา่ ง ๆ
โจทย์สาหรับนักศึกษา
โจทย์สาหรับนักศึกษา
โจทย์ 1
 ให้รับค่าตัวเลข 2 จานวน จากนั้นแสดงเมนูเพื่อให้ผใู ้ ช้เลือกดาเนินการกับ
ตัวเลข ดังนี้
กด 1 เพื่อหาผลรวมตัวเลข
กด 2 เพื่อหาผลคูณตัวเลข
กด 3 เพื่อหาค่าเฉลี่ย
นอกเหนือจากนี้ให้แสดงข้อความ “ให้เลือก 1,2,3 เท่านั้นกรุ ณาป้ อน
ข้อมูลใหม่”
โจทย์สาหรับนักศึกษา
โจทย์ 2
 ให้ระบุอกั ขระ 1 2 3 a A (5 อักขระ)
ถ้า ระบุตวั เลขให้แสดงข้อมูลว่า “The character is a digit ”
ถ้า ระบุ ตัว a ให้แสดงข้อมูลว่า “The character is a lowercase letter”
ถ้า ระบุ ตัว A ให้แสดงข้อมูลว่า “The character is a uppercase letter”
กรณี อื่น ๆ ให้แสดงข้อมูลว่า “Error ,Please input 1 2 3 a A ”
โจทย์สาหรับนักศึกษา
โจทย์ 3
 ให้แสดงข้อมูลสภาพอากาศของช่วงเดือน โดยให้ระบุขอ้ มูลเดือน คือเลข 1-12
เดือน 1,2,3 แสดงข้อความ ร้อนปานกลาง
เดือน 4,5,6
“”
ร้อนมาก
เดือน 7,8,9
“”
ฝนตก ชุกถึงชุกมาก
เดือน 10 ,11,12 “”
ร้อนเล็กน้อย
นอกเหนือจากนี้ให้แสดงข้อความ เกิดข้อผิดพลาด กรุ ณาระบุ 1-12 เท่านั้น
รู ปแบบแสดงข้อความดังนี้
เดือน …….. มีอากาศแบบ ……….
โจทย์สาหรับนักศึกษา
โจทย์ 4
 ให้ เขียนโปรแกรมเพือ่ ทาข้ อสอบ 1 ข้ อ ดังนี้
2*5+25/5-5 = ?
1. 5
2. 10
3. 15
4. 20
5. 25
ให้ เลือกตัวเลือก 1 – 5 โดย
- ถ้าเลือกข้อ 2 ให้แสดงข้อความว่า “Right”
- ถ้าเลือกข้อ 1 ,3,4,5 ให้แสดงข้อความว่า “Wrong”
- ถ้าไม่เลือกข้อ 1 - 5 ให้แสดงข้อความว่า “Error”
โจทย์สาหรับนักศึกษา
โจทย์ 5
ให้เขียนโปรแกรมโดยใช้คาสัง่ switch.. case
ให้ระบุ A,B,C,D หรื อ F
กรณี มีค่าเท่ากับ A ให้แสดงข้อความ Excellent
กรณี มีค่าเท่ากับ Bให้แสดงข้อความ Good
กรณี มีค่าเท่ากับ C ให้แสดงข้อความ OK
กรณี มีค่าเท่ากับ D ให้แสดงข้อความ Improved
กรณี มีค่าเท่ากับ F ให้แสดงข้อความ You must do better than this
ถ้าตัวแปรไม่ตรงกับกรณี ใดเลยให้ แสดงข้อความ What is your grade
โจทย์สาหรับนักศึกษา
โจทย์ 6
 โปรแกรมคานวณเกรด โดยรับคะแนนทาง keyboard โดยมีเงื่อนไขดังนี้
0-49 ได้เกรด F
50-59 ได้เกรด D
60-69 ได้เกรด C
70-79 ได้เกรด B
80-100 ได้เกรด A
ถ้านอกเหนือจากนั้นให้แสดงข้อความว่า “คะแนนจะต้องอยูร่ ะหว่าง 0-100 ”
โจทย์สาหรับนักศึกษา
โจทย์ 7
 ให้ระบุ A,B,C,D หรื อ F
กรณี มีค่าเท่ากับ A ให้แสดงข้อความ Excellent
กรณี มีค่าเท่ากับ Bให้แสดงข้อความ Good
กรณี มีค่าเท่ากับ C ให้แสดงข้อความ OK
กรณี มีค่าเท่ากับ D ให้แสดงข้อความ Improved
กรณี มีค่าเท่ากับ F ให้แสดงข้อความ You must do better than this
ถ้าตัวแปรไม่ตรงกับกรณี ใดเลยให้ แสดงข้อความ What is your grade
โจทย์สาหรับนักศึกษา
โจทย์ 8
 รับค่าตัวเลข 3 ค่า โดยนาตัวเลขมาเรี ยง มาก  น้อย
ยกตัวอย่างแนวคิด(มี 6 กรณี )
 n1>n2 and n1<n3

n2>n1 and n2<n3

n1>n3 and n1<n2

n3>n1 and n3<n2

n2>n3 and n2<n1

n3>n2 and n3<n1
ผล n3 n1 n2
ผล n3 n2 n1
ผล n2 n1 n3
ผล n2 n3 n1
ผล n1 n2 n3
ผล n1 n3 n2
คาสัง่ switch..case
เป็ นคาสัง่ คล้ายกับคาสัง่ if แบบซ้อน เนื่ องจากมีหลาย
ทางเลือกให้ดาเนินการ แต่ switch..case จะมีขอ้ ดีกว่า
คาสัง่ if แบบซ้อน เพราะซับซ้อนน้อยกว่า
รูปแบบ คาสัง่ switch..case
switch (ตัวแปร) {
case ค่าที่ 1 : คาสัง่ กรณี ที่ 1;
break;
case ค่าที่ 2 : คาสัง่ กรณี ที่ 2;
break;
……..
case ค่าที่ n : คาสั่งกรณี ที่ n;
break;
default : คาสั่งเมื่อไม่มีค่าที่ตรงกับที่ระบุใน case ;
}
คาอธิบาย
 จากรู ปแบบของคาสัง่ โปรแกรมจะตรวจสอบจากตัวแปรที่คาสัง่ switch (ตัวแปรใน
วงเล็บ)ว่ามีค่าเป็ นเท่าไรแล้วนามาตรวจสอบกับคาสัง่ case ถ้าตรงกับค่าของ case
ใดก็จะทางานตาม คาสัง่ ใน case นั้น เมื่อทางานเสร็ จ จะพบคาสัง่ break มีผลทาให้
ออกไปจากคาสัง่ switch ทันที ในกรณี ที่ไม่มีค่าใดตรงกับ case ที่ระบุโปรแกรม
จะมาทางานที่คาสัง่ default โดยอัตโนมัติ
ข้ อกาหนดในการใช้ คาสัง่ switch
1. ตัวแปรที่ใช้ในการตรวจสอบ จะต้องมีชนิดเป็ นตัวเลขอย่างใดอย่างหนึ่ ง ได้แก่
char,byte,short หรื อ int และต้องอยูภ่ ายในเครื่ องหมายวงเล็บ ( ) เท่านั้น
2. ชนิดของตัวเลขที่ใช้ในการตรวจสอบในคาสั่ง case จะต้องเป็ นชนิดเดียวกันทั้งหมด
3. อาจไม่ใส่ คาสั่ง break ไว้กไ็ ด้ แต่ถา้ ไม่ใส่ จะทาให้โปรแกรมต้องตรวจสอบทุกๆ
เงื่อนไขจนกว่าจะหมด ซึ่ งอาจทาให้เสี ยเวลาได้ ถ้าเงื่อนไขมีมากและซับซ้อน
4. คาสั่ง default อาจใส่ หรื อไม่กไ็ ด้ ถ้าใส่ กน็ ิยมใส่ ไว้ที่บรรทัดสุ ดท้ายของการตรวจสอบ
ตัวอย่าง
 ให้ เขียนโปรแกรมเพือ่ ทาข้ อสอบ 1 ข้ อ ดังนี้
2*5+25/5-5 = ?
1. 5
2. 10
3. 15
4. 20
5. 25
ให้ เลือกตัวเลือก 1 – 5 โดย
- ถ้าเลือกข้อ 2 ให้แสดงข้อความว่า “Right”
- ถ้าเลือกข้อ 1 ,3,4,5 ให้แสดงข้อความว่า “Wrong”
- ถ้าไม่เลือกข้อ 1 - 5 ให้แสดงข้อความว่า “Error”
ตัวอย่าง โปรแกรม :แสดงข้ อมูล โจทย์ทางคณิตศาสตร์ และนาตัวเลือกมา
เก็บในตัวแปร x
เขียนคาสั่งเงื่อนไขที่น้ ี
นา x มาเลือกกรณี(case)
ตัวอย่างโปรแกรม (สมบูรณ์)
ผลกรณีตา่ ง ๆ
โจทย์ กรณีรับข้ อมูลเป็ น อักขระ
ให้เขียนโปรแกรมโดยใช้คาสัง่ switch.. case
ให้ระบุ A,B,C,D หรื อ F
กรณี มีค่าเท่ากับ A ให้แสดงข้อความ Excellent
กรณี มีค่าเท่ากับ Bให้แสดงข้อความ Good
กรณี มีค่าเท่ากับ C ให้แสดงข้อความ OK
กรณี มีค่าเท่ากับ D ให้แสดงข้อความ Improved
กรณี มีค่าเท่ากับ F ให้แสดงข้อความ You must do better than this
ถ้าตัวแปรไม่ตรงกับกรณี ใดเลยให้ แสดงข้อความ What is your grade
ตัวอย่างโปรแกรม
แสดงผล กรณีตา่ ง ๆ
โจทย์สาหรับนักศึกษา
โจทย์ 9
 ให้รับค่าตัวเลข 2 จานวน จากนั้นแสดงเมนูเพื่อให้ผใู ้ ช้เลือกดาเนินการกับ
ตัวเลข ดังนี้
กด 1 เพื่อหาผลรวมตัวเลข
กด 2 เพื่อหาผลคูณตัวเลข
กด 3 เพื่อหาค่าเฉลี่ย
นอกเหนือจากนี้ให้แสดงข้อความ “ให้เลือก 1,2,3 เท่านั้นกรุ ณาป้ อน
ข้อมูลใหม่”
โจทย์สาหรับนักศึกษา
โจทย์ 10
 ให้ระบุอกั ขระ 1 2 3 a A (5 อักขระ)
ถ้า ระบุตวั เลขให้แสดงข้อมูลว่า “The character is a digit ”
ถ้า ระบุ ตัว a ให้แสดงข้อมูลว่า “The character is a lowercase letter”
ถ้า ระบุ ตัว A ให้แสดงข้อมูลว่า “The character is a uppercase letter”
กรณี อื่น ๆ ให้แสดงข้อมูลว่า “Error ,Please input 1 2 3 a A ”
การเขียนผังงาน : Flowchart