งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

CHAPTER 4 Control Statements

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "CHAPTER 4 Control Statements"— ใบสำเนางานนำเสนอ:

1 CHAPTER 4 Control Statements

2 Agenda โปรแกรมแบบโครงสร้าง คำสั่ง if คำสั่ง switch คำสั่ง while
คำสั่ง do..while คำสั่ง for คำสั่ง break คำสั่ง continue

3 โปรแกรมแบบโครงสร้าง ในการเขียนโปรแกรมแบบโครงสร้าง จะมีรูปแบบการ
แก้ปัญหาหรือรูปแบบการเขียน โปรแกรมอยู่ 3 ลักษณะ คือ - การเขียนแบบลําดับ (Sequential) - การเขียนแบบเงื่อนไข (Selection) - การเขียนแบบวนซํ้า (Repetition)

4 โปรแกรมแบบโครงสร้าง เท็จ จริง จริง เท็จ
เงื่อนไข จริง เท็จ จริง เท็จ Sequential Selection Repetition

5 ประเภทของ Control Statements
คำสั่งเลือกทำ (Selection Statements) if … . . else switch คำสั่งวนทำซ้ำ/คำสั่งลูป (Repetition Statement ) while do .. while for PHP 5

6 คำสั่ง if if เป็นคำสั่งที่ใช้สำหรับการทดสอบเงื่อนไข
และเลือกปฏิบัติตามเงื่อนไข - if statement รูปแบบ if (condition) { statement; …… } ตัวอย่าง if ($height > 0 && $width > 0) { $area = $height*$width; echo “Area of square = ” .$area; } เงื่อนไข เท็จ จริง คำสั่งต่าง ๆ เมื่อ เงื่อนไขเป็นจริง คำสั่งถัดไป

7 คำสั่ง if..else เงื่อนไข คำสั่งต่าง ๆ เมื่อ เงื่อนไขเป็นจริง
คำสั่งถัดไป จริง เท็จ เงื่อนไขเป็นเท็จ - if…else statement รูปแบบ if (condition) { statement; ……} else ตัวอย่าง if ($height > 0 && $width > 0) { $area = $height*$width; echo “Area of square = ” .$area; } { echo “Please enter new value”;}

8 คำสั่ง if..elseif เงื่อนไข 1 เท็จ จริง เงื่อนไข 2 คำสั่งต่าง ๆ เมื่อ
เงื่อนไข 1 เป็นจริง เท็จ จริง เงื่อนไข 3 คำสั่งต่าง ๆ เมื่อ เงื่อนไข 2 เป็นจริง เท็จ จริง คำสั่งต่าง ๆ เมื่อ เงื่อนไข 3 เป็นจริง คำสั่งถัดไป

9 คำสั่ง if..elseif - if…elseif statement (nested if statement)
รูปแบบ if (condition1) { statement; ……} elseif (condition2) else ตัวอย่าง if ($score < 0) echo “Enter new score\n”; elseif ($score >= 80.0) $grade = “A”; elseif ($score >= 60.0) $grade = “B”; $grade = “C”;

10 การใช้ { } หากเงื่อนไขเป็นจริงหรือเท็จแล้วต้องทำคำสั่งมากกว่า 1 คำสั่ง จะต้องใช้เครื่องหมาย { } ซึ่งแสดงขอบเขต (block) ของคำสั่งที่ต้องถูกกระทำ ทั้งนี้หากมีคำสั่งเพียงคําสั่งเดียวในเงื่อนไข ก็สามารถใช้เครื่องหมาย { } ได้เช่นเดียวกัน

11 คำสั่งที่ต่างๆ เมื่อตัวแปร
คำสั่ง switch เป็นคำสั่งที่มีการทำงานคล้ายคำสั่ง if แต่จะมีการกำหนดเป็นทางเลือก ซึ่งอาจมาจากเงื่อนไข หรือ ค่าของตัวแปรที่ต้องการตรวจสอบ ตัวแปร case : ค่าที่ 1 คำสั่งที่ต่างๆ เมื่อตัวแปร มีค่าเท่ากับค่าที่ 1 case : ค่าที่ 2 มีค่าเท่ากับค่าที่ 2 case : ค่าที่ N มีค่าเท่ากับค่าที่ N คำสั่งถัดไป

