0986425099

Hà Nội, Việt Nam
+84986425099
candinhthai@gmail.com

BÀI 8. CẤU TRÚC LẶP DO-WHILE

Đào tạo và Hướng nghiệp

Cấu trúc lặp do – while: Chức năng của vòng lặp do-while hoàn toàn giống vòng lặp while chỉ trừ có một điều là điều kiện điều khiển vòng lặp được tính toán sau khi [Khối lệnh] được thực hiện. Vì vậy, [Khối lệnh] sẽ được thực hiện ít nhất một lần ngay cả khi [biểu thức điều khiển] không bao giờ được thoả mãn.

Cú pháp:

1
2
3
4
5
do
  {
    Khối lệnh;
  }
while (biểu thức điều khiển);

 

Trong đó:

  – [biểu thức điều khiển] là biểu thức logic.

  – Trong [khối lệnh] cần có tác động để [biểu thức điều khiển] sai đi. 


Ví dụ 1:

Yêu cầu: Nhập một số có giá trị từ 0 đến 9, nếu nhập không đúng yêu cầu nhập lại. In ra số được nhập hợp lệ.

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
   int n;
   do{
     cout<<"\n Nhap n = ";
     cin>>n;
     if (n<0 || n>9)
       cout<<"\n Nhap lai n !";
   }while (n<0 || n>9); 
   // in ket qua
   cout<<"\n So da nhap hop le: "<<n;
 
return 0;   
}

Ví dụ 2:

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 thỏa mãn 1<n<2014.

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
   int n;
   // su dụng do-while de nhap n
   do{
     cout<<"\n Nhap n = ";
     cin>>n;
     if (n<=1||n>=2014)
       cout<<"\n Nhap lai n !";
   }while (n<=1||n>=2014); 
   // tinh tong
   int s = 0,i = 1;
   do{
     s = s+i;
     i++;
   }while(i<=n);
   // in ket qua
   cout<<"\n Tong = "<<s;
 
return 0;   
}

Ví dụ 3:

Yêu cầu: Đếm số chẵn từ 0 đến n, với n nhập vào từ bàn phím thỏa mãn 4<=n<=1000.

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
   int n;
   // su dụng do-while de nhap n
   do{
     cout<<"\n Nhap n = ";
     cin>>n;
     if (n<4||n>1000)
       cout<<"\n Nhap lai n !";
   }while (n<4||n>1000); 
   // dem so chan
   int dem = 0,i = 0;
   do{
     if (i%2==0) dem++;
     i++;
   }while (i<=n);
   // in ket qua
   cout<<"\n Ket qua = "<<dem;
 
return 0;   
}

Ví dụ 4:

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
   cout<<"In ket qua: \n";
   int i = 1000;
   do{
     if(i%10+(i/10)%10+(i/100)%10+i/1000==10)
       cout<<i<<";\t";
     i++;
   }while (i<=9999);
 
return 0;   
}

Ví dụ 5:

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

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
   cout<<"In bang cuu chuong: \n";
   int i = 1;
   do{
    int j = 1;
    do{
     cout<<i<<"x"<<j<<"= "<<i*j<<";\t";
     j++;
    }while (j<9);
    cout<<"\n";
    i++;
   } while (i<=9);
 
return 0;   
}

Ví dụ 6:

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

Code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main() {
   cout<<"In so nguyen to nho hon 1000: \n";
   int i = 1;
   do
   {
     int test = 0,j = 2;
       do{
       if(i%j==0) {
         test = 1;
         break;
       }
       j++;
     }while (j<i);
     if(test==0) cout<<i<<";\t";
     i++;
   }while (i<1000);
 
return 0;
}

*** CHÚ Ý:

– Các cấu trúc for, while, do-while có thể chuyển đổi qua lại cho nhau.

– Câu lệnh breakcontinue:

  + break: khi gặp lệnh break vòng lặp kết thúc.

  + continue: khi gặp lệnh continue vòng lặp bỏ qua phần còn lại, bắt đầu vòng lặp mới.

Liên hệ thầy Thái để tham khảo thêm:

Điện thoại: 0986.425.099 – 024.6260.1456 

Website: www.candinhthai.com

Địa chỉ: A4, Kim Chung, Đông Anh, Hà Nội

Spread the love