Bài 8. Cấu Trúc Lặp DO-WHILE - Tự Học Tin - Tin Học Cho Người Việt

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:

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:

#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:

#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:

#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:

#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:

#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:

#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 break, continue:

  + 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.

Từ khóa » Cú Pháp While