12 คำสั่ง switch การใช้ switch จะตามด้วยตัวแปรที่ต้องการตรวจสอบค่า ถ้าตรงกับ case ไหน จะทำตามคำสั่งใน case นั้นไปจนกว่าจะเจอคำสั่ง break แต่ถ้าหากเปรียบเทียบแล้วไม่ตรงกับ case ใด ๆ เลย จะทำในคำสั่ง default รูปแบบ switch (variable) { case value1 : statement; break; case value2 : statement; case valueN : statement; default : statement; }

13 ตัวอย่าง <html> <body>
<font size=5 face="MS Sans Serif"> <? $day = date("l"); switch ( $day) { case "Monday" : print("วันนี้วันจันทร์");break; case "Tuesday" : print(" วันนี้วันอังคาร ");break; case "Wednesday" : print(“วันนี้วันพุธ");break; case "Thursday" : print(" วันนี้วันพฤหัส ทำงานอีกวันก็หยุดแล้ว");break; case "Friday" : print(" วันนี้วันสุดท้ายของการทำงาน");break; default : print(“เฮ.. วันนี้วันหยุด นอนอยู่บ้าน"); } ?> </font> </body> </html>

14 ตัวอย่าง: กรณีหลาย case ทำงานอย่างเดียวกัน
/* How many days in a month? */ switch ($month) { case 2: //Feb $days = 28; break; case 9: // Sep case 4: // April case 6: // June case 11: // Nov $days = 30; break; default: $days = 31; // All of the rest } printf (“ There are %d days in that month.”, $days);

15 เปรียบเทียบคำสั่ง switch กับ if
$year = 15; switch ($year){ case 5 : $rate = 12; break; case 15 : $rate = 18; case 20 : $rate = 24; default : echo "Error!!"; } $year = 15; if($year == 5) { $rate = 12; }elseif($year == 15) { $rate = 18; }elseif($year == 20) { $rate = 24; }else{ echo "Error!!"; } คำสั่ง switch คำสั่ง if

16 คำสั่ง while และ do.. while
while และ do .. while เป็นการทำงานแบบ loop เช่นกัน แต่มีการเปลี่ยนตำแหน่งของการเช็คเงื่อนไข while จะเช็คก่อนทำใน loop ดังนั้น ถ้าเช็คครั้งแรกแล้วเงื่อนไขเป็นเท็จ จะไม่มีการเข้าทำงานในลูปเลย do.. while ทำใน loop 1 ครั้งก่อนแล้วค่อยไปเช็คเงื่อนไข ดังนั้น ถึงการเช็คเงื่อนไขครั้งแรกเป็นเท็จ คำสั่งที่อยู่ภายในลูปก็จะได้รับการทำงานอย่างน้อยที่สุด 1 ครั้งเสมอ

17 คำสั่งทำซ้ำ while เปรียบเทียบกับ do..while
เงื่อนไข คำสั่งที่ 1 คำสั่งที่ 2 จริง เท็จ while คำสั่งที่ 1 เงื่อนไข จริง เท็จ คำสั่งที่ 2 do..while

18 เมื่อไหร่จะใช้คำสั่ง while และ do..while
เมื่อต้องการให้เกิดการทำงานซ้ำ จะทำงานเมื่อเงื่อนไขเป็นจริง ไม่รู้ว่าจะต้องทำซ้ำกี่ครั้ง (แต่ถึงรู้จำนวนครั้งที่จะวนซ้ำ ก็สามารถใช้ while และ do..while ได้ เพียงแต่ไม่เป็นที่นิยม เพราะจะใช้ for แทน) คำสั่งที่อยู่ใน loop ต้องส่งผลให้เงื่อนไขที่เช็คมีโอกาสเป็นเท็จ (ออกจาก loop ได้) มิเช่นนั้นจะเกิดเหตุการณ์ loop ไม่รู้จบ การใช้ while จะต้องมี 3 สิ่งคือ ค่าเริ่มต้นการเข้า loop (อาจรับค่าหรือกำหนดค่า) กำหนดเงื่อนไข (loop ทำเมื่อเงื่อนไขเป็นจริง) มีการเปลี่ยนแปลงค่าตัวแปรก่อนวนกลับไปตรวจสอบเงื่อนไข

19 คำสั่ง while และ do..while
- while statement รูปแบบ while (condition) { statement; …… } - do…while statement รูปแบบ do { statement; …… } while (condition);

20 ตัวอย่าง while <html> <body> <? $size = 1;
while ($size<7) { print("<font size=$size face='arial' color=blue>HELLO<br>"); $size++; } ?> </body> </html>

21 ตัวอย่าง while <html> <body>
<font size=4 face='arial'> <? $str="A"; while ($str<"Z") { echo $str; $str++; } ?> </font> </body> </html>

22 ตัวอย่าง do while <html> <body>
<font size=4 face='arial'> <? $a=1; do{ echo $a," "; $a++; }while ($a<=20); ?> </font> </body> </html>

23 คำสั่ง for รูปแบบ for (initial value; condition; change value)
เป็นคําสั่งวนซ้ำที่ใช้แก้ปัญหาโจทย์ลักษณะ ที่มีการทำงานเดิมซ้ำๆกันหลาย ๆ ครั้งโดยที่รู้จำนวนรอบที่แน่นอน รูปแบบ for (initial value; condition; change value) { statement; …… } รูปแบบแบ่งออกเป็น 3 ส่วน คือ - ส่วนกำหนดค่าตัวนับ เป็นการกำหนดค่าเริ่มต้นให้กับ ตัวแปร เพื่อใช้ควบคุมการวน loop - ส่วนที่ตรวจสอบเงื่อนไขเพื่อตัดสินว่าจะวนซ้ำ หรือไม่ - ส่วนของการจัดการค่าตัวนับของการวนซ้ำ เป็นการ เพิ่มค่าหรือการลดค่าให้ตัวแปรที่ควบคุม loop โดยทั้ง 3 ส่วนนี้เป็นนิพจน์

24 ตัวอย่าง for for ( $i=1 ; $i <= 3 ; $i++) { echo $i.“Hello”; }
For i=1 to 3 พิมพ์ค่า i พิมพ์ Hello for ( $i=1 ; $i <= 3 ; $i++) { echo $i.“Hello”; }

25 การใช้คำสั่ง for 1.การเพิ่มค่าในแต่ละรอบจะเป็นเท่าไรก็ได้ เช่น
for(x = 0;x<=100;x+= 5) printf(“%d\n”,x); 2.ในส่วนของการเปลี่ยนค่า นอกจากการเพิ่มค่า (increment) สามารถกำหนดให้มีการลดค่าของตัวแปรที่ใช้ในการวนรอบได้ for(x = 100;x>0;x--) 3.ตัวแปรที่ใช้ในการวนรอบอาจกำหนดให้เป็นชนิด char ได้ for(ch = ‘a’;ch<=‘z’;ch++) printf(“character = %c\n”,ch);

26 คำสั่ง for แบบซ้อน (Nested for Statement)
ในการใช้ คำสั่ง for โปรแกรมอาจมีการกำหนด คำสั่ง for อย่างน้อยอีกหนึ่งชุดซ้อนเข้ามา โปรแกรมจะเริ่มทำงานจาก for ลูปนอก ไปสู่การทำงานของ for ลูปใน แล้วโปรแกรมจะทำงาน for ลูปในจนเสร็จ จากนั้นโปรแกรมจึงกลับไปทำงาน for ลูปนอกอีกครั้ง ซึ่งโปรแกรมจะทำงานเช่นนี้ไปเรื่อย ๆ จนกว่าเงื่อนไขของ for ลูปนอก เป็น เท็จ (0) คำสั่ง ดังกล่าว เรียกว่า คำสั่ง for แบบซ้อน (nested for)

27 ตัวอย่าง for ซ้อน for for ( $out = 1; $out <= 3; $out++ ) {
in 1 in 2 in 3 in 4 in 5 out 2 out 3 for ( $out = 1; $out <= 3; $out++ ) { echo “out $out”; for ($in = 1; $in <= 5; $in++ ) echo “in $in <br>”; echo “<br>”; }

28 คำสั่ง Break คำสั่ง break จะใช้หยุดการทำงานของวนรอบ loop เมื่อเข้าสู่สถานะการณ์ที่สร้างโดยเงื่อนไขของ break for ($i=1; $i<11; $i++)      {           if ($i == 6) break;           echo "Hello...ครั้งที่ $i <br>";      }

29 คำสั่ง Continue คำสั่ง Continue จะทำงานตรงข้ามกับคำสั่ง Break คำสั่ง Continue จะสั่งให้โปรแกรมทำงานต่อไป : คำสั่ง Continue กับ For คือจะเป็นการสั่งให้กลับไปเพิ่มค่าให้กับตัวแปรทันที : คำสั่ง Continue กับ While คือจะเป็นการสั่งให้กลับไปทดสอบเงื่อนไขใหม่ทันที for ($i=1; $i<11; $i++) {   if ($i==6) continue;           echo "Hello...ครั้งที่ $i <br>"; }


ดาวน์โหลด ppt CHAPTER 4 Control Statements

งานนำเสนอที่คล้ายกัน


Ads by Google