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

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

การทดลองที่ 9 Loops (วงวน) การทดลองที่ 9 Loops (วงวน)

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


งานนำเสนอเรื่อง: "การทดลองที่ 9 Loops (วงวน) การทดลองที่ 9 Loops (วงวน)"— ใบสำเนางานนำเสนอ:

1 การทดลองที่ 9 Loops (วงวน) การทดลองที่ 9 Loops (วงวน)

2

3

4 summer solstice sol --- sun sistere --- still

5

6

7 ทบทวน วงวน while ตรวจสอบก่อนทำ do – while ตรวจสอบหลังจากทำไปแล้ว
for ทำซ้ำด้วยจำนวนรอบที่กำหนด

8 while ตรวจสอบก่อนทำ #include <stdio.h> void main() { int i = 0;
Hello #include <stdio.h> void main() { int i = 0; while (i<5) { printf(“Hello\n”); i++; } i i i 1

9 while ตรวจสอบก่อนทำ #include <stdio.h> void main() { int i = 0;
Hello Hello #include <stdio.h> void main() { int i = 0; while (i<5) { printf(“Hello\n”); i++; } i 1 i 1 i 2

10 while ตรวจสอบก่อนทำ #include <stdio.h> void main() { int i = 0;
Hello Hello #include <stdio.h> void main() { int i = 0; while (i<5) { printf(“Hello\n”); i++; } i 2 i 2 i 3

11 while ตรวจสอบก่อนทำ #include <stdio.h> void main() { int i = 0;
Hello Hello #include <stdio.h> void main() { int i = 0; while (i<5) { printf(“Hello\n”); i++; } i 3 i 3 i 4

12 while ตรวจสอบก่อนทำ #include <stdio.h> void main() { int i = 0;
Hello Hello #include <stdio.h> void main() { int i = 0; while (i<5) { printf(“Hello\n”); i++; } i 4 i 4 i 5

13 while ตรวจสอบก่อนทำ #include <stdio.h> void main() { int i = 0;
Hello #include <stdio.h> void main() { int i = 0; while (i<5) { printf(“Hello\n”); i++; } i 5

14 do – while ตรวจสอบหลังจากทำไปแล้ว
Hello #include <stdio.h> void main() { int i = 0; do { printf(“Hello\n”); i++; } while (i < 5); } i i 1 ? i 1

15 do – while ตรวจสอบหลังจากทำไปแล้ว
Hello Hello #include <stdio.h> void main() { int i = 0; do { printf(“Hello\n”); i++; } while (i < 5); } i 1 i 2 ? i 2

16 do – while ตรวจสอบหลังจากทำไปแล้ว
Hello Hello #include <stdio.h> void main() { int i = 0; do { printf(“Hello\n”); i++; } while (i < 5); } i 2 i 3 ? i 3

17 do – while ตรวจสอบหลังจากทำไปแล้ว
Hello Hello #include <stdio.h> void main() { int i = 0; do { printf(“Hello\n”); i++; } while (i < 5); } i 3 i 4 ? i 4

18 do – while ตรวจสอบหลังจากทำไปแล้ว
Hello Hello #include <stdio.h> void main() { int i = 0; do { printf(“Hello\n”); i++; } while (i < 5); } i 4 i 5 ? i 5

19 ทำซ้ำตามจำนวนรอบที่กำหนด
for ทำซ้ำตามจำนวนรอบที่กำหนด

20 วงวนคำสั่ง for #include <stdio.h> void main() { int i;
for (i = 0; i < 5; i++) { printf(“Hello\n”); } กำหนดค่าเริ่มต้น ทดสอบ เปลี่ยนแปลงค่า

21 วงวนคำสั่ง for for (i = 0; i < 5; i++) { printf(“Hello\n”); } i 1 i
for (i = 0; i < 5; i++) { printf(“Hello\n”); } Hello true

22 วงวนคำสั่ง for for (i = 0; i < 5; i++) { printf(“Hello\n”); } i 2 i
1 for (i = 0; i < 5; i++) { printf(“Hello\n”); } Hello Hello true

23 วงวนคำสั่ง for for (i = 0; i < 5; i++) { printf(“Hello\n”); } i 3 i
2 for (i = 0; i < 5; i++) { printf(“Hello\n”); } Hello Hello true

24 วงวนคำสั่ง for for (i = 0; i < 5; i++) { printf(“Hello\n”); } i 4 i
3 for (i = 0; i < 5; i++) { printf(“Hello\n”); } Hello Hello true

25 วงวนคำสั่ง for for (i = 0; i < 5; i++) { printf(“Hello\n”); } i 5 i
4 false for (i = 0; i < 5; i++) { printf(“Hello\n”); } Hello Hello true

26 การบวกเลข 1 – 10 (while) i sum #include <stdio.h> void main() {
int i = 1, sum = 0; while( i <= 10) { sum += i; i++; } printf(“sum of 1 – 10 : %d\n”, sum); i sum 1 0+1 2 0+1+2 3 4 5 6 7 8 9 10 11 sum of 1 – 10 : 55

