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

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

หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ

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


งานนำเสนอเรื่อง: "หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ"— ใบสำเนางานนำเสนอ:

1 หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ
หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ  หลักในการวนรอบซ้ำ

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

3 คำสั่งการวนรอบ  ในภาษา C มีการใช้คำสั่งการวนรอบ หรือ การวนลูป (Loop)  ด้วย while, do-while และ for while คือ วนรอบหากเงื่อนไขเป็นจริง (ตรวจสอบก่อนทำตามคำสั่ง - เช็คก่อนทำ) do-while คือ รอบแรกจะทำก่อนเสมอแล้วจึงวนรอบหากเงื่อนไขเป็นจริง (ทำตาม คำสั่งก่อนจึงตรวจสอบ - ทำก่อนเช็ค) for คือ กำหนดจำนวนรอบที่แน่นอนได้ (การเลือกใช้คำสั่ง for เมื่อทราบจำนวนการ วนรอบที่แน่นอน)

4 ข้อสังเกตของ while และ do - while
นิยมใช้กับการทำงานที่เราไม่รู้จำนวนครั้งที่แน่นอน การวนรอบซ้ำ (loop) รับค่าจนกว่าจะได้ค่าที่ต้องการ  วนรอบซ้ำ (loop) คำนวณค่าจนกว่าผลลัพธ์มีค่าเท่ากับศูนย์  คำสั่งที่อยู่ในการวนรอบ (loop) ต้องส่งผลให้เงื่อนไขที่ตรวจสอบมีโอกาสเป็นเท็จ จึงจะสามารถออกจากการวนรอบ (loop) ได้  คำสั่งที่อยู่ในการวนรอบ (loop) ต้องส่งผลกระทบต่อตัวแปรหรือค่าที่นำมาเป็น เงื่อนไขในการออกจากการวนรอบ (loop)

5 คำสั่ง while วนรอบหากเงื่อนไขเป็นจริง
คำสั่ง while เป็นคำสั่งสำหรับการควบคุมทิศทางแบบวนรอบ โดยจะ เริ่มต้นทำงานจากการตรวจสอบเงื่อนไข (condition)  (เงื่อนไข condition : หมายถึงเงื่อนไขที่ต้องการให้คอมพิวเตอร์ ตัดสินใจ) ถ้าเป็นจริงจะทำงานตามคำสั่งของ while  เมื่อเสร็จแล้วก็จะวน กลับไปตรวจสอบเงื่อนไขใหม่ เป็นเช่นนี้ไปเรื่อยๆ จนกว่าเงื่อนไขจะไม่เป็น จริงจึงจะหลุดออกจากการทำงาน      

6 คำสั่ง while วนรอบหากเงื่อนไขเป็นจริง

7 รูปแบบคำสั่ง * ตรวจสอบเงื่อนไขให้เป็นจริงก่อนแล้วจึงทำ
รูปแบบคำสั่ง * ตรวจสอบเงื่อนไขให้เป็นจริงก่อนแล้วจึงทำ while( เงื่อนไข )           {           คำสั่ง 1 ;           คำสั่ง 2 ;           คำสั่งเพิ่มค่าหรือลดค่า ;           }

8 ตัวอย่างโปรแกรม วนรอบแสดงตัวอักษรจากแป้นพิมพ์ออกจอภาพ
ตัวอย่างโปรแกรม วนรอบแสดงตัวอักษรจากแป้นพิมพ์ออกจอภาพ #include <stdio.h>           void main()             {       char  ch;                      ch = getch( );                      while(ch  != 'q')                       {                         printf("\n%c", ch);                         ch = getch( );                       }             }

9 ตัวอย่างโปรแกรม แสดงตัวเลขค่ารับเข้าระหว่าง 100 ถึง 1
ตัวอย่างโปรแกรม แสดงตัวเลขค่ารับเข้าระหว่าง 100 ถึง 1 #include<stdio.h> int main(void) { system("cls"); int  num; int  lineCount;           printf("Enter an integer between 1 and 100:");           scanf("%d",&num);                     if(num>100)  num=100;                     lineCount= 0;           while(num>0)           {      if(lineCount<10)  lineCount++;                     else                     {         printf("\n");                               lineCount=1;                     }                     printf("%4d",num--);           } getch(); return 0; }

