Bài 8.2 Vòng lặp while, do while trong C#

0
1079
Bài số 11 trong 20 bài của khóa học Khóa học C# cơ bản

Trong bài học ngày hôm nay, mình sẽ giới thiệu cho các bạn vòng lặp while và vòng lặp do while. Đây là 2 cấu trúc lặp tiếp theo trong 4 cấu trúc có mặt trong C#. Riêng cấu trúc lặp cuối cùng là vòng lặp foreach mình sẽ trình bày trong chương mảng 1 chiều và nhiều chiều trong C#. Còn trong bài học này chúng ta cùng đi tìm hiểu vòng lặp while và do while nhé !

Vòng lặp không biết trước số lần lặp

Vòng lặp không biết trước số lần lặp là vòng lặp chỉ dựa vào một biểu thức logic để tiếp tục thực hiện vòng lặp nếu biểu thưc logic đó đúng (true), trong vòng lặp đó, nếu lập trình viên không muốn vòng lặp đó chạy vô tận thì phải có các tính toán, để có thể thay đổi biểu thức logic của vòng lặp đó từ true về false nhằm dừng vòng lặp từ đó tiếp tục xử lý các tác vụ tiếp theo.

Vòng lặp while trong C#

Vòng lặp while cũng là một vòng lặp không biết trước số lần lặp, cấu trúc của vòng lặp while này như sau:

Biểu diễn dưới dạng sơ đồ khối chúng ta có như sau:

So Dong Vong Lap While trong Python

Giải thích qua một chút về cách hoạt động của vòng lặp while, vòng lặp này rất đơn giản, nó sẽ liên tục lặp đi lặp lại các khối lệnh, câu lệnh trong vòng lặp này cho tới khi điều kiện lặp của nó sai.

Lưu ý: Trong trường hợp điều kiện lặp của while luôn đúng, vòng lặp này sẽ chạy vô hạn lần.

Chúng ta cùng xét một ví dụ để thấy dễ hiểu hơn:

Chương trình trên sẽ cho ra kết quả như sau:

Vẫn là bài toán in ra các số từ 0 cho tới nhỏ hơn 5 nhưng lần này chúng ta không dùng vòng lặp for.

Chúng ta đã khai báo một biến i = 0 và điều kiện lặp là i < 5, trong khối lệnh của vòng lặp mình có sử dụng một câu lệnh xuất biến i trong vòng lặp và một câu lệnh để tăng i lên 1 đơn vị. Sau mỗi lần lặp, chương trình sẽ quay lại kiểm tra điều kiện của while cho tới khi điều kiện i < 5 sai.

Đối với vòng lặp while, chúng ta có thể linh hoạt sử dụng nó với nhiều điều kiện khác nhau. Để có thể sử dụng while một cách linh hoạt bạn cần sử dụng nó trong thực chiến nhiều hơn mới có thể đạt được khả năng tốt nhất.

Vòng lặp do while trong C#

Tương tự như vòng lặp while, do while cũng là một vòng lặp mà không biết số lần cho trước. Nhưng vòng lặp do while có một chút khác biệt so với vòng lặp while.

Cấu trúc của vòng lặp do while như sau:

Biểu diễn dưới dạng sơ đồ khối như sau:

Bài 19. Vòng lặp while và do while trong C

Sơ lược qua một chút về cách hoạt động của vòng lặp này. Vòng lặp này sẽ bắt đầu thực hiện các câu lệnh trong khối lệnh do trước sau đó quay xuống kiểm tra điều kiện lặp nếu điều kiện lặp đúng mới lặp lại các trình tự. Khác với while khi while sẽ kiểm tra điều kiện lặp trước nếu đúng mới thực hiện các câu lệnh bên trong.

Lưu ý: Giống như vòng lặp while nếu như điều kiện lặp của chương trình này luôn đúng thì vòng lặp này sẽ lặp vô hạn lần.

Một ví dụ để dễ hiểu hơn:

Chương trình này sẽ cho ra kết quả:

Như các bạn có thể thấy một điều khác biệt ở đây. Mình đã khai báo biến i = -1 với điều kiện lặp là i > 0 điều kiện này là hiển nhiên sai, nhưng mình đã sử dụng vòng lặp do while. Do chương trình thực hiện các lệnh trong khối lệnh do trước lên chương trình vẫn in ra -1, giảm biến i đi 1 đơn vị rồi sau đó mới quay xuống kiểm tra điều kiện, vì điều kiện sai nên chương trình thoát ra khỏi vòng lặp.

Khi nào nên dùng while và do while

Dễ hiểu khi nói rằng 2 vòng lặp này được sử dụng với số lần lặp chưa biết trước. Nhưng hai vòng lặp này là khác nhau gói gọn lại như sau:

  • Sử dụng vòng lặp while khi chúng ta cần kiểm tra điều kiện trước xem có đúng hay không từ đó mới bắt đầu lặp.
  • Sử dụng vòng lặp do while khi chúng ta cần thực hiện các câu lệnh, khối lệnh trước rồi mới kiểm tra điều kiện từ đó mới bắt đầu lặp.

Mong là hai mẹo nhỏ này sẽ giúp các bạn phân biệt được khi nào nên chọn vòng lặp nào để sử dụng.

Tổng kết

Như vậy là trong bài học ngày hôm nay, kết hợp với cả bài học trước (bài 8.1) mình đã trình bày cho các bạn 3 cấu trúc lặp cơ bản nhất trong C#. Ở bài học sau, mình sẽ trình bày về 2 câu lệnh dùng để thao tác với vòng lặp trong C# là câu lệnh breakcontinue. Cảm ơn bạn đã đọc bài viết này. Hãy tiếp tục ủng hộ Lập trình không khó trong các bài viết tiếp theo nhé !

(ngoài ra các bạn có thể thử sức với các bài tập sau)

Các bài viết trong khóa họcBài trước: Bài 8.1 Vòng lặp for trong C#Bài sau: Bài 9. Câu lệnh break và continue trong C#
Là một học sinh cấp 3 có niềm đam mê mãnh liệt với lập trình với châm ngôn "Code ra bugs mới là lập trình viên".
Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments