1. Cấu trúc điều kiện If...then...else trong Pascal 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 điều kiện đúng, thực hiện khối lệnh khác nếu điều kiện sai.
C. Chỉ thực hiện một khối lệnh duy nhất.
D. Nhập dữ liệu từ bàn phím.
2. Phát biểu nào sau đây mô tả đúng về biến trong lập trình?
A. Là một giá trị cố định không thay đổi.
B. Là một tên gọi đại diện cho một ô nhớ có thể lưu trữ dữ liệu và có thể thay đổi giá trị.
C. Chỉ dùng để lưu trữ kết quả cuối cùng của chương trình.
D. Là một tập hợp các câu lệnh được định nghĩa trước.
3. Phát biểu nào sau đây là ví dụ về lỗi logic (logic error) trong lập trình?
A. Thiếu dấu nháy đơn khi in chuỗi.
B. Sử dụng toán tử + thay vì - trong phép tính diện tích hình chữ nhật.
C. Quên khai báo biến.
D. Chương trình bị treo.
4. Trong Pascal, để khai báo một biến chỉ nhận hai giá trị là ĐÚNG hoặc SAI, ta sử dụng kiểu dữ liệu nào?
A. real
B. integer
C. boolean
D. char
5. Trong lập trình, vòng lặp (loop) có chức năng chính là gì?
A. Ngăn chặn lỗi chương trình.
B. Thực hiện lặp lại một hoặc nhiều hành động nhiều lần.
C. Lưu trữ tạm thời dữ liệu.
D. Thay đổi giao diện người dùng.
6. Trong Pascal, để khai báo một hằng số có giá trị là 100 và tên là PI, ta sử dụng cú pháp nào?
A. var PI: 100;
B. const PI = 100;
C. define PI = 100;
D. PI := 100;
7. Phát biểu nào sau đây mô tả ĐÚNG về cấu trúc lặp While...do trong Pascal?
A. Luôn thực hiện ít nhất một lần, bất kể điều kiện.
B. Thực hiện khối lệnh Lặp lại miễn là điều kiện còn đúng.
C. Chỉ thực hiện khi điều kiện sai.
D. Cần biết trước số lần lặp.
8. Trong Pascal, để so sánh hai số có bằng nhau hay không, ta sử dụng toán tử nào?
9. Trong Pascal, để khai báo một biến kiểu số thực, ta sử dụng từ khóa nào?
A. integer
B. string
C. real
D. boolean
10. Phép toán `10 div 3` trong Pascal sẽ cho kết quả là bao nhiêu?
11. Nếu muốn chương trình Pascal dừng lại và chờ người dùng nhấn một phím bất kỳ trước khi tiếp tục, ta có thể sử dụng lệnh nào?
A. readln;
B. halt;
C. delay(1000);
D. readkey;
12. Phát biểu nào sau đây là một ví dụ về lỗi cú pháp (syntax error) trong lập trình?
A. Chương trình chạy sai kết quả mong muốn.
B. Thiếu dấu chấm phẩy ở cuối câu lệnh.
C. Vòng lặp chạy vô hạn.
D. Chương trình chạy quá chậm.
13. Biến nào sau đây KHÔNG thể là tên biến hợp lệ trong Pascal?
A. so_luong
B. DiemTrungBinh
C. Bien123
D. 2so
14. Phát biểu nào sau đây mô tả đúng về việc gán giá trị (assignment) trong lập trình?
A. Là quá trình so sánh hai giá trị.
B. Là quá trình lưu trữ một giá trị vào một biến.
C. Là quá trình hiển thị dữ liệu ra màn hình.
D. Là quá trình lặp lại một khối lệnh.
15. Phát biểu nào sau đây mô tả đúng về cấu trúc lặp Repeat...until trong Pascal?
A. Chỉ thực hiện nếu điều kiện là đúng.
B. Thực hiện khối lệnh cho đến khi điều kiện trở thành đúng.
C. Thực hiện khối lệnh vô số lần.
D. Yêu cầu biết trước số lần lặp.
16. Giả sử có đoạn chương trình Pascal sau: `a := 5; b := 10; a := a + b;`. Sau khi thực hiện, giá trị của biến a là bao nhiêu?
17. Phát biểu nào sau đây mô tả đúng về kiểu dữ liệu string trong Pascal?
A. Chỉ lưu trữ một ký tự đơn.
B. Lưu trữ một dãy các ký tự.
C. Lưu trữ các số thực.
D. Lưu trữ giá trị đúng/sai.
18. Trong Pascal, câu lệnh `readln(a, b);` có chức năng gì?
A. In giá trị của hai biến a và b ra màn hình.
B. Đọc hai giá trị từ bàn phím và lưu vào hai biến a và b.
C. So sánh giá trị của hai biến a và b.
D. Thực hiện phép gán giá trị của a cho b.
19. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây dùng để khai báo biến kiểu số nguyên?
A. var ten_bien: real;
B. var ten_bien: char;
C. var ten_bien: integer;
D. var ten_bien: string;
20. Trong Pascal, câu lệnh `if a > b then writeln(A lon hon B);` thực hiện điều gì?
A. Luôn in ra A lon hon B.
B. Chỉ in ra A lon hon B nếu biến a có giá trị lớn hơn biến b.
C. In ra A lon hon B nếu biến a nhỏ hơn biến b.
D. Không in gì cả.
21. Phát biểu nào sau đây mô tả đúng nhất về thuật toán?
A. Một tập hợp các lệnh máy tính có thể thực thi.
B. Một quy trình gồm hữu hạn các bước có thứ tự, rõ ràng để giải quyết một bài toán cụ thể.
C. Một tập hợp các phần mềm ứng dụng trên máy tính.
D. Một thiết bị phần cứng dùng để xử lý thông tin.
22. Trong ngôn ngữ lập trình Pascal, cú pháp `writeln(Hello);` có tác dụng gì?
A. Đọc dữ liệu từ bàn phím.
B. In dòng chữ Hello ra màn hình và xuống dòng.
C. Khai báo một biến tên là Hello.
D. Thực hiện phép tính cộng hai số.
23. Khi so sánh hai giá trị trong Pascal, toán tử <> có ý nghĩa là gì?
A. Lớn hơn hoặc bằng
B. Nhỏ hơn hoặc bằng
C. Khác
D. Bằng
24. Trong Pascal, thư viện (unit) nào thường chứa các thủ tục và hàm liên quan đến đồ họa màn hình và bàn phím?
A. System
B. Math
C. Crt
D. SysUtils
25. Phát biểu nào sau đây về cấu trúc lặp For...do trong Pascal là ĐÚNG?
A. Chỉ sử dụng khi biết trước số lần lặp.
B. Sử dụng khi điều kiện lặp là đúng hay sai.
C. Thực hiện lặp vô hạn.
D. Không cần khai báo biến đếm.