27 การบวกเลข 1 – 10 (do - while)
#include <stdio.h> void main() { int i = 1, sum = 0; do { sum += i; i++; } while (i <= 10); printf(“sum of 1 – 10 : %d\n”, sum); }

28 การบวกเลข 1 – 10 (for) #include <stdio.h> void main() {
int i, sum = 0; for( i = 1; i <= 10; i++) sum += i; printf(“sum of 1 – 10 : %d\n”, sum); }

29 ถ้าเป็นการหาผลบวกเลขคี่ เปลี่ยนอย่างไร ???
หาผลบวกเลขคู่ #include <stdio.h> void main() { int i = 2, sum = 0; while( i <= 20) { sum += i; i += 2; } printf(“sum of even number 1 – 20 : %d\n”, sum); sum 0+2 +4 +6 +8 +10 +12 +14 +16 +18 +20 ถ้าเป็นการหาผลบวกเลขคี่ เปลี่ยนอย่างไร ???

30 หาผลบวกเลขคี่ #include <stdio.h> void main() {
int i = 1, sum = 0; while( i <= 20) { sum += i; i += 2; } printf(“sum of odd number 1 – 20 : %d\n”, sum);

31 การรับ input ในวงวน #include <stdio.h> void main() { int n, i;
float sum = 0; printf("How many numbers ? "); scanf("%d", &n); for (i = 1; i <= n; ++i) { printf("x = "); scanf("%f", &x); sum += x; } printf("\nSummary of Number is %f\n", sum); 5 How many numbers ? x = 10 x = 20 x = 30 x = 40 x = 50 Summary of Number is 150

32 หลักการใช้งาน คำสั่งใน body ของ loops อาจมีคำสั่งเดียวหรือหลายคำสั่ง ถ้ามีคำสั่งเดียว ไม่จำเป็นต้องมี block ถ้ามีหลายคำสั่ง ต้องมี block มีคำสั่งเดียว ไม่ต้องมี block มีหลายคำสั่ง ต้องมี block for (i = 0; i < 10; i++) printf(“Hello\n”); int c = 0; for (i = 0; i < 10; i++) { printf(“Hello\n”); c = c + 1; printf(“c = %d\n”, c); } คำสั่งเดียว มี block ก็ได้ for (i = 0; i < 10; i++) { printf(“Hello\n”); }

