SlideShare a Scribd company logo
1 of 14
Download to read offline
!

                                                บทที่ 4
                                               การทําซํา้

♦! วามหมายของการทาซา
 ค               ํ ้ํ
         การทาซํ้าหรือการวนรอบ (loop) หมายถึง การกาหนดเงอนไขเพอใหโปรแกรมทางานใน
              ํ                                            ํ     ่ื      ่ื         ํ
statement หรือ กลุมของ statement เดิมซํ้าๆ 1 ครงหรอมากกวา โดยจํานวนครังของการทํางานจะเปนไป
                                                ้ั ื                  ้
ตามเงื่อนไขที่กาหนดไว มีประโยชนอยางยิ่งทําใหการเขียนโปรแกรมยืดหยุนและสะดวก การเขียน
                ํ                                                    
โปรแกรมมีประสิทธิภาพดวยคาสั่งกําหนดใหมีการทําซํ้าหรือวนรอบ
                              ํ
         ใน C++ มี statement เพอสงใหโปรแกรมมการทางานแบบทําซํ้า คือ for, while และ do…
                                ่ื ่ั             ี ํ
while ซึ่งจะกลาวถึงรายละเอียดตอไป


♦! ูป for
 ล
        ลูป for จะเริมดวยการนําคาเริ่มตนเปรียบเทียบกับเงื่อนไขที่กาหนดไว ถาเงื่อนไข เปนจริง จะทํา
                     ่                                               ํ
statement ในลูป ถา เปนเท็จ จะเลิกทํางานในลูป กรณีเมือตรวจสอบเงือนไขแลวเปนจริงเมือทํางานใน
                                                          ่            ่                    ่
ลูปแลว ก็จะเพิมหรือลดคาตัวแปรในเงือนไขอีก 1 หรือมากกวาตามที่กําหนดไวโดยอัตโนมัติ แลวตรวจ
               ่                        ่
สอบเงือนไขอีกครัง ถาเงื่อนไข เปนเท็จ จะเลิกทําซํ้าในลูป มีรูปแบบ statement ดังนี้
      ่          ้

                  1. ลูป for ทีมี statement เดยว มีรูปแบบ ดังนี้
                               ่              ี
                           for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร)
                                                        ่ื       ี ี
                                  statement;

                  2. ลูป for ทมหลาย statement มีรูปแบบ ดังนี้
                               ่ี ี
                           for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร)
                                                        ่ื     ี ี
                            { statement;
                             statement;
                             statement;
                             }




ศิริชัย นามบุรี                                                                                การทําซา
                                                                                                      ้ํ
!                                                   45

        3. ลูป for ซอนกัน หมายถึง มีการใช statement ของ for อีกในขณะมีการสั่งทําซํ้าดวย for ไว
แลว โปรแกรมจะดําเนนการทาซํ้าในลูป โดยแตละรอบของลูปนอก จะตองทาลูปในใหครบทุกรอบ
                       ิ     ํ                                       ํ
กอน แลวจงเรมทาลูปนอกในรอบตอไป มีรูปแบบทั่วไป ดังนี้
        ึ ่ิ ํ

                  for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร)
                                               ่ื      ี ี
                   { statement;                       ลปนอก
                                                        ู
                    statement;
                     for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร)
                                                  ่ื      ี ี
                       { statement;
                         statement;                               ลูปใน
                         statement;
                        }
                    statement;
                    statement;
                    }

           •! ตัวอยางโปแกรม for_exp1.cpp แสดงการใช for แบบ statement เดยว แสดงขอความซํา
                                                                         ี               ้
              หลายครั้งบนจอภาพ โดยกําหนดคาของตัวแปรตรวจสอบแบบเพิ่มคาและลดคาครั้งละ 1
              หรอมากกวา
                 ื       
/*Program : for_exp1.cpp
 Process : display for loop statement
*/
#include <iostream.h>
#include <conio.h>
void main()
{ int i;
 clrscr();
 for(i=1;i<=5;i++) //set initial i value and condition of for loop
    cout<< "Program C++n";
 getch();cout<<'n';
 // condition with decrease value i = i-1
 for(i=5;i>=1;i--)
   cout<< "I love C++ Languagen";
 getch();cout<<'n';
 for(i=16;i<=20;i++)

ศิริชัย นามบุรี                                                                          การเลือกทํา
!                                                   46
     cout<< "C++ Language is very easy for men";
    getch();
}
           •! ตัวอยางโปรแกรม for_exp2.cpp แสดงการใช for แบบหลาย statement คํานวณผลรวมและ
              คาเฉลี่ยจํานวน 1-10
