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

Bài 24. Vòng lặp for

Bài này giới thiệu vòng lặp for trong Python - cách để yêu cầu máy tính lặp lại một thao tác nhiều lần mà không phải viết đi viết lại cùng một dòng lệnh, thông qua hàm range().

Chủ đề F · Lập trình, Thuật toán & CTDL (KHMT) - đọc khoảng 12 phút · 27 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 8. Câu lệnh lặptr. 80
  • Kết nối tri thứcTin học 10 - Bài 20. Câu lệnh lặp fortr. 105–107
Xem bảng đối chiếu cả bộ →

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

Hãy hình dung một người phụ trách một lớp học gồm 40 người, và mỗi buổi cần điểm danh: gọi tên người thứ nhất rồi đánh dấu có mặt, gọi tên người thứ hai rồi đánh dấu, cứ thế lần lượt cho đến người cuối cùng. Đây là một công việc lặp lại: thao tác thực hiện (gọi tên, đánh dấu) giống hệt nhau ở mọi lần, chỉ khác nhau ở việc đang xét đến ai trong danh sách. Nếu phải mô tả riêng từng bước cho cả 40 người thì rất dài dòng. Trong lập trình cũng vậy - khi một việc cần lặp lại nhiều lần theo đúng một cách, ta không viết lại nhiều lần cùng một đoạn lệnh, mà dùng vòng lặp để máy tính tự thực hiện việc đó, lần lượt cho từng phần tử.

Nội dung bài học

  1. Vì sao cần vòng lặp?
  2. Cú pháp vòng lặp for với range()

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

  • Khi một việc cần lặp lại nhiều lần theo cùng một cách, hãy dùng vòng lặp thay vì viết lại nhiều dòng lệnh giống nhau.
  • for i in range(n): cho i chạy từ 0 đến n-1; range(a, b) chạy từ a đến b-1; range(a, b, step) chạy với bước nhảy step, và luôn dừng TRƯỚC giá trị cuối.
  • Khối lệnh bên trong for bắt buộc phải thụt lề thống nhất; biến chạy i tự thay đổi giá trị sau mỗi vòng lặp.
  • Vòng lặp for thường dùng để in dãy số, tính tổng (cộng dồn qua biến tích lũy), hoặc đếm.

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

Tiếng AnhĐọc làNghĩa
forphovòng lặp for
Lệnh bảo máy làm đi làm lại một việc đúng số lần - như đếm từ 1 đến 10.
rangerên-chờhàm tạo dãy số (range)
Tạo ra một dãy số liên tiếp để dùng cho vòng lặp for.
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ó đủ 27 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 for i in range(5): cho biến i lần lượt nhận những giá trị nào?
  1. 0, 1, 2, 3, 4, 5
  2. 1, 2, 3, 4, 5
  3. 0, 1, 2, 3, 4
  4. 1, 2, 3, 4
Đáp án: C - range(5) tương đương range(0, 5), cho i chạy từ 0 đến 5 − 1 = 4. Vậy i lần lượt nhận các giá trị 0, 1, 2, 3, 4 - không tính số 5.
Câu 2 · Nhận biết
Trong Python, khối lệnh muốn lặp lại bên trong vòng lặp for phải được viết như thế nào?
  1. Đặt trong dấu ngoặc nhọn { }
  2. Thụt lề (indent) so với dòng for
  3. Viết trên cùng một dòng với for, cách nhau bằng dấu phẩy
  4. Không cần quy tắc gì đặc biệt
Đáp án: B - Python không dùng dấu ngoặc để gom khối lệnh như một số ngôn ngữ khác, mà dựa vào việc thụt lề. Các dòng lệnh thuộc về vòng lặp phải được thụt lề thống nhất so với dòng for; nếu thụt lề sai, chương trình sẽ báo lỗi hoặc chạy không đúng ý muốn.
Câu 3 · Thông hiểu
range(2, 9, 2) sẽ cho biến chạy nhận những giá trị nào?
  1. 2, 4, 6, 8
  2. 2, 3, 4, 5, 6, 7, 8
  3. 2, 4, 6
  4. 0, 2, 4, 6, 8
Đáp án: A - range(a, b, step) bắt đầu từ a, mỗi vòng cộng thêm step, và dừng lại trước khi chạm hoặc vượt qua b. Từ 2, cộng liên tiếp 2 đơn vị: 2, 4, 6, 8; vòng kế tiếp sẽ là 10, nhưng 10 đã vượt quá 9 nên vòng lặp dừng lại.
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)for i in range(5): sẽ cho i lần lượt nhận các giá trị 0, 1, 2, 3, 4.Đúng
  • b)range(1, 10) cho i chạy đến hết giá trị 10, tức có tính cả số 10.Sai
  • c)Trong vòng lặp for, khối lệnh muốn lặp lại phải thụt lề đồng nhất so với dòng bắt đầu bằng for.Đúng
  • d)Vòng lặp for chỉ có thể dùng để in dãy số, không thể dùng để tính tổng hoặc đếm.Sai
Vì sao:
  • (a) Đúng - range(5) tương đương range(0, 5), cho i chạy từ 0 đến 4, đúng 5 giá trị.
  • (b) Sai - range(1, 10) dừng lại TRƯỚC 10, tức i chạy từ 1 đến 9, không bao gồm 10.
  • (c) Đúng - Python dựa vào thụt lề để xác định khối lệnh thuộc vòng lặp; thụt lề phải thống nhất.
  • (d) Sai - vòng lặp for còn dùng để tính tổng (cộng dồn qua từng vòng) và đếm (đếm số phần tử thỏa mãn điều kiện), không chỉ để in dãy số.

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 đủ, 27 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 24 trong ứng dụng

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