หนว่ ยท่ี 5 ควบคมุ การทำงานด้วยเงื่อนไขและลปู 92
หน่วยที่ 5 ควบคุมการทำงานด้วยเงอ่ื นไขและลปู
สาระการเรียนรู้
1. คำสัง่ แบบมีเงือ่ นไข
2. คำสง่ั การทำงานแบบลูป
จุดประสงค์เชิงพฤติกรรม
1. เข้าใจและปฏิบัตการเขียนโปรแกรมด้วยคำสั่งแบบมีเง่ือนไขได้ (K,P)
2. เข้าใจและปฏบิ ัตการเขยี นโปรแกรมด้วยคำสงั่ การทำงานแบบลูปได้ (K,P)
3. มีความสนใจใฝ่รู้ มีความรับผิดชอบ มจี รรยาบรรณในการใชง้ านคอมพิวเตอร์ (A)
สมรรถนะการเรยี นร้ปู ระจำหนว่ ย
1. แสดงความรู้เก่ยี วกับคำสัง่ แบบมีเง่อื นไข
2. แสดงความรู้เกย่ี วคำสง่ั การทำงานแบบลปู
3. ปฏบิ ตั การเขยี นโปรแกรมด้วยคำสงั่ แบบมีเง่อื นไข
4. ปฏบิ ัตการเขยี นโปรแกรมดว้ ยคำสั่งการทำงานแบบทำลปู
สาระสำคัญ
การควบคุมการทำงาน (Control Structure) เป็นโครงสร้างภยในภาษาคอมพิวเตอร์ที่ใช้
สำหรับจัดการควบคุมการไหลการทำงาน เม่ือทำการประมวลผลบนโปรแกรมหรือสคริปต์ ซึ่งสามารถจัด
กลุ่มได้เป็น 2 กลุ่มใหญ่ คือ กลุ่มคำสั่งแบบมีเงื่อนไข (Conditionals หรือ Branching) เช่น คำสั่ง if,
if…else, switch เปน็ ตน้ และกลมุ่ คำส่งั แบบทำซ้ำ (Repetition หรอื loop) เช่น คำสั่ง for, while และ
do...while เป็นต้น
คำสงั่ แบบมเี ง่อื นไข
1. คำสั่ง if เป็นคำสั่งสำหรับตัดสินใจ โดยถ้าเป็นจริงจะทำตามคำสั่งต่าง ๆ ที่กำหนดไว้
ภายใต้เงื่อนไข if จะอยู่ภายในเครื่องหมาย ( ) แต่ถ้าไม่จริงจะไปทำงานตามคำสั่งถัดไปที่อยู่หลัง
เครื่องหมายปีกกาปิด } มรี ปู แบบของคำสัง่ if ดังน้ี
30204-2103 การพัฒนาเว็บไซต์ทางธรุ กจิ
หนว่ ยที่ 5 ควบคุมการทำงานด้วยเง่ือนไขและลูป 93
if(เงอ่ื นไข)
{ คำสัง่ ต่าง ๆ มีเงอ่ื นไขเป็นจริง ; }
…
แสดงการทำงานของคำสง่ั ด้วยแผนภาพไดด้ งั น้ี
การทำงานของคำสั่ง if โดยการตั้งช่ือตัวแปร $num เท่ากับ 20 มีเงื่อนไขในการทำงานคือ
$num มากกว่าหรือเท่ากับ 20 หรือไม่ ดังนั้นเมื่อเปรียบเทียบแล้วเงื่อนไขเป็นจริง โปรแกรมก็ทำคำส่ัง
ภายในวงเลบ็ เปิด คือ แสดง $num=20 ออกทางจอภาพ
การใชง้ านคำสง่ั if … else
30204-2103 การพัฒนาเวบ็ ไซต์ทางธุรกจิ
หน่วยท่ี 5 ควบคมุ การทำงานด้วยเง่อื นไขและลูป 94
2. คำสั่ง if...else เป็นคำสั่งที่ใช้สำหรับตรวจสอบเงื่อนไขในการทำงานแบบเลือก 1
ทางเลือกจาก 2 ทางเลือก และถ้าตรวจสอบเงื่อนไขแล้วไม่ตรงกับทั่ง 2 ทางเลือกก็จะทำงานตามคำส่ัง
หลัง else มรี ปู แบบการใช้งานคำสง่ั if else ดงั น้ี
if(เงื่อนไข){
คำสง่ั หากเงื่อนไขเป็นจรงิ ;
} else {
คำสัง่ หากเงอ่ื นไขเป็นเทจ็ ;
}
แสดงการทำงานของคำสั่งด้วยแผนภาพได้ดงั นี้
30204-2103 การพฒั นาเว็บไซตท์ างธรุ กิจ
หนว่ ยท่ี 5 ควบคมุ การทำงานด้วยเงอ่ื นไขและลูป 95
การทำงานของคำสั่ง if else โดยการเปรียบเทียบเงื่อนไข กับตัวแปร $number ที่มีค่า
เทา่ กบั 30 ซึ่งมีเงอ่ื นไขคือ $number มีค่ามากกวา่ 20 ใช่หรือไม่ จากการตรวจสอบเงอ่ื นไขแล้วเป็นจริง
โปรแกรมจงึ ทำงานหลังปีกกาเปดิ คือ แสดงขอ้ มลู $number = 30 มากกว่า 20 แต่ถา้ หากตรวจสอบแล้ว
เง่ือนไขเป็นเทจ็ กท็ ำงานในคำส่งั else
3. การใชง้ านคำสั่ง if…elseif…else เปน็ คำส่งั ทีใ่ ชใ้ นการตรวจสอบเง่ือนไขทีม่ ีความซับซ้อน
ที่มีจำนวนมากกว่า 2 เงื่อนไขขึ้นไป เมื่อทำการตรวจสอบถ้าตรงตามเง่ือนไขใดโปรแกรมก็จะทำงานตาม
คำสั่งที่อยู่หลังเงื่อนไขนั้นแต่ถ้ามีการจรวจสอบในทุกเงือ่ นไขแล้วไม่ตรงตามเงื่อนไขใด ๆ โปรแกรมก็จะ
ทำงานตามคำส่งั ท่อี ยู่หลังคำสั่ง else
if(เง่ือนไข) {
คำสงั่ หากเงอ่ื นไขเป็นจริง ;
} elseif {
คำสงั่ หากเงือ่ นไขเป็นเท็จ ;
} elseif {
….
} else {
คำส่งั หากเง่ือนไขเป็นเท็จ ;
}
แสดงการทำงานของคำสัง่ ดว้ ยแผนภาพได้ดังนี้
30204-2103 การพฒั นาเวบ็ ไซตท์ างธุรกิจ
หนว่ ยที่ 5 ควบคุมการทำงานดว้ ยเงื่อนไขและลปู 96
ตรวจสอบตัวแปร score มคี ่าตามเงอื่ นไขคือ นอ้ ยกวา่ เท่ากบั 79 และ มากกวา่ 70 ตัวแปร
grade มคี ่าเท่ากบั 3.5 และแสดงผลหลังการตรวจสอบเงือ่ นไขทัง้ หมด
4. การใช้งานคำสั่ง switch เป็นคำสั่งที่ใช้การตรวจสอบเงื่อนไขเพ่ือตัดสนใจที่มีทางเลือก
หลายทาง โดยจะมกี ารตรวจสอบค่าท่ีนำมาตัดสนิ ใจในคำสั่ง switch แลว้ นำมาเปรยี บเทียบกับทางเลือก
ของแต่ละ case เมื่อตรวจสอบ case ที่ตรงกับค่านั้นโปรแกรมจะทำงานตามคำสั่งใน case นั้น ถ้า
ตรวจสอบแล้วไม่พบคา่ ตรงกบั case ใด ๆ โปรแกรมจะทำงานในส่วนของ default แทน
switch (ส่งิ ทตี่ ้องการตรวจสอบ)
{ case ค่าที่ 1 :
กลมุ่ คำส่งั ;
break;
case คา่ ที่ 2 :
กลมุ่ คำสั่ง ;
break;
case ค่าท่ี N :
กลมุ่ คำสง่ั ;
break;
30204-2103 การพฒั นาเว็บไซตท์ างธรุ กิจ
หน่วยที่ 5 ควบคมุ การทำงานด้วยเงือ่ นไขและลปู 97
default :
กล่มุ คำสงั่ ;
break;
}
แสดงการทำงานของคำสั่งด้วยแผนภาพไดด้ งั น้ี
30204-2103 การพฒั นาเวบ็ ไซตท์ างธุรกจิ
หน่วยท่ี 5 ควบคมุ การทำงานดว้ ยเงือ่ นไขและลูป 98
การทำงานของโปรแกรมคือประกาศตวั แปร scolor ขึ้นมาและเก็บหมายเลข 1 เพ่ือนำมา
เปรยี บเทยี บดว้ ยคำสั่ง switch เมือ่ เปรียบเทยี บแลว้ ตรงกับ case 1 ภายในมตี ัวแปร color เก็บข้อมูล
“แดง” และออกจากเงือ่ นไขแสดงข้อมลู ดงั ภาพ
คำสง่ั การทำงานแบบลปู (Loop)
1. คำสั่ง while การทำงานของคำสั่ง while คือ จะเป็นคำสั่งวนรอบที่มีการตรวจสอบ
เงื่อนไข และทำงานตามคำสั่งที่กำหนดไว้ของโปรแกรม จนเงื่อนไขนั้นจะเป็นเท็จ โปรแกรมถึงจะหยุด
ทำงานและขา้ มไปทำงานในคำสั่งถัดไป
มรี ูปแบบการใช้งานตำสงั่ while ดังนี้
while(เงื่อนไข) {
กลมุ่ คำส่ัง ;
}
แสดงการทำงานของคำสง่ั ด้วยแผนภาพไดด้ ังนี้
30204-2103 การพัฒนาเว็บไซตท์ างธรุ กจิ
หนว่ ยท่ี 5 ควบคุมการทำงานด้วยเง่ือนไขและลปู 99
2. คำสั่ง do while จะมีลักษณะการทำงานของคำสั่งที่เหมือนกันกับคำสั่ง while จะ
แตกต่างกัน คือ คำสั่ง do while จะทำงานในคำสั่งที่กำหนดก่อน 1 รอบ แล้วจึงตรวจสอบเงื่อนไข ถ้า
เงื่อนไขเป็นจริง จะกลับไปทำงานตามตำสั่งที่กำหนดไว้ และจะทำงานวนรอบไปจนกว่าเงื่อนไขนั้นเป็น
เทจ็ การวนรอบจะหยุดการทำงาน และไปทำงานยังคำสั่งถัดไป มรี ปู แบบการใช้งานคำสั่ง do while ดงั น้ี
do
{
กลมุ่ คำสง่ั ;
}
while(เงอ่ื นไข)
แสดงการทำงานของคำสัง่ ดว้ ยแผนภาพได้ดงั น้ี
30204-2103 การพฒั นาเวบ็ ไซตท์ างธรุ กิจ
หน่วยท่ี 5 ควบคมุ การทำงานดว้ ยเง่อื นไขและลปู 100
3. คำสงั่ for เปน็ คำสงั่ ทใ่ี ช้ในการรวนรอบ เป็นการทำงานแบบซำ้ ๆ และมรี อบทชี่ ดั เจนตาม
เงื่อนไขที่กำหนด และจะกำหนดค่าเริ่มต้น การทำงานในลักษณะนี้เรียกว่า การวนลูป (Loop) โดยการ
ทำงานแบบวนรอบมีข้ันตอนดังน้ี
1. กำหนดคา่ เรม่ิ ต้นแบบจบการทำงานของโปรแกรม
2. เริ่มทำงานตามคำสั่งของโปรแกรมทีละ 1 ครั้ง และเปลี่ยนค่าเริ่มต้นของตัวแปร คือ
การวนรอบเหมือนกับการวงิ่ รอบสนามฟุตบอลในแตล่ ะรอบ
3. กลับไปตรวจสอบค่าใหมท่ ี่ได้ว่ามคี ่าเท่ากับค่าท่ีจะสิ้นสุดหรือจบโปรแกรมหรือไม่ ถ้า
ไม่ใช่ใหว้ นรอบตอ่ ไปแต่ถ้าใช้ใหท้ ำการจบการทำงานของโปรแกรม มรี ูปแบบการใชง้ านคำสัง่ for ดงั น้ี
for(ตัวแปรเรมิ่ ต้น ; เง่อื นไข ; การเปลยี่ นแปลงคา่ ตวั แปร) {
กล่มุ คำส่งั ;
}
แสดงการทำงานของคำสงั่ ด้วยแผนภาพไดด้ งั น้ี
30204-2103 การพฒั นาเวบ็ ไซต์ทางธุรกจิ
หน่วยที่ 5 ควบคุมการทำงานดว้ ยเงอ่ื นไขและลปู 101
หากตอ้ งการใช้แสดงเป็นแนวตั้งก็สามารถเพิ่ม <br> ในสว่ นของการแสดงผล ดงั ภาพ
หมายเหตุ หากต้องการให้แสดงเลขคู่หรอื เลขค่ที ำการเพม่ิ ในส่วนของการเพม่ิ จำนวนรอบ เช่น
30204-2103 การพัฒนาเว็บไซตท์ างธุรกจิ
หนว่ ยที่ 5 ควบคมุ การทำงานดว้ ยเงื่อนไขและลูป 102
ใบงาน 5.1 ควบคมุ การทำงานด้วยเงอื่ นไขและลูป
คำสง่ั : จงตอบคำถามต่อไปนใ้ี ห้ได้ใจความท่ีสมบรู ณ์
1. จงอธบิ ายความคำส่งั แบบมีเงอ่ื นไข if
................................................................................................................................................................
................................................................................................................................................................
................................................................................................................................................................
2. จงอธิบายความหมายของคำสั่งแบบมีเงอ่ื นไข if…elseif และ if…elseif…else แบบพอสังเขป
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
3. จงอธบิ ายความหมายของคำสงั่ การทำงานแบบลูป while
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
4. จงอธิบายความหมายของคำสั่งการทำงานแบบลปู do…while
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
5. จงอธิบายความหมายของคำสงั่ การทำงานแบบลปู for
..............................................................................................................................................................
..............................................................................................................................................................
..............................................................................................................................................................
...............................................................................................................................................................
30204-2103 การพฒั นาเวบ็ ไซตท์ างธรุ กจิ
หนว่ ยท่ี 5 ควบคุมการทำงานดว้ ยเงอื่ นไขและลูป 103
ใบงาน 5.2 เขียนโปรแกรมเงอื่ นไขและลูป
คำสัง่ : ให้ศึกษาเน้อื หา หน่วยท่ี 5 ควบคมุ การทำงานดว้ ยเงือ่ นไขและลปู และเขยี นโปรแกรม
ตามท่กี ำหนดให้
1. ให้นกั เรียนเขยี นโปรมโดยสร้างตวั แปรชนดิ จำนวนเตม็ 2 ตัวแปร กำหนดค่าให้ตัวแปรดังน้ี
ตวั แปรที่ 1 กำหนดค่า 50 ตัวแปรท่ี 2 กำหนดค่า 55 นำตัวแปรทั้งสองมารวมกนั แลว้ ทำการ
ตรวจสอบดังกวา่ ดังน้ี
ถา้ ตัวแปรรวมกนั มีค่าตัง้ แต่ 100 คะแนนขนึ้ ไปใหแ้ สดงข้อมลู “สงู กวา่ 100”
ถา้ ตัวแปรรวมกนั มีค่าน้อยกวา่ 100 ใหแ้ สดงข้อมูล “ต่ำกว่า 100”
บนั ทึกไฟล์ช่อื job5-2-1.php และแสดงผลลัพธด์ ังนี้
2. จงเขียนโปรแกรมแสดงข้อมลู เลข 1 – 100 แนวนอนให้แสดงเลขคี่ โดยให้ใช้คำส่ัง
while บันทึกไฟลช์ อ่ื job5-2-2.php และแสดงผลลพั ธด์ ังน้ี
3. เขียนโปรแกรมแสดงสูตรคูณแม่ 5 โดยใช้คำสง่ for บนั ทกึ ไฟล์ช่ือ job5-2-3.php และแสดง
ผลลพั ธด์ งั น้ี
30204-2103 การพัฒนาเวบ็ ไซตท์ างธรุ กิจ
หนว่ ยที่ 5 ควบคมุ การทำงานด้วยเงอ่ื นไขและลูป 104
แบบทดสอบหลังเรยี น
ควบคุมการทำงานดว้ ยเง่ือนไขและลปู
คำส่งั ช้ีแจง : 1. แบบทดสอบฉบับบนี้เป็นแบบปรนยั ชนิดเลอื กตอบ 4 ตัวเลือก จำนวน 10 ข้อ
ขอ้ ละ 1 คะแนน
2. ให้เลอื กคำตอบที่ถูกต้องท่ีสดุ เพียงขอ้ เดยี ว แล้วทำเครอ่ื งหมายกากบาท (X) ลงใน
กระดาษคำตอบ
3. เวลาที่ใช้ในการทำแบบทดสอบ 10 นาที
1. การเขียนโปรแกรมเงอ่ื นไขเดยี วควรเลอื กใช้คำส่ังใดจึงเหมาะสม
ก. if
ข. if…else
ค. for
ง. while
2. หากตอ้ งการเขยี นโปรแกรมตัดเกรดควรเลือกใช้คำสง่ั ใดจึงเหมาะสม
ก. if
ข. if…elseif…else
ค. for
ง. do…while
3. ข้อใดเปน็ กล่มุ คำส่งั ลูปทงั้ หมด
ก. if, while, switch
ข. switch, do…while, if…else
ค. for, while, do...while
ง. do…while, for, switch
30204-2103 การพฒั นาเวบ็ ไซตท์ างธรุ กจิ
หน่วยท่ี 5 ควบคุมการทำงานด้วยเงื่อนไขและลปู 105
4. คำสั่งลูปในข้อใดที่ ตรวสอบเงอื่ นไขก่อนค่อยทำคำสงั่ ตอ่ ไป
ก. if
ข. while
ค. do…while
ง. for
5. คำสั่งลูปในข้อใดท่ี ทำงานท่ีคำสง่ั ก่อน 1 รอบแล้วทำการตรวจสอบเงอ่ื นไข
ก. if
ข. while
ค. do…while
ง. for
6. การตอ้ งการเขยี นโปรแกรมใหล้ ปู โดยมรี อบท่ีชัดเจนควรเลอื กคำส่ังใด
ก. if
ข. while
ค. do…while
ง. for
7. กำหนดตัวแปร $i=1 หากตอ้ งการแสดงเลข 1-10 ตอ้ งกำหนดเงอ่ื นไขตามข้อใด
ก. $i>10
ข. $i<10
ค. $i>=10
ง. $i<=10
30204-2103 การพัฒนาเว็บไซต์ทางธรุ กจิ
หน่วยท่ี 5 ควบคมุ การทำงานด้วยเงื่อนไขและลปู 106
8. คำสั่งใดทำหนา้ ทใี่ หก้ ารทำงานออกจาก case ของคำสั่งswitch
ก. exit;
ข. stop;
ค. break;
ง. goto;
9. จากภาพผลลพั ธข์ องโปรแกรมคือขอ้ ใด
ก. 1-10 แนวนอน
ข. 1-10 แนวตง้ั
ค. 0-9 แนวนอน
ง. 0-9 แนวตัง้
10. ขอ้ ใดคอื รปู แบบอาร์เรย์ 2 มิติ
ก. 1 2 3 4 5 6 7 8 9 10
ข. 2 4 6 8 10
ค. 1 3 5 7 9
ง. 0 1 2 3 4 5 6 7 8 9
30204-2103 การพัฒนาเวบ็ ไซตท์ างธรุ กจิ
หน่วยท่ี 5 ควบคมุ การทำงานดว้ ยเง่อื นไขและลูป 107
ใบกระดาษคำตอบ
ควบคมุ การทำงานด้วยเง่อื นไขและลปู
ช่อื ........................................นามสกุล....................................ระดับช้ัน.............กลมุ่ .........เลขท.่ี ..........
ขอ้ ก ข ค ง ผล
1
2
3
4
5
6
7
8
9
10
คะแนนทท่ี ำได้
เกณฑก์ ารประเมนิ 70 เปอรเ์ ซ็นต์ ลงชื่อ..........................................ผู้ตรวจ
ทำได้ 7-10 คะแนน ผา่ นเกณฑ์ (.........................................)
สรปุ ผล ผา่ นเกณฑ์ ........../................/..........
ไมผ่ ่านเกณฑ์
30204-2103 การพฒั นาเว็บไซต์ทางธรุ กจิ
หนว่ ยท่ี 5 ควบคุมการทำงานดว้ ยเง่อื นไขและลปู 108
30204-2103 การพฒั นาเวบ็ ไซตท์ างธรุ กจิ