/*Program : for_exp2.cpp
 Process : Calculate summation and everage 1-10, display all
*/
#include <iostream.h>
#include <conio.h>
void main()
{ float i,summation;
 float average;
 //begin statement
 clrscr();
 summation=0;average=0; // set initial value
 cout<< "Progarm display summation and average 1-10n";
 for(i=1;i<=10;i++)
 { cout<<i<<'n';
   summation=summation+i; //calculate summation 1-10
 }
 average=summation/10;
 cout<< "nSummation 1-10 = "<<summation;
 cout<< "nAverage 1-10 = "<<average;
 getch();

           •! ตัวอยางโปรแกรม for_exp3.cpp แสดงการหาผลรวมและคาเฉลย จานวนตั้งแต 1-n โดยทีผู
                                                                  ่ี ํ                    ่
              ใชสามารถกรอกคา n ในการคํานวณได

/*Program : for_exp3.cpp
 Process : Calculate summation and everage 1-n, display all
*/
#include <iostream.h>
#include <conio.h>

void main()
{ float i,summation,n;
 float average;
 //begin statement
 clrscr();

ศิริชัย นามบุรี                                                                      การเลือกทํา
!                                                    47
    summation=0;average=0; // set initial value
    cout<< "Progarm display summation and average 1-nn";
    cout<< "Please enter n : ";cin>>n;
    for(i=1;i<=n;i++)
    { cout<<i<<" ";
      summation=summation+i; //calculate summation 1-10
    }
    average=summation/n;
    cout<< "nSummation 1-10 = "<<summation;
    cout<< "nAverage 1-10 = "<<average;
    getch();
}

        •! ตัวอยางโปรแกรม for_exp4.cpp แสดงการใช for แบบซอนกัน เพื่อคํานวณการคูณและ
            แสดงผลลัพธ
/*Program : for_exp4.cpp
 Process : Calculate multiply number and display all
*/
#include <iostream.h>
#include <conio.h>
void main()
{ int i,j;

    //begin statement
    clrscr();
    cout<< "Display Multiply calculation :n";
    for(i=2;i<=4;i++) //begin external loop
    { clrscr();
      cout<< "Display Multiply calculation of "<<i<<'n';
      for (j=1;j<=12;j++) //begin internal loop
       {
         cout<<i<<"*"<<j<<" = "<<i*j;
         cout<<'n';
       } //end of internal loop
      cout<< "press any key to continue...";
      getch();
     } //end of external loop
     cout<< "nEnd of program....an";getch();
}
♦! ูป while
 ล

ศิริชัย นามบุรี                                                                   การเลือกทํา
!                                                  48

       ลูป while จะเริมการทํางานดวยการทดสอบเงื่อนไขที่กาหนดไวตนลูปกอนเสมอ ถาเงอนไขเปน
                      ่                                 ํ                           ่ื     
จริง จะทํางานซําในลูป แตถาเงือนไขเปน เทจ จะเลิกทํางานในลูป (ทางานในลูปขณะที่เงื่อนไขเปนจริง
               ้            ่           ็                     ํ
เทานน) รปแบบของ while มดงน้ี
   ้ั ู                  ีั

           1. ลูป while ที่มี statement เดียว มรปแบบดงน้ี
                                               ีู    ั
                   while(เงอนไขเปรยบเทยบ)
                              ่ื        ี ี
                      statement;
           2. ลูป while ที่มีหลาย statement มรปแบบดงน้ี
                                               ีู        ั
                   while(เงอนไขเปรยบเทยบ)
                              ่ื       ี ี
               { statement;
                       statement;
                       statement;
                    }
           3. ลูป while ซอนกัน มีรูปแบบ ดังนี้
                   while(เงอนไขเปรยบเทยบของลปนอก)
                                 ่ื      ี ี       ู
               { statement;
                       statement;
                       while(เงอนไขเปรยบเทยบของลปใน)
                                    ่ื     ี ี         ู
                   { statement;
                            statement;
                            statement;
                          }
                       statement;
                       statement;
                    }




ศิริชัย นามบุรี                                                                      การเลือกทํา
!                                                     49

           •! ตัวอยางโปรแกรม while1.cpp แสดงการกําหนดเงอนไข เพื่อใหสามารถพิมพขอความซํา ๆ
                                                        ่ื                               ้
              ได จานวน 5 ครัง ดังนี้
                   ํ         ้
/*Program : while1.cpp
  Process : display text 5 times
*/
#include <iostream.h>
#include <conio.h>
void main()
{ int i;
  clrscr();
  i=1; //set initial of variable in while conditio
  while(i<=5)
  { cout<< "I love C++ Langaugen";
    i++; // increase variable value
  }
  getch();
}

           •! ตัวอยางโปแกรม while2.cpp แสดงการทํางานของโปรแกรมโดยใช while แบบ หลาย
              statement โดยโปรแกรมจะใหพิมพตัวอักขระที่ถูกตอง ซึ่งมีอยู 3 ตัว คือ 8, * และ a ตัวใด
              ตวหนง ถาพิมพอักขระไมตรงตามที่กาหนดไว โปรแกรมจะใหพิมพใหมทางคียบอรด ดังนี้
                ั ่ึ                           ํ                                        

/*Program : while2.cpp
 Process : enter correct character
*/
#include <iostream.h>
#include <conio.h>
void main()
{ char ch;
 int count;
    //begin statement
    clrscr();
    count=0;
    cout<< "Please enter character : n";
    while (ch!='8' && ch!='*' && ch!='a' )
    {cin>>ch; //enter character from keyboard
     count++; //count of times that enter character
    }

ศิริชัย นามบุรี                                                                            การเลือกทํา
!                                                       50
    cout<< "Character "<<ch<< " is correct !!! an";
    cout<<"You enter "<<count<<" times";
    getch();
}

           •! ตัวอยางโปรแกรม while3.cpp แสดงการคานวณผลรวมและหาคาเฉลยของจํานวน 1 - 10
                                                  ํ                  ่ี
              ดวยการใชลูป while ทใหผลลพธเ หมอนการใชลป for
                                   ่ี  ั      ื      ู

/*Program : while4.cpp
  Process : calculate summation and average 1-10*/
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{ float number,sum,average;
  //begin statment
  clrscr();
  cout<< "Program calculate summation and average 1-10n";
  sum=0; average=0; number=1;
  while (number<=10) //begin loop
  { cout<<number<<'n';
    sum+=number; //same as … sum=sum+number
    number++; //increase variable +1
   } //end loop
  average=sum/(number-1);
  cout<< "nSummation number 1-10 = "<<sum;
  cout<< "nAverage number 1-10= "<<setprecision(2)<<average;
  getch();
}




ศิริชัย นามบุรี                                                               การเลือกทํา
!                                                    51

♦! ูป do
 ล
       ลูป do จะเรมดวยการทางาน รอบแรก 1 รอบกอนเสมอ และมีการทดสอบเงื่อนไขที่ทายลูป
                  ่ิ      ํ                      
ถาเงอนไขเปน จริง จะมีการทําซํ้าในลูป แตถาเงือนไขเปน เทจ จะเลิกทํางานในลูป มรปแบบดงน้ี
  ่ื                                    ่            ็                    ีู    ั

           1. ลูป do ที่มี statement เดียว มรปแบบดงน้ีีู    ั
                     do
                         statement;
                     while(เงอนไขเปรยบเทยบ);
                              ่ื             ี ี
           2. ลูป do ที่มีหลาย statement มรปแบบดงน้ี
                                                   ีู     ั
                     do{
                  statement;
                         statement;
                   statement;
                       }while(เงอนไขเปรยบเทยบ);
                                    ่ื          ี ี
           3. ลูป do ซอนกัน มรปแบบดงน้ี
                                       ีู        ั
                     do{
                  statement;
                        statement;
                        do{
                       statement;
                             statement;
                            }while(เงอนไขเปรยบเทยบลปใน);
                                          ่ื           ี ี ู
                        statement;
                      }while(เงอนไขเปรยบเทยบลปนอก);
                                 ่ื            ี ี ู




ศิริชัย นามบุรี                                                                 การเลือกทํา
!                                              52

          •! ตัวอยางโปรแกรม dowhile1.cpp แสดงการพิมพขอความ I love C++ Langauge ซํา
                                                                                    ้
               จานวน 5 ครัง โดยใชลป do แบบหลาย statement
                ํ            ้          ู
/*Program : dowhile1.cpp
  Process : display text 5 times*/
#include <iostream.h>
#include <conio.h>
void main()
{ int i;
  clrscr();
  i=1; //set initial of variable in do...while condition
  //begin loop
  do{
     cout<< "I love C++ Langaugen";
     i++; //increase value of i variable +1
    }while(i<=5); //condition for loop
  getch();
}
          •! โปรแกรม dowhile2.cpp แสดงการคํานวณผลรวมและคาเฉลี่ย 1-10 โดยใชลป do…while
                                                                              ู
               ซึ่งใหผลลัพธเหมือนกับการใชลูป while

/*Program : dowhile2.cpp
 Process : calculate summation and average 1-10
*/
#include <iostream.h>
#include <conio.h>
void main()
{ float number,sum,average;
 //begin statment
 clrscr();
 cout<< "Program calculate summation and average 1-10n";
 sum=0; average=0;
 number=1;
 do{
    cout<<number<<'n';
    sum+=number; //calculate summation
    number++;

ศิริชัย นามบุรี                                                                การเลือกทํา
!                                                53

     }while (number<=10);
    average=sum/(number-1);
    cout<< "nSummation number 1-10 = "<<sum;
    cout<< "nAverage number 1-10= "<<average;
    getch();
}


♦! ารออกจากลูปดวย break
 ก
        break เปนคยเ วรด(keyword) เพื่อใหเลิกการทํางานหรอออกจากลปทนที
                     ี ิ                                     ื        ู ั        ในขณะที่การ
ทดสอบเงื่อนไขที่กาหนดไว ยังไมใหคาเปรียบเทียบที่มีผลใหตองออกจากลูป สามารถนํา break ไปใชได
                  ํ
กับลูปทุกประเภท (โดยสวนใหญ break ใชรวมกับประโยคที่มีเงื่อนไขมากอน เชน if ตัวอยางการใช
                                                                           
break กับลูป for เปนดงน้ี
                      ั
               for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร)
                                            ่ื       ี ี
                { statement;
                 statement;
                 break;                ออกจากลูป
                 statement;
                 }

           •! ตัวอยางโปรแกรม break.cpp แสดงการทํางานหาผลรวมของลูป for ของเลข 1-100 แตมี
                  เงอนไขวา ถาคาของตัวแปร row มากกวา 23 ให break ออกจากลูปกอนที่จะครบ
                    ่ื   
                  100 รอบ
/*Program : break.cpp
 Process : display using 'break' in for loop*/
#include <iostream.h>
#include <conio.h>
void main()
{ int x,row,sum;
 clrscr();
 row=0;sum=0;
 for(x=1;x<=100;++x) //condition for 100 loop
 { cout<<"x="<<x<<'n';
   sum+=x;
   row++;

ศิริชัย นามบุรี                                                                        การเลือกทํา
!                                                  54
     if(row>23) //condition of break
       break;
    }
    cout<<"summation 1-"<<x<<" = "<<sum; getch();
}

♦! ารยอนกลับไปตนลูปดวย continue
 ก
        continue เปนคยเ วรด (keyword) เพื่อกําหนดใหโปรแกรมยอนกลบไปเรมทางานที่ตนลูปนั้น
                      ี ิ                                        ั      ่ิ ํ
ใหม ในขณะที่ยังทางานไมถึงทายลูป หรือยังไมครบจํานวนรอบทกาหนดไวในเงือนไข สามารถใช
                   ํ                                        ่ี ํ          ่
continue กับลูป for while do…while ไดทุกประเภท
        •! ตัวอยางโปรแกรม continue.cpp แสดงการใช continue ใหกลบไปเรมทํางานทตนลปใหม
                                                                  ั   ่ิ        ่ี  ู

/*Program : continue.cpp
 Process : display keyword 'continue' in do...while loop */
 #include<iostream.h>
 #include<conio.h>
 void main()
 { float x,y;
  char choice;
  do{
     clrscr();
     cout<< "nProgram Divide Calculation x/y";
     cout<< "n******************************";
     cout<< "nEnter X : "; cin>>x;
     cout<< "nEnter Y : "; cin>>y;
     if(y==0)
     { cout<< "annCan't divide by zero !!!";
       cout<< "npress any key to continue...";
       getch();
       continue; //return to begin loop
     }
     cout<< "n*** Result "<<x<<"/"<<y<<" = "<<x/y;
     cout<< "nnCalculate another <y or n> ? ";
     cin>>choice;
   }while((choice!='n')&&(choice!='N'));
   clrscr();
}




ศิริชัย นามบุรี                                                                การเลือกทํา
!                                              55

♦! บบฝกหัดทายบท
 แ

1. ใหเ ขยนโปรแกรมเพอคานวณหาคา n! ( n factorial) โดยกรอกคา n ทางคียบอรดได
           ี                   ่ื ํ                                           
2. ใหเ ขยนโปรแกรมเพอแสดงตวอกขระ(character) จากรหส ASCII ตงแต 0 - 255
         ี                  ่ื                      ั ั                   ั           ้ั
3. ใหเ ขยนโปรแกรมแสดงจานวนเลขค่ี(odd) ตงแต 1-1000 คํานวณหาผลรวมและคาเฉลี่ยของจํานวนคี่
             ี                            ํ                       ้ั
    พรอมกบนบวามจํานวนคกจานวนทหารดวย 3 และ 4 ลงตัว มจํานวนใดบาง และมีกี่จํานวน
         ั ั  ี                           ่ี ่ี ํ       ่ี                    ี
4. ใหเ ขยนโปรแกรมหาจานวนท่ี 3 และ 6 หารลงตว ระหวาง 500 – 1000 พรอมกับนับวามีกี่
               ี                      ํ                                 ั    
    จํานวน รวมถึงคํานวณหาผลรวมและคาเฉลี่ยของจํานวนดังกลาว
5. ใหเขียนโปรแกรมเพือแสดงตารางการคูณ โดยสามารถกําหนดจํานวนเริมตน และจํานวนสุดทาย
                                 ่                                                       ่
   ไดทางคียบอรด เชน    
    Begin : 2
    End : 4
    Result
    2*1=2                               3*1=3                 4*1=2
    2*2=4                               3*2=6                 4*2=8
    2*3=6                               3*3=9                 4*3=12
    ………                                 ……..                  ……….
    2*12=24                             3*12=36               4*12=48
6. ใหเ ขยนโปรแกรมเพอแสดงจํานวนตวเลข และหาผลรวมของจํานวนคูและคี่ ใหมีรูปแบบการแสดง
                  ี                ่ื                       ั
ผลดังนี้
                 1    3                 5             7       9      11   13       15      17 19
                 2    4                 6             8       10     12   14       16      18 20
                 SUMMATION OF ODD NUMBER = xxx
                 SUMMATION OF EVEN NUMBER = xxx
7. จงเขียนโปรแกรมแสดงการคํานวณเลขยกกําลังสอง จํานวน 1 -10 ใหมีรูปแบบการแสดงผลดังนี้
                 1    1
                 2    4
                 3    9
                 4    16
                 …    ….
                 10   100


ศิริชัย นามบุรี                                                                         การเลือกทํา
!                                           56

8. ใหเ ขยนโปรแกรมคํานวณการคณ ของ 1 -9 ใหมีรูปแบบการแสดงผล ดังนี้
         ี                  ู

                  1   2      3       4      5       6      7       8      9
     1            1
     2            2   4
     3            3   6      9
     4            4   8      12      16
     5            5   10     15      20     25
     6            6   12     18      24     30      36
     7            7   14     21      28     35      48     49
     8            8   16     24      32     40      45     56      64
     9            9   18     27      36     45      54     63      72     81

9. ใหเขียนโปรแกรมแสดงคาจํานวนเฉพาะ(prime) มีชวงขอมูลระหวาง 1- 300 พรอมกับนับวามี
    จํานวนเฉพาะ(prime) กี่จํานวน
10. สมมติให I , J , K เปนตวแปรประเภท integer ใหเขียนรูปแบบผลลัพธของโปรแกรมที่กาหนดให
                           ั                                                    ํ
    ดังนี้
    10.1 I=0;
           J=0;
           for(;;)
           { K=2*I*J;
                   if(K>10)
                      break;
                   cout<<I<<J<<K<<'n';
                   I++;
                   J++;
           }
           cout<<K<<'n';




ศิริชัย นามบุรี                                                                   การเลือกทํา
!                                                  57
     10.2 I=0;
          J=0;
          for(;;)
          { K=2*I*J;
                  if(K>10)
                     break;
                  cout<<I<<J<<K<<'n';
                  if(I+J>5)
                   break;
                  I++;
                  J++;
          }
          cout<<K<<'n';

     10.3 I=5;
           for(;;)
           { cout<<I;
                   I -=2;
                   if(I<1)
                      break;
                   J=0;
                   for(;;)
                   {        J++;
                            cout<<J;
                            if(J>=I)
                            break;
                   }
                 cout<<"###n";
         }
         cout<<"***n";

11. Write a prgram to read a sequence of positive integers and to print the greatest of thest. Use a
    negative to signal the end of the input data.
12. Write a program that reads a sequence of positive real numbers and computes their average. A
    negative number to signal the end of the input data.




ศิริชัย นามบุรี                                                                                 การเลือกทํา

More Related Content

What's hot

ตัวแปรชนิดพอยเตอร์ (Pointer)
ตัวแปรชนิดพอยเตอร์ (Pointer)ตัวแปรชนิดพอยเตอร์ (Pointer)
ตัวแปรชนิดพอยเตอร์ (Pointer)tumetr
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก.
การเขียนคำสั่งควบคุมแบบมีทางเลือก.การเขียนคำสั่งควบคุมแบบมีทางเลือก.
การเขียนคำสั่งควบคุมแบบมีทางเลือก.Mink Kamolwan
 
การควบคุมทิศทางในภาษา C
การควบคุมทิศทางในภาษา Cการควบคุมทิศทางในภาษา C
การควบคุมทิศทางในภาษา CWarawut
 
7 pointer day10
7  pointer day107  pointer day10
7 pointer day10xuou888
 
C Programming
C ProgrammingC Programming
C ProgrammingWarawut
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา CWarawut
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา JavaItslvle Parin
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเทวัญ ภูพานทอง
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาThanachart Numnonda
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาThanachart Numnonda
 
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกNaphamas
 

What's hot (20)

ตัวแปรชนิดพอยเตอร์ (Pointer)
ตัวแปรชนิดพอยเตอร์ (Pointer)ตัวแปรชนิดพอยเตอร์ (Pointer)
ตัวแปรชนิดพอยเตอร์ (Pointer)
 
การเขียนคำสั่งควบคุมแบบมีทางเลือก.
การเขียนคำสั่งควบคุมแบบมีทางเลือก.การเขียนคำสั่งควบคุมแบบมีทางเลือก.
การเขียนคำสั่งควบคุมแบบมีทางเลือก.
 
chapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุมchapter 3 คำสั่งควบคุม
chapter 3 คำสั่งควบคุม
 
C slide
C slideC slide
C slide
 
การควบคุมทิศทางในภาษา C
การควบคุมทิศทางในภาษา Cการควบคุมทิศทางในภาษา C
การควบคุมทิศทางในภาษา C
 
7 pointer day10
7  pointer day107  pointer day10
7 pointer day10
 
C Programming
C ProgrammingC Programming
C Programming
 
การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา Cการเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
 
บทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Javaบทที่ 3 พื้นฐานภาษา Java
บทที่ 3 พื้นฐานภาษา Java
 
เครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซีเครื่องหมายและการดำเนินการในภาษาซี
เครื่องหมายและการดำเนินการในภาษาซี
 
พื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวาพื้นฐานโปรแกรมภาษาจาวา
พื้นฐานโปรแกรมภาษาจาวา
 
Intro c
Intro cIntro c
Intro c
 
C lang
C langC lang
C lang
 
3 instruction design
3 instruction design3 instruction design
3 instruction design
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวาความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
 
คำสั่งเบื้องต้น
คำสั่งเบื้องต้นคำสั่งเบื้องต้น
คำสั่งเบื้องต้น
 
หน่วยที่3คำสั่งเบื้องต้น
หน่วยที่3คำสั่งเบื้องต้นหน่วยที่3คำสั่งเบื้องต้น
หน่วยที่3คำสั่งเบื้องต้น
 
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือกกลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
 
03 input math
03 input math03 input math
03 input math
 
Java AWT
Java AWTJava AWT
Java AWT
 

Viewers also liked (17)

บทที่1
บทที่1บทที่1
บทที่1
 
บท6
บท6บท6
บท6
 
บท5
บท5บท5
บท5
 
บท6
บท6บท6
บท6
 
บทที่ 1 ลักษณะทั่วไปของหนังสืออิเล็กทรอนิกส์
บทที่ 1 ลักษณะทั่วไปของหนังสืออิเล็กทรอนิกส์บทที่ 1 ลักษณะทั่วไปของหนังสืออิเล็กทรอนิกส์
บทที่ 1 ลักษณะทั่วไปของหนังสืออิเล็กทรอนิกส์
 
Lesson1
Lesson1Lesson1
Lesson1
 
บท4
บท4บท4
บท4
 
บทที่ 2 สร้าง e book ง่ายและเร็ว
บทที่ 2 สร้าง e book ง่ายและเร็วบทที่ 2 สร้าง e book ง่ายและเร็ว
บทที่ 2 สร้าง e book ง่ายและเร็ว
 
บทที่ 3 การควบคุม e book
บทที่ 3 การควบคุม e bookบทที่ 3 การควบคุม e book
บทที่ 3 การควบคุม e book
 
บท2
บท2บท2
บท2
 
บท5
บท5บท5
บท5
 
บท6
บท6บท6
บท6
 
Lesson1
Lesson1Lesson1
Lesson1
 
บท3
บท3บท3
บท3
 
บท6
บท6บท6
บท6
 
Chapter1
Chapter1Chapter1
Chapter1
 
บท3
บท3บท3
บท3
 

Similar to Lesson4

อยากเขียนโปรแกรมสักตัว เล่ม 1
อยากเขียนโปรแกรมสักตัว เล่ม 1อยากเขียนโปรแกรมสักตัว เล่ม 1
อยากเขียนโปรแกรมสักตัว เล่ม 1Thinnakrit Knoo-Aksorn
 
Java-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration StatementsJava-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration StatementsWongyos Keardsri
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1Little Tukta Lita
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นDararat Worasut
 
Java script เบื้องต้น
Java script เบื้องต้นJava script เบื้องต้น
Java script เบื้องต้นSamart Phetdee
 
Flowchart
FlowchartFlowchart
FlowchartKo Kung
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)Kroopop Su
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมThanachart Numnonda
 

