Sự khác biệt chính - vòng lặp while và do while
Trong lập trình, có thể có những tình huống cần thiết phải thực hiện lặp đi lặp lại một khối câu lệnh. Hầu hết các ngôn ngữ lập trình đều hỗ trợ các cấu trúc điều khiển khác nhau như vòng lặp for, vòng lặp while và vòng lặp do while để lặp lại một đoạn mã. Các vòng lặp cho phép thực hiện một tập hợp các câu lệnh nhiều lần cho đến khi điều kiện đã cho trở thành sai. Các câu lệnh thuộc về vòng lặp được bao gồm bên trong một cặp dấu ngoặc nhọn. Bài viết này thảo luận về sự khác biệt giữa hai cấu trúc điều khiển: vòng lặp while và vòng lặp do while. Vòng lặp while được sử dụng để lặp lại một câu lệnh hoặc một nhóm câu lệnh trong khi một điều kiện đã cho là đúng. Nó kiểm tra điều kiện trước khi thực hiện các câu lệnh bên trong vòng lặp. Vòng lặp do while tương tự như vòng lặp while. Nhưng điều kiện được kiểm tra khi kết thúc quá trình thực thi các câu lệnh bên trong vòng lặp. Sự khác biệt chính giữa vòng lặp while và vòng lặp do while là ở chỗ, vòng lặp while kiểm tra điều kiện trước khi thực hiện các câu lệnh bên trong vòng lặp while Vòng lặp do while sẽ kiểm tra điều kiện sau khi thực hiện các câu lệnh bên trong vòng lặp.
Vòng lặp while là gì?
Vòng lặp while thực hiện câu lệnh đích hoặc các câu lệnh cho đến khi điều kiện đã cho là đúng. Đầu tiên, vòng lặp while xác minh xem điều kiện có đúng hay không. Nếu điều kiện là đúng, nó sẽ lặp lại vòng lặp cho đến khi điều kiện là đúng. Khi điều kiện sai, điều khiển được chuyển đến dòng mã tiếp theo ngay sau vòng lặp. Vòng lặp while có thể chứa một câu lệnh hoặc nhiều câu lệnh. Tham khảo chương trình bên dưới.
Hình 01: Ví dụ về vòng lặp while
Theo chương trình trên, biến x được khởi tạo là 1. Các câu lệnh của vòng lặp while sẽ thực hiện cho đến khi giá trị x nhỏ hơn hoặc bằng 5. Ban đầu, giá trị là 1 và điều kiện là true. Do đó, x sẽ in. Khi đó giá trị x tăng lên 1. Bây giờ giá trị x là 2. Nó nhỏ hơn hoặc bằng 5. Vì vậy, x sẽ in ra. Một lần nữa, giá trị x được tăng thêm 1. Bây giờ x là 3. Nó nhỏ hơn hoặc bằng 5. Vì vậy, x sẽ in lại và nó được tăng thêm một. Bây giờ x là 4. Nó cũng nhỏ hơn hoặc bằng 5. Vì vậy, x sẽ in ra. Giá trị của x lại tăng lên. Trong lần lặp tiếp theo, giá trị x trở thành 5. Nó bằng 5. Tuy nhiên, điều kiện là đúng. Do đó, x sẽ in. Giá trị x được tăng lên một lần nữa. Nó là 6. Nhưng bây giờ điều kiện là sai vì 6 lớn hơn 5. Việc thực thi vòng lặp kết thúc. Nếu không có số tăng trong chương trình, giá trị x sẽ luôn là 1. Điều kiện sẽ luôn đúng vì nó nhỏ hơn 5. Do đó, nó sẽ là một vòng lặp vô hạn.
Vòng lặp do while là gì?
Vòng lặp do while tương tự như vòng lặp while. Nhưng điều kiện được kiểm tra sau khi thực hiện các câu lệnh lặp. Do đó, cho dù điều kiện là đúng hay sai, vòng lặp sẽ thực hiện ít nhất một lần. Điều kiện được kiểm tra sau khi thực hiện vòng lặp. Nếu điều kiện là đúng, các câu lệnh lặp sẽ thực thi lại. Quá trình này lặp lại cho đến khi điều kiện sai. Tham khảo chương trình bên dưới.
Hình 02: Ví dụ về vòng lặp do while
Theo chương trình trên, biến x được khởi tạo là 1. Vòng lặp thực hiện và in ra giá trị x. Khi đó giá trị x được tăng thêm 1. Bây giờ nó là 2. Điều kiện là đúng, vì vậy vòng lặp thực thi. Dấu x được in và tăng dần. Bây giờ nó là 3. Điều kiện là đúng, vì vậy vòng lặp thực thi. Dấu x được in và tăng trở lại. Bây giờ nó là 4. Điều kiện là đúng. Vòng lặp thực thi. Dấu x được in và tăng dần. Bây giờ x là 5. Tuy nhiên, điều kiện vẫn đúng vì nó nhỏ hơn hoặc bằng 5. Vì vậy, vòng lặp thực hiện lại và in ra giá trị x. Khi đó x tăng thêm 1. Bây giờ x là 6. Điều kiện là sai. Việc thực thi vòng lặp kết thúc.
Giả sử rằng x được khởi tạo thành 10 ở đầu. Tuy nhiên, vòng lặp sẽ thực thi và in ra giá trị x vì điều kiện được kiểm tra ở cuối vòng lặp. Khi kiểm tra điều kiện, nó là sai. Do đó, việc thực thi vòng lặp kết thúc. Kể cả điều kiện đúng hay sai thì vòng lặp do while ít nhất cũng sẽ thực thi một lần. Đó là quy trình của vòng lặp do while.
Sự giống nhau giữa vòng lặp while và do while là gì?
Cả hai đều là cấu trúc điều khiển trong lập trình
Sự khác biệt giữa vòng lặp while và do while là gì?
while so với vòng lặp do while |
|
Vòng lặp while là một cấu trúc điều khiển cho phép mã được thực thi lặp đi lặp lại dựa trên một điều kiện Boolean nhất định. | Vòng lặp do while là cấu trúc điều khiển thực thi một khối mã ít nhất một lần và sau đó lặp lại thực thi khối hoặc không, tùy thuộc vào điều kiện Boolean nhất định ở cuối khối. |
Tuyên bố điều kiện | |
Câu lệnh điều kiện của vòng lặp while ở đầu vòng lặp. | Câu lệnh điều kiện của vòng lặp do while ở cuối vòng lặp. |
Thực hiện | |
Vòng lặp while sẽ chỉ thực thi nếu điều kiện là đúng. | Do while có thể thực hiện ít nhất một lần, ngay cả khi điều kiện sai. |
Tóm tắt - vòng lặp while so với do while
Trong lập trình, đôi khi cần thực hiện lặp đi lặp lại một tập hợp các câu lệnh. Cấu trúc điều khiển được sử dụng cho điều đó. Hai trong số đó là vòng lặp while và do while. Bài viết này đã thảo luận về sự khác biệt giữa vòng lặp while và vòng lặp do while. Vòng lặp while được sử dụng để lặp lại một câu lệnh hoặc một nhóm câu lệnh trong khi một điều kiện đã cho là đúng. Trong vòng lặp do while, điều kiện được kiểm tra khi kết thúc quá trình thực thi các câu lệnh bên trong vòng lặp. Vòng lặp do while tương tự như vòng lặp while nhưng vòng lặp do while có thể thực hiện ít nhất một lần mặc dù điều kiện là true hoặc false. Sự khác biệt giữa vòng lặp while và vòng lặp do while là ở chỗ, vòng lặp while kiểm tra điều kiện trước khi thực hiện các câu lệnh bên trong vòng lặp while Vòng lặp do while sẽ kiểm tra điều kiện sau khi thực hiện các câu lệnh bên trong vòng lặp.