Skip to content
Tài Liệu Trọn Đời - Thư viện tài liệu học tập - 5

Blog Cá Nhân | Chia Sẻ Tài Liệu Học Tập Miễn Phí

    • Trang chủ
    • Về chúng tôi
    • Trang thông tin
      • Bản quyền & Khiếu nại
      • Quy định sử dụng
      • Miễn trừ trách nhiệm
    • Đáp án
    • Góc học tập
      • Toán học
      • Vật lý
      • Hóa học
      • Tiếng Anh
    • Trắc nghiệm
      • Question – Answer Quiz
      • Trắc nghiệm Tiếng Anh
      • Trắc nghiệm Đại học
      • Trắc nghiệm THPT
      • Trắc nghiệm THCS
      • Trắc nghiệm Tập huấn – Bồi dưỡng
    • Liên hệ
    • Sitemap
    • Trang chủ
    • Về chúng tôi
    • Trang thông tin
      • Bản quyền & Khiếu nại
      • Quy định sử dụng
      • Miễn trừ trách nhiệm
    • Đáp án
    • Góc học tập
      • Toán học
      • Vật lý
      • Hóa học
      • Tiếng Anh
    • Trắc nghiệm
      • Question – Answer Quiz
      • Trắc nghiệm Tiếng Anh
      • Trắc nghiệm Đại học
      • Trắc nghiệm THPT
      • Trắc nghiệm THCS
      • Trắc nghiệm Tập huấn – Bồi dưỡng
    • Liên hệ
    • Sitemap
    Tài Liệu Trọn Đời - Thư viện tài liệu học tập - 5

    Blog Cá Nhân | Chia Sẻ Tài Liệu Học Tập Miễn Phí

    Trang chủ » Trắc nghiệm THPT » 150+ câu hỏi trắc nghiệm tin 12 bài 6 online có đáp án

    Trắc nghiệm THPT

    150+ câu hỏi trắc nghiệm tin 12 bài 6 online có đáp án

    Ngày cập nhật: 15/07/2025

    ⚠️ Đọc lưu ý và miễn trừ trách nhiệm trước khi bắt đầu: Các câu hỏi và đáp án trong bộ trắc nghiệm này chỉ mang tính chất tham khảo, hỗ trợ học tập và ôn luyện. Đây KHÔNG PHẢI là đề thi chính thức, không đại diện cho bất kỳ tài liệu chuẩn hóa hay kiểm tra chứng chỉ nào từ các cơ quan giáo dục hay tổ chức cấp chứng chỉ chuyên môn. Website không chịu bất kỳ trách nhiệm nào liên quan đến độ chính xác của nội dung hoặc các quyết định được đưa ra dựa trên kết quả làm bài trắc nghiệm.

    Cùng khởi động với bộ 150+ câu hỏi trắc nghiệm tin 12 bài 6 online có đáp án. Bạn sẽ được tiếp cận nhiều câu hỏi được chọn lọc kỹ, rất phù hợp cho việc củng cố kiến thức. Bạn hãy chọn một bộ đề phía dưới và khám phá ngay nội dung thú vị bên trong. Hy vọng bạn sẽ có những phút giây làm bài bổ ích và đạt kết quả cao!

    1. Câu lệnh nào sau đây trong Python sẽ lặp lại khối mã bên trong nó bao nhiêu lần nếu điều kiện ban đầu là sai?

    A. Vòng lặp `for`
    B. Vòng lặp `while`
    C. Cả hai vòng lặp `for` và `while` đều có thể lặp lại 0 lần.
    D. Không có vòng lặp nào có thể lặp lại 0 lần.

    2. Trong Python, từ khóa nào được sử dụng để bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo của vòng lặp?

    A. break
    B. return
    C. continue
    D. pass

    3. Giả sử bạn có một danh sách `so_le = [1, 3, 5]`. Câu lệnh nào sau đây sẽ thay thế phần tử thứ hai (chỉ số 1) bằng giá trị 7?

    A. so_le.replace(1, 7)
    B. so_le.update(1, 7)
    C. so_le[1] = 7
    D. so_le.set(1, 7)

    4. Phát biểu nào sau đây mô tả đúng nhất về cách truy cập giá trị trong Dictionary của Python?

    A. Sử dụng chỉ số vị trí của phần tử, bắt đầu từ 0.
    B. Sử dụng khóa (key) tương ứng của giá trị cần truy cập.
    C. Sử dụng tên biến của Dictionary theo sau là dấu chấm và tên giá trị.
    D. Sử dụng chỉ số âm để truy cập từ cuối, bắt đầu từ -1.

    5. Để kiểm tra xem một phần tử có tồn tại trong danh sách (list) hoặc từ điển (dictionary) trong Python, bạn sử dụng từ khóa nào?

    A. for
    B. while
    C. in
    D. if

    6. Phát biểu nào sau đây KHÔNG phải là quy tắc đặt tên biến hợp lệ trong Python?

    A. Tên biến có thể chứa chữ cái, số và dấu gạch dưới ‘_’.
    B. Tên biến không được bắt đầu bằng một chữ số.
    C. Tên biến không được chứa khoảng trắng.
    D. Tên biến có thể bắt đầu bằng một ký tự đặc biệt như ‘@’ hoặc ‘$’.

    7. Trong Python, từ khóa nào được sử dụng để trả về một giá trị từ hàm?

    A. return
    B. yield
    C. exit
    D. break

    8. Câu lệnh nào sau đây trong Python được sử dụng để tạo một cấu trúc điều khiển rẽ nhánh dựa trên một điều kiện?

    A. for … in …
    B. while …:
    C. if …:
    D. try … except:

    9. Trong Python, cấu trúc dữ liệu nào sau đây biểu diễn một tập hợp các cặp khóa-giá trị (key-value pairs)?

    A. List
    B. Tuple
    C. Set
    D. Dictionary

    10. Kiểu dữ liệu nào trong Python thường được sử dụng để biểu diễn các giá trị đúng hoặc sai (True/False)?

    A. Integer (int)
    B. Float (float)
    C. String (str)
    D. Boolean (bool)

    11. Phát biểu nào sau đây là đúng về kiểu dữ liệu danh sách (list) trong Python?

    A. Danh sách không thể chứa các phần tử có kiểu dữ liệu khác nhau.
    B. Danh sách có thứ tự và có thể thay đổi (mutable).
    C. Danh sách là một tập hợp các phần tử duy nhất, không có thứ tự.
    D. Danh sách không thể truy cập phần tử theo chỉ số.

    12. Trong Python, câu lệnh `print(type(10.5))` sẽ cho ra kết quả là gì?

    A.
    B.
    C.
    D.

    13. Khi làm việc với các tệp tin văn bản trong Python, chế độ mở tệp nào được sử dụng để chỉ đọc từ tệp?

    A. ‘w’
    B. ‘a’
    C. ‘r’
    D. ‘x’

    14. Phát biểu nào sau đây mô tả đúng nhất về vòng lặp `while` trong Python?

    A. Vòng lặp này sẽ chạy một số lần xác định trước.
    B. Vòng lặp này tiếp tục thực thi khối mã bên trong miễn là một điều kiện cụ thể vẫn còn đúng.
    C. Vòng lặp này dùng để duyệt qua các phần tử của một danh sách.
    D. Vòng lặp này chỉ thực thi duy nhất một lần.

    15. Trong Python, câu lệnh nào sau đây sẽ đóng một tệp tin đã mở?

    A. file.delete()
    B. file.close()
    C. file.exit()
    D. file.finish()

    16. Giả sử bạn có biến `ten_sinh_vien = ‘Nguyen Van A’`. Làm thế nào để lấy ký tự đầu tiên của chuỗi này trong Python?

    A. ten_sinh_vien.first()
    B. ten_sinh_vien[0]
    C. ten_sinh_vien.charAt(0)
    D. ten_sinh_vien(0)

    17. Phát biểu nào sau đây mô tả đúng nhất về hằng số (constant) trong lập trình?

    A. Là một biến có thể thay đổi giá trị nhiều lần trong chương trình.
    B. Là một giá trị không thay đổi trong suốt quá trình thực thi chương trình.
    C. Là một chuỗi ký tự được sử dụng để hiển thị thông báo.
    D. Là một cấu trúc điều khiển luồng của chương trình.

    18. Nếu một hàm trong Python không có câu lệnh `return` rõ ràng, nó sẽ trả về giá trị gì?

    A. 0
    B. None
    C. True
    D. Một lỗi sẽ xảy ra.

    19. Khi làm việc với các loại dữ liệu chuỗi (string) trong Python, phép toán nào sau đây dùng để nối hai chuỗi lại với nhau?

    A. Toán tử nhân ‘*’
    B. Toán tử cộng ‘+’
    C. Toán tử trừ ‘-‘
    D. Toán tử chia ‘/’

    20. Trong Python, từ khóa nào được sử dụng để thoát khỏi vòng lặp ngay lập tức, bất kể điều kiện còn đúng hay không?

    A. continue
    B. pass
    C. break
    D. return

    21. Trong 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 number = 10;
    B. let number: int = 10
    C. number = 10
    D. int number = 10;

    22. Trong Python, để chuyển đổi một chuỗi ‘123’ thành một số nguyên, bạn sẽ sử dụng hàm nào?

    A. float(‘123’)
    B. str(‘123’)
    C. int(‘123’)
    D. bool(‘123’)

    23. Khi thực hiện phép chia `10 / 3` trong Python, kết quả trả về sẽ là kiểu dữ liệu gì?

    A. Integer (int)
    B. Float (float)
    C. String (str)
    D. Boolean (bool)

    24. Giả sử bạn có một danh sách `so_chan = [2, 4, 6, 8]`. Câu lệnh nào sau đây sẽ thêm số 10 vào cuối danh sách này?

    A. so_chan.insert(10)
    B. so_chan.append(10)
    C. so_chan.add(10)
    D. so_chan.extend(10)

    25. Phát biểu nào sau đây mô tả đúng nhất về Tuple trong Python?

    A. Tuple có thể thay đổi (mutable) và không có thứ tự.
    B. Tuple có thứ tự, có thể chứa các kiểu dữ liệu khác nhau và không thể thay đổi (immutable).
    C. Tuple không có thứ tự và không thể chứa các kiểu dữ liệu khác nhau.
    D. Tuple có thể thay đổi (mutable) và có thứ tự.

    26. Phát biểu nào sau đây đúng về cú pháp của một hàm (function) trong Python?

    A. Bắt đầu bằng từ khóa `function`.
    B. Bắt đầu bằng từ khóa `def`, theo sau là tên hàm và dấu hai chấm.
    C. Bắt đầu bằng từ khóa `func`.
    D. Không cần từ khóa đặc biệt để khai báo hàm.

    27. Trong Python, câu lệnh `len(‘Hello’)` sẽ trả về giá trị nào?

    A. 4
    B. 5
    C. 6
    D. Hello

    28. Trong Python, để thực hiện một hành động khi điều kiện `if` là sai, bạn sẽ sử dụng từ khóa nào tiếp theo?

    A. elif
    B. continue
    C. else
    D. pass

    29. Phát biểu nào sau đây mô tả đúng nhất về kiểu dữ liệu Set trong Python?

    A. Set có thứ tự và cho phép chứa các phần tử trùng lặp.
    B. Set không có thứ tự, không cho phép chứa các phần tử trùng lặp và có thể thay đổi (mutable).
    C. Set có thứ tự và không cho phép chứa các phần tử trùng lặp.
    D. Set không có thứ tự, cho phép chứa các phần tử trùng lặp và không thể thay đổi (immutable).

    30. Phát biểu nào sau đây mô tả đúng nhất khái niệm ‘biến’ trong lập trình?

    A. Là một hằng số có giá trị không đổi trong suốt quá trình thực thi chương trình.
    B. Là một lệnh điều khiển luồng thực thi của chương trình.
    C. Là một định danh đại diện cho một vị trí trong bộ nhớ, nơi lưu trữ dữ liệu có thể thay đổi.
    D. Là một phép toán dùng để thực hiện các phép tính số học.

    31. Trong Pascal, câu lệnh `for i := 10 downto 1 do Write(i);` sẽ in ra các số theo thứ tự nào?

    A. 10 9 8 7 6 5 4 3 2 1
    B. 1 2 3 4 5 6 7 8 9 10
    C. 10 10 10 10 10 10 10 10 10 10
    D. Lỗi cú pháp

    32. Phát biểu nào sau đây là đúng về ‘chỉ số’ (index) của một phần tử trong mảng?

    A. Chỉ số xác định vị trí duy nhất của phần tử trong mảng.
    B. Chỉ số luôn luôn bắt đầu từ 1 và là số nguyên dương.
    C. Chỉ số có thể là bất kỳ kiểu dữ liệu nào.
    D. Chỉ số có thể trùng lặp giữa các phần tử khác nhau.

    33. Trong ngôn ngữ lập trình, một ‘vòng lặp’ (loop) thường được sử dụng kết hợp với mảng để thực hiện hành động gì?

    A. Duyệt qua từng phần tử của mảng để thực hiện một thao tác.
    B. Xóa bỏ tất cả các phần tử không cần thiết khỏi mảng.
    C. Tăng kích thước của mảng lên gấp đôi.
    D. Chỉ truy cập vào phần tử đầu tiên của mảng.

    34. Khi cần lưu trữ thông tin về tên và điểm số của nhiều sinh viên, mỗi sinh viên có một tên (chuỗi) và một điểm số (số thực), cấu trúc dữ liệu nào sau đây là phù hợp nhất để biểu diễn mối quan hệ này cho từng sinh viên?

    A. Một cấu trúc (record) chứa trường tên và trường điểm số.
    B. Một mảng một chiều chỉ lưu trữ tên sinh viên.
    C. Một mảng một chiều chỉ lưu trữ điểm số sinh viên.
    D. Hai mảng một chiều riêng biệt, một cho tên và một cho điểm số.

    35. Trong ngôn ngữ lập trình Pascal, khi khai báo một biến kiểu mảng hai chiều `arr[10, 20]` với chỉ số bắt đầu từ 1, tổng số phần tử có thể lưu trữ trong mảng là bao nhiêu?

    A. 200 phần tử
    B. 10 phần tử
    C. 210 phần tử
    D. 190 phần tử

    36. Trong Pascal, câu lệnh nào sau đây khai báo một mảng có tên ` DiemSo`, lưu trữ tối đa 100 số thực và có chỉ số bắt đầu từ 1?

    A. Var DiemSo : array [1..100] of Real;
    B. Var DiemSo : array [0..99] of Real;
    C. Var DiemSo : array [100] of Real;
    D. Var DiemSo : array [1..100] of Integer;

    37. Phát biểu nào sau đây mô tả đúng nhất mục đích của việc sử dụng mảng trong chương trình máy tính?

    A. Lưu trữ và quản lý một tập hợp các dữ liệu cùng loại một cách có cấu trúc.
    B. Thực hiện các phép tính toán phức tạp trên nhiều biến độc lập.
    C. Tạo ra giao diện người dùng đồ họa sinh động.
    D. Tự động sửa lỗi cú pháp trong mã nguồn.

    38. Khi cần lưu trữ thông tin về tọa độ (x, y) của nhiều điểm trên mặt phẳng, mỗi điểm có một cặp giá trị (x, y), cấu trúc dữ liệu nào là phù hợp nhất để biểu diễn một điểm?

    A. Một cấu trúc (record) gồm hai trường số thực cho x và y.
    B. Một mảng hai chiều với kích thước 2×1.
    C. Một mảng một chiều có hai phần tử.
    D. Một chuỗi ký tự chứa ‘x,y’.

    39. Khi làm việc với mảng hai chiều trong lập trình, thao tác ‘truy cập một phần tử’ thường yêu cầu cung cấp những thông tin gì?

    A. Chỉ số hàng và chỉ số cột
    B. Tên biến mảng và một chỉ số duy nhất
    C. Tên biến mảng và giá trị của phần tử
    D. Chỉ số hàng và giá trị của phần tử

    40. Xét một mảng một chiều `A` có 50 phần tử, được đánh chỉ số từ 0 đến 49. Nếu ta muốn truy cập phần tử thứ 10 của mảng, chỉ số tương ứng cần sử dụng là bao nhiêu?

    A. 10
    B. 9
    C. 11
    D. 0

    41. Khi thực hiện thao tác ‘tìm kiếm phần tử lớn nhất’ trong một mảng, bạn cần làm gì?

    A. Khởi tạo một biến lưu trữ giá trị lớn nhất với phần tử đầu tiên, sau đó duyệt qua các phần tử còn lại và cập nhật biến này nếu gặp phần tử lớn hơn.
    B. Sắp xếp mảng theo thứ tự tăng dần và lấy phần tử cuối cùng.
    C. Chỉ cần kiểm tra phần tử đầu tiên của mảng.
    D. Tính trung bình cộng của tất cả các phần tử.

    42. Nếu bạn có một bảng tính Excel biểu diễn kết quả thi đấu của nhiều đội bóng, với mỗi hàng là một đội và mỗi cột là một chỉ số thống kê (ví dụ: thắng, thua, hòa, bàn thắng, bàn thua), thì cấu trúc dữ liệu tương ứng trong lập trình để biểu diễn bảng này là gì?

    A. Mảng hai chiều
    B. Mảng một chiều
    C. Biến đơn
    D. Chuỗi ký tự

    43. Trong một chương trình xử lý văn bản, nếu bạn cần lưu trữ từng dòng của một đoạn văn bản, mỗi dòng là một chuỗi ký tự, cấu trúc dữ liệu nào là phù hợp nhất?

    A. Một mảng một chiều mà mỗi phần tử là một chuỗi ký tự (hoặc mảng ký tự).
    B. Một mảng hai chiều mà mỗi phần tử là một ký tự.
    C. Một biến đơn lưu toàn bộ đoạn văn bản.
    D. Một tập hợp các biến ký tự riêng lẻ.

    44. Trong một chương trình xử lý danh sách điểm thi của học sinh, nếu mỗi học sinh có một điểm thi duy nhất, việc sử dụng mảng một chiều để lưu trữ điểm thi của 100 học sinh là hợp lý vì sao?

    A. Các điểm thi đều có cùng kiểu dữ liệu (số thực hoặc số nguyên) và có thể được đánh số thứ tự theo từng học sinh.
    B. Mảng một chiều giúp tự động sắp xếp điểm thi theo thứ tự giảm dần.
    C. Mỗi điểm thi cần được liên kết với một tên biến riêng biệt.
    D. Mảng một chiều chỉ có thể lưu trữ tối đa 10 điểm.

    45. Khi tìm kiếm một phần tử cụ thể trong một mảng chưa được sắp xếp, phương pháp nào sau đây thường được áp dụng?

    A. Tìm kiếm tuần tự (Linear Search)
    B. Tìm kiếm nhị phân (Binary Search)
    C. Sắp xếp mảng rồi mới tìm kiếm
    D. Chỉ kiểm tra phần tử đầu tiên và cuối cùng

    46. Khi so sánh mảng một chiều và mảng hai chiều, điểm khác biệt cơ bản nhất là gì?

    A. Số chiều của cấu trúc dữ liệu (một chiều so với hai chiều).
    B. Kiểu dữ liệu của các phần tử.
    C. Khả năng lưu trữ dữ liệu.
    D. Cách khai báo biến.

    47. Trong lập trình Pascal, câu lệnh `Inc(x)` có tác dụng gì đối với biến `x` kiểu số nguyên?

    A. Tăng giá trị của `x` lên 1 đơn vị.
    B. Giảm giá trị của `x` đi 1 đơn vị.
    C. Nhân giá trị của `x` với 2.
    D. Gán giá trị 0 cho `x`.

    48. Trong Pascal, nếu khai báo `Var arr: array of Integer;` (sử dụng mảng động), thì điều gì xảy ra ban đầu với biến `arr`?

    A. Biến `arr` chưa trỏ đến một vùng nhớ nào và chưa có phần tử nào.
    B. Biến `arr` tự động có 100 phần tử kiểu số nguyên.
    C. Biến `arr` có 1 phần tử kiểu số nguyên.
    D. Biến `arr` có giá trị là 0.

    49. Phát biểu nào sau đây mô tả đúng vai trò của ‘kiểu dữ liệu’ khi khai báo một mảng?

    A. Xác định loại dữ liệu mà các phần tử của mảng có thể chứa.
    B. Quyết định số lượng phần tử tối đa của mảng.
    C. Chỉ định tên duy nhất cho mảng.
    D. Xác định phạm vi giá trị của chỉ số.

    50. Khi muốn thực hiện thao tác ‘sắp xếp’ một mảng, mục đích chính là gì?

    A. Tổ chức lại các phần tử của mảng theo một trật tự nhất định (tăng dần hoặc giảm dần).
    B. Xóa bỏ hoàn toàn các phần tử trùng lặp trong mảng.
    C. Tăng tốc độ truy cập vào bất kỳ phần tử nào.
    D. Giảm dung lượng bộ nhớ mà mảng chiếm dụng.

    51. Trong Pascal, để khai báo một hằng số có tên `MAX_SIZE` với giá trị là 100, ta sử dụng cú pháp nào?

    A. Const MAX_SIZE = 100;
    B. Var MAX_SIZE = 100;
    C. #define MAX_SIZE 100
    D. Define MAX_SIZE = 100

    52. Trong Pascal, câu lệnh `for i := 1 to 10 do Write(A[i]);` sẽ thực hiện hành động gì?

    A. In ra màn hình các phần tử của mảng A từ chỉ số 1 đến 10.
    B. In ra màn hình mười lần ký tự ‘A’.
    C. In ra màn hình chỉ số của phần tử cuối cùng trong mảng A.
    D. Gán giá trị 10 cho tất cả các phần tử của mảng A.

    53. Trong một bài toán yêu cầu xử lý ma trận, ví dụ như tính tổng các phần tử trên đường chéo chính, cấu trúc dữ liệu nào thường được sử dụng?

    A. Mảng hai chiều
    B. Mảng một chiều
    C. Tập hợp (Set)
    D. Danh sách liên kết (Linked List)

    54. Trong lập trình Pascal, khai báo `Type Diem = array [1..10] of Byte;` định nghĩa một kiểu dữ liệu mới tên là gì?

    A. Một kiểu mảng một chiều có tên là Diem.
    B. Một biến mảng có tên là Diem.
    C. Một hằng số có tên là Diem.
    D. Một kiểu dữ liệu số nguyên có tên là Diem.

    55. Nếu một mảng được sắp xếp theo thứ tự tăng dần, phương pháp tìm kiếm nào sẽ hiệu quả nhất?

    A. Tìm kiếm nhị phân (Binary Search)
    B. Tìm kiếm tuần tự (Linear Search)
    C. Tìm kiếm ngẫu nhiên
    D. Chỉ kiểm tra phần tử giữa

    56. Nếu một mảng có 10 phần tử, và bạn muốn chỉ xử lý các phần tử có chỉ số lẻ (1, 3, 5, 7, 9), bạn sẽ sử dụng vòng lặp như thế nào?

    A. Vòng lặp với bước nhảy là 2, bắt đầu từ chỉ số 1.
    B. Vòng lặp với bước nhảy là 1, bắt đầu từ chỉ số 1.
    C. Vòng lặp với bước nhảy là 2, bắt đầu từ chỉ số 0.
    D. Vòng lặp với bước nhảy là 3, bắt đầu từ chỉ số 1.

    57. Trong các thuật toán sắp xếp, ‘sắp xếp nổi bọt’ (Bubble Sort) là một ví dụ về phương pháp nào?

    A. Thuật toán sắp xếp dựa trên việc so sánh và hoán đổi các cặp phần tử liền kề.
    B. Thuật toán sắp xếp dựa trên việc chia mảng thành các phần nhỏ hơn.
    C. Thuật toán sắp xếp dựa trên việc tìm phần tử nhỏ nhất và đặt nó vào đầu mảng.
    D. Thuật toán sắp xếp không yêu cầu so sánh các phần tử.

    58. Nếu một mảng được khai báo với kích thước là `N` phần tử, và chỉ số bắt đầu từ `S` và kết thúc tại `E`, thì tổng số phần tử của mảng là bao nhiêu?

    A. E – S + 1
    B. E – S
    C. N
    D. E + S

    59. Nếu bạn cần lưu trữ 1000 giá trị nhiệt độ đo được trong một ngày, mỗi giá trị là một số thực, thì cấu trúc dữ liệu nào là phù hợp nhất và hiệu quả nhất về mặt bộ nhớ?

    A. Mảng một chiều có 1000 phần tử kiểu số thực.
    B. 1000 biến riêng biệt, mỗi biến lưu một giá trị nhiệt độ.
    C. Mảng hai chiều 30×34.
    D. Một chuỗi ký tự dài.

    60. Khi làm việc với mảng, việc sử dụng biến đếm (counter) trong vòng lặp thường nhằm mục đích gì?

    A. Theo dõi số lần lặp hoặc chỉ số của phần tử hiện tại.
    B. Lưu trữ giá trị lớn nhất trong mảng.
    C. Kiểm tra xem mảng có phần tử nào bị thiếu không.
    D. Xóa các phần tử trùng lặp khỏi mảng.

    61. Trong lập trình hướng đối tượng, một lớp không có bất kỳ phương thức hay thuộc tính nào được gọi là gì?

    A. Lớp con (Subclass)
    B. Lớp cha (Superclass)
    C. Lớp rỗng (Empty Class)
    D. Lớp cấu trúc (Struct Class)

    62. Khái niệm ‘Abstraction’ (Trừu tượng hóa) trong OOP nhấn mạnh vào điều gì?

    A. Che giấu chi tiết triển khai bên trong và chỉ hiển thị các chức năng cần thiết.
    B. Cho phép một đối tượng có nhiều hình dạng.
    C. Tái sử dụng mã nguồn từ lớp cha.
    D. Tập hợp dữ liệu và phương thức vào một đơn vị.

    63. Trong lập trình hướng đối tượng, một ‘Abstract Class’ có thể chứa các thành viên nào?

    A. Chỉ các phương thức trừu tượng.
    B. Chỉ các thuộc tính trừu tượng.
    C. Các phương thức trừu tượng, các phương thức đã có phần thân (concrete methods), các thuộc tính và cả constructor.
    D. Chỉ các phương thức công khai (public methods).

    64. Đâu là một ví dụ về ‘Dependency Injection’ (DI) trong thiết kế hướng đối tượng?

    A. Một lớp tự tạo ra các đối tượng mà nó cần để hoạt động.
    B. Các đối tượng cần thiết được cung cấp (inject) vào một lớp từ bên ngoài, thay vì lớp tự tạo ra chúng.
    C. Một lớp kế thừa tất cả các chức năng từ lớp cha.
    D. Một lớp triển khai lại một phương thức của lớp cha.

    65. Trong lập trình hướng đối tượng, khi một phương thức được định nghĩa trong lớp cha và lớp con định nghĩa lại (override) phương thức đó với hành vi riêng, đây là ví dụ của nguyên lý nào?

    A. Đóng gói (Encapsulation)
    B. Trừu tượng hóa (Abstraction)
    C. Đa hình (Polymorphism)
    D. Liên kết chặt chẽ (Coupling)

    66. Tại sao việc sử dụng các phương thức getter và setter lại quan trọng trong nguyên lý đóng gói?

    A. Để làm cho mã nguồn dài hơn và phức tạp hơn.
    B. Để ẩn đi cách thức truy cập dữ liệu và cho phép kiểm soát logic khi đọc hoặc ghi giá trị thuộc tính.
    C. Để cho phép tất cả các lớp khác truy cập trực tiếp vào thuộc tính.
    D. Để đảm bảo rằng tất cả các thuộc tính đều là công khai (public).

    67. Trong lập trình hướng đối tượng, khái niệm nào mô tả việc một lớp có thể kế thừa các thuộc tính và phương thức từ một lớp khác, giúp tái sử dụng mã nguồn và xây dựng hệ thống phân cấp?

    A. Trừu tượng hóa (Abstraction)
    B. Đóng gói (Encapsulation)
    C. Kế thừa (Inheritance)
    D. Đa hình (Polymorphism)

    68. Trong Java, từ khóa ‘final’ khi áp dụng cho một phương thức có ý nghĩa gì?

    A. Phương thức đó không thể bị ghi đè (override) bởi lớp con.
    B. Phương thức đó chỉ có thể được gọi từ bên trong lớp.
    C. Phương thức đó sẽ luôn trả về một giá trị cố định.
    D. Phương thức đó không thể được truy cập từ các lớp khác.

    69. Khái niệm ‘Class Diagram’ trong UML (Unified Modeling Language) dùng để biểu diễn điều gì?

    A. Luồng dữ liệu trong một hệ thống.
    B. Cấu trúc tĩnh của một hệ thống, bao gồm các lớp, thuộc tính, phương thức và mối quan hệ giữa chúng.
    C. Trình tự các hoạt động trong một quy trình.
    D. Trạng thái của một đối tượng tại một thời điểm.

    70. Nếu một lớp ‘Circle’ (Hình tròn) và một lớp ‘Square’ (Hình vuông) đều kế thừa từ một lớp trừu tượng ‘Shape’ (Hình dạng) và cả hai đều có phương thức ‘calculateArea()’, thì khi gọi ‘calculateArea()’ trên một đối tượng ‘Shape’ tham chiếu đến ‘Circle’, phương thức nào sẽ được thực thi?

    A. Phương thức ‘calculateArea()’ của lớp ‘Shape’ (nếu có định nghĩa).
    B. Phương thức ‘calculateArea()’ của lớp ‘Square’.
    C. Phương thức ‘calculateArea()’ của lớp ‘Circle’.
    D. Trình biên dịch sẽ báo lỗi vì không xác định được phương thức nào cần gọi.

    71. Nếu một lớp ‘XeHoi’ kế thừa từ lớp ‘PhuongTienGiaoThong’, thì ‘PhuongTienGiaoThong’ được gọi là gì đối với ‘XeHoi’?

    A. Lớp con (Subclass)
    B. Lớp cha (Superclass) hoặc Lớp cơ sở (Base Class)
    C. Lớp bạn (Friend Class)
    D. Lớp trừu tượng (Abstract Class)

    72. Trong lập trình hướng đối tượng, ‘Constructor’ là gì và vai trò chính của nó?

    A. Là một phương thức đặc biệt được gọi khi đối tượng bị hủy, để giải phóng tài nguyên.
    B. Là một phương thức được gọi tự động khi một đối tượng mới được tạo ra, dùng để khởi tạo trạng thái ban đầu của đối tượng.
    C. Là một phương thức có thể được gọi bất cứ lúc nào để truy cập dữ liệu của đối tượng.
    D. Là một phương thức dùng để định nghĩa hành vi của lớp cha.

    73. Trong Java, ‘Super’ keyword được sử dụng để làm gì?

    A. Truy cập vào các thành viên của lớp hiện tại.
    B. Truy cập vào các thành viên của lớp cha (bao gồm cả constructor và phương thức).
    C. Định nghĩa một lớp mới kế thừa từ lớp hiện tại.
    D. Tạo một đối tượng mới từ lớp hiện tại.

    74. Khái niệm ‘Abstract Class’ trong lập trình hướng đối tượng được sử dụng để làm gì?

    A. Định nghĩa một lớp mà không thể tạo đối tượng từ nó, chỉ dùng làm lớp cơ sở để các lớp khác kế thừa.
    B. Định nghĩa một tập hợp các phương thức mà không có phần thân, buộc các lớp kế thừa phải triển khai.
    C. Đảm bảo rằng một lớp chỉ có thể có một thể hiện duy nhất.
    D. Cho phép một phương thức có thể có nhiều hành vi khác nhau tùy thuộc vào kiểu đối tượng.

    75. Trong lập trình hướng đối tượng, khái niệm ‘Polymorphism’ (Đa hình) chủ yếu giúp đạt được mục tiêu nào?

    A. Tăng tốc độ thực thi của chương trình.
    B. Giảm số lượng dòng mã bằng cách tái sử dụng code.
    C. Cho phép xử lý các đối tượng thuộc các lớp khác nhau theo một cách thức thống nhất thông qua một giao diện chung.
    D. Bảo vệ dữ liệu khỏi bị truy cập trái phép.

    76. Đâu là lợi ích chính của việc sử dụng tính đóng gói (Encapsulation) trong lập trình hướng đối tượng?

    A. Giúp code dễ đọc hơn bằng cách ẩn đi các chi tiết phức tạp.
    B. Cho phép một đối tượng có nhiều hình dạng khác nhau.
    C. Bảo vệ dữ liệu của đối tượng và kiểm soát cách thức truy cập thông qua các phương thức công khai (public methods).
    D. Tái sử dụng mã nguồn bằng cách kế thừa thuộc tính từ lớp cha.

    77. Trong lập trình hướng đối tượng, ‘Method Overloading’ (quá tải phương thức) là gì?

    A. Cho phép một lớp kế thừa nhiều lớp cha.
    B. Cho phép định nghĩa nhiều phương thức có cùng tên trong cùng một lớp, nhưng khác nhau về danh sách tham số (số lượng, kiểu, thứ tự).
    C. Cho phép một phương thức có thể có nhiều kiểu trả về khác nhau.
    D. Cho phép một lớp định nghĩa lại phương thức của lớp cha.

    78. Trong lập trình hướng đối tượng, ‘Static’ keyword được sử dụng cho thành viên của lớp (thuộc tính hoặc phương thức) có ý nghĩa gì?

    A. Thành viên đó thuộc về mỗi đối tượng riêng lẻ được tạo ra từ lớp.
    B. Thành viên đó thuộc về chính lớp đó, chia sẻ bởi tất cả các đối tượng của lớp, và có thể truy cập mà không cần tạo đối tượng.
    C. Thành viên đó chỉ có thể được truy cập từ bên trong lớp.
    D. Thành viên đó sẽ được khởi tạo trước khi chương trình bắt đầu chạy.

    79. Trong lập trình hướng đối tượng, ‘Object-Oriented Programming’ (OOP) là một mô hình lập trình dựa trên khái niệm nào là trung tâm?

    A. Hàm (Functions)
    B. Đối tượng (Objects)
    C. Biến (Variables)
    D. Luồng điều khiển (Control Flow)

    80. Trong lập trình hướng đối tượng, ‘Association’ (Liên kết) mô tả mối quan hệ gì giữa hai lớp?

    A. Một lớp là một phần của lớp khác (Composition).
    B. Một lớp kế thừa các thuộc tính và phương thức từ lớp khác (Inheritance).
    C. Hai lớp có mối liên hệ về mặt ngữ nghĩa hoặc logic, ví dụ một lớp sử dụng một lớp khác hoặc có tham chiếu đến đối tượng của lớp khác.
    D. Một lớp có thể có nhiều hình dạng khác nhau.

    81. Khái niệm ‘Downcasting’ trong lập trình hướng đối tượng là gì?

    A. Ép kiểu một đối tượng từ lớp con sang lớp cha.
    B. Ép kiểu một đối tượng từ lớp cha sang lớp con, khi biết chắc chắn rằng đối tượng đó thực sự thuộc về lớp con.
    C. Tạo một bản sao của đối tượng.
    D. Gọi một phương thức của lớp cha.

    82. Khái niệm ‘Composition’ (Sự kết hợp) trong OOP thường được mô tả như thế nào?

    A. Một lớp kế thừa tất cả các thuộc tính và phương thức từ một lớp khác.
    B. Một lớp chứa một hoặc nhiều đối tượng của các lớp khác như là một phần của chính nó, thể hiện mối quan hệ ‘có một’ (has-a).
    C. Một lớp có thể có nhiều hành vi khác nhau tùy thuộc vào đối tượng mà nó hoạt động.
    D. Một lớp bao gồm dữ liệu và các phương thức xử lý dữ liệu đó.

    83. Khái niệm ‘Interface’ trong lập trình hướng đối tượng giống với lớp trừu tượng ở điểm nào?

    A. Cả hai đều có thể chứa các biến thành viên (instance variables).
    B. Cả hai đều có thể chứa các phương thức trừu tượng và buộc lớp kế thừa phải triển khai.
    C. Cả hai đều có thể tạo đối tượng trực tiếp từ chúng.
    D. Cả hai đều có thể kế thừa từ một lớp trừu tượng khác.

    84. Khái niệm ‘Virtual Method’ (phương thức ảo) trong các ngôn ngữ như C++ có ý nghĩa gì?

    A. Phương thức đó không thể bị ghi đè bởi lớp con.
    B. Phương thức đó có thể bị ghi đè bởi lớp con và hành vi chính xác sẽ được xác định tại thời điểm chạy (runtime) dựa trên kiểu đối tượng thực tế.
    C. Phương thức đó chỉ có thể được gọi từ bên trong lớp.
    D. Phương thức đó luôn trả về giá trị ‘true’.

    85. Tại sao việc sử dụng Abstract Method (phương thức trừu tượng) trong một Abstract Class lại cần thiết?

    A. Để cung cấp một triển khai mặc định cho tất cả các lớp con.
    B. Để đảm bảo rằng các lớp con không có phương thức trừu tượng sẽ không bị lỗi khi biên dịch.
    C. Để yêu cầu các lớp con kế thừa phải cung cấp một định nghĩa (triển khai) cụ thể cho phương thức đó.
    D. Để cho phép lớp trừu tượng có thể tạo đối tượng.

    86. Một lớp trong lập trình hướng đối tượng có thể có nhiều hơn một lớp cha trực tiếp. Phát biểu này đúng hay sai?

    A. Đúng, vì điều này gọi là đa kế thừa.
    B. Sai, vì hầu hết các ngôn ngữ OOP hiện đại chỉ cho phép kế thừa từ một lớp cha duy nhất.
    C. Đúng, nhưng chỉ áp dụng cho các lớp trừu tượng.
    D. Sai, vì mỗi lớp chỉ có thể có một lớp cha duy nhất, nhưng có thể triển khai nhiều giao diện (interface).

    87. Trong lập trình hướng đối tượng, một lớp được thiết kế chỉ để cung cấp một giao diện và không chứa logic triển khai cụ thể được gọi là gì?

    A. Lớp cơ sở (Base Class)
    B. Lớp con (Derived Class)
    C. Lớp giao diện (Interface Class) hoặc Lớp hợp đồng (Contract Class)
    D. Lớp tiện ích (Utility Class)

    88. Tại sao việc sử dụng ‘private’ cho các thuộc tính của lớp lại quan trọng trong nguyên lý đóng gói?

    A. Để tăng hiệu suất truy cập dữ liệu.
    B. Để hạn chế quyền truy cập trực tiếp vào dữ liệu, ngăn chặn việc thay đổi trái phép và đảm bảo dữ liệu luôn hợp lệ.
    C. Để cho phép tất cả các lớp khác có thể sử dụng thuộc tính đó.
    D. Để làm cho mã nguồn ngắn gọn hơn.

    89. Trong C++, ‘friend function’ (hàm bạn) được sử dụng để làm gì?

    A. Cho phép một lớp kế thừa từ nhiều lớp cha.
    B. Cho phép một hàm không phải là thành viên của lớp có thể truy cập vào các thành viên private và protected của lớp đó.
    C. Cho phép một lớp triển khai nhiều giao diện.
    D. Đảm bảo rằng một phương thức không thể bị ghi đè.

    90. Khái niệm ‘Singleton Pattern’ trong thiết kế hướng đối tượng nhằm mục đích gì?

    A. Đảm bảo một lớp có thể kế thừa từ nhiều lớp khác nhau.
    B. Đảm bảo rằng một lớp chỉ có thể có một và chỉ một thể hiện (instance) duy nhất và cung cấp một điểm truy cập toàn cục đến thể hiện đó.
    C. Cho phép một lớp có nhiều thể hiện khác nhau.
    D. Ẩn giấu chi tiết triển khai của một lớp.

    91. Phát biểu nào sau đây là sai về kiểu dữ liệu ‘Boolean’?

    A. Kiểu dữ liệu ‘Boolean’ chỉ có thể nhận hai giá trị là ‘True’ và ‘False’.
    B. Kiểu dữ liệu ‘Boolean’ thường được sử dụng trong các biểu thức điều kiện.
    C. Trong Pascal, ‘Boolean’ là một kiểu dữ liệu số nguyên.
    D. Kết quả của các phép toán logic như AND, OR, NOT là kiểu ‘Boolean’.

    92. Tại sao việc đặt tên biến có ý nghĩa và rõ ràng lại quan trọng trong lập trình?

    A. Để chương trình chạy nhanh hơn.
    B. Để dễ dàng hiểu và bảo trì mã nguồn sau này.
    C. Để giới hạn số lượng biến có thể sử dụng.
    D. Để tránh bị lỗi cú pháp.

    93. Nếu một biến được khai báo với kiểu ‘Integer’, nó có thể lưu trữ giá trị nào sau đây?

    A. 10.5
    B. ‘Hello’
    C. 50
    D. True

    94. Trong Pascal, phép toán ‘DIV’ được sử dụng để thực hiện loại phép tính gì?

    A. Phép chia lấy phần dư.
    B. Phép chia lấy phần nguyên.
    C. Phép chia thông thường (có thể ra số thực).
    D. Phép làm tròn số.

    95. Trong ngôn ngữ lập trình Pascal, khai báo biến với kiểu dữ liệu là ‘real’ cho phép lưu trữ các giá trị thuộc loại nào?

    A. Các số nguyên và số thực.
    B. Các số thực, bao gồm cả số nguyên.
    C. Chỉ các số nguyên.
    D. Các ký tự và chuỗi ký tự.

    96. Một chương trình máy tính thực hiện các phép toán trên dữ liệu. Dữ liệu này được lưu trữ ở đâu trong bộ nhớ máy tính?

    A. Trong các thanh ghi của CPU.
    B. Trong các biến đã được khai báo.
    C. Trong các tệp tin trên ổ cứng.
    D. Trong các lệnh của chương trình.

    97. Phát biểu nào sau đây mô tả đúng về vai trò của trình biên dịch (compiler) liên quan đến khai báo biến?

    A. Trình biên dịch tạo ra các biến mới dựa trên logic của chương trình.
    B. Trình biên dịch kiểm tra tính hợp lệ của khai báo biến và cấp phát bộ nhớ tương ứng.
    C. Trình biên dịch chỉ quan tâm đến giá trị của biến, không phải khai báo.
    D. Trình biên dịch loại bỏ tất cả các khai báo biến để chương trình chạy nhanh hơn.

    98. Trong lập trình, việc khai báo biến với kiểu dữ liệu phù hợp giúp mang lại lợi ích gì?

    A. Làm cho chương trình có nhiều lỗi hơn.
    B. Giúp chương trình sử dụng bộ nhớ hiệu quả và tránh các lỗi kiểu dữ liệu không tương thích.
    C. Tăng kích thước tệp thực thi một cách không cần thiết.
    D. Ngăn chặn việc sử dụng các phép toán số học.

    99. Phát biểu nào sau đây mô tả đúng về mối quan hệ giữa biến và bộ nhớ?

    A. Biến là một phần của CPU.
    B. Biến là một định danh cho một vị trí trong bộ nhớ máy tính.
    C. Bộ nhớ là một loại biến đặc biệt.
    D. Biến và bộ nhớ là hai khái niệm hoàn toàn độc lập.

    100. Phát biểu nào sau đây là sai về cách đặt tên biến trong Pascal?

    A. Tên biến có thể bắt đầu bằng một chữ cái hoặc dấu gạch dưới.
    B. Tên biến không được chứa khoảng trắng.
    C. Tên biến có thể chứa các ký tự đặc biệt như !, @, #.
    D. Tên biến không phân biệt chữ hoa và chữ thường.

    101. Khi làm việc với các số nguyên trong lập trình, kiểu dữ liệu nào thường được ưu tiên sử dụng cho các giá trị có thể âm và dương?

    A. ‘Boolean’
    B. ‘Char’
    C. ‘Integer’
    D. ‘Real’

    102. Trong Pascal, để so sánh xem hai giá trị có khác nhau hay không, bạn sẽ sử dụng toán tử nào?

    A. ‘=’
    B. ”
    C. ‘>’
    D. ‘<='

    103. Trong các phép toán số học, toán tử ‘+’ được sử dụng để thực hiện hành động gì?

    A. Phép trừ.
    B. Phép nhân.
    C. Phép cộng.
    D. Phép chia.

    104. Trong ngôn ngữ Pascal, ký hiệu nào được sử dụng để gán giá trị cho biến?

    A. ‘+’
    B. ‘:=’
    C. ‘=’
    D. ‘:>’

    105. Khi khai báo một biến trong Pascal, thứ tự bắt buộc phải tuân theo là gì?

    A. Kiểu dữ liệu, tên biến.
    B. Tên biến, ký hiệu phân cách, kiểu dữ liệu.
    C. Tên biến, ký hiệu gán, giá trị.
    D. Kiểu dữ liệu, ký hiệu phân cách, tên biến.

    106. Phát biểu nào sau đây là đúng về khai báo kiểu dữ liệu trong lập trình?

    A. Khai báo kiểu dữ liệu là tùy chọn và không ảnh hưởng đến chương trình.
    B. Khai báo kiểu dữ liệu xác định loại giá trị mà biến có thể lưu trữ và các phép toán có thể thực hiện trên biến đó.
    C. Tất cả các biến đều có cùng một kiểu dữ liệu mặc định.
    D. Chỉ các hằng số mới cần khai báo kiểu dữ liệu.

    107. Nếu bạn cần lưu trữ một giá trị chỉ có thể là ‘đúng’ hoặc ‘sai’, bạn nên sử dụng kiểu dữ liệu nào?

    A. ‘Real’
    B. ‘Char’
    C. ‘Integer’
    D. ‘Boolean’

    108. Trong Pascal, để so sánh hai giá trị có bằng nhau hay không, bạn sẽ sử dụng toán tử nào?

    A. ”
    B. ‘:=’
    C. ‘=’
    D. ‘>=’

    109. Phát biểu nào sau đây mô tả đúng nhất về vai trò của biến trong lập trình?

    A. Biến là các lệnh điều khiển luồng thực thi của chương trình.
    B. Biến là các giá trị cố định không thay đổi trong quá trình chạy chương trình.
    C. Biến là các định danh đại diện cho một vùng nhớ dùng để lưu trữ dữ liệu có thể thay đổi.
    D. Biến là các hàm thực hiện một công việc cụ thể trong chương trình.

    110. Trong ngôn ngữ Pascal, nếu muốn thực hiện phép chia mà kết quả có thể là số thực, bạn sẽ sử dụng toán tử nào?

    A. ‘DIV’
    B. ‘MOD’
    C. ‘/’
    D. ‘*’

    111. Phát biểu nào sau đây mô tả đúng về toán tử ‘<' trong phép so sánh?

    A. Kiểm tra xem giá trị thứ nhất có lớn hơn giá trị thứ hai hay không.
    B. Kiểm tra xem giá trị thứ nhất có nhỏ hơn hoặc bằng giá trị thứ hai hay không.
    C. Kiểm tra xem giá trị thứ nhất có nhỏ hơn giá trị thứ hai hay không.
    D. Kiểm tra xem hai giá trị có khác nhau hay không.

    112. Phát biểu nào sau đây là đúng về hằng số trong lập trình?

    A. Hằng số là những giá trị có thể thay đổi bất kỳ lúc nào trong chương trình.
    B. Hằng số là các tên định danh đại diện cho các giá trị không thay đổi trong suốt quá trình thực thi chương trình.
    C. Hằng số chỉ được sử dụng để lưu trữ các ký tự.
    D. Hằng số không cần khai báo kiểu dữ liệu.

    113. Khi so sánh hai giá trị, toán tử nào sau đây được sử dụng để kiểm tra xem hai giá trị có bằng nhau hay không?

    A. ‘:=’
    B. ‘>’
    C. ”
    D. ‘=’

    114. Trong lập trình, một biểu thức là sự kết hợp của các toán hạng, toán tử và có thể cả các hàm để tạo ra một giá trị duy nhất. Phát biểu nào sau đây là đúng về biểu thức?

    A. Biểu thức luôn trả về một chuỗi ký tự.
    B. Biểu thức luôn trả về một giá trị duy nhất dựa trên các toán hạng và toán tử.
    C. Biểu thức chỉ bao gồm các biến.
    D. Biểu thức không thể chứa các hàm.

    115. Trong Pascal, nếu muốn lưu trữ một chuỗi ký tự có độ dài thay đổi, kiểu dữ liệu nào là phù hợp nhất?

    A. ‘Char’
    B. ‘Boolean’
    C. ‘String’
    D. ‘Real’

    116. Trong lập trình, toán tử ‘MOD’ thường được sử dụng để làm gì?

    A. Thực hiện phép chia lấy phần nguyên.
    B. Thực hiện phép chia lấy phần dư.
    C. Thực hiện phép nhân.
    D. Thực hiện phép cộng.

    117. Trong Pascal, để khai báo một hằng số có giá trị là 3.14159 và tên là ‘PI’, cú pháp đúng là gì?

    A. VAR PI : real = 3.14159;
    B. CONST PI = 3.14159;
    C. DEFINE PI := 3.14159;
    D. LET PI : real := 3.14159;

    118. Phát biểu nào sau đây mô tả đúng về kiểu dữ liệu ‘Char’ trong Pascal?

    A. Lưu trữ một chuỗi ký tự.
    B. Lưu trữ một ký tự duy nhất.
    C. Lưu trữ một số nguyên.
    D. Lưu trữ một giá trị logic (True/False).

    119. Phát biểu nào sau đây mô tả đúng về toán tử ‘*’ trong các phép toán số học?

    A. Thực hiện phép cộng.
    B. Thực hiện phép nhân.
    C. Thực hiện phép trừ.
    D. Thực hiện phép chia lấy phần dư.

    120. Phát biểu nào sau đây là đúng về tầm quan trọng của việc khai báo biến trước khi sử dụng?

    A. Chỉ là một quy ước không bắt buộc.
    B. Giúp trình biên dịch kiểm tra lỗi và cấp phát bộ nhớ chính xác.
    C. Tăng tốc độ thực thi chương trình.
    D. Giúp chương trình tự động phát hiện và sửa lỗi.

    121. Phát biểu nào sau đây là đúng về mảng (Array) trong Pascal?

    A. Mỗi phần tử của mảng có thể có kiểu dữ liệu khác nhau.
    B. Các phần tử trong mảng phải có cùng kiểu dữ liệu.
    C. Mảng có kích thước cố định và không thể thay đổi.
    D. Cả hai lựa chọn B và C đều đúng.

    122. Mục đích chính của việc sử dụng comment (chú thích) trong mã nguồn Pascal là gì?

    A. Để chương trình chạy nhanh hơn.
    B. Để giải thích mã nguồn cho người đọc và cho chính mình trong tương lai.
    C. Để thay đổi cách thức hoạt động của chương trình.
    D. Để khai báo các biến.

    123. Phát biểu nào sau đây là đúng về việc sử dụng con trỏ (pointer) trong Pascal?

    A. Con trỏ lưu trữ trực tiếp giá trị của biến.
    B. Con trỏ lưu trữ địa chỉ bộ nhớ của biến.
    C. Con trỏ chỉ có thể trỏ đến các biến kiểu số nguyên.
    D. Không cần khai báo kiểu cho con trỏ.

    124. Trong ngôn ngữ lập trình Pascal, khai báo biến thuộc kiểu số nguyên có thể sử dụng từ khóa nào sau đây?

    A. Real
    B. Integer
    C. Char
    D. Boolean

    125. Trong Pascal, câu lệnh ‘Readln;’ có tác dụng gì?

    A. In ra màn hình một dòng trống.
    B. Đọc dữ liệu từ bàn phím và chờ người dùng nhấn Enter.
    C. Đọc dữ liệu từ tệp tin.
    D. Kết thúc chương trình.

    126. Để in một dòng văn bản ra màn hình trong Pascal, ta sử dụng câu lệnh nào?

    A. Readln(‘Nội dung’);
    B. Write(‘Nội dung’);
    C. Writeln(‘Nội dung’);
    D. Print(‘Nội dung’);

    127. Câu lệnh ‘WHILE (DieuKien) DO Begin … End;’ sẽ thực hiện khối lệnh bên trong khi nào?

    A. Chỉ một lần duy nhất, bất kể điều kiện.
    B. Khi điều kiện ‘DieuKien’ là đúng, và lặp lại cho đến khi điều kiện sai.
    C. Khi điều kiện ‘DieuKien’ là sai, và lặp lại cho đến khi điều kiện đúng.
    D. Khi điều kiện ‘DieuKien’ luôn sai.

    128. Để khai báo một thủ tục (procedure) trong Pascal, từ khóa nào bắt buộc phải sử dụng?

    A. function
    B. procedure
    C. method
    D. subroutine

    129. Khi sử dụng vòng lặp ‘REPEAT…UNTIL’, điều kiện kết thúc vòng lặp được đặt ở đâu?

    A. Ngay sau từ khóa REPEAT.
    B. Sau khối lệnh, trước từ khóa UNTIL.
    C. Sau từ khóa UNTIL.
    D. Không cần đặt điều kiện, vòng lặp chạy vô hạn.

    130. Phép toán modulo (%) trong Pascal trả về kết quả của phép tính nào?

    A. Thương của phép chia.
    B. Số dư của phép chia.
    C. Tích của hai số.
    D. Hiệu của hai số.

    131. Để khai báo một hằng số có giá trị là 100 và tên là ‘MaxCount’ trong Pascal, ta sử dụng cú pháp nào?

    A. Var MaxCount: Integer = 100;
    B. Const MaxCount = 100;
    C. Define MaxCount = 100;
    D. Set MaxCount := 100;

    132. Phép toán nào sau đây được sử dụng để nối hai chuỗi ký tự trong Pascal?

    A. +
    B. –
    C. *
    D. &

    133. Câu lệnh nào sau đây sẽ thực hiện việc xóa màn hình trong môi trường lập trình Pascal phổ biến?

    A. Clear;
    B. Cls;
    C. ClrScr;
    D. Erase;

    134. Vòng lặp ‘FOR…DO’ trong Pascal thường được sử dụng khi nào?

    A. Khi số lần lặp là không xác định trước.
    B. Khi số lần lặp đã được xác định trước.
    C. Khi cần thoát khỏi vòng lặp ngay lập tức.
    D. Khi cần thay đổi điều kiện lặp giữa chừng.

    135. Trong Pascal, khi cần đọc nhiều giá trị từ bàn phím và phân tách chúng bằng khoảng trắng, ta có thể sử dụng câu lệnh nào?

    A. Read(‘GiaTri1’, ‘GiaTri2’);
    B. Readln(‘GiaTri1’, ‘GiaTri2’);
    C. Read(GiaTri1, GiaTri2);
    D. Readln(GiaTri1, GiaTri2);

    136. Phát biểu nào sau đây là đúng về biến toàn cục (Global Variable) và biến cục bộ (Local Variable) trong Pascal?

    A. Biến toàn cục chỉ có thể truy cập được trong một thủ tục/hàm.
    B. Biến cục bộ có thể truy cập được từ bất kỳ đâu trong chương trình.
    C. Biến toàn cục được khai báo bên trong thủ tục/hàm, còn biến cục bộ khai báo bên ngoài.
    D. Biến toàn cục có phạm vi hoạt động rộng hơn biến cục bộ.

    137. Phát biểu nào sau đây mô tả đúng về kiểu dữ liệu ‘Boolean’ trong Pascal?

    A. Chỉ có thể lưu trữ các ký tự.
    B. Có thể lưu trữ các số nguyên.
    C. Chỉ có thể lưu trữ hai giá trị: True hoặc False.
    D. Có thể lưu trữ số thực với nhiều chữ số thập phân.

    138. Trong Pascal, hàm nào được sử dụng để chuyển đổi một số nguyên thành chuỗi ký tự?

    A. IntToStr
    B. StrToInt
    C. Length
    D. Concat

    139. Trong lập trình Pascal, ‘record’ (bản ghi) được sử dụng để làm gì?

    A. Lưu trữ một danh sách các số có thứ tự.
    B. Tập hợp các biến có kiểu dữ liệu khác nhau dưới một tên duy nhất.
    C. Thực hiện các phép toán số học phức tạp.
    D. Kiểm soát luồng thực thi của chương trình.

    140. Để truy cập phần tử thứ 5 của một mảng có tên ‘MyArray’, cú pháp đúng trong Pascal là gì?

    A. MyArray(5)
    B. MyArray[5]
    C. MyArray.5
    D. MyArray{5}

    141. Phát biểu nào sau đây mô tả đúng nhất về kiểu dữ liệu ‘String’ trong Pascal?

    A. Lưu trữ một ký tự duy nhất.
    B. Lưu trữ một dãy các ký tự.
    C. Lưu trữ giá trị đúng hoặc sai.
    D. Lưu trữ số thực với độ chính xác cao.

    142. Để khai báo một biến kiểu số thực trong Pascal, ta sử dụng từ khóa nào?

    A. Integer
    B. Char
    C. Real
    D. String

    143. Trong Pascal, câu lệnh ‘CASE … OF … END’ được sử dụng để thực hiện điều gì?

    A. Lặp lại một khối lệnh nhiều lần.
    B. Thực hiện một trong nhiều khối lệnh dựa trên giá trị của một biến.
    C. Khai báo một mảng gồm nhiều phần tử.
    D. Nối hai chuỗi ký tự lại với nhau.

    144. Trong cấu trúc điều kiện ‘IF…THEN…ELSE’, mệnh đề ‘ELSE’ có vai trò gì?

    A. Thực hiện khi điều kiện là đúng.
    B. Thực hiện khi điều kiện là sai.
    C. Luôn luôn thực hiện, bất kể điều kiện.
    D. Được sử dụng để khai báo biến.

    145. Phát biểu nào sau đây là sai về việc sử dụng biến trong Pascal?

    A. Biến phải được khai báo trước khi sử dụng.
    B. Tên biến không phân biệt chữ hoa, chữ thường.
    C. Biến có thể thay đổi giá trị trong quá trình thực thi chương trình.
    D. Biến chỉ có thể lưu trữ một loại dữ liệu duy nhất.

    146. Sự khác biệt cơ bản giữa ‘procedure’ và ‘function’ trong Pascal là gì?

    A. ‘Function’ trả về giá trị, ‘procedure’ không trả về giá trị.
    B. ‘Procedure’ trả về giá trị, ‘function’ không trả về giá trị.
    C. ‘Function’ chỉ làm việc với số, ‘procedure’ làm việc với chuỗi.
    D. Không có sự khác biệt nào đáng kể.

    147. Trong Pascal, để khai báo một tập hợp (Set) các chữ cái tiếng Anh, ta có thể viết như thế nào?

    A. Var Letters: Array[1..26] of Char;
    B. Var Letters: Set of Char;
    C. Var Letters: String;
    D. Var Letters: Record;

    148. Trong Pascal, để chuyển đổi một chuỗi ký tự thành số nguyên, ta sử dụng hàm nào?

    A. StrToInt
    B. IntToStr
    C. Val
    D. ConvertToInt

    149. Trong Pascal, khi nào thì vòng lặp ‘WHILE’ sẽ không bao giờ thực thi khối lệnh bên trong?

    A. Khi điều kiện ban đầu của vòng lặp là đúng.
    B. Khi điều kiện ban đầu của vòng lặp là sai.
    C. Khi vòng lặp đã chạy đủ số lần.
    D. Khi sử dụng lệnh ‘Break’.

    150. Để tính độ dài của một chuỗi ký tự ‘MyString’ trong Pascal, ta sử dụng hàm nào?

    A. SizeOf(MyString)
    B. Length(MyString)
    C. Count(MyString)
    D. Chars(MyString)

    Số câu đã làm: 0/0
    Thời gian còn lại: 00:00:00
    • Đã làm
    • Chưa làm
    • Cần kiểm tra lại

    Về Tài Liệu Trọn Đời

    Tài Liệu Trọn Đời - Blog cá nhân, tài liệu học tập, khoa học, công nghệ, thủ thuật, chia sẻ mọi kiến thức, lĩnh vực khác nhau đến với bạn đọc.

    Gmail: info.tailieutrondoi@gmail.com

    Địa chỉ: 127 Đ Nguyễn Văn Tăng, Long Thạnh Mỹ, Thủ Đức, Hồ Chí Minh 700000, Việt Nam

    Giờ làm việc: T2-CN: 09:00 – 17:00

    Maps

    Miễn Trừ Trách Nhiệm

    Tài Liệu Trọn Đời - Blog được xây dựng nhằm mục đích thử nghiệm, tham khảo, hỗ trợ học tập và nghiên cứu.

    Tài Liệu Trọn Đời không chịu trách nhiệm dưới bất kỳ hình thức nào đối với thiệt hại trực tiếp hoặc gián tiếp phát sinh từ việc sử dụng hoặc áp dụng các nội dung trên trang web.

    Các câu hỏi và đáp án trong danh mục "Trắc nghiệm" được biên soạn nhằm mục đích hỗ trợ học tập và tra cứu thông tin. Đây KHÔNG phải là tài liệu chính thức hay đề thi do bất kỳ cơ sở giáo dục hoặc tổ chức cấp chứng chỉ chuyên ngành nào ban hành.

    Website không chịu trách nhiệm về độ chính xác tuyệt đối của nội dung cũng như mọi quyết định được đưa ra từ việc sử dụng kết quả trắc nghiệm hoặc các thông tin trong bài viết trên Website.

    Chịu Trách Nhiệm Nội Dung

    Blogger: Tài Liệu Trọn Đời

    Mọi vấn đề liên quan đến bản quyền nội dung vui lòng liên hệ qua Gmail: info.tailieutrondoi@gmail.com

    Social

    • X
    • LinkedIn
    • Flickr
    • YouTube
    • Pinterest

    Website Cùng Hệ Thống

    Phần Mềm Trọn Đời - Download Tải Phần Mềm Miễn Phí Kiến Thức Live - Tin Tức | Kiến Thức Cuộc Sống | Công Nghệ All Thing Share - Sharing | Knowledge | Technology | Tips | Pets | Life All Thing Pet – We Love Pets Trending New 24h - Cập Nhật Xu Hướng | Trend | News 24h
    Copyright © 2025 Tài Liệu Trọn Đời
    Back to Top

    Bạn ơi!!! Để xem được kết quả, bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

    HƯỚNG DẪN TÌM MẬT KHẨU

    Đang tải nhiệm vụ...

    Bước 1: Mở tab mới và truy cập Google.com. Sau đó tìm kiếm chính xác từ khóa sau:

    Bước 2: Tìm và click vào kết quả có trang web giống như hình ảnh dưới đây:

    Hướng dẫn tìm kiếm

    Bước 3: Kéo xuống cuối trang đó để tìm mật khẩu như hình ảnh hướng dẫn:

    Hướng dẫn lấy mật khẩu

    Nếu tìm không thấy mã bạn có thể Đổi nhiệm vụ để lấy mã khác nhé.