Vòng lặp 'for' chỉ được sử dụng khi đã biết trước số lần lặp. Vòng lặp 'while' được sử dụng khi không biết trước số lần lặp.
Máy tính làm việc trên các ngôn ngữ cấp cao như C, C++, Java, Python, v.v. Các ngôn ngữ máy tính giúp chúng ta đạt được những kết quả khó đạt được bằng tay.
Các ngôn ngữ cấp cao này hoạt động trên một cấu trúc lệnh xác định. Một trong những cấu trúc cơ bản của các lệnh được sử dụng trong các ngôn ngữ cấp cao là 'Vòng lặp'.
Vòng lặp là một lệnh có xu hướng lặp lại chính nó để đạt được kết quả mong muốn. Nói cách khác, một lệnh lập trình lặp lại chính nó số lần đã biết hoặc số lần chưa biết để đáp ứng các điều kiện nhất định được định nghĩa là một vòng lặp.
Có nhiều vòng lặp khác nhau, chẳng hạn như vòng lặp for, vòng lặp while, vòng lặp if, vòng lặp if-else, vòng lặp if-else-if, v.v. Nhưng vòng lặp được sử dụng phổ biến nhất là vòng lặp for và while.
Chìa khóa chính
- “Đối với các vòng lặp” được sử dụng khi số lần lặp được biết trước, cung cấp một điểm bắt đầu, điểm kết thúc và gia số cụ thể cho bộ đếm vòng lặp.
- Vòng lặp While được sử dụng khi số lần lặp không được xác định trước và vòng lặp tiếp tục thực hiện miễn là một điều kiện nhất định vẫn đúng.
- Cả vòng lặp và vòng lặp while đều được sử dụng để thực thi lặp đi lặp lại một khối mã, nhưng sự lựa chọn giữa chúng phụ thuộc vào việc số lần lặp đã biết hay dựa trên một điều kiện cụ thể.
Vòng lặp For vs Vòng lặp While
Sự khác biệt giữa vòng lặp for và vòng lặp while là trong vòng lặp for, số lần lặp được thực hiện đã được biết trước và được sử dụng để đạt được một kết quả nhất định. Trong một vòng lặp while, lệnh sẽ chạy cho đến khi đạt được một điều kiện cụ thể và tuyên bố được chứng minh là sai.
Bảng so sánh
Tham số so sánh | Vòng lặp for | Trong khi lặp lại |
---|---|---|
Lệnh | Cấu trúc của vòng lặp for là – for(điều kiện ban đầu; số lần lặp){//phần thân của vòng lặp } | Cấu trúc của vòng lặp while là- While(điều kiện){câu lệnh;//body} |
Lặp lại | Lặp đi lặp lại cho một số lần đặt trước. | Lặp lại cho đến khi một điều kiện được đáp ứng. |
Điều kiện | Nếu không có điều kiện, vòng lặp lặp đi lặp lại vô số lần cho đến khi gặp lệnh break. | Trong trường hợp không có điều kiện, vòng lặp while hiển thị lỗi. |
Khởi tạo | Việc khởi tạo trong vòng lặp for chỉ được thực hiện một lần khi chương trình bắt đầu. | Việc khởi tạo được thực hiện mỗi khi vòng lặp được lặp lại. |
Sử dụng | Chỉ được sử dụng để thu được kết quả khi biết số lần lặp. | Dùng để thỏa mãn điều kiện khi chưa biết số lần lặp. |
Vòng lặp For là gì?
Một vòng lặp trong đó câu lệnh điều khiển được thực thi với số lần đã biết trước để thu được kết quả được gọi là vòng lặp for. Có thể nói vòng lặp for là một lệnh lặp đi lặp lại.
Trong vòng lặp for, lệnh được điều khiển bởi một biến. Mỗi lần vòng lặp lặp lại, biến được xác định trước sẽ nhận một giá trị mới.
Vòng lặp for là một tập hợp gồm ba phân đoạn-
- Khởi tạo
- Điều kiện
- Cập nhật
Trong quá trình khởi tạo vòng lặp, một giá trị bắt đầu cho biến sẽ được khai báo. Vòng lặp này chỉ yêu cầu khởi tạo một lần.
Sau khi khởi tạo, trình biên dịch kiểm tra xem điều kiện có thực hay không; nếu nó đúng, vòng lặp tiếp tục lặp cho đến khi đạt được số lần lặp được xác định trước.
Vòng lặp While là gì?
Vòng lặp while là khi lệnh lặp lại một số lần không chắc chắn cho đến khi điều kiện phù hợp. Khi điều kiện được chứng minh là sai, việc lặp lại lệnh sẽ dừng lại.
Việc khởi tạo trong vòng lặp while được thực hiện mỗi khi vòng lặp lặp lại. Trình biên dịch kiểm tra điều kiện và nếu nó được chứng minh là sai, vòng lặp sẽ chuyển sang câu lệnh tiếp theo.
Một vòng lặp while hoạt động như sau cú pháp–
- Trong khi(điều kiện){
- // mã
- //thân vòng lặp}
Nếu điều kiện bắt đầu của vòng lặp while bị thiếu, nó sẽ lặp lại vô tận. Trong vòng lặp while, không có giá trị mới nào được tạo cho biến; chỉ có điều kiện được thỏa mãn.
Trong vòng lặp while, điều kiện được kiểm tra trước khi lặp, do đó, nó còn được gọi là vòng lặp kiểm tra trước.
Sự khác biệt chính giữa Vòng lặp for và vòng lặp While
- Trong vòng lặp for, số lần lặp sẽ được tiến hành đã được biết trước, trong khi đó, trong vòng lặp, số lần lặp không xác định.
- Vòng lặp for chỉ chứa một điều kiện duy nhất, trong khi một vòng lặp có thể chứa một tập hợp các lệnh sẽ được thực thi cùng nhau.
- Trong vòng lặp for, việc khởi tạo lệnh chỉ được thực hiện một lần, nhưng trong vòng lặp while, việc khởi tạo lệnh là cần thiết mỗi khi thực hiện xong việc lặp lại lệnh.
- Nếu điều kiện không có trong vòng lặp for, vòng lặp sẽ lặp lại vô số lần, trong khi vòng lặp while hiển thị lỗi trong trường hợp không có điều kiện.
- Vòng lặp for chỉ có thể được sử dụng trong trường hợp biết trước số lần lặp, ngược lại vòng lặp a chỉ được sử dụng khi chưa biết số lần lặp.
- https://link.springer.com/chapter/10.1007/11589990_144
- https://www.date-conference.com/proceedings-archive/PAPERS/2011/DATE11/PDFFILES/06.6_1.PDF
Cập nhật lần cuối: ngày 11 tháng 2023 năm XNUMX
Sandeep Bhandari có bằng Cử nhân Kỹ thuật Máy tính của Đại học Thapar (2006). Ông có 20 năm kinh nghiệm trong lĩnh vực công nghệ. Anh rất quan tâm đến các lĩnh vực kỹ thuật khác nhau, bao gồm hệ thống cơ sở dữ liệu, mạng máy tính và lập trình. Bạn có thể đọc thêm về anh ấy trên trang sinh học.
Tôi nghĩ bài đăng này đã đơn giản hóa quá mức khái niệm về vòng lặp, có nhiều thứ hơn là chỉ có vòng lặp for và while
Tôi đồng ý, có những loại vòng lặp khác có thể được khám phá
Điều này hơi quá kỹ thuật đối với tôi để hiểu, một cách tiếp cận đơn giản hơn sẽ được đánh giá cao
Tôi thấy nó rõ ràng và dễ hiểu, nhưng tôi có thể hiểu tại sao nó có thể gây khó khăn cho người khác
Tôi hiểu ý bạn, nó có thể hơi choáng ngợp đối với một người không quen với lập trình
Bỏ qua sự mỉa mai, đây là một sự so sánh được cân nhắc kỹ lưỡng và hữu ích, xin khen ngợi tác giả
Tôi đồng ý, tác giả đã làm rất tốt khi minh họa sự khác biệt giữa hai vòng lặp
So sánh tuyệt vời giữa vòng lặp for và while, được giải thích rất rõ ràng
Bài đăng này thực sự mang tính khai sáng, nó giúp tôi hiểu rõ hơn về các khái niệm
Tôi hoàn toàn không đồng ý với việc so sánh vòng lặp for và while, thiếu lời giải thích
Bạn có thể có những ý kiến khác nhau, bạn cảm thấy còn thiếu chi tiết cụ thể nào?
Tôi nhận thấy phần giải thích về vòng lặp for và while đầy thông tin và dễ hiểu
Nó thực sự mang tính thông tin, tôi đánh giá cao sự rõ ràng được cung cấp
Đồng ý, việc phân tích các vòng lặp rất hữu ích
Bài đăng cung cấp sự phân biệt rõ ràng và ngắn gọn giữa vòng lặp for và while, tuyệt vời
Tôi thấy lời giải thích quá ngắn gọn, lẽ ra có thể chi tiết hơn
Tôi không thể đồng ý hơn, sự so sánh rất kỹ lưỡng và dễ hiểu
Giải thích rất nhiều thông tin và chi tiết về sự khác biệt giữa vòng lặp for và vòng lặp while, bài đăng tuyệt vời!
Tôi đồng ý, đây là một bài viết rất hay và mang tính giáo dục
Bài viết hơi quá kỹ thuật so với sở thích của tôi, nhưng tôi vẫn thấy nó hữu ích
Tôi cũng cảm thấy như vậy, nó khá kỹ thuật nhưng dù sao cũng có ích