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

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

Computer Programming การเขียนโปรแกรมคอมพิวเตอร์

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


งานนำเสนอเรื่อง: "Computer Programming การเขียนโปรแกรมคอมพิวเตอร์"— ใบสำเนางานนำเสนอ:

1 Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
สัปดาห์ที่ 7 คำสั่งควบคุมการทำงานแบบวนซ้ำ

2 Outline 1 Objectives 2 p While Loop 3 Do-While Loop 4 Summary

3 objectives เพื่อให้นิสิตรู้จักและเข้าใจคำสั่งควบคุมการทำงานแบบวนซ้ำในภาษาซี สามารถเขียนโปรแกรมภาษาซีโดยใช้คำสั่งเพื่อให้คอมพิวเตอร์ทำงานแบบวนซ้ำได้ สามารถเขียนโปรแกรมภาษาซีให้มีทำงานแบบวนซ้ำและกำหนดเงื่อนไขร่วมกันได้ สามารถนำความรู้เรื่องคำสั่งควบคุมการทำงานแบบวนซ้ำและกำหนดเงื่อนไขไปประยุกต์เพื่อแก้ไขโจทย์ปัญหาในชีวิตประจำวันได้ได้อย่างถูกต้องเหมาะสม

4 Outline 1 Objectives 2 p While Loop 3 Do-While Loop 4 Summary

5 While Loop False True Statement -1-n Modification Condition
while (expression) statement-1; while (expression) { statement-1.1; statement-1.2; ... statement-1.n; }

6 statement; หรือ {statements;}
While Loop (cont.) รูปแบบประโยค while(expression) statement; หรือ {statements;} คำอธิบาย ตรวจสอบเงื่อนไขในนิพจน์ (expression) ถ้าเป็นจริง (non-zero) จะทำ statement ในวงรอบ ถ้าเป็นเท็จ (zero) จะไม่ทำ statement ในวงรอบ

7 Example 1 Output Analysis แสดงผลเลข 0, 1, 2, … , 10 Input Analysis
Example: จงเขียนผังงานและโปรแกรมที่มีการควบคุมทิศทางแบบวนรอบ โดยใช้คำสั่ง while เพื่อแสดงตัวเลข ออกทางหน้าจอ Output Analysis แสดงผลเลข 0, 1, 2, … , 10 Input Analysis ไม่มี Process Analysis โปรแกรมทำงานแบบวนรอบ เพื่อแสดงผลเลข 0, 1, 2, … ,10 Variable Define count เป็นจำนวนเต็มเพื่อใช้นับจำนวนรอบ

8 Example 1 (cont.) count = 9 count = 10 count = 11 count = 3 count = 2
START count = 0 count<=10 True False count++ count END Show number from zero to ten 10 1 2 10

9 Example 1 (cont.) #include<stdio.h> int main() { int count = 0;
printf ("Show number from zero to ten\n\n"); while (count<=10) printf ("%d\t",count); count++; } return 0; Show number from zero to ten

10 Example 2 Output Analysis
Example: จงเขียนผังงานและโปรแกรมที่มีการควบคุมทิศทางแบบวนรอบโดยใช้คำสั่ง while เพื่อให้โปรแกรมทำการบวกเลขจำนวนเต็มตั้งแต่ 1 จนถึงค่าที่ผู้ใช้งานกำหนด Output Analysis ผลลัพธ์การบวกเลขจำนวนเต็ม ตั้งแต่ 1 ถึงค่าที่ผู้ใช้กำหนด Input Analysis ค่าที่ผู้ใช้งานป้อนเข้ามา

11 Example 2 (cont.) Process Analysis
โปรแกรมถามว่าผู้ใช้งานต้องการบวกเลขตั้งแต่ 1 ถึงเลขใด วนรอบแบบ while เพื่อบวกค่า แสดงผลลัพธ์ที่ได้ Variable Define sum = 0 ผลรวมของการบวก โดยเริ่มต้นมีค่าเท่ากับ 0 i = 1 ค่าที่นำเข้าไปบวกกับ sum ในแต่ละรอบ โดยรอบ แรกค่า i มีค่าเท่ากับ 1 และมีค่าเพิ่มขึ้นรอบละ 1 final เพื่อรับค่าจากผู้ใช้ และกำหนดจุดสิ้นสุดของค่า i

12 Example 2 (cont.) START i=1,final,sum=0 final True i<=final
False i++ sum END final sum = sum + i

13 Example 2 (cont.) #include<stdio.h> int main() {
int i = 1, final, sum=0; printf ("Enter final number : "); scanf ("%d",&final); while (i<=final) sum = sum + i; i++; } printf ("Sum = %d",sum); return 0;

14 Outline 1 Objectives 2 p While Loop 3 Do-While Loop 4 Summary

15 Do-while Loop True False Statement -1.1; ….. Statement -1.n; Condition
while (expression); Do { statement-1.1; statement-1.2; ... statement-1.n; } while (expression);

