Tin Học KHMT
Ôn tập Tin học THPT › Tin học 10 › Bài 25
Tin học 10

Bài 25. Vòng lặp while

Bài này giới thiệu vòng lặp while trong Python - cấu trúc lặp dùng cho những tình huống mà ta không biết trước chính xác số lần cần lặp, chỉ biết phải lặp cho tới khi một điều kiện nào đó không còn đúng nữa.

Chủ đề F · Lập trình, Thuật toán & CTDL (KHMT) - đọc khoảng 11 phút · 23 câu luyện tập trong ứng dụng

Tương ứng sách giáo khoa
  • Cánh DiềuTin học 10 - Chủ đề F · Bài 9. Thực hành câu lệnh lặptr. 84
  • Kết nối tri thứcTin học 10 - Bài 21. Câu lệnh lặp Whiletr. 108–110
Xem bảng đối chiếu cả bộ →

Bắt đầu bằng một hình dung

Hãy tưởng tượng bạn cần đổ đầy một thùng nước bằng cách múc từng gáo từ giếng. Bạn không đếm trước xem cần múc đúng bao nhiêu gáo, vì con số đó phụ thuộc vào dung tích thùng và lượng nước mỗi gáo múc được - ngay từ đầu ta không thể biết chính xác. Việc bạn làm chỉ đơn giản là lặp lại một hành động: múc nước, đổ vào thùng, rồi kiểm tra - thùng đã đầy chưa? Nếu chưa đầy, bạn múc tiếp; nếu đã đầy, bạn dừng lại ngay. Chính điều kiện ‘thùng chưa đầy’ là thứ quyết định bạn còn tiếp tục múc hay dừng lại, chứ không phải một số lần lặp định sẵn từ trước. Đó cũng chính là cách vòng lặp while trong Python hoạt động: lặp lại một khối lệnh chừng nào một điều kiện còn đúng, và dừng ngay khi điều kiện đó trở thành sai.

Nội dung bài học

  1. Cú pháp và cách while hoạt động

Tóm tắt lý thuyết cần nhớ

  • while điều_kiện: lặp lại khối lệnh bên trong CHỪNG NÀO điều kiện còn đúng (True); vòng lặp dừng ngay khi điều kiện trở thành sai (False).
  • Dùng while khi KHÔNG biết trước số lần lặp - chỉ biết phải lặp tới khi một điều kiện nào đó xảy ra; for phù hợp hơn khi đã biết trước số lần lặp hoặc dãy giá trị cần duyệt.
  • Bên trong while bắt buộc phải có một bước làm điều kiện tiến dần tới chỗ sai (ví dụ tăng biến đếm); thiếu bước này sẽ gây lặp vô hạn, treo chương trình.
  • while thường dùng để đếm, cộng dồn tới khi đạt mốc, hoặc lặp lại yêu cầu nhập dữ liệu cho tới khi hợp lệ.

Thuật ngữ tiếng Anh trong bài

Tiếng AnhĐọc làNghĩa
whilequai(-lờ)vòng lặp while
Lệnh bảo máy lặp lại một việc chừng nào điều kiện còn đúng, hết đúng thì dừng - như 'còn đói thì còn ăn, no rồi thì thôi'.
looplúpvòng lặp
Bảo máy làm lại một việc nhiều lần - giống em chạy nhiều vòng quanh sân trường.

Câu hỏi trắc nghiệm có đáp án

Mấy câu mẫu để bạn tự kiểm tra ngay. Trong ứng dụng, bài này có đủ 23 câu, chấm điểm tự động và giải thích từng câu sai.

Câu 1 · Nhận biết
Vòng lặp while thực hiện khối lệnh bên trong khi nào?
  1. Khi điều kiện còn đúng (True)
  2. Khi điều kiện đã sai (False)
  3. Đúng một lần duy nhất, không quan tâm điều kiện
  4. Khi biến đếm bằng 0