Similar to Lesson4 (20)

อยากเขียนโปรแกรมสักตัว เล่ม 1
อยากเขียนโปรแกรมสักตัว เล่ม 1อยากเขียนโปรแกรมสักตัว เล่ม 1
อยากเขียนโปรแกรมสักตัว เล่ม 1
 
ภาษาซีเบื้องต้น
ภาษาซีเบื้องต้นภาษาซีเบื้องต้น
ภาษาซีเบื้องต้น
 
Java-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration StatementsJava-Chapter 04 Iteration Statements
Java-Chapter 04 Iteration Statements
 
ทบทวนภาษา C(1)
ทบทวนภาษา C(1)ทบทวนภาษา C(1)
ทบทวนภาษา C(1)
 
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
ฟังก์ชั่นย่อยและโปรแกรมมาตรฐาน ม.6.1
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 docx
Pbl2 docxPbl2 docx
Pbl2 docx
 
Pbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้นPbl2 นะแนนxปิ้น
Pbl2 นะแนนxปิ้น
 
Know4 3
Know4 3Know4 3
Know4 3
 
Java script เบื้องต้น
Java script เบื้องต้นJava script เบื้องต้น
Java script เบื้องต้น
 
Know4 2
Know4 2Know4 2
Know4 2
 
ฟังก์ชั่น break
ฟังก์ชั่น breakฟังก์ชั่น break
ฟังก์ชั่น break
 
