Bài 6. Cấu trúc lặp FOR

Cấu trúc lặp for là cấu trúc lặp có số lần lặp biết trước. Kiểu dữ liệu của biến chạy là kiểu đếm được.

Cú pháp: 

for (biểu thức 1 ; biểu thức 2 ; biểu thức 3)
   {
      khối lệnh;
   }

Trong đó:

  - biểu thức 1: thiết lập ban đầu.

  - biểu thức 2: điều kiện lặp, là biểu thức logic.

  - biểu thức 3: thiết lập lại.

  - Quá trình lặp dừng lại khi biểu thức 2 sai.


Ví dụ 1:

+ Yêu cầu: Tính tổng các số từ 1 đến n, với n nhập vào từ bàn phím

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   int n;
   // nhap n
   cout<<"\n n = ";
   cin>>n;
   // tinh tong
   int s = 0;
   for(int i=0; i<=n; i++)
     s = s+i;
   // in ket qua
   cout<<"\n Tong = "<<s;

   return 0;  
}

Ví dụ 2:

+ Yêu cầu: Đếm số chẵn nhỏ hơn n, với n nhập vào từ bàn phím.

+ Code

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   int n;
   // nhap n
   cout<<"\n n = ";
   cin>>n;
   // dem so chan
   int dem = 0;
   for(int i=0;i<=n;i++)
       if (i%2==0) dem++;
   // in ket qua
   cout<<"\n Ket qua = "<<dem;
   
return 0;
}

Ví dụ 3:

+ Yêu cầu: In ra màn hình tất cả số nguyên gồm 4 chữ sao cho tổng các chữ số bằng 10.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In ket qua:\n";
   for(int i=1000;i<=9999;i++)
   {
     if(i%10+(i/10)%10+(i/100)%10+i/1000==10)
       cout<<i<<";\t";
   }

return 0;
}

Chú ý\t là kí tự tab (thêm một tab để trình bày cho dễ nhìn).


Ví dụ 4:

+ Yêu cầu: In ra màn hình bảng cửu chương.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In bang cuu chuong: \n";
   for(int i=1;i<=9;i++)
   {
      for(int j=1;j<9;j++)
         cout<<i<<"x"<<j<<"= "<<i*j<<";\t";
      cout<<"\n";
   }

return 0;
}

Ví dụ 5:

+ Yêu cầu: In ra màn hình tất cả số nguyên tố nhỏ hơn 1000.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In so nguyen to nho hon 1000: \n";
   for(int i=1;i<=1000;i++)
   {
     int test = 0;
       for(int j=2;j<i;j++)
       if(i%j==0) {
         test=1;
         break;
       }
     if(test==0) cout<<i<<";\t";
   }

return 0;
}