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().
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ố
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ớ:
•
• Số lần lặp thường được xác định bởi vùng giá trị của
• Biến lặp tự động thay đổi giá trị trong mỗi lần lặp
•
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.
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:
•
• Nếu start > stop, dãy số sẽ rỗng
•
• Giá trị stop không bao giờ được bao gồm trong dãy số
•
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
• Kiểm tra điều kiện
• Sử dụng
📌 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
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
• 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
• Kiểm tra điều kiện
• Sử dụng biến đếm
• Ước số thực sự không bao gồm chính số 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)
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
• 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ự
• 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ố 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)
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ố
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 forLặ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ánXử 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íchXử 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! 🎓✨
1 / 7
