BÀI 20: CÂU LỆNH LẶP FOR

Bài 20: Câu lệnh lặp for
Slide 1/7
🔄🔢💫

BÀI 20: CÂU LỆNH LẶP FOR

"Lặp lại để tạo ra sức mạnh trong lập trình"

Tin học 10 | Lập trình cơ bản
Slide 2/7

🎯 YÊU CẦU CẦN ĐẠT

  • Hiểu được ý nghĩa của vùng giá trị tạo bởi lệnh range()

    Nắm vững cách sử dụng hàm range() để tạo dãy số trong Python.

  • Biết cách sử dụng lệnh lặp for trong Python

    Hiểu cú pháp và cách thức hoạt động của vòng lặp for với số lần lặp biết trước.

  • Áp dụng lệnh for vào các bài toán lập trình thực tế

    Sử dụng vòng lặp for để giải quyết các bài toán tính toán và xử lý dữ liệu.

Slide 3/7

🔄 1. LỆNH FOR TRONG PYTHON

Định nghĩa:
Lệnh for trong Python là một vòng lặp với số lần lặp biết trước, được xác định thông qua range().

📝 Cú pháp của lệnh for:

for i in range(n):
<khối lệnh lặp>
🔢
Biến lặp i
Biến i lần lượt nhận các giá trị từ 0 đến n-1 trong mỗi lần lặp.
🔄
Khối lệnh lặp
Khối lệnh sẽ được thực hiện n lần, mỗi lần với giá trị i khác nhau.
📊
Số lần lặp
Số lần lặp được xác định trước và không thay đổi trong quá trình thực hiện.

📝 Ví dụ 1: Tính tổng các số tự nhiên chẵn nhỏ hơn n

n = 10
S = 0
for k in range(n):
if k % 2 == 0:
S = S + k
print(S) # Kết quả: 20

🎯 Mô phỏng vòng lặp (n=10)

Lần 1: k=0, S=0+0=0
Lần 2: k=1, k lẻ → bỏ qua
Lần 3: k=2, S=0+2=2
Lần 4: k=3, k lẻ → bỏ qua
Lần 5: k=4, S=2+4=6
Lần 6: k=5, k lẻ → bỏ qua
Lần 7: k=6, S=6+6=12
Lần 8: k=7, k lẻ → bỏ qua
Lần 9: k=8, S=12+8=20
Lần 10: k=9, k lẻ → bỏ qua

📝 Ví dụ 2: Đếm các số nguyên nhỏ hơn n và là bội của 3

n = 20
C = 0
for k in range(n):
if k % 3 == 0:
C = C + 1
print(C) # Kết quả: 7
🔍 Giải thích:
Các số từ 0 đến 19 là bội của 3: 0, 3, 6, 9, 12, 15, 18 → Tổng cộng 7 số
💡 Ghi nhớ:
for là lệnh lặp với số lần biết trước
• Số lần lặp thường được xác định bởi vùng giá trị của range()
• Biến lặp tự động thay đổi giá trị trong mỗi lần lặp
Slide 4/7

📊 2. LỆNH RANGE TRONG PYTHON

Định nghĩa:
Lệnh range() giúp tạo ra một dãy số liên tiếp, dùng trong vòng lặp for.

📝 Cú pháp của range():

1️⃣
range(stop)
Trả về dãy số từ 0 đến stop - 1
range(5) → [0, 1, 2, 3, 4]
2️⃣
range(start, stop)
Trả về dãy số từ start đến stop - 1
range(1, 6) → [1, 2, 3, 4, 5]

🔍 Ví dụ chi tiết về range():

📋 Các ví dụ thực tế:

range(5) → [0, 1, 2, 3, 4]
Tạo 5 số từ 0 đến 4
range(1, 6) → [1, 2, 3, 4, 5]
Tạo số từ 1 đến 5
range(0, 99) → [0, 1, 2, ..., 98]
Tạo 99 số từ 0 đến 98
range(100, 1) → rỗng
Không tạo ra số nào vì start > stop

💻 Ví dụ sử dụng range() trong for:

🔢 In các số từ 1 đến 5

for i in range(1, 6):
print(i)
# Kết quả: 1 2 3 4 5

🎯 Tính giai thừa của n

n = 5
gt = 1
for i in range(1, n + 1):
gt = gt * i
print(gt) # 120

🎮 Thử nghiệm tương tác với range():

