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

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

1 Control Statement •for •while •do-while. 2 คำสั่ง for.

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


งานนำเสนอเรื่อง: "1 Control Statement •for •while •do-while. 2 คำสั่ง for."— ใบสำเนางานนำเสนอ:

1 1 Control Statement •for •while •do-while

2 2 คำสั่ง for

3 3 • เมื่อต้องการให้เกิดการ ทำงานซ้ำ • เมื่อรู้ว่าจะต้องทำซ้ำกี่ ครั้ง • ถ้าไม่รู้ว่าทำซ้ำกี่รอบ อย่าใช้ ใช้เมื่อไหร่

4 4 รูปแบบ คำสั่ง for •initialization : กำหนดค่าเริ่มต้นให้ตัว แปรที่ใช้วนรอบ •condition : เงื่อนไขในการทำงานซ้ำ เมื่อเป็นจริง •increment : เปลี่ยนค่าให้กับตัวแปรที่ ทำหน้าที่ในการวนรอบ •statement : คำสั่งที่ทำงานใน loop for(initialization;condition;increment) statement; ถ้ามีมากกว่า 1 คำสั่ง ต้องเป็น compound statements อยู่ในเครื่องหมาย { }

5 5 คำสั่ง for (for Statement) ( ต่อ ) for ( initialization; condition; increment ) statement; เงื่อนไข Y N กำหนดค่าเริ่มต้นให้ตัวแปร คำสั่ง.... เพิ่มค่าตัวแปร

6 6 Ex1 จงเขียนโปรแกรมแสดงการ พิมพ์ค่า 1 – 100 ออกทาง หน้าจอโดยใช้คำสั่ง for #include void main() { int i; for(i=1;i <= 100;i++) printf(“%d\n”,i); } ให้ค่าเริ่มต้น เงื่อนไขในการวนรอบ ถ้ายังไม่ถึง 100 ให้ทำต่อ เพิ่มค่าทีละ 1

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

8 8 กฎการใช้คำสั่ง ( ต่อ ) 3. ตัวแปรที่ใช้ในการวนรอบอาจ กำหนดให้เป็นชนิด char ได้ for(ch = ‘a’;ch<=‘z’;ch++) printf(“character = %c\n”,ch); 4. ตัวแปรที่ใช้ในการวนรอบ ( ควบคุมการ ทำงาน ) มีได้มากกว่า 1 ตัว for(x = 0,y=0;x+y<100;x++,y++) printf(“%d\n”,x+y);

9 9 5. ถ้าไม่มีในส่วนของการเปลี่ยนค่าอาจทำ ให้เกิดเป็น loop ที่ไม่จบสิ้น for(x = 1;x <= 10;) printf(“%d\n”,x); 6. ถ้าไม่มีส่วนใดเลยในคำสั่ง for จะเกิด loop ไม่จบสิ้นเช่นกัน for(;;) // ถึงแม้ไม่มีส่วนใดเลย ก็ยังต้องมีเครื่องหมาย ; printf(“Hello BC322\n”); กฎการใช้คำสั่ง ( ต่อ )

10 10 Ex2 จากโปรแกรม จะได้ ผลลัพธ์เป็นอย่างไร #include void main() { int count; clrscr(); for ( count = 1; count <=5; count++ ) printf( "%d\n", count ); getch(); } ตอบ

11 11 START STOP count=1 count<=5 Write count Count=Count+1 Flowchart Y N

12 12 #include void main() { int count; clrscr(); for (count = 10; count >= 0; count -= 2) printf( "%2d\n",count ); getch(); } ตอ บ 10 ^8 ^6 ^4 ^2 ^0 Ex3 จากโปรแกรม จะได้ ผลลัพธ์เป็นอย่างไร

13 13 คำสั่ง while และ คำสั่ง do..while

14 14 คำสั่ง while • เมื่อต้องการให้เกิดการทำงาน ซ้ำ • ไม่รู้ว่าจะต้องทำซ้ำกี่ครั้ง ( รู้ก็ ใช้ได้ ) • รู้ว่าทำซ้ำเมื่อไหร่ • จะทำงานเมื่อเงื่อนไขเป็นจริง ใช้เมื่อไหร่

