1. Phát biểu nào sau đây mô tả đúng cách hoạt động của `elif` trong cấu trúc điều kiện của Python?
A. Nó là viết tắt của ‘else if’ và kiểm tra một điều kiện khác nếu điều kiện `if` trước đó sai.
B. Nó luôn được thực thi sau câu lệnh `if`.
C. Nó chỉ được sử dụng khi có nhiều hơn hai điều kiện.
D. Nó tương đương với câu lệnh `else`.
2. Xét đoạn mã Python sau: `x = 10; y = 5; print(x > y)`. Kết quả hiển thị trên màn hình sẽ là gì?
3. Trong ngôn ngữ lập trình Python, câu lệnh nào sau đây được sử dụng để khai báo một biến và gán giá trị số nguyên cho nó?
A. var age = 25;
B. let age = 25;
C. age = 25
D. const age = 25;
4. Phát biểu nào sau đây đúng về tuple trong Python?
A. Có thể thay đổi các phần tử sau khi tạo.
B. Là một cấu trúc dữ liệu có thể thay đổi (mutable).
C. Là một cấu trúc dữ liệu không thể thay đổi (immutable).
D. Chỉ chứa các phần tử cùng kiểu dữ liệu.
5. Xét đoạn mã Python: `x = 5; y = 2; print(x // y)`. Phép toán `//` thực hiện chức năng gì?
A. Phép chia lấy dư.
B. Phép chia lấy phần nguyên.
C. Phép chia thông thường.
D. Phép nhân.
6. Trong Python, để tạo một danh sách (list) rỗng, bạn sẽ sử dụng cú pháp nào sau đây?
A. list()
B. []
C. new list()
D. list = {}
7. Phát biểu nào sau đây mô tả đúng chức năng của câu lệnh `else` đi kèm với `if` trong Python?
A. Thực hiện khối mã nếu điều kiện `if` là đúng.
B. Thực hiện khối mã nếu điều kiện `if` là sai.
C. Lặp lại khối mã `if` thêm một lần.
D. Bỏ qua khối mã `if`.
8. Xét đoạn mã Python: `x = 10; x += 5; print(x)`. Giá trị của `x` sau khi thực thi là bao nhiêu?
9. Trong Python, để tạo một dictionary rỗng, bạn sẽ sử dụng cú pháp nào sau đây?
A. dict()
B. {}
C. []
D. new dict()
10. Phát biểu nào sau đây mô tả đúng về cách Python xử lý tên biến (variable names)?
A. Không phân biệt chữ hoa, chữ thường.
B. Phân biệt chữ hoa, chữ thường.
C. Chỉ cho phép bắt đầu bằng số.
D. Chỉ cho phép chứa ký tự đặc biệt.
11. Xét đoạn mã Python: `my_list = [10, 20, 30]; print(my_list[1])`. Kết quả hiển thị là gì?
A. 10
B. 20
C. 30
D. IndexError
12. Trong Python, để loại bỏ phần tử cuối cùng khỏi một danh sách và trả về phần tử đó, bạn sử dụng phương thức nào?
A. remove()
B. pop()
C. del
D. clear()
13. Khi làm việc với chuỗi ký tự trong Python, toán tử nào thường được sử dụng để nối hai chuỗi lại với nhau?
14. Trong Python, để truy cập vào một phần tử cụ thể trong tuple, bạn sử dụng gì?
A. Tên khóa
B. Chỉ số vị trí
C. Tên biến
D. Giá trị
15. Để thêm một phần tử vào cuối danh sách (list) trong Python, bạn sử dụng phương thức nào?
A. insert()
B. append()
C. extend()
D. add()
16. Phát biểu nào sau đây mô tả đúng mục đích của câu lệnh `if` trong Python?
A. Thực hiện một khối mã nếu điều kiện đúng.
B. Thực hiện một khối mã nếu điều kiện sai.
C. Lặp lại một khối mã cho đến khi điều kiện sai.
D. Định nghĩa một hàm mới.
17. Trong Python, để thực hiện một hành động lặp đi lặp lại nhiều lần, cấu trúc điều khiển nào là phù hợp nhất?
A. If-else
B. For loop
C. Try-except
D. Function definition
18. Phát biểu nào sau đây mô tả đúng về kiểu dữ liệu `bool` (boolean) trong Python?
A. Chỉ có thể chứa giá trị số nguyên.
B. Chỉ có thể chứa giá trị chuỗi.
C. Chỉ có thể là `True` hoặc `False`.
D. Có thể chứa bất kỳ kiểu dữ liệu nào.
19. Trong Python, để kiểm tra xem một phần tử có tồn tại trong danh sách hay không, bạn có thể sử dụng toán tử nào?
A. is
B. ===
C. in
D. contains
20. Phát biểu nào sau đây mô tả đúng vai trò của vòng lặp `while` trong Python?
A. Lặp một số lần cố định.
B. Lặp cho đến khi một điều kiện trở thành sai.
C. Lặp qua các phần tử của một danh sách.
D. Thực hiện một khối mã một lần.
21. Trong Python, câu lệnh nào được sử dụng để định nghĩa một hàm?
A. func
B. define
C. def
D. function
22. Câu lệnh nào trong Python được sử dụng để tạo một khối mã có thể tái sử dụng và thực hiện một nhiệm vụ cụ thể?
A. Class
B. Loop
C. Function
D. Variable
23. Phát biểu nào sau đây mô tả đúng chức năng của câu lệnh `print()` trong Python?
A. Dùng để nhập dữ liệu từ bàn phím.
B. Dùng để thực hiện các phép tính toán học.
C. Dùng để hiển thị thông tin ra màn hình.
D. Dùng để khai báo một hàm mới.
24. Xét đoạn mã Python: `for i in range(5): print(i)`. Số lần vòng lặp này sẽ chạy là bao nhiêu?
25. Trong Python, để lấy độ dài của một chuỗi hoặc danh sách, bạn sử dụng hàm nào?
A. size()
B. length()
C. count()
D. len()
26. Câu lệnh `break` trong Python có chức năng gì bên trong một vòng lặp?
A. Bỏ qua lần lặp hiện tại và tiếp tục với lần lặp kế tiếp.
B. Kết thúc vòng lặp ngay lập tức.
C. Nhảy đến một câu lệnh cụ thể.
D. Khởi động lại vòng lặp.
27. Câu lệnh nào trong Python được sử dụng để đọc dữ liệu nhập từ bàn phím?
A. print()
B. input()
C. get()
D. read()
28. Phát biểu nào sau đây là đúng về kiểu dữ liệu `dict` (dictionary) trong Python?
A. Các phần tử được truy cập bằng chỉ số nguyên.
B. Các phần tử được lưu trữ theo thứ tự nhất định.
C. Các phần tử được lưu trữ dưới dạng cặp khóa-giá trị.
D. Chỉ có thể lưu trữ các giá trị dạng số.
29. Xét đoạn mã Python: `x = 10; y = 3; print(x % y)`. Kết quả của phép toán `%` là gì?
30. Trong Python, kiểu dữ liệu nào được sử dụng để biểu diễn một dãy các ký tự?
A. int
B. float
C. bool
D. str
31. Trong Pascal, cấu trúc ‘BEGIN … END.’ đánh dấu phần nào của chương trình?
A. Phần khai báo biến.
B. Phần khai báo hằng số.
C. Phần thân chính của chương trình.
D. Phần khai báo kiểu dữ liệu.
32. Trong Pascal, khi muốn thực hiện một khối lệnh lặp lại nhiều lần với số lần biết trước, ta thường sử dụng loại vòng lặp nào?
A. While … do
B. Repeat … until
C. For … do
D. If … then
33. Biến ‘ DiemTB ‘ kiểu thực có thể lưu trữ giá trị nào sau đây?
34. Phát biểu nào sau đây là đúng về việc sử dụng dấu chấm phẩy (;) trong Pascal?
A. Dùng để kết thúc chương trình.
B. Dùng để phân tách các câu lệnh.
C. Dùng để khai báo biến.
D. Dùng để bắt đầu một khối lệnh.
35. Phát biểu nào sau đây mô tả đúng vai trò của chương trình con (procedure hoặc function) trong Pascal?
A. Chỉ dùng để khai báo biến.
B. Giúp chia nhỏ chương trình thành các phần dễ quản lý và tái sử dụng.
C. Luôn phải trả về một giá trị.
D. Chỉ có thể gọi từ bên trong chương trình chính.
36. Câu lệnh nào sau đây dùng để gán giá trị cho biến trong Pascal?
37. Phát biểu nào sau đây là đúng về toán tử logic ‘NOT’ trong Pascal?
A. Đảo ngược giá trị logic của mệnh đề.
B. Cho kết quả đúng khi mệnh đề ban đầu sai.
C. Có thể áp dụng cho số nguyên.
D. Kết quả luôn là True.
38. Phát biểu nào sau đây mô tả đúng nhất về vai trò của câu lệnh ‘WriteLn’ trong Pascal?
A. Dùng để đọc giá trị từ bàn phím.
B. Dùng để thực hiện phép tính cộng.
C. Dùng để in kết quả ra màn hình và xuống dòng.
D. Dùng để khai báo biến.
39. Trong Pascal, để khai báo một hằng số, ta sử dụng từ khóa nào?
A. Var
B. Const
C. Type
D. Begin
40. Trong Pascal, câu lệnh nào sau đây dùng để kết thúc chương trình?
A. WriteLn
B. ReadLn
C. End.
D. Begin
41. 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
B. Integer
C. Begin
D. Real
42. Phát biểu nào sau đây là đúng khi nói về toán tử logic ‘AND’ trong Pascal?
A. Cho kết quả đúng khi ít nhất một trong hai mệnh đề đúng.
B. Cho kết quả đúng khi cả hai mệnh đề đều đúng.
C. Cho kết quả sai khi cả hai mệnh đề đều sai.
D. Cho kết quả sai khi ít nhất một trong hai mệnh đề sai.
43. Phát biểu nào sau đây mô tả đúng về vai trò của câu lệnh ‘ReadLn’ trong Pascal?
A. Dùng để in kết quả ra màn hình.
B. Dùng để thực hiện phép toán.
C. Dùng để đọc dữ liệu từ bàn phím.
D. Dùng để kết thúc chương trình.
44. Trong ngôn ngữ Pascal, kiểu dữ liệu ‘Char’ dùng để lưu trữ loại thông tin nào?
A. Số nguyên
B. Số thực
C. Một ký tự
D. Chuỗi ký tự
45. Phát biểu nào sau đây là đúng về vòng lặp ‘Repeat … until’ trong Pascal?
A. Kiểm tra điều kiện trước khi thực hiện lệnh.
B. Luôn thực hiện khối lệnh ít nhất một lần.
C. Dừng khi điều kiện còn đúng.
D. Không có khả năng lặp vô hạn.
46. Trong Pascal, để khai báo một biến có thể nhận giá trị đúng hoặc sai, ta sử dụng kiểu dữ liệu nào?
A. Real
B. Char
C. Integer
D. Boolean
47. Phát biểu nào sau đây là đúng về toán tử logic ‘OR’ trong Pascal?
A. Cho kết quả đúng khi cả hai mệnh đề sai.
B. Cho kết quả đúng khi ít nhất một trong hai mệnh đề đúng.
C. Cho kết quả sai khi cả hai mệnh đề đều đúng.
D. Cho kết quả sai khi ít nhất một trong hai mệnh đề đúng.
48. Trong Pascal, nếu một biến được khai báo là ‘Boolean’, nó có thể nhận những giá trị nào?
A. 0 hoặc 1
B. True hoặc False
C. A hoặc B
D. Có hoặc Không
49. Phát biểu nào sau đây là đúng về cấu trúc của câu lệnh ‘If … then … else’ trong Pascal?
A. Luôn thực hiện cả hai khối lệnh ‘then’ và ‘else’.
B. Chỉ thực hiện khối lệnh ‘then’ hoặc khối lệnh ‘else’ dựa trên điều kiện.
C. Chỉ thực hiện khối lệnh ‘then’.
D. Chỉ thực hiện khối lệnh ‘else’.
50. Trong Pascal, để khai báo một chuỗi ký tự, ta sử dụng kiểu dữ liệu nào?
A. Char
B. Boolean
C. String
D. Integer
51. Trong Pascal, khi cần so sánh hai giá trị mà chúng không bằng nhau, ta sử dụng ký hiệu nào?
52. Phát biểu nào sau đây mô tả đúng vai trò của phần khai báo (VAR) trong chương trình Pascal?
A. Nơi chứa các câu lệnh thực thi.
B. Nơi định nghĩa các hằng số.
C. Nơi khai báo các biến và kiểu dữ liệu.
D. Nơi đặt tên cho chương trình.
53. Phát biểu nào sau đây mô tả đúng chức năng của vòng lặp ‘While … do’ trong Pascal?
A. Lặp lại khối lệnh ít nhất một lần.
B. Lặp lại khối lệnh khi điều kiện còn đúng.
C. Lặp lại khối lệnh cho đến khi điều kiện sai.
D. Lặp lại khối lệnh với số lần xác định.
54. Trong Pascal, ký hiệu nào được sử dụng để so sánh hai giá trị có bằng nhau hay không?
55. Phát biểu nào sau đây mô tả đúng chức năng của từ khóa ‘PROGRAM’ trong Pascal?
A. Dùng để khai báo biến.
B. Dùng để bắt đầu một chương trình.
C. Dùng để kết thúc một chương trình.
D. Dùng để khai báo hằng số.
56. Trong Pascal, phép toán nào sau đây dùng để tính phần dư của phép chia?
57. Phát biểu nào sau đây mô tả đúng về cấu trúc ‘Case … of … end’ trong Pascal?
A. Chỉ có thể so sánh với một giá trị duy nhất.
B. Cho phép chọn thực thi một trong nhiều khối lệnh dựa trên giá trị của một biến.
C. Luôn thực hiện tất cả các khối lệnh.
D. Dùng để thực hiện vòng lặp.
58. Trong Pascal, nếu bạn muốn thực hiện một hành động cho mỗi phần tử của một mảng có kích thước N, cách tiếp cận phổ biến nhất là sử dụng loại vòng lặp nào?
A. While … do
B. Repeat … until
C. For … do
D. If … then
59. Phát biểu nào sau đây mô tả đúng chức năng của câu lệnh ‘IF … THEN’ (không có ELSE) trong Pascal?
A. Luôn thực hiện khối lệnh sau THEN.
B. Chỉ thực hiện khối lệnh sau THEN nếu điều kiện là đúng.
C. Chỉ thực hiện khối lệnh sau THEN nếu điều kiện là sai.
D. Thực hiện khối lệnh sau THEN nếu điều kiện đúng, nếu sai thì bỏ qua.
60. Trong Pascal, ký hiệu nào sau đây dùng để biểu thị phép chia lấy phần nguyên?
61. Trong lập trình Scratch, khối lệnh ‘repeat’ (lặp lại) có chức năng gì?
A. Thực hiện một hành động một lần duy nhất.
B. Thực hiện một chuỗi lệnh nhiều lần theo số lần xác định.
C. Thực hiện một chuỗi lệnh cho đến khi một điều kiện nhất định được thỏa mãn.
D. Dừng chương trình ngay lập tức.
62. Khối lệnh ‘wait [seconds]’ trong Scratch dùng để làm gì?
A. Tăng tốc độ chạy của chương trình.
B. Dừng chương trình tạm thời trong một khoảng thời gian đã chỉ định.
C. Thay đổi màu sắc của nhân vật.
D. Phát ra âm thanh.
63. Khối lệnh ‘wait until ‘ trong Scratch sẽ làm gì?
A. Thực hiện hành động ngay lập tức.
B. Dừng chương trình cho đến khi điều kiện được đáp ứng.
C. Chỉ thực hiện hành động nếu điều kiện sai.
D. Tạo ra một vòng lặp vô hạn.
64. Trong Scratch, ‘sensing blocks’ (khối cảm biến) chủ yếu dùng để làm gì?
A. Thay đổi giao diện người dùng.
B. Thu thập thông tin từ môi trường hoặc người dùng để đưa vào kịch bản.
C. Tạo ra các hiệu ứng đồ họa phức tạp.
D. Lưu trữ dữ liệu lâu dài.
65. Trong Scratch, biến (variable) được sử dụng để làm gì?
A. Lưu trữ và thay đổi dữ liệu trong quá trình chạy chương trình.
B. Chỉ định màu sắc cho nhân vật.
C. Tạo ra các hiệu ứng âm thanh.
D. Điều khiển hướng di chuyển của nhân vật.
66. Trong Scratch, khối lệnh ‘repeat until ‘ sẽ thực hiện hành động lặp lại cho đến khi nào?
A. Khi điều kiện trở thành sai.
B. Khi điều kiện trở thành đúng.
C. Sau 10 lần lặp.
D. Khi chương trình bị dừng.
67. Trong Scratch, làm thế nào để nhân vật quay về hướng đối diện với hướng hiện tại?
A. ‘turn right 90 degrees’ (xoay phải 90 độ).
B. ‘turn left 180 degrees’ (xoay trái 180 độ).
C. ‘point in direction 180’ (hướng về hướng 180).
D. Sử dụng kết hợp ‘turn right 90 degrees’ và ‘turn left 90 degrees’.
68. Khối lệnh ‘stop all’ trong Scratch có tác dụng gì?
A. Chỉ dừng một nhân vật.
B. Dừng tất cả các kịch bản và âm thanh đang chạy trong dự án.
C. Tạm dừng chương trình trong 5 giây.
D. Chỉ dừng các vòng lặp.
69. Trong Scratch, để nhân vật hướng về một hướng cụ thể (ví dụ: hướng 90 độ là sang phải), bạn sử dụng khối lệnh nào?
A. ‘move 10 steps’ (di chuyển 10 bước).
B. ‘go to x: y:’ (đi tới x: y:).
C. ‘point in direction [direction]’ (hướng về hướng [hướng]).
D. ‘change size by 10’ (thay đổi kích thước một lượng 10).
70. Khối lệnh ‘go to [sprite name]’ trong Scratch dùng để làm gì?
A. Thay đổi kích thước của nhân vật.
B. Di chuyển nhân vật hiện tại đến vị trí của một nhân vật khác.
C. Phát ra âm thanh của nhân vật khác.
D. Ẩn nhân vật hiện tại.
71. Trong Scratch, để nhân vật di chuyển đến một vị trí cụ thể trên sân khấu, bạn sử dụng khối lệnh nào?
A. ‘move 10 steps’ (di chuyển 10 bước).
B. ‘glide 1 secs to x: y:’ (lướt trong 1 giây tới x: y:).
C. ‘change x by 10’ (thay đổi x một lượng 10).
D. ‘point in direction 90’ (hướng về hướng 90).
72. Để nhân vật nói ‘Xin chào!’ trong Scratch, bạn sẽ sử dụng khối lệnh nào?
A. ‘play sound’ (phát âm thanh).
B. ‘change color effect’ (thay đổi hiệu ứng màu).
C. ‘say ‘Xin chào!” (nói ‘Xin chào!’).
D. ‘hide’ (ẩn).
73. Khi sử dụng khối lệnh ‘if … then …’ trong Scratch, điều kiện bên trong ‘if’ được đánh giá như thế nào?
A. Luôn luôn đúng.
B. Luôn luôn sai.
C. Là một biểu thức logic trả về giá trị đúng hoặc sai.
D. Là một chuỗi ký tự.
74. Trong Scratch, để tạo một chuỗi lệnh lặp lại một số lần xác định, bạn nên sử dụng khối lệnh nào là phù hợp nhất?
A. ‘forever’ (lặp lại mãi mãi).
B. ‘if … then …’ (nếu … thì …).
C. ‘repeat [times]’ (lặp lại [số lần]).
D. ‘wait until’ (chờ cho đến khi).
75. Khối lệnh ‘when this sprite clicked’ trong Scratch dùng để làm gì?
A. Bắt đầu chương trình khi nhấn lá cờ xanh.
B. Thực thi một chuỗi lệnh khi người dùng nhấp chuột trực tiếp lên nhân vật đó.
C. Dừng tất cả các chương trình.
D. Thay đổi trang phục của nhân vật.
76. Trong Scratch, khối lệnh ‘forever’ được sử dụng để làm gì?
A. Thực hiện một hành động một lần duy nhất.
B. Thực hiện một chuỗi lệnh một số lần xác định.
C. Thực hiện một chuỗi lệnh lặp đi lặp lại vô hạn cho đến khi chương trình dừng.
D. Dừng chương trình sau một khoảng thời gian nhất định.
77. Trong Scratch, khối lệnh ‘change x by [value]’ sẽ tác động như thế nào đến nhân vật?
A. Thay đổi vị trí theo trục y.
B. Thay đổi vị trí theo trục x (ngang), giá trị dương di chuyển sang phải.
C. Thay đổi hướng của nhân vật.
D. Thay đổi kích thước của nhân vật.
78. Trong Scratch, để làm cho nhân vật quay 90 độ sang trái, bạn sử dụng khối lệnh nào?
A. ‘turn right 90 degrees’ (xoay phải 90 độ).
B. ‘turn left 90 degrees’ (xoay trái 90 độ).
C. ‘point in direction 90’ (hướng về hướng 90).
D. ‘change direction by 90’ (thay đổi hướng một lượng 90).
79. Trong Scratch, làm thế nào để thay đổi trang phục (costume) của nhân vật?
A. Sử dụng khối lệnh ‘change color effect’ (thay đổi hiệu ứng màu).
B. Sử dụng khối lệnh ‘next costume’ (trang phục tiếp theo) hoặc ‘switch costume to [costume name]’ (chuyển sang trang phục [tên trang phục]).
C. Sử dụng khối lệnh ‘move 10 steps’ (di chuyển 10 bước).
D. Sử dụng khối lệnh ‘say ‘Xin chào!” (nói ‘Xin chào!’).
80. Khối lệnh ‘if … then … else …’ trong Scratch thực hiện logic nào?
A. Chỉ thực hiện hành động nếu điều kiện đúng.
B. Chỉ thực hiện hành động nếu điều kiện sai.
C. Thực hiện hành động A nếu điều kiện đúng, và hành động B nếu điều kiện sai.
D. Thực hiện cả hai hành động A và B bất kể điều kiện.
81. Trong Scratch, để di chuyển nhân vật sang phải 10 bước, bạn sẽ sử dụng khối lệnh nào?
A. ‘move 10 steps’ (di chuyển 10 bước).
B. ‘turn right 15 degrees’ (xoay phải 15 độ).
C. ‘go to x: y:’ (đi tới x: y:).
D. ‘change x by 10’ (thay đổi x một lượng 10).
82. Khối lệnh ‘sayfor [seconds]’ trong Scratch có chức năng gì?
A. Nói liên tục cho đến khi bị dừng.
B. Nói một đoạn văn bản trong một khoảng thời gian nhất định.
C. Chỉ hiển thị văn bản mà không có bong bóng thoại.
D. Phát ra âm thanh.
83. Khối lệnh ‘ask [question] and wait’ trong Scratch dùng để làm gì?
A. Tự động trả lời câu hỏi.
B. Hiển thị một câu hỏi và chờ người dùng nhập câu trả lời.
C. Phát một âm thanh có sẵn.
D. Dừng chương trình.
84. Để thay đổi kích thước của nhân vật trong Scratch, bạn sử dụng khối lệnh nào?
A. ‘set size to [percentage]%’ (đặt kích thước thành [phần trăm]%).
B. ‘change size by [value]’ (thay đổi kích thước một lượng [giá trị]).
C. ‘go to front layer’ (đi tới lớp trên cùng).
D. ‘change costume to [costume]’ (thay đổi trang phục thành [trang phục]).
85. Khối lệnh ‘ask [question] and wait’ trả về giá trị câu trả lời của người dùng thông qua thuộc tính nào?
A. ‘answer’ (câu trả lời).
B. ‘username’ (tên người dùng).
C. ‘timer’ (bộ đếm thời gian).
D. ‘mouse x’ (tọa độ x của chuột).
86. Khối lệnh ‘broadcast [message]’ trong Scratch có vai trò gì?
A. Thay đổi trang phục của nhân vật.
B. Dừng toàn bộ chương trình.
C. Gửi một thông điệp để các nhân vật hoặc kịch bản khác có thể nhận và phản ứng.
D. Phát ra một âm thanh ngẫu nhiên.
87. Khối lệnh ‘change y by [value]’ trong Scratch làm gì?
A. Thay đổi vị trí theo trục x.
B. Thay đổi vị trí theo trục y (dọc), giá trị dương di chuyển lên trên.
C. Thay đổi kích thước của nhân vật.
D. Thay đổi hướng của nhân vật.
88. Trong Scratch, để tạo ra một vòng lặp có điều kiện, bạn sẽ sử dụng kết hợp các khối lệnh nào?
A. ‘repeat’ và ‘wait’.
B. ‘forever’ và ‘if … then …’.
C. ‘repeat until’ hoặc ‘wait until’ kết hợp với các khối điều kiện.
D. ‘broadcast’ và ‘when I receive’.
89. Trong Scratch, để thay đổi hiệu ứng màu sắc của nhân vật, bạn sử dụng khối lệnh nào?
A. ‘change size by [value]’ (thay đổi kích thước một lượng [giá trị]).
B. ‘change color effect by [value]’ (thay đổi hiệu ứng màu một lượng [giá trị]).
C. ‘change x by [value]’ (thay đổi x một lượng [giá trị]).
D. ‘change y by [value]’ (thay đổi y một lượng [giá trị]).
90. Khối lệnh ‘when green flag clicked’ trong Scratch dùng để làm gì?
A. Dừng toàn bộ chương trình.
B. Bắt đầu thực thi một chuỗi lệnh khi nhấn vào biểu tượng lá cờ xanh.
C. Thay đổi màu sắc của nhân vật.
D. Phát ra âm thanh.
91. Trong Pascal, cấu trúc nào được sử dụng để lặp lại một khối lệnh cho đến khi một điều kiện cụ thể trở thành đúng?
A. If … Then
B. For … Do
C. While … Do
D. Repeat … Until
92. Đâu là phát biểu SAI về vòng lặp “Repeat … Until” trong Pascal?
A. Khối lệnh bên trong vòng lặp luôn được thực hiện ít nhất một lần.
B. Vòng lặp sẽ kết thúc khi điều kiện đặt sau “Until” là đúng.
C. Điều kiện kiểm tra được thực hiện sau mỗi lần lặp.
D. Vòng lặp có thể chạy vô hạn nếu điều kiện “Until” không bao giờ đúng.
93. Phát biểu nào sau đây là SAI về vòng lặp “Repeat … Until”?
A. Luôn thực hiện ít nhất một lần.
B. Điều kiện kiểm tra được thực hiện sau khối lệnh.
C. Vòng lặp dừng khi điều kiện là sai.
D. Có thể chạy vô hạn nếu điều kiện không bao giờ đúng.
94. Trong Pascal, vòng lặp “While” sẽ dừng khi nào?
A. Khi điều kiện trở thành đúng.
B. Khi điều kiện trở thành sai.
C. Sau một số lần lặp cố định.
D. Khi gặp lệnh Break.
95. Khi sử dụng vòng lặp “For i := 1 to 10 do …;” trong Pascal, biến đếm ‘i’ sẽ nhận các giá trị nào theo thứ tự?
A. 1, 3, 5, 7, 9
B. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
C. 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
D. 1, 2, 3, …, 10 (có thể có hoặc không có 10 tùy thuộc vào điều kiện khác)
96. Nếu bạn cần đọc dữ liệu từ một tệp văn bản cho đến khi gặp ký tự xuống dòng, cấu trúc lặp nào là thích hợp?
A. For … Do
B. While … Do
C. Repeat … Until
D. Case … Of
97. Xét vòng lặp “While x < 5 do x := x + 1;". Nếu ban đầu x = 3, sau khi vòng lặp kết thúc, giá trị của x sẽ là bao nhiêu?
98. Trong Pascal, để thực hiện một hành động lặp lại đúng 5 lần, không quan tâm đến giá trị ban đầu của một biến, cấu trúc lặp nào là tối ưu?
A. While … Do
B. Repeat … Until
C. For … Do
D. If … Then
99. Phát biểu nào sau đây là đúng về cách sử dụng biến đếm trong vòng lặp “For … Do”?
A. Biến đếm chỉ có thể tăng lên.
B. Biến đếm không thể được gán giá trị mới bên trong vòng lặp.
C. Biến đếm tự động thay đổi giá trị theo phạm vi xác định của vòng lặp.
D. Biến đếm chỉ có thể là kiểu số thực.
100. Phát biểu nào sau đây là ĐÚNG về việc sử dụng biến đếm trong vòng lặp “For”?
A. Biến đếm phải được khai báo bên ngoài vòng lặp.
B. Không được phép thay đổi giá trị của biến đếm bên trong vòng lặp.
C. Biến đếm luôn có kiểu dữ liệu là Integer.
D. Biến đếm chỉ có thể là số nguyên dương.
101. Phát biểu nào sau đây mô tả đúng về sự khác biệt cơ bản giữa vòng lặp “While” và “Repeat … Until”?
A. While kiểm tra điều kiện trước, Repeat…Until kiểm tra sau.
B. While luôn chạy ít nhất một lần, Repeat…Until có thể không chạy.
C. While chỉ dùng cho số lần lặp cố định, Repeat…Until cho số lần lặp không cố định.
D. Cả hai đều giống nhau hoàn toàn về nguyên tắc hoạt động.
102. Nếu ta muốn in ra màn hình các số chẵn từ 2 đến 20, sử dụng vòng lặp “For”, ta có thể khai báo vòng lặp như thế nào?
A. For i := 2 to 20 do Write(i);
B. For i := 2 to 20 step 2 do Write(i);
C. For i := 2 to 20 do if i mod 2 = 0 then Write(i);
D. For i := 2 to 20 step 1 do if i mod 2 = 0 then Write(i);
103. Trong Pascal, cấu trúc lặp nào thực hiện khối lệnh rồi mới kiểm tra điều kiện, đảm bảo khối lệnh luôn được thực thi ít nhất một lần?
A. While … Do
B. For … Do
C. Repeat … Until
D. If … Then
104. Nếu một chương trình cần thực hiện một hành động cho đến khi người dùng nhập vào một số âm, cấu trúc lặp nào là phù hợp nhất?
A. For … Do
B. While … Do
C. Repeat … Until
D. If … Then
105. Xét đoạn mã sau: `s := 0; i := 1; While i <= 10 do begin s := s + i; i := i + 1; end;`. Giá trị cuối cùng của biến 's' là bao nhiêu?
106. Nếu một chương trình cần tính tổng của các số từ 1 đến 100, cấu trúc lặp nào sau đây sẽ thực hiện công việc này một cách trực quan và dễ hiểu nhất?
A. Một câu lệnh “If” lồng nhau.
B. Một cấu trúc lặp “For” hoặc “While”.
C. Sử dụng mảng để lưu trữ và tính tổng.
D. Sử dụng hàm đệ quy.
107. Trong một chương trình, nếu bạn cần lặp lại một hành động cho đến khi người dùng nhập vào một giá trị nằm trong một khoảng nhất định, ví dụ từ 1 đến 100, cấu trúc lặp nào là phù hợp nhất?
A. For … Do
B. While … Do
C. Repeat … Until
D. Case … Of
108. Trong ngôn ngữ lập trình Pascal, cấu trúc lặp nào chỉ thực hiện một lần duy nhất nếu điều kiện ban đầu là sai?
A. Vòng lặp For
B. Vòng lặp While
C. Vòng lặp Repeat … Until
D. Cả ba vòng lặp trên đều có thể
109. Xét vòng lặp “For i := 10 downto 1 do Write(i);”. Lệnh Write sẽ được gọi bao nhiêu lần?
A. 9 lần
B. 10 lần
C. 11 lần
D. Không xác định được.
110. Trong Pascal, để lặp lại một khối lệnh N lần, với N là một số nguyên dương cho trước, cấu trúc lặp nào là phù hợp và hiệu quả nhất?
A. While … Do
B. Repeat … Until
C. For … To … Do
D. If … Then … Else
111. Trong lập trình Pascal, nếu muốn thực hiện một hành động lặp lại cho đến khi một biến đếm đạt đến một giá trị nhất định, ví dụ ‘count’, và ‘count’ có thể bằng 0, cấu trúc lặp nào là tốt nhất để tránh lỗi không thực thi?
A. While count > 0 do …;
B. For i := 1 to count do …;
C. Repeat … Until count = 0;
D. Repeat … Until count > 0;
112. Phát biểu nào sau đây mô tả đúng nhất chức năng của cấu trúc lặp trong lập trình?
A. Cho phép chương trình thực hiện một khối lệnh nhiều lần dựa trên một điều kiện hoặc một số lần xác định.
B. Giúp chương trình đưa ra quyết định dựa trên các giá trị logic.
C. Cho phép chương trình lưu trữ một tập hợp các giá trị cùng loại.
D. Giúp chương trình đọc và ghi dữ liệu từ các thiết bị ngoại vi.
113. Phát biểu nào sau đây là SAI về vòng lặp “While … Do”?
A. Điều kiện được kiểm tra trước khi thực hiện khối lệnh.
B. Khối lệnh bên trong vòng lặp có thể không được thực hiện lần nào.
C. Vòng lặp sẽ dừng ngay khi điều kiện trở thành sai.
D. Vòng lặp luôn đảm bảo thực hiện ít nhất một lần.
114. Xét đoạn mã Pascal: `i := 1; While i <= 5 do begin Write(i); i := i + 2; end;`. Đầu ra màn hình sẽ là gì?
A. 12345
B. 135
C. 124
D. 1357
115. Xét vòng lặp “Repeat x := x + 2; Until x > 10;”. Nếu ban đầu x = 4, sau khi vòng lặp kết thúc, giá trị của x sẽ là bao nhiêu?
116. Trong một bài toán yêu cầu lặp lại hành động cho đến khi người dùng nhập vào một ký tự đặc biệt (ví dụ: ‘Q’), cấu trúc lặp nào là phù hợp nhất?
A. For … Do
B. While … Do
C. Repeat … Until
D. Case … Of
117. Khi nào thì việc sử dụng vòng lặp “While” trở nên phù hợp hơn so với vòng lặp “For”?
A. Khi số lần lặp là cố định và được biết trước.
B. Khi số lần lặp phụ thuộc vào một điều kiện có thể thay đổi trong quá trình lặp.
C. Khi cần thực hiện lặp lại một khối lệnh đúng một lần.
D. Khi chương trình cần dừng ngay lập tức không cần kiểm tra điều kiện.
118. Phát biểu nào sau đây là SAI về vòng lặp “For”?
A. Số lần lặp thường được xác định trước.
B. Biến đếm có thể được thay đổi giá trị tùy ý bên trong vòng lặp.
C. Có thể sử dụng “downto” để lặp giảm dần.
D. Biến đếm chỉ có thể là kiểu số nguyên.
119. Đâu là cách viết chính xác cú pháp của vòng lặp “For” trong Pascal để lặp từ 5 giảm dần xuống 1?
A. For i := 1 to 5 do …;
B. For i := 5 downto 1 do …;
C. For i := 5 to 1 do …;
D. For i := 1 downto 5 do …;
120. Nếu bạn cần tính tổng bình phương của các số từ 1 đến N (với N được nhập từ bàn phím), cấu trúc lặp nào sẽ được sử dụng?
A. Chỉ có thể dùng cấu trúc If.
B. Cần sử dụng vòng lặp.
C. Chỉ có thể dùng cấu trúc Case.
D. Không cần sử dụng cấu trúc lặp.
121. Khi so sánh hai số thực trong Pascal, ví dụ x = 3.14159 và y = 3.14159, điều kiện ‘x = y’ sẽ trả về giá trị gì?
A. True
B. False
C. Error
D. Undefined
122. Ngôn ngữ lập trình nào thường được sử dụng để tạo ra các hiệu ứng động, xử lý sự kiện và tương tác người dùng trên các trang web?
A. HTML
B. CSS
C. JavaScript
D. PHP
123. Ngôn ngữ lập trình nào thường được sử dụng để tạo ra giao diện người dùng (UI) cho các ứng dụng web, định dạng nội dung và cấu trúc trang?
A. Python
B. HTML
C. JavaScript
D. C#
124. Trong Pascal, để khai báo một biến lưu trữ giá trị đúng hoặc sai, ta sử dụng kiểu dữ liệu nào?
A. Integer
B. Real
C. Char
D. Boolean
125. Trong Pascal, câu lệnh nào sau đây dùng để đọc một dòng văn bản từ bàn phím và lưu vào biến chuỗi ‘name’?
A. Write(name);
B. Read(name);
C. ReadLn(name);
D. GetLine(name);
126. Phát biểu nào sau đây mô tả đúng nhất về khái niệm ‘biên dịch’ (compilation) trong lập trình?
A. Là quá trình chạy chương trình để tìm lỗi.
B. Là quá trình chuyển đổi mã nguồn viết bằng ngôn ngữ lập trình bậc cao thành mã máy (hoặc mã trung gian) mà máy tính có thể hiểu và thực thi.
C. Là quá trình thiết kế giao diện người dùng.
D. Là quá trình lưu trữ dữ liệu.
127. Trong Pascal, câu lệnh ‘if score >= 5 then writeln(‘Passed’) else writeln(‘Failed’);’ sẽ in ra gì nếu biến ‘score’ có giá trị là 7?
A. Passed
B. Failed
C. PassedFailed
D. Error
128. Ngôn ngữ lập trình nào được sử dụng phổ biến để phát triển ứng dụng web phía client, cho phép tạo ra các trang web có tính tương tác cao?
A. Python
B. Java
C. C++
D. JavaScript
129. Trong Pascal, toán tử nào được sử dụng để tính phần dư của phép chia hai số nguyên?
A. Div
B. Float
C. Mod
D. Char
130. Trong Pascal, nếu ta có một biến mảng ‘A’ với 10 phần tử, các chỉ số của mảng này thường bắt đầu từ đâu?
A. 1
B. 0
C. 10
D. Tùy thuộc vào cách khai báo
131. Ngôn ngữ lập trình nào thường được sử dụng cho các ứng dụng máy chủ web (server-side scripting) để tạo nội dung động và tương tác với cơ sở dữ liệu?
A. HTML
B. CSS
C. JavaScript (client-side)
D. PHP
132. Phát biểu nào sau đây mô tả đúng về khái niệm ‘thuật toán’?
A. Là một thiết bị phần cứng máy tính.
B. Là một danh sách các lệnh được thực thi bởi máy tính.
C. Là một quy trình gồm các bước hữu hạn, rõ ràng để giải quyết một bài toán.
D. Là một loại ngôn ngữ lập trình cao cấp.
133. Trong Pascal, câu lệnh nào sau đây dùng để chuyển đổi một chuỗi ký tự thành một số nguyên?
A. StrToInt
B. Val
C. ToInt
D. Convert
134. Trong Pascal, để thực hiện phép chia lấy phần dư cho hai số thực, ta sử dụng toán tử nào?
A. Div
B. Mod
C. Rem
D. Không có toán tử trực tiếp cho số thực
135. Trong Pascal, để nhập một giá trị từ bàn phím vào biến ‘age’ kiểu Integer, ta sử dụng câu lệnh nào?
A. Write(age);
B. ReadLn(age);
C. Input(age);
D. Scan(age);
136. Phát biểu nào sau đây đúng về vai trò của CSS trong phát triển web?
A. Định nghĩa cấu trúc và nội dung của trang web.
B. Xử lý logic và tương tác phía client.
C. Định dạng kiểu dáng, bố cục và giao diện của trang web.
D. Quản lý cơ sở dữ liệu.
137. Trong Pascal, câu lệnh nào sau đây dùng để in ra màn hình chuỗi ‘Xin chào’?
A. Write(‘Xin chào’);
B. Read(‘Xin chào’);
C. Print(‘Xin chào’);
D. Display(‘Xin chào’);
138. Phát biểu nào sau đây về cấu trúc lặp ‘While…Do’ là chính xác nhất?
A. Luôn thực thi ít nhất một lần, bất kể điều kiện.
B. Kiểm tra điều kiện trước khi thực thi khối lệnh.
C. Chỉ thực thi khi điều kiện sai.
D. Không cần điều kiện để lặp.
139. Phát biểu nào sau đây là đúng về khái niệm ‘vòng lặp vô hạn’ trong lập trình?
A. Là vòng lặp kết thúc sau một số lần lặp cố định.
B. Là vòng lặp không bao giờ kết thúc do điều kiện dừng không bao giờ được thỏa mãn.
C. Là vòng lặp chỉ chạy một lần duy nhất.
D. Là vòng lặp sử dụng đúng một lần.
140. Ngôn ngữ lập trình nào thường được sử dụng để phát triển các ứng dụng máy tính để bàn, game hoặc các hệ thống yêu cầu hiệu năng cao?
A. HTML
B. CSS
C. C++
D. SQL
141. Phát biểu nào sau đây là đúng về cấu trúc lặp ‘For…Do’ trong lập trình?
A. Chỉ sử dụng khi biết trước số lần lặp.
B. Chỉ sử dụng khi điều kiện lặp là đúng.
C. Chỉ sử dụng khi điều kiện lặp là sai.
D. Sử dụng khi không biết trước số lần lặp.
142. Phát biểu nào sau đây là đúng về cấu trúc ‘Case…Of’ trong Pascal?
A. Dùng để so sánh nhiều điều kiện liên tiếp.
B. Dùng để chọn một trong nhiều khối lệnh dựa trên giá trị của một biến biểu thức.
C. Chỉ dùng để rẽ nhánh hai trường hợp.
D. Luôn có mệnh đề Else bắt buộc.
143. Phát biểu nào sau đây mô tả đúng nhất về biến mảng (array) trong lập trình?
A. Lưu trữ một giá trị duy nhất tại một thời điểm.
B. Lưu trữ nhiều giá trị cùng kiểu dữ liệu, có thể truy cập bằng chỉ số.
C. Lưu trữ các giá trị có kiểu dữ liệu khác nhau.
D. Chỉ lưu trữ được các giá trị logic (True/False).
144. Trong Pascal, để thực hiện phép chia lấy phần nguyên, ta sử dụng toán tử nào?
145. Trong Pascal, kiểu dữ liệu nào dùng để lưu trữ các ký tự đơn lẻ như ‘A’, ‘b’, ‘7’?
A. Integer
B. Real
C. Char
D. Boolean
146. Trong ngôn ngữ lập trình Pascal, câu lệnh nào sau đây 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;
147. Phát biểu nào sau đây là đúng về việc sử dụng vòng lặp ‘Repeat…Until’?
A. Điều kiện được kiểm tra trước khi thực hiện lần lặp đầu tiên.
B. Khối lệnh bên trong chắc chắn được thực thi ít nhất một lần.
C. Vòng lặp tiếp tục khi điều kiện là đúng.
D. Vòng lặp dừng khi điều kiện là sai.
148. Trong cấu trúc rẽ nhánh ‘If…Then…Else’, khi điều kiện trong ‘If’ là sai và có mệnh đề ‘Else’, hành động nào sẽ được thực hiện?
A. Khối lệnh trong mệnh đề ‘If’ sẽ được thực thi.
B. Khối lệnh trong mệnh đề ‘Else’ sẽ được thực thi.
C. Chương trình sẽ dừng lại.
D. Chương trình sẽ bỏ qua cả hai mệnh đề.
149. Khi phân tích một bài toán lập trình, bước nào thường được thực hiện đầu tiên để hiểu rõ yêu cầu và mục tiêu?
A. Viết mã nguồn.
B. Gỡ lỗi (debug).
C. Xác định bài toán và phân tích yêu cầu.
D. Biên dịch chương trình.
150. Ngôn ngữ lập trình nào thường được sử dụng để quản lý và truy vấn cơ sở dữ liệu quan hệ?
A. Python
B. JavaScript
C. SQL
D. HTML