Chào mừng các bạn đến với Rcom Dăm Yi blog - Kho tài liệu bổ ích!, Chúng tôi sẽ từng bước hoàn thiện để bạn đọc cảm thấy hài lòng, hữu ích!

Chủ Nhật, 18 tháng 1, 2026

Vòng lặp while trong Python – Bài toán tính tổng

VÒNG LẶP while TRONG PYTHON
(Bài toán tính tổng – Dành cho HS THPT)


1️⃣ Cú pháp và ý nghĩa của vòng lặp while

Vòng lặp while được dùng khi ta muốn chương trình lặp lại một nhóm lệnh chừng nào điều kiện còn đúng.

📌 Cú pháp

while <điều_kiện>:
    <các lệnh trong vòng lặp>
  • Điều kiện là biểu thức logic (True / False)
  • Khi điều kiện còn đúng → vòng lặp tiếp tục
  • Khi điều kiện sai → vòng lặp kết thúc
⚠️ Trong vòng lặp while bắt buộc phải có lệnh làm thay đổi điều kiện, nếu không chương trình sẽ lặp vô hạn.

2️⃣ Ví dụ: Tính tổng S1

Bài toán:
Tính tổng: S1 = 1 + 2 + 3 + … + 7

3️⃣ CÁCH 1: Dùng vòng lặp while (cơ bản)

🔹 Ý tưởng

  • Dùng biến i chạy từ 1 đến 7
  • Mỗi vòng lặp cộng i vào tổng
  • Tăng i lên 1
S1 = 0
i = 1

while i <= 7:
    S1 = S1 + i
    i = i + 1

print(S1)
✅ Kết quả: 28

4️⃣ CÁCH 2: Tổng quát hóa (tính tổng từ 1 đến n)

n = int(input("Nhập n: "))
S = 0
i = 1

while i <= n:
    S += i
    i += 1

print("Tổng từ 1 đến", n, "là:", S)

5️⃣ CÁCH 3: GIẢI THÍCH CHI TIẾT THEO TƯ DUY THUẬT TOÁN

🔹 Giải thích từng bước (dành cho HS học lực yếu)

❓ Tại sao phải khởi tạo S = 0?
  • S là biến dùng để lưu tổng
  • Ban đầu chưa cộng số nào ⇒ tổng bằng 0
  • Đây là giá trị khởi đầu đúng và an toàn
❓ Tại sao phải khởi tạo i = 1?
  • i là số đầu tiên của dãy cần cộng
  • Tổng bắt đầu từ 1 ⇒ i phải bằng 1
  • i là biến điều khiển vòng lặp
❓ Tại sao điều kiện là i ≤ 7?
  • Ta chỉ cần cộng các số từ 1 đến 7
  • Khi i > 7 thì không được cộng nữa
  • Điều kiện này giúp vòng lặp dừng đúng lúc
❓ Tại sao phải có lệnh S = S + i?
  • Mỗi vòng lặp ta cộng thêm một số mới
  • Lệnh này giúp cộng dồn giá trị
  • Không có lệnh này thì tổng không thay đổi
❓ Tại sao phải tăng i?
  • Để chuyển sang số tiếp theo
  • Giúp điều kiện i ≤ 7 cuối cùng trở thành sai
  • Tránh vòng lặp vô hạn
S = 0
i = 1

while i <= 7:
    S += i
    i += 1

print("Tổng S1 =", S)

6️⃣ BÀI TẬP VỀ NHÀ

📝 Bài 1

Tính tổng: S2 = 1 + 8 + 15 + … + 99

🔍 Phân tích

  • Số đầu: 1
  • Mỗi lần tăng: +7
  • Số cuối: 99
S2 = 0
i = 1

while i <= 99:
    S2 += i
    i += 7

print("Tổng S2 =", S2)

📝 Bài 2

Tính tổng: S3 = 1 + 3 + 5 + … + 17

🔍 Phân tích

  • Dãy số lẻ liên tiếp
  • Mỗi lần tăng: +2
  • Số cuối: 17
S3 = 0
i = 1

while i <= 17:
    S3 += i
    i += 2

print("Tổng S3 =", S3)
🎯 Học sinh tự chạy chương trình để kiểm tra kết quả

Không có nhận xét nào:

Đăng nhận xét

Bài đăng phổ biến

💬 Bình luận

💬 Bình luận

📌 Danh sách bình luận