10 คำสั่ง do-while วนรอบหากเงื่อนไขเป็นจริง รอบแรกจะทำเสมอ
คำสั่งวนรอบแบบ do - while จะทำงานตามคำสั่งของ do ก่อนหนึ่งรอบ แล้วจึงเริ่มตรวจสอบเงื่อนไขที่ while เป็นครั้งแรกโดยถ้าเงื่อนไขเป็นจริงจะวน กลับไปทำงานอีกครั้ง แล้วกลับมาตรวจสอบเงื่อนไขใหม่ เป็นอย่างนี้ไปจนกว่าผลการ ตรวจสอบเงื่อนไขจะออกมาเป็นเท็จ ก็จะออกจาก loop ของ do-while สรุปคำสั่ง do -while เป็นอีกรูปแบบหนึ่งของคำสั่งที่ใช้ควบคุมโปรแกรม โดย ให้โปรแกรมจะตรวจสอบเงื่อนไข หลังจากมีการเข้าไปทำในวงรอบ ของการทำซ้ำแล้ว อย่างน้อย 1 รอบ ถ้าเงื่อนไขเป็นจริงก็จะโปรแกรมซ้ำอีกต่อไป จนกระทั่งเงื่อนไขที่ เปรียบเทียบนั้นเป็นเท็จ จึงหยุดการทำซ้ำ 

11 คำสั่ง do-while วนรอบหากเงื่อนไขเป็นจริง รอบแรกจะทำเสมอ

12 รูปแบบคำสั่ง * ทำก่อนแล้วจึงตรวจสอบเงื่อนไขเพื่อวนรอบกลับไปทำซ้ำ
รูปแบบคำสั่ง * ทำก่อนแล้วจึงตรวจสอบเงื่อนไขเพื่อวนรอบกลับไปทำซ้ำ  do      {              คำสั่งที่ 1;                 คำสั่งที่ 2;                       คำสั่งเพิ่มค่าหรือลดค่า ;         } while (เงื่อนไข);

13 ตัวอย่างโปรแกรม ดังนี้
ตัวอย่างโปรแกรม ดังนี้  #include <stdio.h>           main()           {   int i;              i=1;                     do                     {        printf("i = %d\n",i);                               i++; //i=i+1                     } while (i<=10);             getch();           }

14 ตัวอย่างโปรแกรม วนรอบแสดงตัวอักษรจากแป้นพิมพ์ออกจอภาพ
ตัวอย่างโปรแกรม วนรอบแสดงตัวอักษรจากแป้นพิมพ์ออกจอภาพ  #include <stdio.h>           void main()             {     char  est;                   do {   est = getch();                         printf("\n%c", est);                         }                        while((est != 'a') && (est != 'b'));             }  // หมายเหตุ ตามแนวคิดทฤษฎี De Morgan's laws นั้น  NOT (a  OR  b) เป็นเหมือนกับ NOT  a  AND  NOT  b.

15 คำสั่ง for กำหนดจำนวนรอบที่แน่นอนได้
คำสั่ง for เป็นคำสั่งที่ใช้สำหรับการควบคุมทิศทางของโปรแกรมให้ ทำงานแบบวนรอบเช่นเดียวกับคำสั่ง while และ do-while สรุปการทำซ้ำแบบ for หรือ ลูป for จะเป็นการทำให้โปรแกรมทำซ้ำ จนกว่าค่าตัวแปรจะครบตามที่ตั้งไว้ เริ่มแรกโปรแกรมจะกำหนดค่าเริ่มต้น ให้กับตัวแปรเริ่มต้น (initialization) จากนั้นทำ คำสั่ง (statement)         

16 คำสั่ง for กำหนดจำนวนรอบที่แน่นอนได้

17 รูปแบบ *เงื่อนไขที่ใช้ในการควบคุมการวนรอบ โดยถ้าเงื่อนไขเป็นจริงจะทำในการวนรอบ (loop) แต่ถ้าเงื่อนไขไม่จริงจะออกจากการวนรอบ (loop) ทันที for (กำหนดค่าเริ่มต้นของตัวแปร ; กำหนดเงื่อนไข ; การเปลี่ยนค่าของตัวแปร)    {     คำสั่ง หรือ ชุดคำสั่งเมื่อเงื่อนไขเป็นจริง;    }

18 เช่น for(a=0;a<5;a++) จะอธิบายได้ คือ
ตัวอย่างอธิบาย เช่น for(a=0;a<5;a++) จะอธิบายได้ คือ for (เริ่มต้นของตัวแปร a มีค่า =0 ; เงื่อนไข ถ้า a มีค่าน้อย กว่า 5 ; ค่าของ a จะเพิ่มที่ละ 1) ดังนั้น ถ้า a มีค่าน้อยกว่า 5 เป็นจริง (ใช่) จะทำในการวนรอบ และ ถ้า a มีค่าน้อยกว่า 5 เป็นเท็จ (ไม่ใช่) ออกจากการวนรอบ

19 ตัวอย่างโปรแกรม เรียงตัวอักษร a ถึงอักษร z ออกมาแสดงทางหน้าจอ
#include <stdio.h> void main() {     char kchar ;     for (kchar='a'; kchar<='z'; kchar++)     printf("%c_", kchar); }