11
1111
11
 
Flowchart credit :
Flowchart credit : Flowchart credit :
Flowchart credit :
 
Flowchart
FlowchartFlowchart
Flowchart
 
การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)การเขียนผังงาน(Flowchart)
การเขียนผังงาน(Flowchart)
 
งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6งานทำ Blog บทที่ 6
งานทำ Blog บทที่ 6
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุมJava Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
 
4 การเขียนคำสั่งแบบวนซ้ำ
4 การเขียนคำสั่งแบบวนซ้ำ 4 การเขียนคำสั่งแบบวนซ้ำ
4 การเขียนคำสั่งแบบวนซ้ำ
 
Pbl2
Pbl2Pbl2
Pbl2
 

More from โทโม๊ะจัง นานะ (12)

บทที่ 4 เรื่องทำงานกับไฟล์ e book
บทที่ 4 เรื่องทำงานกับไฟล์ e bookบทที่ 4 เรื่องทำงานกับไฟล์ e book
บทที่ 4 เรื่องทำงานกับไฟล์ e book
 
บทที่ 4 เรื่องทำงานกับไฟล์ e book
บทที่ 4 เรื่องทำงานกับไฟล์ e bookบทที่ 4 เรื่องทำงานกับไฟล์ e book
บทที่ 4 เรื่องทำงานกับไฟล์ e book
 