Nhập giá trị để xem kết quả range():

Nhập một số và nhấn "Xem kết quả"
Lưu ý quan trọng:
range(start, stop) tạo dãy số từ start đến stop - 1
• Nếu start > stop, dãy số sẽ rỗng
range(n) tương đương với range(0, n)
• Giá trị stop không bao giờ được bao gồm trong dãy số
Slide 5/7

💻 3. BÀI TẬP THỰC HÀNH - PHẦN 1

🎯 Bài 1: In Các Ước Số Của Một Số

📝 Yêu cầu:

✅ Bài toán: Viết chương trình nhập số n và in ra màn hình tất cả các ước số của n theo hàng ngang.

📌 Hướng dẫn:
• Sử dụng vòng lặp for để duyệt từ 1 đến n
• Kiểm tra điều kiện n % k == 0 để tìm ước số
• Sử dụng print(k, end=" ") để in trên cùng một hàng
📌 Code mẫu:
n = int(input("Nhập số tự nhiên n: "))
for k in range(1, n + 1):
if n % k == 0:
print(k, end=" ")
🎯 Ví dụ chạy chương trình:
Trường hợp 1:
Nhập số tự nhiên n: 12
1 2 3 4 6 12

Trường hợp 2:
Nhập số tự nhiên n: 15
1 3 5 15
🔍 Giải thích thuật toán:
• Duyệt qua tất cả các số từ 1 đến n
• Với mỗi số k, kiểm tra xem n có chia hết cho k không
• Nếu n % k == 0 thì k là ước số của n
• In k ra màn hình với end=" " để in trên cùng một hàng
Slide 6/7

💻 3. BÀI TẬP THỰC HÀNH - PHẦN 2

🎯 Bài 2: Đếm Số Ước Số Thực Sự Của Một Số

📝 Yêu cầu:

✅ Bài toán: Viết chương trình nhập số n và đếm số ước số thực sự của n (tức là các ước số nhỏ hơn n).

📌 Hướng dẫn:
• Sử dụng vòng lặp for để duyệt từ 1 đến n-1
• Kiểm tra điều kiện n % k == 0 để tìm ước số
• Sử dụng biến đếm count để đếm số ước số
• Ước số thực sự không bao gồm chính số n
📌 Code mẫu:
n = int(input("Nhập số tự nhiên n: "))
count = 0
for k in range(1, n):
if n % k == 0:
count += 1
print(count)
🎯 Ví dụ chạy chương trình:
Trường hợp 1:
Nhập số tự nhiên n: 12
5
(Các ước số thực sự: 1, 2, 3, 4, 6)

Trường hợp 2:
Nhập số tự nhiên n: 6
3
(Các ước số thực sự: 1, 2, 3)
🔍 Giải thích thuật toán:
• Khởi tạo biến đếm count = 0
• Duyệt qua các số từ 1 đến n-1 (không bao gồm n)
• Với mỗi số k là ước số của n, tăng count lên 1
• In ra tổng số ước số thực sự

🎯 Ứng dụng thực tế:

🔢 Số hoàn hảo
Số bằng tổng các ước số thực sự của nó (VD: 6 = 1+2+3)
🎲 Số nguyên tố
Số chỉ có đúng 1 ước số thực sự (chỉ có ước số là 1)
📊 Phân tích số
Tìm hiểu tính chất của số thông qua các ước số
Slide 7/7
🔄🔢💫

THÀNH THẠO CÂU LỆNH LẶP FOR

"Vòng lặp for giúp chúng ta thực hiện các tác vụ lặp đi lặp lại một cách hiệu quả."

🔄💪

"Với for và range(), chúng ta có thể giải quyết nhiều bài toán phức tạp!"

🚀✨

🎯 Những gì đã học hôm nay:

🔄
Vòng lặp for
Lặp với số lần biết trước
📊
Hàm range()
Tạo dãy số liên tiếp
🔢
Tìm ước số
Ứng dụng thực tế
📈
Đếm và tính toán
Xử lý dữ liệu số học

💡 Ứng dụng thực tế:

🔍
Tìm ước số
Phân tích tính chất số
📊
Tính tổng, tích
Xử lý dãy số
🎯
Đếm phần tử
Thống kê dữ liệu
Hãy thực hành nhiều bài tập với vòng lặp for! 🎓✨
Lên đầu trang