1. Phát biểu nào sau đây đúng về hằng trong lập trình?
A. Hằng có thể thay đổi giá trị trong quá trình thực hiện chương trình.
B. Hằng được khai báo để lưu trữ dữ liệu không thay đổi.
C. Hằng không cần khai báo kiểu dữ liệu.
D. Hằng chỉ dùng để lưu trữ số nguyên.
2. Trong Pascal, cấu trúc if a < 0 then writeln(So am); thực hiện hành động gì?
A. Nếu a không phải là số âm, thì in ra So am.
B. Nếu a là số âm, thì in ra So am.
C. Luôn luôn in ra So am.
D. Nếu a là số dương, thì in ra So am.
3. Phát biểu nào sau đây là đúng về thủ tục (procedure) trong Pascal?
A. Thủ tục không thể nhận tham số.
B. Thủ tục luôn trả về một giá trị.
C. Thủ tục là một khối lệnh có tên, có thể được gọi để thực hiện công việc.
D. Thủ tục chỉ dùng để khai báo biến.
4. Nếu muốn in ra màn hình dòng chữ Ket qua la: theo sau là giá trị của biến tong, ta dùng câu lệnh nào trong Pascal?
A. write(Ket qua la: , tong);
B. writeln(Ket qua la: , tong);
C. print(Ket qua la: , tong);
D. display(Ket qua la: , tong);
5. Trong Pascal, từ khóa nào dùng để kết thúc một chương trình?
A. begin
B. end
C. program
D. var
6. Cấu trúc lặp while ... do ... thực hiện lặp lại khối lệnh khi nào?
A. Sau khi khối lệnh đã được thực hiện ít nhất một lần.
B. Khi điều kiện sau while là sai.
C. Khi điều kiện sau while là đúng.
D. Chỉ khi có lỗi xảy ra.
7. Cấu trúc lặp vô hạn là gì?
A. Một vòng lặp mà điều kiện dừng không bao giờ được thỏa mãn.
B. Một vòng lặp mà số lần lặp được xác định trước.
C. Một vòng lặp chỉ chạy một lần duy nhất.
D. Một vòng lặp sử dụng cấu trúc for.
8. Trong cấu trúc rẽ nhánh if ... then ... else ..., khối lệnh sau else sẽ được thực hiện khi nào?
A. Khi điều kiện sau if là đúng.
B. Khi điều kiện sau if là sai.
C. Luôn luôn thực hiện.
D. Chỉ khi có lỗi xảy ra.
9. Ngôn ngữ lập trình nào được giới thiệu và sử dụng phổ biến trong chương trình Tin học lớp 8?
A. Python
B. C++
C. Pascal
D. Java
10. Phép toán 10 div 3 trong Pascal sẽ cho kết quả là bao nhiêu?
A. 3.333...
B. 3
C. 0
D. 1
11. Nếu một chương trình sử dụng cấu trúc lặp for i := 1 to 10 do ..., biến i sẽ nhận các giá trị nào?
A. 1, 2, 3, ..., 9
B. 1, 2, 3, ..., 10
C. 0, 1, 2, ..., 10
D. 1, 3, 5, ..., 9
12. Trong Pascal, toán tử nào dùng để so sánh hai giá trị khác nhau?
13. Câu lệnh nào sau đây dùng để nhập giá trị từ bàn phím vào biến diem kiểu số thực trong Pascal?
A. write(diem);
B. read(diem);
C. readln(diem);
D. assign(diem);
14. Trong Pascal, câu lệnh write(Hello) sẽ in ra kết quả gì trên màn hình?
A. Hello
B. Hello
C. (Hello)
D. Hello
15. Trong Pascal, câu lệnh a := b; có ý nghĩa gì?
A. So sánh giá trị của a và b.
B. Gán giá trị của biến b cho biến a.
C. Hoán đổi giá trị giữa a và b.
D. Tăng giá trị của a lên bằng giá trị của b.
16. Cấu trúc lặp for ... do ... trong Pascal thường được sử dụng khi nào?
A. Khi không biết trước số lần lặp.
B. Khi cần thực hiện một khối lệnh nhiều lần với số lần lặp đã biết trước.
C. Khi cần lặp lại cho đến khi một điều kiện nào đó trở thành sai.
D. Khi cần lặp dựa trên một điều kiện ban đầu là đúng.
17. Toán tử nào được sử dụng để thực hiện phép nhân trong Pascal?
18. Trong một chương trình Pascal, phần nào bắt buộc phải có?
A. Phần khai báo biến.
B. Phần khai báo hằng.
C. Phần thân chương trình (begin...end).
D. Phần khai báo thủ tục/hàm.
19. Phép toán 5 mod 2 trong Pascal sẽ cho kết quả là bao nhiêu?
20. Phát biểu nào sau đây mô tả đúng vai trò của trình biên dịch (compiler)?
A. Trình biên dịch giúp người dùng tương tác trực tiếp với phần cứng máy tính.
B. Trình biên dịch dịch mã nguồn viết bằng ngôn ngữ lập trình bậc cao thành mã máy mà máy tính có thể hiểu.
C. Trình biên dịch là công cụ để vẽ đồ họa và tạo giao diện người dùng.
D. Trình biên dịch giúp tìm và sửa lỗi cú pháp trong quá trình nhập liệu.
21. 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 : real;
B. var : string;
C. var : integer;
D. var : boolean;
22. Trong Pascal, câu lệnh if a > b then a := a + 1; sẽ thực hiện hành động gì?
A. Nếu a lớn hơn b, thì gán giá trị của a cho b.
B. Nếu a lớn hơn b, thì tăng giá trị của a lên 1.
C. Nếu a nhỏ hơn hoặc bằng b, thì tăng giá trị của a lên 1.
D. Nếu a lớn hơn b, thì giảm giá trị của a đi 1.
23. Đâu là toán tử dùng để so sánh hai giá trị bằng nhau trong Pascal?
24. Phát biểu nào sau đây KHÔNG đúng về biến trong lập trình?
A. Biến có thể thay đổi giá trị trong quá trình thực hiện chương trình.
B. Tên biến phải tuân theo quy tắc đặt tên của ngôn ngữ lập trình.
C. Biến được dùng để lưu trữ dữ liệu cố định, không thay đổi.
D. Mỗi biến có một kiểu dữ liệu xác định.
25. Khi nào nên sử dụng cấu trúc lặp repeat ... until ... thay vì while ... do ...?
A. Khi muốn đảm bảo khối lệnh được thực hiện ít nhất một lần.
B. Khi muốn kiểm tra điều kiện trước khi thực hiện lần đầu.
C. Khi số lần lặp đã được xác định trước.
D. Khi không biết trước số lần lặp.