1. Trong cấu trúc lặp for (khởi tạo; điều kiện; bước nhảy) { ... }, thành phần nào xác định khi nào vòng lặp sẽ dừng lại?
A. Khởi tạo
B. Bước nhảy
C. Khối lệnh bên trong
D. Điều kiện
2. Giả sử ta có vòng lặp for i in range(5): .... Nếu ta thêm lệnh `continue` bên trong vòng lặp, điều gì sẽ xảy ra khi điều kiện cho `continue` được thỏa mãn?
A. Vòng lặp sẽ kết thúc ngay lập tức.
B. Lệnh `continue` sẽ bỏ qua phần còn lại của vòng lặp hiện tại và chuyển sang lần lặp tiếp theo.
C. Vòng lặp sẽ bị dừng lại và báo lỗi.
D. Vòng lặp sẽ chạy lại từ đầu.
3. Nếu ta có đoạn mã Python: `for i in range(1, 6): print(i)`, kết quả in ra màn hình sẽ là gì?
A. 1, 2, 3, 4, 5
B. 1, 2, 3, 4, 5, 6
C. 0, 1, 2, 3, 4, 5
D. 6
4. Cấu trúc lặp for giúp chúng ta thực hiện công việc gì một cách hiệu quả?
A. Thực hiện một hành động duy nhất khi điều kiện đúng.
B. Thực hiện một hành động lặp đi lặp lại một số lần xác định.
C. Chọn một trong nhiều khối lệnh để thực thi.
D. Thực hiện một hành động cho đến khi điều kiện sai.
5. Nếu ta muốn tính tổng các số từ 1 đến 100, cấu trúc lặp nào là phù hợp nhất?
A. Vòng lặp while với điều kiện luôn đúng.
B. Cấu trúc lặp với số lần biết trước (ví dụ: for).
C. Cấu trúc if-else.
D. Không cần dùng vòng lặp.
6. Cú pháp phổ biến nhất cho cấu trúc lặp với số lần biết trước trong nhiều ngôn ngữ lập trình là gì?
A. while (điều kiện) { ... }
B. if (điều kiện) { ... }
C. for (khởi tạo; điều kiện; bước nhảy) { ... }
D. switch (biến) { ... }
7. Trong lập trình, cấu trúc lặp với số lần biết trước thường được sử dụng khi nào?
A. Khi số lần lặp không xác định được trước.
B. Khi cần thực hiện một hành động cho đến khi một điều kiện cụ thể được thỏa mãn.
C. Khi biết trước chính xác số lần cần lặp lại một khối lệnh.
D. Khi muốn dừng lặp ngay lập tức khi gặp một điều kiện sai.
8. Cấu trúc lặp với số lần biết trước có thể được sử dụng để thực hiện hành động nào sau đây?
A. Tìm kiếm một phần tử trong danh sách không có kích thước xác định.
B. Đọc dữ liệu từ file cho đến khi hết file.
C. Tính tổng của các số tự nhiên từ 1 đến N, với N đã cho trước.
D. Chờ người dùng nhấn một phím bất kỳ.
9. Đâu là một ứng dụng thực tế của cấu trúc lặp với số lần biết trước trong các trò chơi điện tử?
A. Chờ người chơi nhấn nút bắt đầu.
B. Hiển thị điểm số của người chơi.
C. Di chuyển một đối tượng trên màn hình một số bước cố định.
D. Kiểm tra xem người chơi có thắng hay thua.
10. Khi nào thì việc sử dụng vòng lặp while phù hợp hơn vòng lặp for với số lần biết trước?
A. Khi số lần lặp là cố định và đã biết trước.
B. Khi số lần lặp phụ thuộc vào một điều kiện nào đó và không thể xác định trước.
C. Khi cần thực hiện lặp lại một khối lệnh một số lượng lớn.
D. Khi cần lặp lại hành động cho đến khi có lỗi xảy ra.
11. Đâu là một ví dụ về tình huống cần sử dụng cấu trúc lặp với số lần biết trước?
A. Chờ người dùng nhập đúng mật khẩu.
B. In ra màn hình 10 dòng chữ Xin chào.
C. Tìm kiếm một tệp tin trong thư mục.
D. Duyệt qua tất cả các phần tử trong một danh sách có kích thước thay đổi.
12. Cấu trúc lặp với số lần biết trước giúp tối ưu hóa việc gì trong lập trình?
A. Giảm số lượng biến cần sử dụng.
B. Tăng khả năng đọc hiểu và bảo trì mã.
C. Giảm tốc độ xử lý của chương trình.
D. Tăng mức độ phức tạp của thuật toán.
13. Trong ngôn ngữ lập trình C++, cú pháp `for(int i = 0; i < 10; i++)` có nghĩa là gì?
A. Lặp lại khối lệnh 10 lần, với biến i có giá trị từ 1 đến 10.
B. Lặp lại khối lệnh cho đến khi i lớn hơn hoặc bằng 10.
C. Lặp lại khối lệnh 10 lần, với biến i có giá trị từ 0 đến 9.
D. Lặp lại khối lệnh khi i bằng 0.
14. Khi sử dụng vòng lặp for để đếm ngược từ 10 về 1, bước nhảy của biến đếm sẽ là bao nhiêu?
15. Nếu một chương trình yêu cầu người dùng nhập một dãy số và ta muốn xử lý từng số trong dãy đó, cấu trúc lặp nào là phù hợp nếu biết trước có N số cần nhập?
A. Vòng lặp while cho đến khi người dùng nhập giá trị đặc biệt.
B. Cấu trúc lặp for với số lần lặp là N.
C. Cấu trúc if để kiểm tra từng số.
D. Không cần dùng vòng lặp.
16. Trong tình huống nào sau đây, việc sử dụng vòng lặp for với số lần biết trước là KHÔNG phù hợp?
A. In ra 100 lần thông báo Hoàn thành.
B. Tìm kiếm một từ khóa trong một văn bản dài.
C. Thực hiện một phép tính mỗi giây trong 1 phút.
D. Chờ người dùng nhập giá trị âm để kết thúc chương trình.
17. Nếu vòng lặp for được thiết lập để chạy 5 lần, nhưng bên trong vòng lặp có lệnh break, vòng lặp sẽ dừng lại khi nào?
A. Sau khi vòng lặp chạy đủ 5 lần.
B. Ngay lập tức khi gặp lệnh break, bất kể đã chạy bao nhiêu lần.
C. Khi điều kiện của vòng lặp không còn đúng.
D. Sau khi vòng lặp chạy được một nửa số lần.
18. Trong các ngôn ngữ lập trình, cấu trúc lặp với số lần biết trước thường được gọi là gì?
A. Vòng lặp điều kiện (Conditional loop).
B. Vòng lặp vô hạn (Infinite loop).
C. Vòng lặp đếm (Counted loop) hoặc vòng lặp for (For loop).
D. Vòng lặp chọn (Selection loop).
19. Đâu là một lợi ích chính của việc sử dụng cấu trúc lặp với số lần biết trước?
A. Giúp chương trình chạy chậm hơn.
B. Tăng khả năng xảy ra lỗi.
C. Giúp mã nguồn trở nên ngắn gọn, dễ đọc và dễ bảo trì hơn.
D. Yêu cầu nhiều tài nguyên hệ thống hơn.
20. Nếu một vòng lặp for có điều kiện là i < 5 và biến i bắt đầu từ 0 và tăng lên 1 sau mỗi lần lặp, vòng lặp sẽ chạy bao nhiêu lần?
A. 4 lần
B. 5 lần
C. 6 lần
D. 0 lần
21. Nếu ta muốn in ra các số chẵn từ 2 đến 10, ta có thể sử dụng cấu trúc lặp for với bước nhảy là bao nhiêu?
22. Trong ngôn ngữ lập trình Scratch, khối lệnh nào được sử dụng phổ biến nhất để tạo vòng lặp với số lần biết trước?
A. Khối repeat until
B. Khối forever
C. Khối repeat [số lần]
D. Khối if ... then
23. Giả sử ta có đoạn mã Python: `for i in range(3): print(i)`. Kết quả in ra màn hình sẽ là gì?
A. 0, 1, 2
B. 1, 2, 3
C. 0, 1, 2, 3
D. 3
24. Cấu trúc lặp với số lần biết trước giúp tránh được vấn đề gì trong lập trình?
A. Vòng lặp vô hạn (infinite loop).
B. Lỗi cú pháp.
C. Lỗi logic trong tính toán.
D. Tràn bộ nhớ.
25. Đâu là một biến đếm (counter variable) điển hình trong vòng lặp for?
A. Biến lưu trữ kết quả cuối cùng.
B. Biến điều kiện của vòng lặp while.
C. Biến thay đổi giá trị sau mỗi lần lặp để kiểm soát số lần lặp.
D. Biến lưu trữ thông báo lỗi.