Đáp án: A - while điều_kiện: chỉ thực hiện khối lệnh bên trong khi điều kiện được kiểm tra và cho kết quả đúng (True); ngay khi điều kiện sai, vòng lặp dừng lại ngay.
Câu 2 · Nhận biết
Cho đoạn code sau. Chương trình in ra bao nhiêu dòng số?
dem = 1
while dem <= 3:
    print(dem)
    dem = dem + 1
  1. 2 dòng: 1, 2
  2. 3 dòng: 1, 2, 3
  3. 4 dòng: 1, 2, 3, 4
  4. In vô hạn, không dừng lại
Đáp án: B - dem bắt đầu từ 1; khi dem = 1, 2, 3 thì điều kiện dem <= 3 đúng nên vẫn in ra và tăng tiếp; khi dem = 4, điều kiện dem <= 3 sai nên vòng lặp dừng. Vậy chương trình in ra đúng 3 dòng: 1, 2, 3.
Câu 3 · Thông hiểu
Dấu hiệu rõ nhất để chọn dùng while thay vì for cho một bài toán là gì?
  1. Bài toán cần in ra một dòng chữ nhiều lần liên tiếp, vì for không in lặp được
  2. Ta biết chính xác số lần cần lặp ngay từ đầu, chẳng hạn lặp đúng 10 lần
  3. Ta không biết trước số lần lặp, chỉ biết phải lặp tới khi đạt một điều kiện nào đó
  4. Bài toán không có biến nào thay đổi giá trị nên không cần biến đếm
Đáp án: C - while phù hợp với những bài toán mà số lần lặp phụ thuộc vào diễn biến lúc chương trình chạy, không thể biết trước - ta chỉ biết dừng lại khi một điều kiện nào đó xảy ra. Nếu đã biết trước chính xác số lần lặp (phương án B), for thường là lựa chọn tự nhiên và gọn hơn.
Câu Đúng/Sai (Phần II) · Thông hiểu
Cho biết mỗi phát biểu sau đúng hay sai:
  • a)Vòng lặp while luôn thực hiện khối lệnh bên trong ít nhất một lần, dù điều kiện ban đầu sai.Sai
  • b)Nếu quên cập nhật biến điều kiện bên trong while, chương trình có thể bị lặp vô hạn.Đúng
  • c)while phù hợp hơn for khi không biết trước số lần lặp cần thực hiện.Đúng
  • d)Điều kiện trong while chỉ được kiểm tra đúng một lần duy nhất, trước khi vòng lặp bắt đầu.Sai
Vì sao:
  • (a) Sai - while chỉ thực hiện khối lệnh nếu điều kiện đúng ngay từ lần kiểm tra đầu tiên; nếu điều kiện sai ngay từ đầu, khối lệnh bên trong không chạy lần nào cả.
  • (b) Đúng - thiếu bước cập nhật khiến điều kiện luôn giữ nguyên giá trị đúng, vòng lặp không bao giờ dừng lại.
  • (c) Đúng - đây chính là điểm khác biệt cốt lõi giữa whilefor.
  • (d) Sai - điều kiện được kiểm tra lại trước MỖI lần lặp, không phải chỉ kiểm tra một lần duy nhất.

Thử ngay: minh hoạ từng bước

Bấm từng bước để tự xem cơ chế hoạt động, hoặc bấm “Tự chạy” cho nó tiến mỗi giây một lần. Đổi được dữ liệu đầu vào - không cần đăng nhập.

Học trọn bài này trong ứng dụng

Bài giảng đầy đủ, 23 câu luyện tập chấm tự động, thi thử đúng cấu trúc đề tốt nghiệp (24 trắc nghiệm + 4 Đúng/Sai), bài thực hành máy tự chấm và gia sư AI giải thích chỗ sai.

Mở bài 25 trong ứng dụng

Phần học miễn phí, không cần tạo tài khoản.