เฉลยแบบฝึกหัดบทที่ 1
เฉลยแบบฝึกหัดบทที่ 1เฉลยแบบฝึกหัดบทที่ 1
เฉลยแบบฝึกหัดบทที่ 1
 
Lesson6
Lesson6Lesson6
Lesson6
 
Lesson2
Lesson2Lesson2
Lesson2
 
บท1
บท1บท1
บท1
 
บท1
บท1บท1
บท1
 
บท2
บท2บท2
บท2
 
B2
B2B2
B2
 
บท6
บท6บท6
บท6
 
บท4
บท4บท4
บท4
 
บท5
บท5บท5
บท5
 

Lesson4

  • 1. ! บทที่ 4 การทําซํา้ ♦! วามหมายของการทาซา ค ํ ้ํ การทาซํ้าหรือการวนรอบ (loop) หมายถึง การกาหนดเงอนไขเพอใหโปรแกรมทางานใน ํ ํ ่ื ่ื  ํ statement หรือ กลุมของ statement เดิมซํ้าๆ 1 ครงหรอมากกวา โดยจํานวนครังของการทํางานจะเปนไป ้ั ื  ้ ตามเงื่อนไขที่กาหนดไว มีประโยชนอยางยิ่งทําใหการเขียนโปรแกรมยืดหยุนและสะดวก การเขียน ํ  โปรแกรมมีประสิทธิภาพดวยคาสั่งกําหนดใหมีการทําซํ้าหรือวนรอบ ํ ใน C++ มี statement เพอสงใหโปรแกรมมการทางานแบบทําซํ้า คือ for, while และ do… ่ื ่ั  ี ํ while ซึ่งจะกลาวถึงรายละเอียดตอไป ♦! ูป for ล ลูป for จะเริมดวยการนําคาเริ่มตนเปรียบเทียบกับเงื่อนไขที่กาหนดไว ถาเงื่อนไข เปนจริง จะทํา ่ ํ statement ในลูป ถา เปนเท็จ จะเลิกทํางานในลูป กรณีเมือตรวจสอบเงือนไขแลวเปนจริงเมือทํางานใน ่ ่ ่ ลูปแลว ก็จะเพิมหรือลดคาตัวแปรในเงือนไขอีก 1 หรือมากกวาตามที่กําหนดไวโดยอัตโนมัติ แลวตรวจ ่ ่ สอบเงือนไขอีกครัง ถาเงื่อนไข เปนเท็จ จะเลิกทําซํ้าในลูป มีรูปแบบ statement ดังนี้ ่ ้ 1. ลูป for ทีมี statement เดยว มีรูปแบบ ดังนี้ ่ ี for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร) ่ื ี ี statement; 2. ลูป for ทมหลาย statement มีรูปแบบ ดังนี้ ่ี ี for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร) ่ื ี ี { statement; statement; statement; } ศิริชัย นามบุรี การทําซา ้ํ
  • 2. ! 45 3. ลูป for ซอนกัน หมายถึง มีการใช statement ของ for อีกในขณะมีการสั่งทําซํ้าดวย for ไว แลว โปรแกรมจะดําเนนการทาซํ้าในลูป โดยแตละรอบของลูปนอก จะตองทาลูปในใหครบทุกรอบ ิ ํ   ํ กอน แลวจงเรมทาลูปนอกในรอบตอไป มีรูปแบบทั่วไป ดังนี้  ึ ่ิ ํ for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร) ่ื ี ี { statement; ลปนอก ู statement; for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร) ่ื ี ี { statement; statement; ลูปใน statement; } statement; statement; } •! ตัวอยางโปแกรม for_exp1.cpp แสดงการใช for แบบ statement เดยว แสดงขอความซํา ี ้ หลายครั้งบนจอภาพ โดยกําหนดคาของตัวแปรตรวจสอบแบบเพิ่มคาและลดคาครั้งละ 1 หรอมากกวา ื  /*Program : for_exp1.cpp Process : display for loop statement */ #include <iostream.h> #include <conio.h> void main() { int i; clrscr(); for(i=1;i<=5;i++) //set initial i value and condition of for loop cout<< "Program C++n"; getch();cout<<'n'; // condition with decrease value i = i-1 for(i=5;i>=1;i--) cout<< "I love C++ Languagen"; getch();cout<<'n'; for(i=16;i<=20;i++) ศิริชัย นามบุรี การเลือกทํา
  • 3. ! 46 cout<< "C++ Language is very easy for men"; getch(); } •! ตัวอยางโปรแกรม for_exp2.cpp แสดงการใช for แบบหลาย statement คํานวณผลรวมและ คาเฉลี่ยจํานวน 1-10 /*Program : for_exp2.cpp Process : Calculate summation and everage 1-10, display all */ #include <iostream.h> #include <conio.h> void main() { float i,summation; float average; //begin statement clrscr(); summation=0;average=0; // set initial value cout<< "Progarm display summation and average 1-10n"; for(i=1;i<=10;i++) { cout<<i<<'n'; summation=summation+i; //calculate summation 1-10 } average=summation/10; cout<< "nSummation 1-10 = "<<summation; cout<< "nAverage 1-10 = "<<average; getch(); •! ตัวอยางโปรแกรม for_exp3.cpp แสดงการหาผลรวมและคาเฉลย จานวนตั้งแต 1-n โดยทีผู ่ี ํ ่ ใชสามารถกรอกคา n ในการคํานวณได /*Program : for_exp3.cpp Process : Calculate summation and everage 1-n, display all */ #include <iostream.h> #include <conio.h> void main() { float i,summation,n; float average; //begin statement clrscr(); ศิริชัย นามบุรี การเลือกทํา
  • 4. ! 47 summation=0;average=0; // set initial value cout<< "Progarm display summation and average 1-nn"; cout<< "Please enter n : ";cin>>n; for(i=1;i<=n;i++) { cout<<i<<" "; summation=summation+i; //calculate summation 1-10 } average=summation/n; cout<< "nSummation 1-10 = "<<summation; cout<< "nAverage 1-10 = "<<average; getch(); } •! ตัวอยางโปรแกรม for_exp4.cpp แสดงการใช for แบบซอนกัน เพื่อคํานวณการคูณและ แสดงผลลัพธ /*Program : for_exp4.cpp Process : Calculate multiply number and display all */ #include <iostream.h> #include <conio.h> void main() { int i,j; //begin statement clrscr(); cout<< "Display Multiply calculation :n"; for(i=2;i<=4;i++) //begin external loop { clrscr(); cout<< "Display Multiply calculation of "<<i<<'n'; for (j=1;j<=12;j++) //begin internal loop { cout<<i<<"*"<<j<<" = "<<i*j; cout<<'n'; } //end of internal loop cout<< "press any key to continue..."; getch(); } //end of external loop cout<< "nEnd of program....an";getch(); } ♦! ูป while ล ศิริชัย นามบุรี การเลือกทํา
  • 5. ! 48 ลูป while จะเริมการทํางานดวยการทดสอบเงื่อนไขที่กาหนดไวตนลูปกอนเสมอ ถาเงอนไขเปน ่ ํ  ่ื  จริง จะทํางานซําในลูป แตถาเงือนไขเปน เทจ จะเลิกทํางานในลูป (ทางานในลูปขณะที่เงื่อนไขเปนจริง ้  ่ ็ ํ เทานน) รปแบบของ while มดงน้ี  ้ั ู ีั 1. ลูป while ที่มี statement เดียว มรปแบบดงน้ี ีู ั while(เงอนไขเปรยบเทยบ) ่ื ี ี statement; 2. ลูป while ที่มีหลาย statement มรปแบบดงน้ี ีู ั while(เงอนไขเปรยบเทยบ) ่ื ี ี { statement; statement; statement; } 3. ลูป while ซอนกัน มีรูปแบบ ดังนี้ while(เงอนไขเปรยบเทยบของลปนอก) ่ื ี ี ู { statement; statement; while(เงอนไขเปรยบเทยบของลปใน) ่ื ี ี ู { statement; statement; statement; } statement; statement; } ศิริชัย นามบุรี การเลือกทํา
  • 6. ! 49 •! ตัวอยางโปรแกรม while1.cpp แสดงการกําหนดเงอนไข เพื่อใหสามารถพิมพขอความซํา ๆ ่ื ้ ได จานวน 5 ครัง ดังนี้ ํ ้ /*Program : while1.cpp Process : display text 5 times */ #include <iostream.h> #include <conio.h> void main() { int i; clrscr(); i=1; //set initial of variable in while conditio while(i<=5) { cout<< "I love C++ Langaugen"; i++; // increase variable value } getch(); } •! ตัวอยางโปแกรม while2.cpp แสดงการทํางานของโปรแกรมโดยใช while แบบ หลาย statement โดยโปรแกรมจะใหพิมพตัวอักขระที่ถูกตอง ซึ่งมีอยู 3 ตัว คือ 8, * และ a ตัวใด ตวหนง ถาพิมพอักขระไมตรงตามที่กาหนดไว โปรแกรมจะใหพิมพใหมทางคียบอรด ดังนี้ ั ่ึ ํ      /*Program : while2.cpp Process : enter correct character */ #include <iostream.h> #include <conio.h> void main() { char ch; int count; //begin statement clrscr(); count=0; cout<< "Please enter character : n"; while (ch!='8' && ch!='*' && ch!='a' ) {cin>>ch; //enter character from keyboard count++; //count of times that enter character } ศิริชัย นามบุรี การเลือกทํา
  • 7. ! 50 cout<< "Character "<<ch<< " is correct !!! an"; cout<<"You enter "<<count<<" times"; getch(); } •! ตัวอยางโปรแกรม while3.cpp แสดงการคานวณผลรวมและหาคาเฉลยของจํานวน 1 - 10 ํ ่ี ดวยการใชลูป while ทใหผลลพธเ หมอนการใชลป for ่ี  ั ื ู /*Program : while4.cpp Process : calculate summation and average 1-10*/ #include <iostream.h> #include <conio.h> #include <iomanip.h> void main() { float number,sum,average; //begin statment clrscr(); cout<< "Program calculate summation and average 1-10n"; sum=0; average=0; number=1; while (number<=10) //begin loop { cout<<number<<'n'; sum+=number; //same as … sum=sum+number number++; //increase variable +1 } //end loop average=sum/(number-1); cout<< "nSummation number 1-10 = "<<sum; cout<< "nAverage number 1-10= "<<setprecision(2)<<average; getch(); } ศิริชัย นามบุรี การเลือกทํา
  • 8. ! 51 ♦! ูป do ล ลูป do จะเรมดวยการทางาน รอบแรก 1 รอบกอนเสมอ และมีการทดสอบเงื่อนไขที่ทายลูป ่ิ  ํ  ถาเงอนไขเปน จริง จะมีการทําซํ้าในลูป แตถาเงือนไขเปน เทจ จะเลิกทํางานในลูป มรปแบบดงน้ี  ่ื   ่ ็ ีู ั 1. ลูป do ที่มี statement เดียว มรปแบบดงน้ีีู ั do statement; while(เงอนไขเปรยบเทยบ); ่ื ี ี 2. ลูป do ที่มีหลาย statement มรปแบบดงน้ี ีู ั do{ statement; statement; statement; }while(เงอนไขเปรยบเทยบ); ่ื ี ี 3. ลูป do ซอนกัน มรปแบบดงน้ี ีู ั do{ statement; statement; do{ statement; statement; }while(เงอนไขเปรยบเทยบลปใน); ่ื ี ี ู statement; }while(เงอนไขเปรยบเทยบลปนอก); ่ื ี ี ู ศิริชัย นามบุรี การเลือกทํา
  • 9. ! 52 •! ตัวอยางโปรแกรม dowhile1.cpp แสดงการพิมพขอความ I love C++ Langauge ซํา ้ จานวน 5 ครัง โดยใชลป do แบบหลาย statement ํ ้ ู /*Program : dowhile1.cpp Process : display text 5 times*/ #include <iostream.h> #include <conio.h> void main() { int i; clrscr(); i=1; //set initial of variable in do...while condition //begin loop do{ cout<< "I love C++ Langaugen"; i++; //increase value of i variable +1 }while(i<=5); //condition for loop getch(); } •! โปรแกรม dowhile2.cpp แสดงการคํานวณผลรวมและคาเฉลี่ย 1-10 โดยใชลป do…while ู ซึ่งใหผลลัพธเหมือนกับการใชลูป while /*Program : dowhile2.cpp Process : calculate summation and average 1-10 */ #include <iostream.h> #include <conio.h> void main() { float number,sum,average; //begin statment clrscr(); cout<< "Program calculate summation and average 1-10n"; sum=0; average=0; number=1; do{ cout<<number<<'n'; sum+=number; //calculate summation number++; ศิริชัย นามบุรี การเลือกทํา
  • 10. ! 53 }while (number<=10); average=sum/(number-1); cout<< "nSummation number 1-10 = "<<sum; cout<< "nAverage number 1-10= "<<average; getch(); } ♦! ารออกจากลูปดวย break ก break เปนคยเ วรด(keyword) เพื่อใหเลิกการทํางานหรอออกจากลปทนที  ี ิ ื ู ั ในขณะที่การ ทดสอบเงื่อนไขที่กาหนดไว ยังไมใหคาเปรียบเทียบที่มีผลใหตองออกจากลูป สามารถนํา break ไปใชได ํ กับลูปทุกประเภท (โดยสวนใหญ break ใชรวมกับประโยคที่มีเงื่อนไขมากอน เชน if ตัวอยางการใช   break กับลูป for เปนดงน้ี  ั for (ตัวแปรและคาเริ่มตน; เงอนไขเปรยบเทยบ; เพิ่มหรือลดคาตัวแปร) ่ื ี ี { statement; statement; break; ออกจากลูป statement; } •! ตัวอยางโปรแกรม break.cpp แสดงการทํางานหาผลรวมของลูป for ของเลข 1-100 แตมี เงอนไขวา ถาคาของตัวแปร row มากกวา 23 ให break ออกจากลูปกอนที่จะครบ ่ื  100 รอบ /*Program : break.cpp Process : display using 'break' in for loop*/ #include <iostream.h> #include <conio.h> void main() { int x,row,sum; clrscr(); row=0;sum=0; for(x=1;x<=100;++x) //condition for 100 loop { cout<<"x="<<x<<'n'; sum+=x; row++; ศิริชัย นามบุรี การเลือกทํา
  • 11. ! 54 if(row>23) //condition of break break; } cout<<"summation 1-"<<x<<" = "<<sum; getch(); } ♦! ารยอนกลับไปตนลูปดวย continue ก continue เปนคยเ วรด (keyword) เพื่อกําหนดใหโปรแกรมยอนกลบไปเรมทางานที่ตนลูปนั้น  ี ิ   ั ่ิ ํ ใหม ในขณะที่ยังทางานไมถึงทายลูป หรือยังไมครบจํานวนรอบทกาหนดไวในเงือนไข สามารถใช ํ ่ี ํ ่ continue กับลูป for while do…while ไดทุกประเภท •! ตัวอยางโปรแกรม continue.cpp แสดงการใช continue ใหกลบไปเรมทํางานทตนลปใหม  ั ่ิ ่ี  ู /*Program : continue.cpp Process : display keyword 'continue' in do...while loop */ #include<iostream.h> #include<conio.h> void main() { float x,y; char choice; do{ clrscr(); cout<< "nProgram Divide Calculation x/y"; cout<< "n******************************"; cout<< "nEnter X : "; cin>>x; cout<< "nEnter Y : "; cin>>y; if(y==0) { cout<< "annCan't divide by zero !!!"; cout<< "npress any key to continue..."; getch(); continue; //return to begin loop } cout<< "n*** Result "<<x<<"/"<<y<<" = "<<x/y; cout<< "nnCalculate another <y or n> ? "; cin>>choice; }while((choice!='n')&&(choice!='N')); clrscr(); } ศิริชัย นามบุรี การเลือกทํา
  • 12. ! 55 ♦! บบฝกหัดทายบท แ 1. ใหเ ขยนโปรแกรมเพอคานวณหาคา n! ( n factorial) โดยกรอกคา n ทางคียบอรดได ี ่ื ํ   2. ใหเ ขยนโปรแกรมเพอแสดงตวอกขระ(character) จากรหส ASCII ตงแต 0 - 255 ี ่ื ั ั ั ้ั 3. ใหเ ขยนโปรแกรมแสดงจานวนเลขค่ี(odd) ตงแต 1-1000 คํานวณหาผลรวมและคาเฉลี่ยของจํานวนคี่ ี ํ ้ั พรอมกบนบวามจํานวนคกจานวนทหารดวย 3 และ 4 ลงตัว มจํานวนใดบาง และมีกี่จํานวน  ั ั  ี ่ี ่ี ํ ่ี  ี 4. ใหเ ขยนโปรแกรมหาจานวนท่ี 3 และ 6 หารลงตว ระหวาง 500 – 1000 พรอมกับนับวามีกี่ ี ํ ั  จํานวน รวมถึงคํานวณหาผลรวมและคาเฉลี่ยของจํานวนดังกลาว 5. ใหเขียนโปรแกรมเพือแสดงตารางการคูณ โดยสามารถกําหนดจํานวนเริมตน และจํานวนสุดทาย ่ ่ ไดทางคียบอรด เชน  Begin : 2 End : 4 Result 2*1=2 3*1=3 4*1=2 2*2=4 3*2=6 4*2=8 2*3=6 3*3=9 4*3=12 ……… …….. ………. 2*12=24 3*12=36 4*12=48 6. ใหเ ขยนโปรแกรมเพอแสดงจํานวนตวเลข และหาผลรวมของจํานวนคูและคี่ ใหมีรูปแบบการแสดง ี ่ื ั ผลดังนี้ 1 3 5 7 9 11 13 15 17 19 2 4 6 8 10 12 14 16 18 20 SUMMATION OF ODD NUMBER = xxx SUMMATION OF EVEN NUMBER = xxx 7. จงเขียนโปรแกรมแสดงการคํานวณเลขยกกําลังสอง จํานวน 1 -10 ใหมีรูปแบบการแสดงผลดังนี้ 1 1 2 4 3 9 4 16 … …. 10 100 ศิริชัย นามบุรี การเลือกทํา
  • 13. ! 56 8. ใหเ ขยนโปรแกรมคํานวณการคณ ของ 1 -9 ใหมีรูปแบบการแสดงผล ดังนี้ ี ู 1 2 3 4 5 6 7 8 9 1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 48 49 8 8 16 24 32 40 45 56 64 9 9 18 27 36 45 54 63 72 81 9. ใหเขียนโปรแกรมแสดงคาจํานวนเฉพาะ(prime) มีชวงขอมูลระหวาง 1- 300 พรอมกับนับวามี จํานวนเฉพาะ(prime) กี่จํานวน 10. สมมติให I , J , K เปนตวแปรประเภท integer ใหเขียนรูปแบบผลลัพธของโปรแกรมที่กาหนดให  ั ํ ดังนี้ 10.1 I=0; J=0; for(;;) { K=2*I*J; if(K>10) break; cout<<I<<J<<K<<'n'; I++; J++; } cout<<K<<'n'; ศิริชัย นามบุรี การเลือกทํา
  • 14. ! 57 10.2 I=0; J=0; for(;;) { K=2*I*J; if(K>10) break; cout<<I<<J<<K<<'n'; if(I+J>5) break; I++; J++; } cout<<K<<'n'; 10.3 I=5; for(;;) { cout<<I; I -=2; if(I<1) break; J=0; for(;;) { J++; cout<<J; if(J>=I) break; } cout<<"###n"; } cout<<"***n"; 11. Write a prgram to read a sequence of positive integers and to print the greatest of thest. Use a negative to signal the end of the input data. 12. Write a program that reads a sequence of positive real numbers and computes their average. A negative number to signal the end of the input data. ศิริชัย นามบุรี การเลือกทํา