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

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

Week 5 การทำซ้ำโดย while loop และ do while loop. Outline  Loop  while Statement  do-while Statement  Mini Debugging  Lab.

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


งานนำเสนอเรื่อง: "Week 5 การทำซ้ำโดย while loop และ do while loop. Outline  Loop  while Statement  do-while Statement  Mini Debugging  Lab."— ใบสำเนางานนำเสนอ:

1 Week 5 การทำซ้ำโดย while loop และ do while loop

2 Outline  Loop  while Statement  do-while Statement  Mini Debugging  Lab

3 Loop  ในการเขียนโปรแกรม จะมีการประมวลผลซ้ำ (Loop หรือ Iterate) เพื่อให้ โปรแกรม ทำงานตาม Statement หรือการประมวลผล ที่กำหนดไว้ ซ้ำมากกว่า 1 ครั้ง โดยไม่ จำเป็นที่จะต้องเขียน Statement นั้น ซ้ำไป ซ้ำมาในโค้ด  การทำงานจะทำงานตาม Statement ไปจน หมด แล้ว ถ้าหาก เงื่อนไขที่กำหนดไว้ให้ ทำซ้ำ ยังเป็นจริง โปรแกรมจะวนกลับไป ทำงานตาม Statement อีกรอบ จนกว่า เงื่อนไขที่กำหนดไว้จะเป็นเท็จ

4 ส่วนประกอบของการ iteration  มีอยู่ 3 ประเภท 1. Initialization คือ การกำหนดค่าเริ่มต้นของตัวแปรที่ จะเป็นเงื่อนไขในการ iteration  เช่น x = 1 2. Testing คือ การทดสอบว่า เงื่อนไขที่ทำการ Iteration นั้นยังเป็นจริงหรือไม่ จะมีการทำ Iteration ไปเรื่อยๆ หากเงื่อนไขยังเป็นจริง  เช่น x > Incrementing เป็นการเปลี่ยนแปลงค่าของตัวแปรที่ ใช้เป็นเงื่อนไขในการ Iteration  เช่น x = x + 1

5 ประเภทของ Iteration Statement  คือ วิธีการทำให้โปรแกรมทำงานเป็น Loop ได้  ในภาษา C มีอยู่ 4 ชนิดด้วยกัน 1. while statement 2. do-while statement 3. for statement 4. break and continue statement

6 while statement

7 while Statement  มีการตรวจสอบเงื่อนไขก่อน หากเงื่อนไขเป็นจริง โปรแกรมจะ เริ่มทำตาม Statement ที่กำหนดไว้ แล้วกลับไปเริ่มต้นใหม่ จนกว่าเงื่อนไขจะเป็นไม่เป็นจริง ถึงจะหยุดการทำงาน แล้วออกไป จาก Loop

8 Syntax while (condition) { statement1; statement2;... statementN; }

9 Flowchart expr Statement 1 Statement 2 Entry True False Exit

10 Example Example 1 พิมพ์เลข 1 ถึง 10 โดยใช้ while loop Example 2 เลือกการทำงานจากตัวเลข Menu ที่กำหนดไว้ หากเลือกตัวเลข นอกเหนือที่กำหนดไว้ จะต้อง ใส่ตัวเลขที่เลือกใหม่

11 Example 1 #include void main() { int count; count = 1; printf(“Print count from 1 to 10\n”); while (count <= 10) { printf(“%d ”, count); count++; } printf(“\n”); } Print count from 1 to ตัวอย่าง Output จากการทำงาน

12 Example 2 #include int main() { int a; /* initatialize value of a so that it can enter the loop */ a = 4; while (a != 1 && a !=2 && a !=3) { printf("1. Check spelling\n"); printf("2. Correct spelling errors\n"); printf("3. Display spelling errors\n"); printf("Enter your choice (1-3): "); scanf(“\n%d", &a); /* read selection from keyboard */ switch(a) { case 1: printf("Check spelling\n"); break; case 2: printf("Correct spelling errors\n"); break; case 3: printf("Display spelling errors\n"); break; default: /* do nothing */ break; }

13 Example 2 1. Check spelling 2. Correct spelling errors 3. Display spelling errors Enter your choice (1-3): 5 1. Check spelling 2. Correct spelling errors 3. Display spelling errors Enter your choice (1-3): 1 Check spelling ตัวอย่าง Output จากการทำงาน