33 output คืออะไร int i; for (i = 0; i < 5; i++) { printf(“Hello\n”);
Sawasdee int i; for (i = 0; i < 5; i++) { printf(“Hello\n”); printf(“Sawasdee\n”); }

34 ทำไมจึงได้ผลลัพธ์นี้
output คืออะไร ทำไมจึงได้ผลลัพธ์นี้ int i; for (i = 0; i < 5; i++) printf(“Hello\n”); printf(“Sawasdee\n”); Hello Sawasdee

35 ? ? หลักการใช้งาน ระวัง อย่าใส่เครื่องหมาย “;” หลังวงเล็บคำสั่ง for
for (i = 0; i < 10; i++) ; printf(“Hello\n”); ; ? Hello for (i = 0; i < 10; i++) ; { printf(“Hello\n”); printf(“Sawasdee\n”); } ; Hello Sawasdee ?

36 หลักการใช้งาน จำนวนรอบและผลลัพธ์การทำงาน ให้ดูค่าเริ่มต้น ค่าสุดท้าย และ ลำดับการทำงาน i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10 int i = 0; while (i < 10) { i++; printf(“i = %d\n”, i); }

37 หลักการใช้งาน จำนวนรอบและผลลัพธ์การทำงาน ให้ดูค่าเริ่มต้น ค่าสุดท้าย และ ลำดับการทำงาน i = 0 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 int i = 0; while (i < 10) { printf(“i = %d\n”, i); i++; }

38 หลักการใช้งาน ระวังเงื่อนไขที่เป็นจริงตลอด จะทำให้เกิด infinite loops
int i = 1; while (i > 0) { printf(“i = %d\n”); i++; }

39 หลักการใช้งาน ระวังเงื่อนไขที่เป็นจริงตลอด จะทำให้เกิด infinite loops
int i = 1; do { printf(“i = %d\n”); i += 2; } while ( i != 10);

40 หลักการใช้งาน ระวังเงื่อนไขที่เป็นจริงตลอด จะทำให้เกิด infinite loops
int i, n = 0; for ( i = 1; i > n; i++ ) { printf(“i = %d\n”, i) }

41 break เป็นคำสั่งหยุดการทำงานในวงวน และกระโดดออกจากวงวน for () { ….
}

42 break เป็นคำสั่งหยุดการทำงานในวงวน และกระโดดออกจากวงวน int i;
for (i = 0; i < 10; i++) { printf(“Korat\n”); if (i > 3) { break; } printf(“Bangkok\n”); Korat Bangkok

43 break เป็นคำสั่งหยุดการทำงานในวงวน และกระโดดออกจากวงวน int i = 0;
while (i < 10) { printf(“Korat\n”); if (i > 3) { break; } printf(“Bangkok\n”); i++; Korat Bangkok

44 break ผลลัพธ์คืออะไร ? int i = 0; while (i < 10) {
printf(“Korat\n”); i++; if (i > 3) { break; } printf(“Bangkok\n”); Korat Bangkok

45 break บวกเลข 1 ถึงเท่าไร ? int i = 1, sum = 0; while (i <= 10) {
sum += i; if (i > 4) { break; } i++; printf(“sum = %d\n”, sum); sum = 15

46 break บวกเลข 1 ถึงเท่าไร ? int i = 1, sum = 0; while (i <= 10) {
sum += i; i++; if (i > 4) { break; } printf(“sum = %d\n”, sum); sum = 10

47 break บวกเลข 2 + 4 + … ? int i = 2, sum = 0; do { sum += i;
if (i > 8) { break; } i += 2; } while (i <= 20); printf(“sum = %d\n”, sum); sum = 30

48 break บวกเลข 2 + 4 + … ? int i = 2, sum = 0; do { sum += i; i += 2;
if (i > 8) { break; } } while (i <= 20); printf(“sum = %d\n”, sum); sum = 20

49 continue เป็นคำสั่งย้อนกลับไปตรวจสอบเงื่อนไข ถ้าจริง ให้ทำซ้ำ ถ้าเท็จ ออกจากวงวน for () { continue; }

50 continue เป็นคำสั่งย้อนกลับไปตรวจสอบเงื่อนไข ถ้าจริง ให้ทำซ้ำ ถ้าเท็จ ออกจากวงวน int i; for (i = 0; i < 5; i++) { printf(“Korat\n”); if (i > 2) { continue; } printf(“Bangkok\n”); i = 0 Korat Bangkok i = 1 Korat Bangkok i = 2 Korat Bangkok i = 3 Korat i = 4 Korat

51 continue ผลลัพธ์คืออะไร ? int i = 0; while (i < 5) {
printf(“Korat\n”); if (i > 2) { continue; } printf(“Bangkok\n”); i++; i = 0 Korat Bangkok i = 1 Korat Bangkok i = 2 Korat Bangkok i = 3 Korat infinite loops

52 continue ผลลัพธ์คืออะไร ? int i = 0; while (i < 5) {
printf(“Korat\n”); i++; if (i > 2) { continue; } printf(“Bangkok\n”); i = 0 Korat i = 1 Bangkok i = 1 Korat i = 2 Bangkok i = 2 Korat i = 3 Korat i = 4 Korat

53 continue ผลลัพธ์คืออะไร ? int i = 0; do{ printf(“Korat\n”); i++;
if (i > 2) { continue; } printf(“Bangkok\n”); } while (i < 5); i = 0 Korat i = 1 Bangkok i = 1 Korat i = 2 Bangkok i = 2 Korat i = 3 Korat i = 4 Korat

54 continue ผลลัพธ์คืออะไร ? infinite loops int i = 0; do{
printf(“Korat\n”); if (i > 2) { continue; } i++; printf(“Bangkok\n”); } while (i < 5); i = 0 Korat i = 1 Bangkok i = 1 Korat i = 2 Bangkok i = 2 Korat i = 3 Bangkok i = 3 Korat i = 3 Korat i = 3 Korat infinite loops

55 วงวนซ้อนใน (nested loops)
เป็นคำสั่งสร้างวงวน ซ้อนกันสองชั้นขึ้นไป for () { คำสั่งในวงวนชั้นนอก for () { คำสั่งในวงวนชั้นใน }

56 วงวนซ้อนใน (nested loops)
จำนวนรอบของการทำงานในวงวนชั้นใน เท่ากับจำนวนรอบของวงวนชั้นนอก คูณกับจำนวนรอบวงวนชั้นใน for (3 รอบ) { คำสั่งในวงวนชั้นนอก ทำงาน 3 รอบ } for (5 รอบ) { คำสั่งในวงวนชั้นใน ทำงาน 15 รอบ }

57 ตัวอย่าง int i, j; for (i = 0; i < 3; i++) {
3 รอบ 5 รอบ int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 5; j++) { printf(“Bangkok\n”); } Bangkok ถูกพิมพ์ 15 แถว

58 ตัวอย่าง int i, j; for (i = 0; i < 2; i++) { printf(“Korat\n”);
for (j = 0; j < 3; j++) { printf(“Bangkok\n”); } Korat Bangkok

59 ตัวอย่าง int i, j; for (i = 0; i < 3; i++) { printf(“Korat\n”);
for (j = 0; j < 3; j++) { printf(“Bangkok\n”); } Korat Bangkok

60 ผลลัพธ์คืออะไร int i = 0; j = 0; while (i<3) { printf(“January”);
while(j < 3) { printf(“February”); j++; } i++; January February

61 ผลลัพธ์คืออะไร int i = 0; j = 0; while (i<3) { printf(“January”);
while(j < 3) { printf(“February”); j++; } printf(“March”); i++; January February March

62 ปฏิบัติการ การทดลองที่ 8 ข้อ 5 – 6 การทดลองที่ 9

63 ไปทำ lab กันเถอะ


ดาวน์โหลด ppt การทดลองที่ 9 Loops (วงวน) การทดลองที่ 9 Loops (วงวน)

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


Ads by Google