1. Trong Pascal, câu lệnh `x := x + 1;` có ý nghĩa gì?
A. Gán giá trị 1 cho biến x.
B. Tăng giá trị của biến x lên 1 đơn vị.
C. Giảm giá trị của biến x đi 1 đơn vị.
D. So sánh giá trị của x với 1.
2. Phát biểu nào sau đây mô tả đúng về kiểu dữ liệu Real trong Pascal?
A. Lưu trữ các số nguyên.
B. Lưu trữ các ký tự.
C. Lưu trữ các số thực (có phần thập phân).
D. Lưu trữ các giá trị đúng/sai.
3. Trong Pascal, giá trị logic TRUE và FALSE thuộc kiểu dữ liệu nào?
A. Integer
B. Real
C. Char
D. Boolean
4. Trong lập trình Pascal, toán tử MOD được sử dụng để làm gì?
A. Phép chia lấy phần nguyên.
B. Phép chia lấy phần dư.
C. Phép nhân.
D. Phép chia lấy phần thập phân.
5. Trong Pascal, làm thế nào để kết thúc một chương trình?
A. Sử dụng câu lệnh `End.`.
B. Sử dụng câu lệnh `Stop;`.
C. Sử dụng câu lệnh `Exit;`.
D. Sử dụng câu lệnh `Halt;`.
6. Trong Pascal, phát biểu nào sau đây là SAI về cách sử dụng thủ tục (procedure)?
A. Thủ tục được khai báo và có thể được gọi thực thi nhiều lần.
B. Thủ tục có thể nhận các tham số đầu vào.
C. Thủ tục luôn trả về một giá trị sau khi thực thi.
D. Thủ tục giúp chia nhỏ chương trình thành các khối lệnh dễ quản lý.
7. Đâu là phát biểu SAI về hằng trong lập trình?
A. Hằng là một giá trị không thay đổi trong quá trình thực thi chương trình.
B. Hằng thường được khai báo ở phần khai báo của chương trình.
C. Giá trị của hằng có thể được gán lại trong quá trình chạy chương trình.
D. Hằng giúp chương trình dễ đọc và dễ bảo trì hơn.
8. Trong ngôn ngữ lập trình Pascal, câu lệnh nào dùng để nhập dữ liệu từ bàn phím?
A. Write;
B. Readln;
C. Writeln;
D. Println;
9. Đâu là kiểu dữ liệu phù hợp để lưu trữ một ký tự duy nhất trong Pascal?
A. Integer
B. Real
C. Char
D. Boolean
10. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây được sử dụng để khai báo một biến kiểu số nguyên?
A. Var a: real;
B. Var b: char;
C. Var c: integer;
D. Var d: boolean;
11. Trong lập trình Pascal, câu lệnh điều kiện IF ... THEN ... ELSE ... được sử dụng để làm gì?
A. Thực hiện một khối lệnh lặp lại nhiều lần.
B. Thực hiện một khối lệnh duy nhất dựa trên một điều kiện.
C. Thực hiện một khối lệnh nếu điều kiện đúng, và một khối lệnh khác nếu điều kiện sai.
D. Khởi tạo giá trị cho biến.
12. Phát biểu nào sau đây là ĐÚNG về cấu trúc lặp WHILE ... DO ... trong Pascal?
A. Khối lệnh bên trong WHILE ... DO ... luôn được thực hiện ít nhất một lần.
B. Cấu trúc này thực hiện lặp khi điều kiện còn đúng, và dừng lại khi điều kiện sai.
C. Số lần lặp của WHILE ... DO ... luôn được xác định trước.
D. Chỉ có thể sử dụng WHILE ... DO ... với các biến đếm.
13. Đâu là phát biểu ĐÚNG về cách khai báo hàm (function) trong Pascal?
A. Hàm chỉ có thể trả về một giá trị duy nhất.
B. Hàm không thể nhận tham số.
C. Hàm bắt buộc phải có câu lệnh BEGIN ... END.
D. Tên hàm không thể được sử dụng như một biến.
14. Đâu là phát biểu ĐÚNG về việc sử dụng dấu nháy đơn () trong chuỗi ký tự ở Pascal?
A. Dấu nháy đơn được dùng để bao quanh một biến.
B. Dấu nháy đơn được dùng để bao quanh một chuỗi ký tự.
C. Dấu nháy đơn được dùng để kết thúc một câu lệnh.
D. Dấu nháy đơn được dùng để khai báo kiểu dữ liệu.
15. Trong Pascal, cách khai báo mảng một chiều nào sau đây là ĐÚNG?
A. Var A: array [1..10] of integer;
B. Var A: integer[1..10];
C. Var A: array of integer [1..10];
D. Var A: [1..10] array of integer;
16. Đâu là phát biểu ĐÚNG về cấu trúc lặp REPEAT ... UNTIL ... trong Pascal?
A. Cấu trúc này sẽ dừng lặp khi điều kiện trở thành đúng.
B. Cấu trúc này sẽ thực hiện khối lệnh trước rồi mới kiểm tra điều kiện.
C. Số lần lặp của REPEAT ... UNTIL ... luôn được xác định trước.
D. Nếu điều kiện ban đầu là sai, khối lệnh sẽ không bao giờ được thực thi.
17. Trong Pascal, câu lệnh `writeln(Hello, World!)` sẽ thực hiện hành động gì?
A. Nhập chuỗi Hello, World! từ bàn phím.
B. In chuỗi Hello, World! ra màn hình và xuống dòng.
C. In chuỗi Hello, World! ra màn hình và giữ nguyên con trỏ.
D. Gán chuỗi Hello, World! cho một biến.
18. Phát biểu nào sau đây là ĐÚNG về mảng hai chiều trong lập trình?
A. Mảng hai chiều chỉ có thể lưu trữ các số nguyên.
B. Mảng hai chiều được tổ chức dưới dạng một hàng duy nhất.
C. Mảng hai chiều có thể được hình dung như một bảng hoặc ma trận gồm các hàng và cột.
D. Để truy cập một phần tử trong mảng hai chiều, chỉ cần một chỉ số.
19. Trong Pascal, toán tử DIV được sử dụng để thực hiện phép toán gì?
A. Phép chia lấy phần dư.
B. Phép chia lấy phần nguyên.
C. Phép chia lấy phần thập phân.
D. Phép nhân.
20. Trong Pascal, biểu thức logic nào sau đây sẽ trả về giá trị TRUE nếu biến a lớn hơn 10?
A. a < 10
B. a = 10
C. a > 10
D. a <> 10
21. Phát biểu nào sau đây là ĐÚNG về cấu trúc `CASE ... OF ... END.` trong Pascal?
A. Cấu trúc này thực hiện một khối lệnh duy nhất dựa trên giá trị của một biến.
B. Cấu trúc này thực hiện một khối lệnh nếu một điều kiện là đúng.
C. Cấu trúc này thực hiện một khối lệnh dựa trên nhiều trường hợp khác nhau của một biến hoặc biểu thức.
D. Cấu trúc này dùng để lặp lại một hành động.
22. Phát biểu nào sau đây là ĐÚNG về biến đếm trong vòng lặp FOR ... TO ... DO?
A. Biến đếm chỉ có thể là kiểu số thực.
B. Giá trị của biến đếm sẽ tự động tăng (hoặc giảm nếu dùng DOWNTO) sau mỗi lần lặp.
C. Biến đếm không thể sử dụng để điều khiển vòng lặp.
D. Biến đếm cần được khai báo lại trong mỗi lần lặp.
23. Đâu là phát biểu ĐÚNG về biến trong lập trình?
A. Biến là một vùng nhớ cố định, không thể thay đổi giá trị trong quá trình thực thi chương trình.
B. Biến chỉ được phép chứa một loại dữ liệu duy nhất trong suốt quá trình sử dụng.
C. Biến là một tên đại diện cho một vùng nhớ dùng để lưu trữ dữ liệu có thể thay đổi trong quá trình thực thi chương trình.
D. Tên biến có thể bắt đầu bằng một chữ số hoặc ký tự đặc biệt.
24. Phát biểu nào sau đây mô tả chính xác nhất về cấu trúc lặp FOR ... TO ... DO trong Pascal?
A. Cấu trúc này thực hiện một khối lệnh nhiều lần, số lần lặp được xác định trước.
B. Cấu trúc này thực hiện một khối lệnh cho đến khi một điều kiện nào đó trở thành sai.
C. Cấu trúc này thực hiện một khối lệnh ít nhất một lần, sau đó lặp lại nếu điều kiện còn đúng.
D. Cấu trúc này chỉ thực hiện khối lệnh duy nhất một lần.
25. Đâu là phát biểu SAI về cách khai báo biến trong Pascal?
A. Tất cả các biến phải được khai báo trước khi sử dụng.
B. Tên biến có thể chứa khoảng trắng.
C. Tên biến phân biệt chữ hoa và chữ thường.
D. Mỗi biến phải có một kiểu dữ liệu xác định.