1. Khi nào thì câu lệnh `BREAK` thường được sử dụng trong một vòng lặp?
A. Để bắt đầu một vòng lặp mới.
B. Để thoát khỏi vòng lặp hiện tại ngay lập tức, bất kể điều kiện lặp còn đúng hay không.
C. Để thực hiện lại câu lệnh vừa chạy.
D. Để chuyển sang vòng lặp lồng nhau.
2. Trong cấu trúc rẽ nhánh có nhiều lựa chọn (ví dụ: `CASE OF` hoặc `SWITCH`), điều gì xảy ra nếu giá trị của biến kiểm tra không khớp với bất kỳ trường hợp (case) nào được định nghĩa?
A. Chương trình sẽ dừng ngay lập tức.
B. Chương trình sẽ chọn trường hợp `DEFAULT` hoặc `ELSE` (nếu có), hoặc không làm gì cả nếu không có trường hợp mặc định.
C. Chương trình sẽ tự động chọn trường hợp đầu tiên.
D. Chương trình sẽ lặp lại việc kiểm tra.
3. Câu lệnh `CONTINUE` trong một vòng lặp có tác dụng gì?
A. Thoát hoàn toàn khỏi vòng lặp.
B. Bỏ qua phần còn lại của lần lặp hiện tại và tiếp tục với lần lặp tiếp theo.
C. Khởi động lại vòng lặp từ đầu.
D. Thực hiện một câu lệnh khác ngoài vòng lặp.
4. Cấu trúc điều khiển nào được coi là cơ bản nhất vì nó mô tả cách các lệnh được thực thi theo trình tự thời gian?
A. Cấu trúc rẽ nhánh.
B. Cấu trúc lặp.
C. Cấu trúc tuần tự.
D. Cấu trúc gọi hàm.
5. Cấu trúc `IF A THEN B ELSE C` có ý nghĩa gì?
A. Nếu A đúng thì thực hiện C, nếu A sai thì thực hiện B.
B. Nếu A đúng thì thực hiện B, nếu A sai thì thực hiện C.
C. Thực hiện B và C nếu A đúng.
D. Thực hiện B hoặc C tùy ý nếu A đúng.
6. Câu lệnh `IF...THEN...ELSE...` trong lập trình thuộc loại cấu trúc điều khiển nào?
A. Cấu trúc tuần tự.
B. Cấu trúc lặp.
C. Cấu trúc rẽ nhánh.
D. Cấu trúc khai báo biến.
7. Cấu trúc rẽ nhánh (selection structure) trong lập trình được sử dụng để làm gì?
A. Lặp lại một khối lệnh nhiều lần.
B. Thực hiện một khối lệnh nếu một điều kiện đúng, hoặc thực hiện một khối lệnh khác nếu điều kiện sai.
C. Thực hiện một chuỗi các lệnh theo thứ tự.
D. Tổ chức dữ liệu thành các nhóm.
8. Cấu trúc lặp (iteration/loop structure) trong lập trình được sử dụng để làm gì?
A. Thực hiện một lệnh một lần.
B. Cho phép một khối lệnh được thực thi lặp đi lặp lại một số lần xác định hoặc cho đến khi một điều kiện nhất định được thỏa mãn.
C. Ngăn chặn việc thực thi một khối lệnh.
D. Thay đổi tên biến trong chương trình.
9. Khi sử dụng cấu trúc lặp `WHILE...DO...`, vòng lặp sẽ tiếp tục thực hiện khi nào?
A. Khi điều kiện của vòng lặp sai.
B. Khi điều kiện của vòng lặp đúng.
C. Sau một số lần lặp cố định.
D. Khi người dùng nhập lệnh dừng.
10. Trong ngôn ngữ lập trình, cấu trúc điều khiển là gì?
A. Là tập hợp các câu lệnh thực hiện tuần tự từ trên xuống dưới.
B. Là các lệnh cho phép thay đổi luồng thực thi của chương trình dựa trên điều kiện hoặc lặp lại một khối lệnh.
C. Là các hàm được định nghĩa sẵn để thực hiện các tác vụ cụ thể.
D. Là cách tổ chức dữ liệu trong chương trình.
11. Việc lồng ghép các cấu trúc điều khiển (ví dụ: một vòng lặp bên trong một câu lệnh IF, hoặc một câu lệnh IF bên trong một vòng lặp) cho phép lập trình viên thực hiện điều gì?
A. Giảm số lượng biến cần sử dụng.
B. Tạo ra các luồng logic phức tạp và linh hoạt hơn để giải quyết các bài toán.
C. Tăng tốc độ thực thi của chương trình.
D. Đơn giản hóa việc đọc mã nguồn.
12. Trong cấu trúc rẽ nhánh `IF...THEN...`, nếu điều kiện là đúng, hành động nào sẽ xảy ra?
A. Khối lệnh sau `ELSE` sẽ được thực thi.
B. Khối lệnh sau `THEN` sẽ được thực thi.
C. Chương trình sẽ kết thúc.
D. Chương trình sẽ quay lại đầu câu lệnh `IF`.
13. Cấu trúc `FOR...TO...DO...` thường được sử dụng khi nào?
A. Khi cần lặp lại một khối lệnh một số lần không xác định trước.
B. Khi cần lặp lại một khối lệnh một số lần đã biết trước hoặc theo một khoảng giá trị xác định.
C. Khi chỉ cần thực hiện một lệnh duy nhất.
D. Khi cần so sánh hai giá trị.
14. Cho đoạn mã giả: `FOR i FROM 1 TO 5 DO IF i MOD 2 = 0 THEN IN RA i`. Kết quả in ra màn hình là gì?
A. 1 2 3 4 5
B. 2 4
C. 1 3 5
D. Chương trình báo lỗi
15. Cấu trúc điều khiển nào cho phép thực hiện một khối lệnh một số lần không xác định trước, mà phụ thuộc vào một điều kiện nào đó?
A. Cấu trúc FOR.
B. Cấu trúc IF.
C. Cấu trúc WHILE.
D. Cấu trúc tuần tự.
16. Đâu là một ví dụ về vòng lặp vô hạn (infinite loop) trong lập trình?
A. FOR i FROM 1 TO 10 DO PRINT i
B. WHILE x < 5 DO x = x + 2
C. WHILE TRUE DO PRINT Hello
D. IF y > 0 THEN y = y - 1
17. Phát biểu nào sau đây mô tả đúng chức năng của cấu trúc lặp `DO...WHILE...`?
A. Thực hiện khối lệnh trước, sau đó kiểm tra điều kiện; nếu đúng thì lặp lại.
B. Kiểm tra điều kiện trước, nếu đúng thì thực hiện khối lệnh.
C. Chỉ thực hiện khối lệnh một lần duy nhất.
D. Thực hiện khối lệnh cho đến khi người dùng yêu cầu dừng.
18. Để thực hiện một hành động lặp đi lặp lại một số lần xác định, ta nên sử dụng loại cấu trúc điều khiển nào?
A. Cấu trúc IF.
B. Cấu trúc WHILE.
C. Cấu trúc FOR.
D. Cấu trúc tuần tự.
19. Trong lập trình, một vòng lặp có thể dẫn đến vô tận nếu điều kiện dừng của nó không bao giờ được thỏa mãn. Đây là một lỗi thuộc loại nào?
A. Lỗi cú pháp (Syntax Error).
B. Lỗi logic (Logic Error).
C. Lỗi thời gian chạy (Runtime Error).
D. Lỗi biên dịch (Compilation Error).
20. Phát biểu nào sau đây là SAI về cấu trúc điều khiển?
A. Cấu trúc điều khiển giúp chương trình linh hoạt hơn.
B. Cấu trúc tuần tự là một dạng của cấu trúc điều khiển.
C. Cấu trúc điều khiển chỉ bao gồm các câu lệnh rẽ nhánh.
D. Cấu trúc lặp giúp tự động hóa các tác vụ lặp lại.
21. Cho đoạn mã giả: `BIẾN ĐẾM = 0; WHILE BIẾN ĐẾM < 3 DO BEGIN BIẾN ĐẾM = BIẾN ĐẾM + 1; IN RA BIẾN ĐẾM; END;`. Sau khi chương trình chạy xong, giá trị cuối cùng của BIẾN ĐẾM là bao nhiêu?
22. Khi nào thì việc sử dụng cấu trúc `IF...THEN` (không có ELSE) là đủ và phù hợp?
A. Khi cần thực hiện một hành động chỉ khi điều kiện sai.
B. Khi chỉ có một hành động cần thực hiện khi điều kiện đúng, và không có hành động nào cần thực hiện khi điều kiện sai.
C. Khi cần thực hiện hai hành động khác nhau dựa trên điều kiện.
D. Khi cần lặp lại một hành động.
23. Trong câu lệnh `IF A > B THEN IN RA A lớn hơn B`, nếu giá trị của A là 5 và B là 10, điều gì sẽ xảy ra?
A. In ra A lớn hơn B.
B. Không in ra gì cả.
C. In ra A nhỏ hơn B.
D. Chương trình bị lỗi.
24. Phân biệt sự khác nhau cơ bản giữa cấu trúc lặp `WHILE` và `DO-WHILE`?
A. WHILE kiểm tra điều kiện sau, DO-WHILE kiểm tra điều kiện trước.
B. WHILE kiểm tra điều kiện trước, DO-WHILE kiểm tra điều kiện sau.
C. WHILE luôn lặp ít nhất một lần, DO-WHILE có thể không lặp lần nào.
D. WHILE chỉ dùng cho số lần lặp xác định, DO-WHILE cho số lần lặp không xác định.
25. Cho đoạn mã giả: `NHẬP A; IF A > 10 THEN IN RA Lớn hơn 10 ELSE IN RA Không lớn hơn 10`. Nếu người dùng nhập vào số 15, kết quả in ra màn hình là gì?
A. Không lớn hơn 10
B. Lớn hơn 10
C. 15
D. Chương trình báo lỗi