Vòng lăp while và do…while

Các vòng lặp được sử dụng trong lập trình để lặp lại một khối mã nguồn cụ thể. Trong bài này, bạn sẽ được học cách viết vòng lặp while và do…while trong lập trình C++.

Các vòng lặp được sử dụng trong lập trình để lặp lại một khối mã nguồn cụ thể cho tới khi gặp một điều kiện kết thúc. Có ba kiểu vòng lặp trong lập trình C++:

  1. Vòng lặp for
  2. Vòng lặp while
  3. Vòng lặp do…while

Vòng lặp while trong C++

Cú pháp của một vòng lặp while là:

while (biểu_thức_kiểm_tra) 
{
     // mã nguồn  
}

trong đó, biểu_thức_kiểm_tra được kiểm tra mỗi khi bắt đầu một chu kỳ mới của vòng lặp while.

Vòng lặp while hoạt động như thế nào?

  • Vòng lặp while đánh giá biểu thức kiểm tra
  • Nếu biểu thức kiểm tra là đúng, mã nguồn trong thân vòng lặp while sẽ được thực hiện.
  • Sau đó biểu thức kiểm tra được đánh giá lần nữa. Quá trình này tiếp tục cho tới khi biểu thức kiểm tra là sai.
  • Khi biểu thức kiểm tra là sai, vòng lặp while sẽ bị ngắt.

Flowchart của vòng lặp while

Ví dụ 1: Vòng lặp while trong C++

// Chương trình C++ để tính giá trị giai thừa của một số
// Giá trị giai thừa của n = 1*2*3...*n

#include <iostream>
using namespace std;

int main() 
{
	int number, i = 1, factorial = 1;

	cout << "Enter a positive integer: ";
	cin >> number;

	while ( i <= number) {
		factorial *= i;      //factorial = factorial * i;
		++i;
	}

	cout<<"Factorial of "<< number <<" = "<< factorial;
	return 0;
}

Đầu ra

Enter a positive integer: 4

Factorial of 4 = 24

Trong chương trình này, người dùng sẽ được yêu cầu nhập vào một số nguyên dương, số này sẽ được lưu vào biến number. Giả sử người dùng nhập vào số 4.

Sau đó, vòng lặp while sẽ bắt đầu thực thi mã nguồn. Đây là cách vòng lặp while hoạt động:

  1. Ban đầu, i = 1, biểu thức kiểm tra i <= number là đúng và giá trị giai thừa là 1.
  2. Biến i được cập nhật thành 2, biểu thức kiểm tra là true (đúng), giá trị giai thừa sẽ thành 2.
  3. Biến i được cập nhật thành 3, biểu thức kiểm tra là true (đúng), giá trị giai thừa sẽ thành 6.
  4. Biến i được cập nhật thành 4, biểu thức kiểm tra là true (đúng), giá trị giai thừa sẽ thành 24.
  5. Biến i được cập nhật thành 5, biểu thức kiểm tra là false (sai) và vòng lặp while sẽ bị ngắt.

Vòng lặp do…while trong C++

Vòng lặp do…while là một biến thể của vòng lặp while với một điểm khác biệt quan trọng nhất. Thân của vòng lặp do…while sẽ được thực thi một lần trước khi biểu thức kiểm tra được đánh giá.

Cú pháp của vòng lặp do…while là:

do {
   // mã nguồn;
}
while (biểu_thức_kiểm_tra);

Vòng lặp do…while hoạt động như thế nào?

  • Mã nguồn trong thân vòng lặp được thực thi ít nhất một lần. Sau đó, biểu thức kiểm tra sẽ được đánh giá.
  • Nếu biểu thức kiểm tra là đúng, thân vòng lặp sẽ được thực thi. Quá trình này sẽ tiếp tục cho tới khi biểu thức kiểm tra là sai.
  • Nếu biểu thức kiểm tra là sai, vòng lặp do…while sẽ bị ngắt.

Flowchart của vòng lặp do…while

Ví dụ 2: Vòng lặp do…while trong C++

// Chương trình C++ cộng các số cho tới khi người dùng nhập vào số 0

#include <iostream>
using namespace std;

int main() 
{
	float number, sum = 0.0;

	do {
		cout<<"Enter a number: ";
		cin>>number;
		sum += number;
	}
	while(number != 0.0);

	cout<<"Total sum = "<<sum;

	return 0;
}

Đầu ra

Enter a number: 2

Enter a number: 3

Enter a number: 4

Enter a number: -4

Enter a number: 2

Enter a number: 4.4

Enter a number: 2

Enter a number: 0

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *