CHAPTER 4 Control Statements

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
คำสั่งควบคุมในโปรแกรม Interactive C
Advertisements

อัลกอริทึ่มทำงานวนซ้ำ
ครั้งที่ 4 “for statement”
คำสั่ง while และ คำสั่ง do..while
ขอความคำสั่งควบคุม แบงเปนกลุมใหญ ๆ ได 2 กลุม คือ
Control Statement if..else switch..case for while do-while.
คำสั่งในการควบคุมโปรแกรม
Control Statement for while do-while.
บทที่ 3 ตอนที่ 1 คำสั่งเงื่อนไขและการตัดสินใจ(p
Lecture no. 5 Control Statements
การควบคุมทิศทางการทำงาน
คำสั่ง while ควบคุมการทำงานวนซ้ำ กรณีระบบงานมีลักษณะตรวจสอบเงื่อนไขก่อน แล้วเข้าสู่ส่วนลำดับงานคำสั่งที่กำหนดไว้ การเขียนคำสั่ง while ต้องกำหนดนิพจน์แบบตรรกะเป็นเงื่อนไขมีค่าในหน่วยความจำเป็น.
ผังงานโปรแกรม (Program Flowchart)
บทที่ 5 การทำงานแบบวนซ้ำ
บทที่ 4 การตัดสินใจในการเขียนโปรแกรม
โครงสร้างควบคุม 1. โครงสร้างควบคุมแบบวนทางเลือก
การควบคุมทิศทางการทำงานของโปรแกรม
การเขียนผังงานแบบโครงสร้าง
Php เงื่อนไข และ การวนซ้ำ Professional Home Page :PHP
Relational Operators by Accords (IT SMART CLUB 2006) by Accords 1.
คำสั่งควบคุม (Control Statement)
1 นายทินวัฒน์ พงษ์ทองเมือง. 2 การเปิดให้ Program ทำงาน 3  p:\xampplite\ xampplite-control.exe  Start Apache.
คำสั่งควบคุมเงื่อนไข และการทำงานเป็นรอบ
หน่วยที่ 4: คำสั่งควบคุมโปรแกรม (Control Flow Command)
คำสั่งควบคุมการทำงาน
รูปแบบ if-else if if (เงื่อนไข1) {
การเขียนโปรแกรมภาษาซี
Chapter 5 คำสั่งควบคุมการทำซ้ำ
Chapter 4 คำสั่งควบคุมทิศทาง
Chapter 6 Decision Statement
Chapter 7 Iteration Statement
โครงสร้างควบคุมการทำงาน
ครูรัตติยา บุญเกิด.
ครูรัตติยา บุญเกิด.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
การทำซ้ำด้วยคำสั่ง while
คำสั่ง while และ do…while
การทำซ้ำด้วย คำสั่ง for ง การเขียนได นามิกเว็บเพจ ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดง พิทยาคม.
การเขียนเว็บเพจด้วยภาษา php ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
หมวดวิชาคอมพิวเตอร์ โรงเรียนพะเยาพิทยาคม โดย อ.วัชระ การสมพจน์
คำสั่งควบคุมการทำงานของ ActionScripts
บทที่ 6 การควบคุมโปรแกรม.
Week 3 Flow Control in PHP
Week 6 การทำซ้ำโดย for loop
เสรี ชิโนดม ข้อความสั่งควบคุม เสรี ชิโนดม
Week 6 การทำซ้ำโดย for loop
บทที่ 10 คำสั่งควบคุม OUTLINE 1. คำสั่งแบบเรียงลำดับ (Sequence)
คำสั่งควบคุมขั้นตอน Flow control statements
วิทยา กรระสี (วท.บ. วิทยาการคอมพิวเตอร์)
การออกแบบโครงสร้าง (Structured Design)
คำสั่งเงื่อนไข (Condition Statement)
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
การตรวจสอบเงื่อนไขใน PHP
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
PHP การตรวจสอบเงื่อนไข.
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
อัลกอริทึ่มทำงานวนซ้ำ
Chapter 6 Repetition Structure[2] ผู้สอน อ. ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยี คอมพิวเตอร์เคลื่อนที่ ng.
บทที่ 7 เงื่อนไขในภาษาซี
การเขียน แบบวนซ้ำ , วนลูป
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
บทที่ 6 คำสั่งเงื่อนไข.
Computer Programming การเขียนโปรแกรม คอมพิวเตอร์ สัปดาห์ที่ 6 คำสั่งควบคุมการทำงานแบบ เงื่อนไขและคำสั่งควบคุมการ ทำงานแบบวนซ้ำ.
Week 5 While and Do-While loop (Control Structure 2)
CHAPTER 2 Operators.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
PHP: [5] คำสั่งควบคุม (Control statement)
Control Statements.
ใบสำเนางานนำเสนอ:

CHAPTER 4 Control Statements

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

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

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

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

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

คำสั่ง 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”;}

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

คำสั่ง 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”;

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

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

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

ตัวอย่าง <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>

ตัวอย่าง: กรณีหลาย 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);

เปรียบเทียบคำสั่ง 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

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

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

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

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

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

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

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

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

ตัวอย่าง 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”; }

การใช้คำสั่ง 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);

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

ตัวอย่าง 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>”; }

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

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