15 15 รูปแบบ while - เงื่อนไข ใช้สำหรับการเปรียบเทียบ - เช็คเงื่อนไขก่อน - ถ้าจริง ทำ - ถ้าไม่จริง ไม่ทำ - ใช้ทำงานแทนคำสั่ง for ได้ while (เงื่อนไข) { คำสั่ง; // ถ้ามีมากกว่า 1 คำสั่งต้องมี {} }

16 16 การใช้ while จะต้องมี 3 สิ่ง คือ 1. ค่าเริ่มต้นการเข้า loop ( อาจรับค่า หรือกำหนดค่า ) 2. กำหนดเงื่อนไข (loop ทำเมื่อเงื่อนไข เป็นจริง ) 3. มีการเปลี่ยนแปลงค่าตัวแปรก่อนวน กลับไปตรวจสอบเงื่อนไข

17 17 เงื่อนไข Y ค่าเริ่มต้นของตัวแปร คำสั่ง คำสั่งเพื่อเปลี่ยนค่าตัวแปร ก่อนตรวจสอบเงื่อนไข N อาจรับค่าหรือ กำหนดค่า เริ่มต้นก่อนเข้า loop    while

18 18 Ex1 จงเขียนโปรแกรมแสดงค่า 1 – 10 ออกทางจอภาพ #include void main() { int i = 1; while (i <= 10) { printf(“i = %d”,i); i=i+1; } getch(); } 1 2 3

19 19 Ex2 จงเขียนโปรแกรม เพื่อรับค่า น้ำหนักเพื่อน 10 คน แล้วหาค่า ผลรวมของน้ำหนัก #include void main() { int i = 1; float weight,Sum=0; while (i <= 10) { printf(“Enter weight : “) scanf(“%f”,&weight); Sum=Sum+weight; i=i+1; } printf(“Sum of weights = %.f”,Sum); getch(); } 1 2 3

20 20 #include void main() { int num, sum; clrscr(); num = 1; sum = 0; while (num <= 10) { sum =sum+ num; num=num+1; } printf( "%d\n", sum ); } ตอบ 55 Ex3 จงหาผลรวมของเลข

21 21 /* Find the average of scores */ #include void main() { int count; float score, total = 0, average; clrscr(); count = 1; while (count <= 3) { printf( "Enter score: " ); scanf( "%f", &score ); total =total+ score; count=count+1; } average = total / count; printf( "The average is %.2f\n", average ); } Enter score: Enter score: Enter score: The average is Ex4 โปรแกรมคำนวณ ค่าเฉลี่ยของคะแนน 3 ค่า 1 2 3

22 22 คำสั่ง do..while • เมื่อต้องการให้เกิดการทำงานซ้ำ • ไม่รู้ว่าจะต้องทำซ้ำกี่ครั้ง ( รู้ก็ ใช้ได้ ) • รู้ว่าจะหยุดทำเมื่อไหร่ • ในครั้งแรกของการทำงานจะไม่มี การทดสอบเงื่อนไข ใช้เมื่อไหร่

23 23 รูปแบบ do- while จะมีการตรวจสอบเงื่อนไข ภายหลังจาก ทำงานมาแล้ว 1 รอบ do { คำสั่ง; // ถ้ามีมากกว่า 1 คำสั่งต้องมี {} } while (เงื่อนไข);

24 24 เงื่อนไข Y คำสั่ง N do..while

25 25 Ex จงเขียนโปรแกรมแสดงค่า 1 – 10 ออกทางจอภาพ #include void main() { int i = 1; do { printf(“i = %d”,i); i=i+1; } while (i <= 10); }

26 03/07/5726 ข้อสรุป for, while, do..while สามารถใช้ แทนกันได้ for ( กำหนดค่าเริ่มต้น ; เงื่อนไข ; การเปลี่ยนแปลงค่า ) คำสั่งที่ต้องการทำซ้ำ ; กำหนดค่าเริ่มต้น ; while( เงื่อนไข ) { คำสั่งที่ต้องการทำซ้ำ ; การเปลี่ยนแปลงค่า ; } กำหนดค่าเริ่มต้น ; do { คำสั่งที่ต้องการทำซ้ำ ; การเปลี่ยนแปลงค่า ; }while ( เงื่อนไข );

27 27 การใช้งาน loop • ในกรณีที่รู้จำนวนรอบ  for,while,do..while • ในกรณีที่ไม่รู้จำนวนรอบ  while, do..while • ตรวจสอบเงื่อนไขก่อนทำ  while • ทำก่อน 1 รอบแล้วค่อยตรวจสอบเงื่อนไข  do..while

28 28 Ex จงเขียนโปรแกรมเพื่อคำนวณ อายุของเพื่อน 10 คน โดยจะต้อง รับปี พ. ศ. เกิดของเพื่อน ตัวอย่างการรับค่าและแสดงผลทาง หน้าจอ Enter Year1 : 2530 Student1 is 20 year’s old. * * * * * * * * * * * * * * * * * * * * Enter Year2 : 2532 Student1 is 18 year’s old. * * * * * * * * * * * * * * * * * * * *.... Enter Year10 : 2528 Student1 is 22 year’s old. * * * * * * * * * * * * * * * * * * * * เขียนโปรแกรม 2 ข้อ 1.ใช้ for 2.ใช้ Do while

29 29 #include void main() { int Year,Age,i; clrscr(); for(i=1;i<=10;i++) { printf(“Enter Year%d : “,i); scanf(“%d”,&Year); Age=2553-Year; printf(“Student%d is %d year\’s old\n”,i,Age); } getch(); } แบบ for

30 30 #include void main() { int Year,Age,i; i=1; while (i<=10) { printf(“Enter Year%d : “,i); scanf(“%d”,&Year); Age=2553-Year; printf(“Student%d is %d year\’s old\n”,i,Age); i=i+1; } getch(); } แบบ while


ดาวน์โหลด ppt 1 Control Statement •for •while •do-while. 2 คำสั่ง for.

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


Ads by Google