การเขียนโปรแกรมแบบวนซ้ำ นายไชยรัตน์ เอี่ยมแบน ครูชำนาญการ โรงเรียนสตรีศึกษา สำนักงานเขตพื้นที่การศึกษามัธยมศึกษา เขต 27 Dev-C++ Dev-C++ Dev-C++ Dev-C++ Dev-C++ Dev-C++Dev-C++ Dev-C++ Dev-C++ Dev-C++ Dev-C++ Dev-C++ การโปรแกรมและการประยุกต์ (ง30222) ชั้นมัธยมศึกษาปีที่ 4 Website http://chairat101.wordpress.com
เนื้อหา การเขียนโปรแกรมแบบวนซ้ำ การวนซ้ำโดยใช้คำสั่ง while การวนซ้ำโดยใช้คำสั่ง do-while การวนซ้ำโดยใช้คำสั่ง for การวนซ้ำแบบมีเงื่อนไข Website http://chairat101.wordpress.com
การเขียนโปรแกรมแบบวนซ้ำ Website http://chairat101.wordpress.com
ทำไมต้องวนซ้ำ? Source code Output printf(“Strisuksa School \n”); Website http://chairat101.wordpress.com
ทำไมต้องวนซ้ำ? Output Strisuksa School Source code for (n=1;n<=10;n++) printf(“Strisuksa School \n”); Website http://chairat101.wordpress.com
ทำไมต้องวนซ้ำ? Output Source code for (n=1;n<=200;n++) Strisuksa School Strisuksa chooll Strisuksa School Strisuksa chooll Strisuksa School Strisuksa chooll Strisuksa School Strisuksa chooll Source code for (n=1;n<=200;n++) printf(“Strisuksa School \n”); Website http://chairat101.wordpress.com
ข้อดีของการวนซ้ำ 1. โปรแกรมสั้น/กระชับ 2. ทำงานได้เร็ว 3. แก้ไขง่าย 4. อ่านง่าย Website http://chairat101.wordpress.com
คำสั่งวนซ้ำในภาษาซี 1. while 2. do-while 3. for Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง while วนซ้ำเมื่อ นิพจน์ตรวจสอบ เป็นจริง Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง do-while วนซ้ำเมื่อ นิพจน์ตรวจสอบเป็นจริง แต่ทำก่อนค่อยตรวจสอบเงื่อนไข Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง for วนซ้ำเมื่อ นิพจน์ตรวจสอบเป็นจริง ทราบจำนวนรอบแน่นอน Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง while หากนักเรียนมีข้อสงสัย สามารถเข้าไปเรียนรู้เพิ่มเติมได้ที่ BLOG http://chairat101.wordpress.com ห้องเรียนออนไลน์ 24 ชั่วโมง
การวนซ้ำโดยใช้คำสั่ง while รูปแบบคำสั่ง while (นิพจน์ตรวจสอบ) { คำสั่งที่ต้องการวนซ้ำ 1; คำสั่งที่ต้องการวนซ้ำ 2; คำสั่งที่ต้องการวนซ้ำ 3; … คำสั่งที่ต้องการวนซ้ำ n; } Website http://chairat101.wordpress.com
ตัวอย่างการใช้คำสั่ง while Output Source code Strisuksa School _ #include <stdio.h> #include <conio.h> main() { int i; i=1; while (i<=5) printf(“Strisuksa School \n”); i++; } getch(); Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง while 1. พิมพ์ตัวอักษร A ออกทางจอภาพ 20 ตัว โดยแต่ละตัวห่างกัน 1 ตัวอักษร Output Source code A A A A A A A A A A A A A A A A A A A A _ #include <stdio.h> #include <conio.h> main() { int i; i=1; while (i<=20) printf(“A ”); i++; } getch(); Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง while 2. พิมพ์ตัวเลข 1-20 ออกทางจอภาพ Flow chart Output 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 _ Source code #include <stdio.h> #include <conio.h> main() { int i; i=1; while (i<=20) printf("%d ",i); i++; } getch(); Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง while 3. พิมพ์ตัวเลข 1-n ออกทางจอภาพ Flow chart Output Input last number : 10 1 2 3 4 5 6 7 8 9 10 _ Source code #include <stdio.h> #include <conio.h> main() { int i,n; printf(“Input last number : ”); scanf(“%d”,&n); i=1; while (i<=n) printf("%d ",i); i++; } getch(); Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง while แบบฝึกหัด การวนซ้ำโดยใช้คำสั่ง while หากนักเรียนมีข้อสงสัย สามารถเข้าไปเรียนรู้เพิ่มเติมได้ที่ BLOG http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง while 1. พิมพ์ตัวเลข 10 9 8 .. 1 ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง while 2. พิมพ์ตัวอักษร A ถึง Z ออกทางจอภาพ Output Flow chart คำแนะนำ ข้อมูลชนิด char สามารถเปรียบกันได้ เนื่องจาก เก็บข้อมูลเป็นตัวเลข และสามารถ แสดงผลได้ 2 ลักษณะ คือ %c แสดงผลเป็นตัวอักขระ %d แสดงผลเป็นตัวเลขจำนวนเต็ม Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง while 3. แสดงจำนวนคู่จาก 10-30 ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง while 4. หาผลรวมของ 1+2+3+..+n ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง do-while หากนักเรียนมีข้อสงสัย สามารถเข้าไปเรียนรู้เพิ่มเติมได้ที่ BLOG http://chairat101.wordpress.com ห้องเรียนออนไลน์ 24 ชั่วโมง
การวนซ้ำโดยใช้คำสั่ง do-while รูปแบบคำสั่ง do { คำสั่งที่ต้องการวนซ้ำ 1; คำสั่งที่ต้องการวนซ้ำ 2; คำสั่งที่ต้องการวนซ้ำ 3; … คำสั่งที่ต้องการวนซ้ำ n; } while (นิพจน์ตรวจสอบ); Website http://chairat101.wordpress.com
ตัวอย่างการใช้คำสั่ง do-while Output Source code Strisuksa School _ #include <stdio.h> #include <conio.h> main() { int i; i=1; do printf(“Strisuksa School \n”); i++; } while (i<=5); getch(); } Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง do-while 1. พิมพ์ตัวอักษร A ออกทางจอภาพ 20 ตัว โดยแต่ละตัวห่างกัน 1 ตัวอักษร Output Source code A A A A A A A A A A A A A A A A A A A A _ #include <stdio.h> #include <conio.h> main() { int i; i=1; do printf(“A ”); i++; } while (i<=20); getch(); } Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง do-while 2. พิมพ์ตัวเลข 1-20 ออกทางจอภาพ Flow chart Output 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 _ Source code #include <stdio.h> #include <conio.h> main() { int i; i=1; do printf("%d ",i); i++; } while (i<=20); getch(); } Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง do-while 3. พิมพ์ตัวเลข 1-n ออกทางจอภาพ Flow chart Output Input last number : 10 1 2 3 4 5 6 7 8 9 10 _ Source code #include <stdio.h> #include <conio.h> main() { int i,n; printf(“Input last number : ”); scanf(“%d”,&n); i=1; do printf("%d ",i); i++; } while (i<=n) getch(); } Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง do-while แบบฝึกหัด การวนซ้ำโดยใช้คำสั่ง do-while หากนักเรียนมีข้อสงสัย สามารถเข้าไปเรียนรู้เพิ่มเติมได้ที่ BLOG http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง do-while 1. พิมพ์ตัวเลข 10 9 8 .. 1 ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง do-while 2. พิมพ์ตัวอักษร a ถึง z ออกทางจอภาพ Output Flow chart คำแนะนำ ข้อมูลชนิด char สามารถเปรียบกันได้ เนื่องจาก เก็บข้อมูลเป็นตัวเลข และสามารถ แสดงผลได้ 2 ลักษณะ คือ %c แสดงผลเป็นตัวอักขระ %d แสดงผลเป็นตัวเลขจำนวนเต็ม Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง do-while 3. แสดงรหัส ASCII ของตัวอักษรบน Keyboard และหยุดการแสดงเมื่อกดปุ่ม Esc (ASCII code ของปุ่ม Esc=27) Flow chart Output Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง do-while 4. หาผลรวมของ 12+22+32+..+n2 ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง for หากนักเรียนมีข้อสงสัย สามารถเข้าไปเรียนรู้เพิ่มเติมได้ที่ BLOG http://chairat101.wordpress.com ห้องเรียนออนไลน์ 24 ชั่วโมง
การวนซ้ำโดยใช้คำสั่ง for รูปแบบคำสั่ง for(ค่าเริ่มต้น;นิพจน์ตรวจสอบ;การเปลี่ยนค่า) { คำสั่งที่ต้องการวนซ้ำ 1; คำสั่งที่ต้องการวนซ้ำ 2; คำสั่งที่ต้องการวนซ้ำ 3; … คำสั่งที่ต้องการวนซ้ำ n; } Website http://chairat101.wordpress.com
ตัวอย่างการใช้คำสั่ง for Output Source code Strisuksa School _ #include <stdio.h> #include <conio.h> main() { int i; for (i=1;i<=5;i++) printf(“Strisuksa School \n”); } getch(); Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง for 1. พิมพ์ตัวอักษร A ออกทางจอภาพ 20 ตัว โดยแต่ละตัวห่างกัน 1 ตัวอักษร Output Source code A A A A A A A A A A A A A A A A A A A A _ #include <stdio.h> #include <conio.h> main() { int i; for (i=1;i<=20;i++) printf(“A ”); } getch(); Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง for 2. พิมพ์ตัวเลข 1-20 ออกทางจอภาพ Flow chart Output 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 _ Source code #include <stdio.h> #include <conio.h> main() { int i; for (i=1;i<=20;i++) printf("%d ",i); } getch(); Website http://chairat101.wordpress.com
ตัวอย่าง การใช้คำสั่ง for 3. พิมพ์ตัวเลข 1-n ออกทางจอภาพ Flow chart Output Input last number : 10 1 2 3 4 5 6 7 8 9 10 _ Source code #include <stdio.h> #include <conio.h> main() { int i,n; printf(“Input last number : ”); scanf(“%d”,&n); for (i=1;i<=n;i++) printf("%d ",i); } getch(); Website http://chairat101.wordpress.com
การวนซ้ำโดยใช้คำสั่ง for แบบฝึกหัด การวนซ้ำโดยใช้คำสั่ง for หากนักเรียนมีข้อสงสัย สามารถเข้าไปเรียนรู้เพิ่มเติมได้ที่ BLOG http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง for 1. พิมพ์ตัวเลข 10 9 8 .. 1 ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง for 2. พิมพ์ตัวอักษร a ถึง z ออกทางจอภาพ Output Flow chart คำแนะนำ ข้อมูลชนิด char สามารถเปรียบกันได้ เนื่องจาก เก็บข้อมูลเป็นตัวเลข และสามารถ แสดงผลได้ 2 ลักษณะ คือ %c แสดงผลเป็นตัวอักขระ %d แสดงผลเป็นตัวเลขจำนวนเต็ม Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง for 3. แสดงรหัส ASCII ของตัวอักษรบน Keyboard และหยุดการแสดงเมื่อกดปุ่ม Esc (ASCII code ของปุ่ม Esc=27) Flow chart Output Website http://chairat101.wordpress.com
แบบฝึกหัด การใช้คำสั่ง for 4. หาผลรวมของ 12+22+32+..+n2 ออกทางจอภาพ Output Flow chart Website http://chairat101.wordpress.com