Bài 8. Cấu trúc vòng lặp DO-WHILE

Cấu trúc lặp do-while

Chức năng của vòng lặp do-while là 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ụ:

Ví dụ 1: 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.

namespace VD1{
class Program{
static void Main(string[] args){
int n;
// su dụng do-while de nhap n
do{
   Console.Write("\nNhap n: "); n = int.Parse(Console.ReadLine());
   if (n <= 1 || n >= 2015)
   Console.Write("\nNhap lai n: ");
} while (n <= 1 || n >= 2015);
// tinh tong
int s = 0, i = 0;
do{
   s = s + i;
   i++;
}while (i <= n);
// in ket qua 
   Console.Write("\nTong = : "+s);
   Console.ReadLine();
   }
  }
}

Ví dụ 2: Đếm số chẵn nhỏ hơn n, với n nhập vào từ bàn phím thỏa mãn 4<=n<=1000.

namespace VD2_DOWHILE{
class Program{
static void Main(string[] args){
int n;
// su dụng do-while de nhap n
do{
   Console.Write("\nNhap n: "); n = int.Parse(Console.ReadLine());
   if (n < 3 || n > 2000)
   Console.Write("\nNhap lai n: ");
} while (n < 3 || n > 2000);
// dem so chan
int dem = 0, i = 0;
do{
   if (i % 2 == 0) dem++;
   i++;
} while (i <= n);

// in ket qua
   Console.Write("\nCo " + dem + " so chan nho hon " +n);
   Console.ReadLine();
   }
 }
}

Ví dụ 3: 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 9.

namespace VD3_DOWHILE{
class Program{
static void Main(string[] args){
   Console.Write("\n Cac so nguyen gom 4 chu so, tong cac chu so bang 9: "); 
   int i=1000;
   do{
    if (i % 10 + (i / 10) % 10 + (i / 100) % 10 + i / 1000 == 9)
    Console.Write(i + ";");
    i++;
} while (i <= 9999);
    Console.ReadLine();
   }
  }
}

Ví dụ 4: In ra màn hình tất cả số nguyên tố nhỏ hơn 500.

namespace VD4_DOWHILE{
class Program{
static void Main(string[] args){
Console.Write("\n In so nguyen to nho hon 500: \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) Console.Write(i + " ; ");
    i++;
} while (i <= 500);
    Console.ReadLine();
   }
  }
}