Chuyển tới nội dung chính

VÒNG LẶP FOR

Mục tiêu bài học

  • Hiểu khái niệm và mục đích sử dụng vòng lặp for.
  • Nắm được cú pháp vòng lặp for trong lập trình (minh họa bằng Python và C/C++).
  • Biết cách sử dụng vòng lặp for để giải quyết các bài toán lặp cơ bản.
  • Phân biệt được vòng lặp for với vòng lặp while.

1. Vòng lặp là gì?

Trong lập trình, vòng lặp (loop) là cấu trúc điều khiển cho phép thực hiện lặp đi lặp lại một khối lệnh nhiều lần, thay vì phải viết lại đoạn code đó nhiều lần.

Ví dụ: In ra màn hình các số từ 1 đến 5. Nếu không dùng vòng lặp, ta phải viết 5 câu lệnh print. Nếu dùng vòng lặp, ta chỉ cần vài dòng code.


2. Vòng lặp for là gì?

Vòng lặp for là loại vòng lặp được sử dụng khi biết trước số lần lặp (hoặc lặp qua một tập hợp phần tử đã biết: danh sách, chuỗi, dãy số...).

Sơ đồ thuật toán (Flowchart) của vòng lặp for:


3. Cú pháp vòng lặp for

for <biến> in <dãy giá trị>:
<khối lệnh thực hiện>

Ví dụ 1: In các số từ 0 đến 4

for i in range(5):
print(i)

Kết quả:

0
1
2
3
4

Ví dụ 2: Duyệt qua một danh sách

trai_cay = ["táo", "cam", "chuối"]
for ten in trai_cay:
print(ten)

4. Hàm range() trong Python

Hàm range() thường đi kèm với vòng lặp for để tạo ra một dãy số. Hàm này có 3 cú pháp (công thức chung) thường dùng:

  • range(stop): Tạo dãy số từ 0 đến stop - 1 (mặc định bước nhảy là 1).
  • range(start, stop): Tạo dãy số từ start đến stop - 1 (mặc định bước nhảy là 1).
  • range(start, stop, step): Tạo dãy số từ start đến stop - 1 với khoảng cách giữa các số là step.

Bảng ví dụ chi tiết:

Cách viếtÝ nghĩaKết quả
range(5)Từ 0 đến 40,1,2,3,4
range(2, 6)Từ 2 đến 52,3,4,5
range(0, 10, 2)Từ 0 đến 9, bước nhảy 20,2,4,6,8
range(5, 0, -1)Từ 5 đến 1, giảm dần5,4,3,2,1

5. Vòng lặp for lồng nhau

Có thể đặt một vòng lặp for bên trong một vòng lặp for khác. Thường dùng để xử lý bảng, ma trận.

for i in range(1, 4):
for j in range(1, 4):
print(f"{i} x {j} = {i*j}")

6. So sánh forwhile

Tiêu chíforwhile
Khi nào dùngBiết trước số lần lặpKhông biết trước số lần lặp, lặp đến khi điều kiện sai
Cấu trúcGọn, có sẵn biến đếmCần tự khởi tạo và cập nhật biến điều kiện
Ví dụ điển hìnhDuyệt mảng, danh sáchChờ người dùng nhập đúng dữ liệu

7. Các lệnh hỗ trợ trong vòng lặp

  • break: thoát khỏi vòng lặp ngay lập tức.
  • continue: bỏ qua phần còn lại của lần lặp hiện tại, chuyển sang lần lặp kế tiếp.
for i in range(10):
if i == 5:
break # dừng vòng lặp khi i = 5
if i % 2 == 0:
continue # bỏ qua số chẵn
print(i)

8. Bài tập thực hành

  1. Viết vòng lặp for in ra bảng cửu chương của một số bất kỳ (ví dụ số 7).
  2. Tính tổng các số từ 1 đến 100 bằng vòng lặp for.
  3. In ra các số chẵn từ 1 đến 50.
  4. Đếm số lượng ký tự nguyên âm trong một chuỗi bất kỳ.
  5. In hình tam giác dấu * với chiều cao n (sử dụng vòng lặp lồng nhau).