บทที่ 3 Programming By Wathinee duangonnam เขียนโปรแกรม โดยสร้างขั้นตอนการทำงานโปรแกรมแบบเลือกทำ : Decision By Wathinee duangonnam E-mail : Wathinee.d@gmail.com
เนื้อหาวันนี้ 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 false != ไม่เท่ากับ 3!=10 true > มากกว่า 3>10 < น้อยกว่า 3<10 >= มากกว่าหรือเท่ากับ 3>=10 <= น้อยกว่าหรือเท่ากับ 3<=10
แสดงตัวดำเนินการทางตรรกศาสตร์
แสดงตัวดำเนินการทางตรรกศาสตร์ เครื่องหมาย ความหมาย ตัวอย่าง a=10,b=5 ผลลัพธ์ && AND (a>b)&&(b==10) true || OR (a<b)||(a==10) ! NOT !(a==b)
อัลกอริทึม (Algorithms)
การเขียนผังงาน : Flowchart
สัญลักษณ์ในผังงาน Decision สัญลักษณ์ที่ใช้สำหรับการสร้างเงื่อนไข เพื่อตัดสินใจทางเลือกที่ต้องการ Preparation แทนการทำงานเป็นรอบ (loop)
สัญลักษณ์ในผังงาน On-Page Reference เป็นสัญลักษณ์ที่นำมาใช้แทนจุดเชื่อมโยงของแผนภาพ(ผังงาน) ในหน้าเดียวกัน \ off-page Reference เป็นสัญลักษณ์ที่ใช้แทนการเชื่อมโยงจาก จุดเชื่อมจากหน้าหนึ่งไปยังอีกหน้าหนึ่ง (ในกรณีที่อยู่คนละหน้า)
โครงสร้างควบคุม (Control Structure) การควบคุมโปรแกรมให้ทำงานได้ตามต้องการ เราจำเป็นต้องมีความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม ประกอบด้วย ลำดับการทำงาน (Sequence) ทางเลือก,ตัดสินใจ (Decision) การวนซ้ำ (Iteration)
โครงสร้างควบคุม (Control Structure)
การเลือกกระทำตามเงื่อนไข(Decision) คือ การเขียนโปรแกรมเพื่อนำค่าไปเลือกกระทำ โดยปกติจะมีเหตุการณ์ให้ทำ 2 กระบวนการ คือเงื่อนไขเป็นจริงจะกระทำกระบวนการหนึ่ง และเป็นเท็จจะกระทำอีกกระบวนการหนึ่ง แต่ถ้าซับซ้อนมากขึ้น จะต้องใช้เงื่อนไขหลายชั้น เช่นการตัดเกรดนักศึกษา เป็นต้น
การเลือกกระทำตามเงื่อนไข(Decision) แสดงการตรวจสอบเงื่อนไขให้โปรแกรมเลือกทำอย่างใดอย่างหนึ่ง ซึ่งมี 3 กรณี การเลือกแบบ 1 เส้นทาง การเลือกแบบ 2 เส้นทาง การเลือกแบบหลายทางเลือก (N ทางเลือก)
รูปแบบการสร้างทางเลือก เพื่อใช้ในการตัดสินใจทำงานอย่างเดียวเท่านั้น การเลือกแบบ 1 เส้นทาง รูปแบบการสร้างทางเลือก เพื่อใช้ในการตัดสินใจทำงานอย่างเดียวเท่านั้น เท็จ จริง เงื่อนไข คำสั่งเมื่อเป็นจริง
ระบบไฟแดง
ตัวอย่าง ให้กำหนดค่าตัวเลข 1 จำนวน ถ้าเป็นเลขคู่ให้บวกค่าเพิ่มอีก 1 Start x=3 false true (x%2)==0 x++ Stop
Start 22 x=3 ตัวอย่าง ให้กำหนดค่าตัวเลข 1 ค่าถ้าเป็นเลขคู่ ให้แสดงข้อความบอกว่า เป็นจำนวนคู่จากนั้น บวกค่าเพิ่มอีก 1 ค่า no yes (x%2)==0 x “เป็นจำนวนคู่” x++ Stop
Start 23 Read x no ตัวอย่าง ให้รับข้อมูลตัวเลข 1 ค่า แล้วแสดงผลตัวเลขนั้นออกทางหน้าจอ แต่ ถ้าตัวเลขไม่ใช่เลขคู่ให้ทำเป็นเลขคู่ก่อน yes (x%2) !=0 x++ Print x Stop
โจทย์สำหรับนักศึกษา โจทย์ 1 ให้รับค่าข้อมูลคะแนนเต็ม 10 ถ้าคะแนน 6 - 10ให้แสดงข้อมูลว่า “ท่านสอบผ่าน ,Pass”
การเลือกแบบ 2 เส้นทาง เมื่อเงื่อนไขเป็น จริง จะทำอย่างหนึ่ง เมื่อเงื่อนไขเป็น จริง จะทำอย่างหนึ่ง เมื่อเงื่อนไขเป็น เท็จ จะทำอีกอย่างหนึ่ง เท็จ เงื่อนไข จริง คำสั่งเมื่อเป็นเท็จ คำสั่งเมื่อเป็นจริง
ให้รับค่าข้อมูลคะแนน (เต็ม 100 ) โดยเกณฑ์ดังนี้ 1-50 แสดงข้อมูล “Fail” ตัวอย่าง ให้รับค่าข้อมูลคะแนน (เต็ม 100 ) โดยเกณฑ์ดังนี้ 1-50 แสดงข้อมูล “Fail” 51-100 แสดงข้อมูล “Pass”
Start Read A false A>=51 true print “Fail” print “Pass” Stop
โจทย์สำหรับนักศึกษา โจทย์ 2 ให้กำหนดค่าให้กับตัวแปร ถ้าเป็นเลขคู่ให้ แสดงข้อความ Even number ถ้าเป็นเลขคี่ให้แสดงข้อความ Odd number
การเลือกแบบหลาย (n) เส้นทาง เงื่อนไข 1 จริง คำสั่งเมื่อเป็นจริง เมื่อเงื่อนไขเท่ากับทางใดก็จะเลือกทำเฉพาะทางนั้น เท็จ เงื่อนไข 2 จริง คำสั่งเมื่อเป็นจริง เท็จ จริง เงื่อนไข 3 คำสั่งเมื่อเป็นจริง เท็จ คำสั่งเมื่อเป็นเท็จ คำสั่งถัดไป
ตัวอย่าง Start ออกแบบ Flowchart ให้คอมพิวเตอร์รับคะแนนนักศึกษา (X) แล้วนำมาจัดกลุ่มตามเงื่อนไขและแสดงผลทางจอภาพ เงื่อนไข คะแนน 80-100 กลุ่ม G คะแนน 50-79 กลุ่ม P คะแนนต่ำกว่า 50 กลุ่ม F Read X X>=80 Yes group = ‘G’ No X>=50 Yes group = ‘P’ No group = ‘F’ group Stop
ตัวอย่าง Start ออกแบบ Flowchart ให้คอมพิวเตอร์รับคะแนนนักศึกษา (X) แล้วนำมาจัดกลุ่มตามเงื่อนไขและแสดงผลทางจอภาพ เงื่อนไข คะแนน 80-100 กลุ่ม G คะแนน 50-79 กลุ่ม P คะแนนต่ำกว่า 50 กลุ่ม F Read X X> 79 Yes group = ‘G’ No X > 4 9 Yes group = ‘P’ No group = ‘F’ group Stop
ตัวอย่าง Start ออกแบบ Flowchart ให้คอมพิวเตอร์รับคะแนนนักศึกษา (X) แล้วนำมาจัดกลุ่มตามเงื่อนไขและแสดงผลทางจอภาพ เงื่อนไข คะแนน 80-100 กลุ่ม G คะแนน 50-79 กลุ่ม P คะแนนต่ำกว่า 50 กลุ่ม F Read X X<50 Yes group = ‘F’ No X< 80 Yes group = ‘P’ No group = ‘G’ group Stop
ตัวอย่าง Start ออกแบบ Flowchart ให้คอมพิวเตอร์รับคะแนนนักศึกษา (X) แล้วนำมาจัดกลุ่มตามเงื่อนไขและแสดงผลทางจอภาพ เงื่อนไข คะแนน 80-100 กลุ่ม G คะแนน 50-79 กลุ่ม P คะแนนต่ำกว่า 50 กลุ่ม F Read X X<=49 Yes group = ‘F’ No X<=79 Yes group = ‘P’ No group = ‘G’ group Stop
ตัวอย่าง ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) Start ตัวอย่าง Read X Yes X > =80 ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) แล้วนำมาตัดเกรดตามเงื่อนไขและแสดงผลเกรดทางจอภาพ เงื่อนไข คะแนน 80-100 เกรด A คะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนนต่ำกว่า 50 เกรด F grade =‘A’ No X >=70 Yes grade =‘B’ No Yes X > =60 grade =‘C’ No Yes X > =50 grade =‘D’ No grade =‘F’ grade Start
ตัวอย่าง ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) Start ตัวอย่าง Read X Yes X > 79 ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) แล้วนำมาตัดเกรดตามเงื่อนไขและแสดงผลเกรดทางจอภาพ เงื่อนไข คะแนน 80-100 เกรด A คะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนนต่ำกว่า 50 เกรด F grade =‘A’ No X > 69 Yes grade =‘B’ No Yes X > 59 grade =‘C’ No Yes X > 49 grade =‘D’ No grade =‘F’ grade Start
ตัวอย่าง ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) Start ตัวอย่าง Read X Yes X < =49 ออกแบบ Flowchart ให้รับค่าคะแนนนักศึกษา (X) แล้วนำมาตัดเกรดตามเงื่อนไขและแสดงผลเกรดทางจอภาพ เงื่อนไข คะแนน 80-100 เกรด A คะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนนต่ำกว่า 50 เกรด F grade =‘F’ No X <=59 Yes grade =‘D’ No Yes X <=69 grade =‘C’ No Yes X <= 79 grade =‘B’ No grade =‘A’ grade Start
การเขียนโปรแกรม Decision
ผลที่ได้จะเป็น true หรือ false การเลือกแบบ 1 เส้นทาง คำสั่ง If ใช้สำหรับการตัดสินใจ โดยถ้าเป็นจริงจะทำตามคำสั่งต่างๆ ที่กำหนดไว้ภายใต้เงื่อนไข ซึ่งเงื่อนไขจะอยู่ภายในเครื่องหมายวงเล็บ ( ) ถ้าเป็นจริงแล้วจะไปทำงานคำสั่งที่อยู่ภายในเครื่องหมายปีกกา { } ผลที่ได้จะเป็น true หรือ false if (เงื่อนไข) { ประโยคคำสั่งเมื่อเงื่อนไขเป็นจริง; } ถ้ามีคำสั่งเพียงบรรทัดเดียวไม่จำเป็นต้องใส่ปีกกา { } ก็ได้ แต่ถ้ามีมากกว่า 1 บรรทัดต้องใส่ปีกกาด้วย
โจทย์ ให้กำหนดค่าคะแนน(เต็ม 10 คะแนน)โดยถ้า คะแนนมากกว่า 5 ให้แสดงข้อมูล Pass
ตัวอย่างโปรแกรม แบบกำหนดค่า (ง่าย) กรณี น้อยกว่าหรือเท่ากับ 5 ในโปรแกรมไม่ได้ให้แสดงข้อมูลอะไร
ให้กำหนดค่าตัวเลข 1 ค่า แล้วแสดงผล โจทย์ ให้กำหนดค่าตัวเลข 1 ค่า แล้วแสดงผล โดยถ้าตัวเลขไม่ใช่เลขคู่ให้บวกเพิ่มอีก 1 ค่า
ตัวอย่างโปรแกรม
โจทย์ กรณีรับข้อมูลทาง keyboard ( 1 เงื่อนไข) ให้รับค่าข้อมูลคะแนนเต็ม 10 ถ้าคะแนนมากกว่า 5 คะแนนให้แสดงข้อมูลว่า “ท่านสอบผ่าน”
ตัวอย่างโปรแกรมรับค่าข้อมูลตัวเลข ทาง keyboard
ให้รับข้อมูลตัวเลข 1 ค่าแล้วแสดงผล โจทย์ ให้รับข้อมูลตัวเลข 1 ค่าแล้วแสดงผล โดยถ้าตัวเลขไม่ใช่เลขคู่ให้บวกเพิ่มอีก 1 ค่า
ตัวอย่างโปรแกรม
ผลของโปรแกรมในกรณี ต่าง ๆ
คำสั่งต่างๆ เมื่อเงื่อนไขเป็นจริง ; } else { การเลือกแบบ 2 เส้นทาง คำสั่ง If...else เป็นคำสั่งที่มี 2 เงื่อนไข ถ้าเงื่อนไขใน If เป็นจริงก็จะเข้าไปทำงานคำสั่งภายใน If แต่ถ้าเงื่อนไขเป็นเท็จจะไปทำงานคำสั่งภายใน else รูปแบบเป็นดังนี้ if (เงื่อนไข) { คำสั่งต่างๆ เมื่อเงื่อนไขเป็นจริง ; } else { คำสั่งต่างๆ เมื่อเงื่อนไขเป็นเท็จ ; }
ให้รับค่าข้อมูลคะแนนเต็ม 10 โจทย์ ให้รับค่าข้อมูลคะแนนเต็ม 10 ถ้าคะแนน 6 - 10ให้แสดงข้อมูลว่า “ท่านสอบผ่าน ,Pass” ถ้าคะแนน 1 – 5 ให้แสดงข้อมูล “ท่านสอบตก, Fail”
ตัวอย่างโปรแกรม
ผลของโปรแกรมในกรณี ต่าง ๆ
โจทย์สำหรับนักศึกษา โจทย์ 11 โจทย์สำหรับนักศึกษา โจทย์ 11 ให้กำหนดค่าตัวเลข 2 ตัว โดยนำตัวแปร 2 ค่ามาเรียง มาก น้อย
การเลือกแบบ N เส้นทาง คำสั่ง if แบบซ้อน(Nested IF) เป็นคำสั่งที่มีเงื่อนไขเพื่อการตัดสินใจมากกว่า 2 เงื่อนไขขึ้นไป หรือกล่าวโดยสรุป คือ การใช้คำสั่ง if ซ้อน if if (เงื่อนไขที่ 1) { คำสั่งต่างๆ เมื่อเงื่อนไขที่ 1 เป็นจริง ; } else if (เงื่อนไขที่ 2) { คำสั่งต่างๆ เมื่อเงื่อนไขที่ 2 เป็นจริง ; } else if (เงื่อนไขที่ 3) { คำสั่งต่างๆ เมื่อเงื่อนไขที่ 3 เป็นจริง ; } else { คำสั่งต่างๆ เมื่อเงื่อนไขเป็นเท็จ ; }
ให้รับค่าข้อมูลคะแนนเต็ม 10 โจทย์ ให้รับค่าข้อมูลคะแนนเต็ม 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 โจทย์สำหรับนักศึกษา โจทย์ 1 ให้รับค่าตัวเลข 2 จำนวน จากนั้นแสดงเมนูเพื่อให้ผู้ใช้เลือกดำเนินการกับตัวเลข ดังนี้ กด 1 เพื่อหาผลรวมตัวเลข กด 2 เพื่อหาผลคูณตัวเลข กด 3 เพื่อหาค่าเฉลี่ย นอกเหนือจากนี้ให้แสดงข้อความ “ให้เลือก 1,2,3 เท่านั้นกรุณาป้อนข้อมูลใหม่”
โจทย์สำหรับนักศึกษา โจทย์ 2 โจทย์สำหรับนักศึกษา โจทย์ 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 โจทย์สำหรับนักศึกษา โจทย์ 3 ให้แสดงข้อมูลสภาพอากาศของช่วงเดือน โดยให้ระบุข้อมูลเดือน คือเลข 1-12 เดือน 1,2,3 แสดงข้อความ ร้อนปานกลาง เดือน 4,5,6 “” ร้อนมาก เดือน 7,8,9 “” ฝนตก ชุกถึงชุกมาก เดือน 10 ,11,12 “” ร้อนเล็กน้อย นอกเหนือจากนี้ให้แสดงข้อความ เกิดข้อผิดพลาด กรุณาระบุ 1-12 เท่านั้น รูปแบบแสดงข้อความดังนี้ เดือน …….. มีอากาศแบบ ……….
โจทย์สำหรับนักศึกษา โจทย์ 4 โจทย์สำหรับนักศึกษา โจทย์ 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 โจทย์สำหรับนักศึกษา โจทย์ 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 โจทย์สำหรับนักศึกษา โจทย์ 6 โปรแกรมคำนวณเกรด โดยรับคะแนนทาง keyboard โดยมีเงื่อนไขดังนี้ 0-49 ได้เกรด F 50-59 ได้เกรด D 60-69 ได้เกรด C 70-79 ได้เกรด B 80-100 ได้เกรด A ถ้านอกเหนือจากนั้นให้แสดงข้อความว่า “คะแนนจะต้องอยู่ระหว่าง 0-100 ”
โจทย์สำหรับนักศึกษา โจทย์ 7 โจทย์สำหรับนักศึกษา โจทย์ 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 โจทย์สำหรับนักศึกษา โจทย์ 8 รับค่าตัวเลข 3 ค่า โดยนำตัวเลขมาเรียง มาก น้อย ยกตัวอย่างแนวคิด(มี 6 กรณี) n1>n2 and n1<n3 ผล n3 n1 n2 n2>n1 and n2<n3 ผล n3 n2 n1 n1>n3 and n1<n2 ผล n2 n1 n3 n3>n1 and n3<n2 ผล n2 n3 n1 n2>n3 and n2<n1 ผล n1 n2 n3 n3>n2 and n3<n1 ผล n1 n3 n2
คำสั่ง switch..case เป็นคำสั่งคล้ายกับคำสั่ง if แบบซ้อน เนื่องจากมีหลายทางเลือกให้ดำเนินการ แต่ switch..case จะมีข้อดีกว่าคำสั่ง if แบบซ้อน เพราะซับซ้อนน้อยกว่า
รูปแบบ คำสั่ง switch..case switch (ตัวแปร) { case ค่าที่ 1 : คำสั่งกรณีที่ 1; break; case ค่าที่ 2 : คำสั่งกรณีที่ 2; …….. case ค่าที่ n : คำสั่งกรณีที่ n; 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 โจทย์สำหรับนักศึกษา โจทย์ 9 ให้รับค่าตัวเลข 2 จำนวน จากนั้นแสดงเมนูเพื่อให้ผู้ใช้เลือกดำเนินการกับตัวเลข ดังนี้ กด 1 เพื่อหาผลรวมตัวเลข กด 2 เพื่อหาผลคูณตัวเลข กด 3 เพื่อหาค่าเฉลี่ย นอกเหนือจากนี้ให้แสดงข้อความ “ให้เลือก 1,2,3 เท่านั้นกรุณาป้อนข้อมูลใหม่”
โจทย์สำหรับนักศึกษา โจทย์ 10 โจทย์สำหรับนักศึกษา โจทย์ 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