20 ตัวอย่างโปรแกรม เพิ่มค่าจากตัวเลข 0 ที่ละ 2 จนถึง 100
ตัวอย่างโปรแกรม เพิ่มค่าจากตัวเลข 0 ที่ละ 2 จนถึง 100 #include<stdio.h> main() {     int x,y;     for (x=0,y=0; x+y<=100; x++,y++)      printf("X+Y = %d\n", x+y); }

21 ตัวอย่างโปรแกรม เรียงตัวเลขจากศูนย์ถึงตัวเลขที่รับเข้ามา
ตัวอย่างโปรแกรม เรียงตัวเลขจากศูนย์ถึงตัวเลขที่รับเข้ามา #include<stdio.h> int main(void) {           int i;           int limit;           system("cls");           printf("\nPlease enter the limit:");           scanf("%d",&limit);                     for (i=1;i<=limit;i++)                               printf("\t%d\n",i);           getch();           return 0; }

22 กฎของคำสั่ง for กฎในการใช้คำสั่ง for มีดังนี้
ค่าที่เพิ่มขึ้นในแต่ละรอบของตัวแปรควบคุมนั้นจะเป็นเท่าไรก็ได้ เช่น for (x=0;x<=100;x=x+5) ค่าที่เพิ่มขึ้นของตัวแปรควบคุมถูกกำหนดให้ลดลงได้ ตัวแปรควบคุมอาจเป็นชนิดตัวอักษรได้ (character) เช่น for (ch=‘a’; ch<=‘z’ ; ch++) ตัวแปรควบคุมสามารถมีได้มากกว่า 1 ตัวแปร ถ้าไม่มีส่วนของการเปลี่ยนค่าของตัวแปร ให้เพิ่มการเพิ่มค่าหรือลดค่าลงไปในการวนรอบเพื่อสร้างเงื่อนไขการออกจาก การวนรอบ (loop) ถ้ามีการละเลย (กำหนดค่าเริ่มต้นของตัวแปร ; กำหนดเงื่อนไข ; การเปลี่ยนค่าของตัวแปร) จะเป็นการสั่งให้ทำงานใน วงจร for โดยไม่รู้จบก็ทำได้โดยใช้คำสั่ง break เข้ามาช่วย  เช่น for (;;) {  printf(“This loop will run forever \n”);  break;  } คำสั่ง for สามารถมีคำสั่ง for ซ้อนอยู่ภายใต้ได้

23 คำสั่งประกอบการควบคุมทิศทางแบบต่างๆ
คำสั่งสำหรับการควบคุมทิศทางการทำงานของโปรแกรมในแบบต่างๆ ที่มักจะถูกนำไปใช้ ร่วมกับคำสั่งอื่นๆ  เช่น นำไปใช้เพื่อหยุดการเลือกทำ หรือออกจากการทำงานแบบ วนรอบ ซึ่งคำสั่งเหล่านี้ได้แก่ คำสั่ง break คำสั่ง break  จะเป็นการสั่งให้ออกจาก loop ใดๆในทันที โดยไม่ทำประโยคที่เหลือใน loop  คำสั่ง continue คำสั่ง continue  จะเป็นการสั่งให้กลับไปทำประโยค ต้น  loop ใหม่  โดยที่ส่วนของประโยคที่อยู่หลัง continue จะไม่ถูกทำ

24 คำสั่งประกอบการควบคุมทิศทางแบบต่างๆ

25 คำสั่ง break  คำสั่ง break จะเป็นการสั่งให้ออกจาก loop ใดๆในทันที โดยไม่ทำประโยคที่เหลือใน loop     ตัวอย่างโปรแกรม           #include <stdio.h>          void main()             {                       int a =1, s=1 , sum;                           do                             {    sum=s+a;                                  if(a==20) break;                                  a++;     printf("a=%d\n",a);  }   while(a<=50);                       printf("sum=%d",sum);              }

26 คำสั่ง continue  คำสั่ง continue จะเป็นการสั่งให้กลับไปทำประโยคต้น  loop ใหม่  โดยที่ส่วนของประโยคที่อยู่หลัง continue จะไม่ถูกทำ   ตัวอย่างโปรแกรม       #include <stdio.h>           void main()             {   int a = 13;                  while(a<=100)                   {                        a++;                        if(a%5) // เปรียบเทียบหารเอาเศษลงตัวหรือไม่                         continue;                        printf("%d \n",a);                   }             }


ดาวน์โหลด ppt หน่วยที่ 5 โปรแกรมแบบวนรอบทำซ้ำ

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


Ads by Google