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
fortrong 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
forvới vòng lặpwhile.
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đếnstop - 1(mặc định bước nhảy là 1).range(start, stop): Tạo dãy số từstartđếnstop - 1(mặc định bước nhảy là 1).range(start, stop, step): Tạo dãy số từstartđếnstop - 1với khoảng cách giữa các số làstep.
Bảng ví dụ chi tiết:
| Cách viết | Ý nghĩa | Kết quả |
|---|---|---|
range(5) | Từ 0 đến 4 | 0,1,2,3,4 |
range(2, 6) | Từ 2 đến 5 | 2,3,4,5 |
range(0, 10, 2) | Từ 0 đến 9, bước nhảy 2 | 0,2,4,6,8 |
range(5, 0, -1) | Từ 5 đến 1, giảm dần | 5,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 for và while
| Tiêu chí | for | while |
|---|---|---|
| Khi nào dùng | Biết trước số lần lặp | Không biết trước số lần lặp, lặp đến khi điều kiện sai |
| Cấu trúc | Gọn, có sẵn biến đếm | Cần tự khởi tạo và cập nhật biến điều kiện |
| Ví dụ điển hình | Duyệt mảng, danh sách | Chờ 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
- Viết vòng lặp
forin ra bảng cửu chương của một số bất kỳ (ví dụ số 7). - Tính tổng các số từ 1 đến 100 bằng vòng lặp
for. - In ra các số chẵn từ 1 đến 50.
- Đếm số lượng ký tự nguyên âm trong một chuỗi bất kỳ.
- In hình tam giác dấu
*với chiều cao n (sử dụng vòng lặp lồng nhau).