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

 


CHỦ ĐỀ 5 – BÀI 20 – TIN HỌC 10

Câu Lệnh Lặp For Trong Python

Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính

A. 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().

🧠

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

✅

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

🔄 1. Lệnh For Trong Python

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>

Ghi nhớ: for là lệnh lặp với số lần biết trước. Biến i lần lượt nhận các giá trị từ 0 đến n-1. Khối lệnh lặp sẽ được thực hiện n lầ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)

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)
Detailed view of computer code highlighting syntax in colors on a screen.

📐 2. Lệnh Range Trong Python

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():

range(stop): Trả về dãy số từ 0 đến stop - 1. range(start, stop): Trả về dãy số từ start đến stop - 1.

Ví dụ:

LệnhKết quả
range(5)0, 1, 2, 3, 4
range(1, 6)1, 2, 3, 4, 5
range(0, 99)0, 1, 2, ..., 98
range(100, 1)Rỗng ([])

 

Ghi nhớ: range(start, stop) tạo dãy số từ start đến stop - 1. Nếu start > stop, dãy số sẽ rỗng.

Close-up of hands coding on a laptop, showcasing software development in action.

📝 3. Bài Tập Thực Hành

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

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.

n = int(input("Nhập số tự nhiên n: "))
for k in range(1, n + 1):
if n % k == 0:
print(k, end=" ")

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

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).

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)

Kết Luận

Lệnh for là công cụ mạnh mẽ trong Python giúp thực hiện vòng lặp với số lần biết trước. Việc kết hợp for với range() giúp lập trình viên xử lý nhiều bài toán một cách hiệu quả.

C. Củng cố – Vận dụng

LUYỆN TẬP

Câu 1. Đoạn chương trình sau in ra kết quả gì? n = int(input("Nhập số tự nhiên n: "))
S = 8
for k in range(n + 1):
S = S + k
print(S * S)

Phân tích

  • Ban đầu: S = 8.
  • Vòng lặp for k in range(n + 1) sẽ cho k chạy từ 0 đến n.
  • Sau vòng lặp:
S=8+(0+1+2+⋯+n)S = 8 + (0 + 1 + 2 + \cdots + n)
  • Cuối cùng chương trình in:
(8+0+1+2+⋯+n)2(8 + 0 + 1 + 2 + \cdots + n)^2

Hay có thể viết gọn:

(8+n(n+1)2)2\boxed{\left(8 + \frac{n(n+1)}{2}\right)^2}

Ví dụ

Nếu n = 4:

  • Ban đầu: S = 8
  • Sau vòng lặp:
    • k = 0 → S = 8
    • k = 1 → S = 9
    • k = 2 → S = 11
    • k = 3 → S = 14
    • k = 4 → S = 18

Kết quả in ra: 324

Đáp án

Chương trình in ra bình phương của giá trị:

8+0+1+2+⋯+n\boxed{8 + 0 + 1 + 2 + \cdots + n}

hay chính là:

(8+n(n+1)2)2\boxed{\left(8 + \frac{n(n+1)}{2}\right)^2
Câu 2. Viết đoạn chương trình tỉnh tích 1 * 2 * 3 *...* n với n được nhập vào từ bàn phím.
n = int(input("Nhập n: "))

P = 1

for k in range(1, n + 1):
P = P * k

print(P)

VẬN DỤNG

Câu 1. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả S= 1 + 1/2 +...+ 1/n
n = int(input("Nhập n: "))

S = 0

for k in range(1, n + 1):
S = S + 1 / k

print(S)
Câu 2. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là tổng sau: S= 1 ^ 3 + 2 ^ 3 +...+n^ 3
n = int(input("Nhập n: "))

S = 0

for k in range(1, n + 1):
S = S + k**3

print(S)
Students focused on computers in a bright classroom setting.

"Lặp lại là sức mạnh – và for là công cụ để khai phá nó!"

Trắc Nghiệm

Bài cũ hơn Bài mới hơn
Đọc tiếp:
Lên đầu trang