14 do while Statement

15  จะแตกต่างจาก while Statement โดยที่ โปรแกรมจะเริ่มทำงาน ตาม Statement ที่ระบุไว้เลย โดยไม่มีการเช็ค Condition ก่อน จากนั้นเมื่อทำงานเสร็จแล้วถึงจะเช็คเงื่อนไข หากเงื่อนไขเป็นจริง จะทำการทำซ้ำ แต่หากเงื่อนไขเป็นเท็จจะจบการทำงานแล้วออก จาก Loop

16 Syntax do { statement1; statement2;... statementN; } while (condition);

17 Flowchart expr Statement 1 Statement 2 Entry True False Exit

18 Example Example 1 พิมพ์เลข 1 ถึง 10 โดยใช้ while Loop Example 2 เลือกการทำงานจากตัวเลข Menu ที่กำหนดไว้ หากเลือกตัวเลข นอกเหนือที่กำหนดไว้ จะต้อง ใส่ตัวเลขที่เลือกใหม่

19 Example 1 /* print count from 1 to 10 */ #include void main() { int count; count = 1; printf(“Print count from 1 to 10\n”); do { printf(“%d ”, count); count++; } while (count <=10); printf(“\n”); } Print count from 1 to ตัวอย่าง output จากการทำงาน

20 Example 2 #include void main() { int a; do { printf("1. Check spelling\n"); printf("2. Correct spelling errors\n"); printf("3. Display spelling errors\n"); printf("Enter your choice (1-3): "); scanf(“\n%d", &a); /* read selection from keyboard */ switch(a) { case 1: printf("Check spelling\n"); break; case 2: printf("Correct spelling errors\n"); break; case 3: printf("Display spelling errors\n"); break; default: /* do nothing */ break; } } while (a != 1 && a != 2 && a !=3); }

21 Example 2 1. Check spelling 2. Correct spelling errors 3. Display spelling errors Enter your choice (1-3): 5 1. Check spelling 2. Correct spelling errors 3. Display spelling errors Enter your choice (1-3): 1 Check spelling ตัวอย่าง output จากการทำงาน

22 Null Statement  เราสามารถใช้งาน Empty Statement (Null Statement) ใน while Statement ได้ โดยใช้ ; ต่อท้าย หรือ ในบรรทัดใหม่  เนื่องจากมีการทำงาน ได้ทำไปแล้วในเงื่อนไขของ while จึงไม่จำเป็นต้องมี การทำงานอีกใน loop  ตัวอย่าง while ((c = getchar()) == ‘ ’) ; หรือ while ((c = getchar()) == ‘ ’) ; ทำงานเหมือน while ((c = getchar()) == ‘ ’) { /* do nothing */ }

23 Null Statement นั่นคือ blank character ใน input stream จะถูกข้าม (เมื่อตัว input stream เป็น blank character จะเข้า loop ได้ แล้วจะไม่ทำอะไร แต่จะไปรับ ค่า input ใหม่อีกครั้ง เรื่อยๆ จนกว่าจะไม่ใช่ blank character) หากต้องการให้ white space ถูกข้ามไป สามารถใช้ code ดังนี้ while ((c = getchar()) == ‘ ’ || c == ‘\n’ || c == ‘\t’);

24 Mini Debugging  ปัญหาที่พบได้บ่อยจากการใช้ Loop  Infinity Loop คือ โปรแกรมทำงานตาม Statement ไปเรื่อยๆ โดยไม่ สามารถออกจาก Loop ได้  โปรแกรม ไม่สามารถทำงาน ใน Loop ได้  แนวทางการแก้ไข  ตรวจสอบ Condition ที่กำหนด ว่า เป็น จริง หรือ เป็น เท็จ เสมอ หรือไม่  ตรวจสอบค่าของตัวแปรที่ใช้งาน ว่ามีการเปลี่ยนแปลงค่าได้หรือไม่  ตรวจสอบ ว่า ค่าของตัวแปรที่ใช้ในเงื่อนไข สามารถทำให้ Condition เป็น จริง หรือ เท็จได้หรือไม่


ดาวน์โหลด ppt Week 5 การทำซ้ำโดย while loop และ do while loop. Outline  Loop  while Statement  do-while Statement  Mini Debugging  Lab.

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


Ads by Google