24/05/2018, 22:14

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

- Cú pháp câu lệnh do { Công việc cần thực hiện; }while(btđk); Trong đó: - while ,do là từ khoá - btđk là một biểu thức cho giá trị logic - Sơ đồ cú pháp ...

- Cú pháp câu lệnh

do

{

Công việc cần thực hiện;

}while(btđk);

Trong đó:

- while ,do là từ khoá

- btđk là một biểu thức cho giá trị logic

- Sơ đồ cú pháp

- Sự hoạt động của câu lệnh do...while được tiến hành lần lượt theo các bước sau:

Bước 1: Thực hiện Công_việc

Bước 2: Sau khi thực hiện xong Công_việc máy tiến hành tính toán giá trị của btđk.

Nếu btđk có giá trị True máy sẽ trở lại bước 1 để tiếp tục thực hiện vòng lặp mới của chu trình. Nếu btđk có giá trị bằng False máy sẽ ra khỏi chu trình và chuyển tới câu lệnh đứng sau cấu trúc do...while.

- Ví dụ áp dụng

Ví dụ 1: Bài toán gửi tiền tiết kiệm, giả sử ta có số tiền là a gửi vào ngân hàng. Hỏi sau bao nhiêu tháng ta thu được số tiền là b(b>a) biết rằng lãi xuất hàng tháng là 5%

-----------------------------------------------------------------------------------------------

using System;

class VD1

{

static void Main()

{

double a, b;

int t=0;

do

{

Console.Write("Nhap so tien ban co:");

a = double.Parse(Console.ReadLine());

if (a < 0)

Console.Write("Ban nhap sai, hay nhap la");

} while (a < 0);

do

{

Console.Write("Nhap so tien ban du dinh muon co:");

b = double.Parse(Console.ReadLine());

if (b < a)

Console.Write("Ban nhap sai, hay nhap lai");

} while (b < a);

// Di tim thoi gian can thiet

do

{

a = a + a * 0.05;

t = t + 1;

} while (a < b);

Console.Write("Ban phai mat {0} nam {1} thang", t / 12, t % 12);

Console.ReadKey();

}

}

-----------------------------------------------------------------------------------------------

Ví dụ 2: Nhập vào một số nguyên dương sau đó phân tích số nguyên đó ra thừa số nguyên tố

-----------------------------------------------------------------------------------------------

using System;

class VD2

{

static void Main()

{

int n, i;

i = 2;// la so nguyen to dau tien

Console.Write("Nhap n="); n = int.Parse(Console.ReadLine());

Console.Write("n=");

do

{

while (n % i == 0)

{

Console.Write("{0}*", i);

n = n / i;

}

if (i == 2) i = 3; else i = i + 2;

} while (n != 1);

Console.Write(" ");

Console.ReadKey();

}

}

-----------------------------------------------------------------------------------------------

0