16 Do-while Loop (cont.) รูปแบบประโยค do statement; หรือ {statements;}
while(expression); คำอธิบาย ทำ statement ใน loop ทำ expression แล้วตรวจสอบค่าว่าเป็นจริงหรือเท็จ ถ้าเป็นจริงจะกลับไปทำ statement ใน loop ถ้าเป็นเท็จจะไม่เข้าไปทำ statement ใน loop

17 Example 3 Example: จงเขียนผังงานและโปรแกรมสำหรับรวมเลขจำนวนเต็ม
ตั้งแต่ 1 – 100 โดยใช้คำสั่ง do-while Output Analysis ผลรวมของเลขจำนวนเต็ม ตั้งแต่ Input Analysis ไม่มี Process Analysis โปรแกรมทำการบวกค่าเก็บไว้ในตัวแปรผลลัพธ์ แล้วเพิ่มค่าจนถึง 100 Variable Define count เป็นตัวแปรชนิดจำนวนเต็มเพื่อนับจำนวน sum เป็นจำนวนเต็มเพื่อเก็บค่าผลรวม

18 Example 3 (cont.) START count=1, sum=0 sum=sum+count count++ True
False count++ sum END sum=sum+count

19 Example 3 (cont.) int main() { int count=1,sum=0; do
sum = sum + count; count++; } while(count<=100); printf ("Summation of 1 to 100 = %d",sum); return 0;

20 Outline 1 Objectives 2 p While Loop 3 Do-While Loop 4 Summary

21 Comparison Iteration Loop
while และ do-while ไม่ได้กำหนดองค์ประกอบของโครงสร้างแบบวนซ้ำครบทั้ง 4 ส่วนในตัวเองเหมือน for while และ do-while มีเพียงส่วนตรวจสอบเงื่อนไขและการทำงานในวงรอบ for มีทั้ง 4 ส่วน: กำหนดค่าเริ่มต้น, ตรวจสอบเงื่อนไข, การทำงานในวงรอบ และการปรับปรุงค่า ดังนั้น while และ do-while มักจะมีส่วนกำหนดค่าเริ่มต้นก่อนประโยควนซ้ำ และแทรกส่วนปรับปรุงค่าไว้ในวงรอบเหมือนส่วนการทำงานในวงรอบ

22 Comparison Iteration Loop (cont.)
while และ for จะคล้ายกันคือเป็นแบบ pre-test loop ส่วน do-while จะมีการทำงานแบบ post-test loop for เหมาะกับงานที่รู้จำนวนรอบที่แน่นอน เช่น การใช้ตัวนับรอบ while กับ do-while เหมาะกับงานที่ไม่รู้จำนวนรอบที่แน่นอน เช่น การวนรับค่าข้อมูลจนกว่าจะป้อนค่าพิเศษ หรือการวนรับค่าเรื่อยๆ จนกว่าจะได้ค่าในช่วงที่ต้องการ

23 Comparison Iteration Loop (cont.)
คำสั่งทางเลือก (if, if-else และ switch) และคำสั่งวนซ้ำ (while, for และ do-while) ใช้การตรวจสอบเงื่อนไข (ผลลัพธ์ของนิพจน์ที่เป็นจริงหรือเท็จ) ในการกำหนดทิศทางการทำงาน คำสั่ง break และ continue เป็นคำสั่งพิเศษที่ใช้กำหนดทิศทางการทำงานโดยไม่ขึ้นกับเงื่อนไข ซึ่งอาจทำให้โครงสร้างของโปรแกรมถูกทำลายได้ คำสั่ง break ทำให้โปรแกรมออกมาจากบล็อคของคำสั่งทางเลือก switch หรือคำสั่งวนซ้ำทุกชนิด คำสั่ง continue ทำให้โปรแกรมข้ามการทำงานที่เหลือภายในวงรอบ เพื่อวนกลับขึ้นไปเริ่มทำงานในวงรอบใหม่

24 Break Statement while (expr) { statement; break; }
for ( expr1; expr2; expr3 ) { statement; break; } do { statement; break; } while (expr);

25 Continue Statement while (expr) { statement; continue; }
for ( expr1; expr2; expr3 ) { statement; continue; } do { statement; continue; } while (expr);

26 How to choose iteration loop?
ใช้ for ในกรณีที่ทราบจำนวนรอบของการวนซ้ำ ใช้ while ในกรณีที่ต้องคิดเงื่อนไขก่อนการทำงานแบบวนซ้ำ ใช้ do-while ในกรณีที่ต้องคิดเงื่อนไขการทำงานภายหลังจากทำงานไปแล้วครั้งหนึ่ง การเขียนโปรแกรมที่มีความซับซ้อนมากขึ้นจำเป็นต้องอาศัยการเขียนโปรแกรมแบบวนรอบร่วมกับการเขียนโปรแกรมแบบมีเงื่อนไข โดยการเพิ่มเงื่อนไขการทำงานในส่วนของการวนรอบ หรือมีการตรวจสอบเงื่อนไขว่าจะให้โปรแกรมมีการวนรอบอย่างไร


ดาวน์โหลด ppt Computer Programming การเขียนโปรแกรมคอมพิวเตอร์

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


Ads by Google