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 học 12 bài 1 online có đáp án

    Trắc nghiệm THPT

    150+ câu hỏi trắc nghiệm tin học 12 bài 1 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 học 12 bài 1 online có đáp án. Đây là một công cụ hữu ích để bạn kiểm tra mức độ hiểu biết và ghi nhớ nội dung. Chỉ cần nhấn vào bộ câu hỏi mà bạn muốn thử sức để bắt đầu làm bài. Hãy tập trung và hoàn thành bài thật tốt nhé!

    1. Phát biểu nào sau đây mô tả đúng về vai trò của câu lệnh `CASE…OF…END` trong Pascal?

    A. Dùng để lặp lại một khối lệnh khi một điều kiện nào đó đúng.
    B. Dùng để lựa chọn và 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 hoặc biểu thức.
    C. Dùng để khai báo các biến và hằng số.
    D. Dùng để thực hiện phép toán số học phức tạp.

    2. Phát biểu nào sau đây là đúng về cách khai báo kiểu dữ liệu người dùng định nghĩa (User-Defined Types) trong Pascal?

    A. Chỉ có thể khai báo các kiểu dữ liệu số nguyên.
    B. Cho phép tạo ra các kiểu dữ liệu mới dựa trên các kiểu dữ liệu có sẵn hoặc kết hợp chúng.
    C. Việc khai báo kiểu dữ liệu người dùng định nghĩa là không cần thiết vì Pascal đã cung cấp đủ các kiểu dữ liệu.
    D. Các kiểu dữ liệu người dùng định nghĩa chỉ có thể sử dụng trong một chương trình duy nhất.

    3. Trong Pascal, nếu bạn muốn in giá trị của biến `diem` ra màn hình và xuống dòng sau đó, bạn sẽ sử dụng câu lệnh nào?

    A. `Write(diem);`
    B. `ReadLn(diem);`
    C. `WriteLn(diem);`
    D. `Var(diem);`

    4. Trong ngôn ngữ lập trình Pascal, phát biểu nào sau đây mô tả đúng nhất về vai trò của khai báo biến?

    A. Khai báo biến chỉ đơn thuần là đặt tên cho một vùng nhớ, không ảnh hưởng đến cách dữ liệu được lưu trữ.
    B. Khai báo biến giúp trình biên dịch phân bổ vùng nhớ phù hợp với kiểu dữ liệu và xác định cách xử lý dữ liệu đó.
    C. Khai báo biến là tùy chọn và chỉ cần thiết khi làm việc với các kiểu dữ liệu phức tạp như mảng hoặc bản ghi.
    D. Khai báo biến là bắt buộc cho mọi đối tượng trong chương trình, kể cả hằng số và các thủ tục.

    5. Phát biểu nào sau đây mô tả đúng vai trò của các thư viện (unit) trong Pascal?

    A. Thư viện chỉ chứa các câu lệnh điều kiện như IF-THEN.
    B. Thư viện là tập hợp các thủ tục, hàm và biến đã được định nghĩa sẵn, giúp tái sử dụng mã và mở rộng chức năng.
    C. Mọi chương trình Pascal đều phải tự định nghĩa lại tất cả các thư viện cần thiết.
    D. Thư viện chỉ được sử dụng cho các phép toán số học phức tạp.

    6. Trong Pascal, câu lệnh `x := x + 1;` có tác dụng gì đối với biến `x`?

    A. Gán giá trị 1 cho biến `x`.
    B. Tăng giá trị hiện tại của biến `x` lên 1 đơn vị.
    C. Giảm giá trị hiện tại của biến `x` đi 1 đơn vị.
    D. So sánh giá trị của `x` với 1.

    7. Trong Pascal, để khai báo một biến mảng tên là `mangSo` có 10 phần tử kiểu Integer, bạn sẽ viết như thế nào?

    A. `Var mangSo: array[1..10] of Integer;`
    B. `Const mangSo: array[1..10] of Integer;`
    C. `Type mangSo = array[1..10] of Integer;`
    D. `Procedure mangSo;`

    8. Phát biểu nào sau đây mô tả đúng nhất về tác dụng của việc sử dụng thủ tục (procedure) và hàm (function) trong Pascal?

    A. Chúng chỉ dùng để làm cho chương trình trông phức tạp hơn.
    B. Chúng giúp chia nhỏ chương trình thành các khối có thể tái sử dụng, làm cho mã nguồn dễ đọc, dễ bảo trì và tránh lặp lại code.
    C. Thủ tục chỉ có thể thực hiện hành động, còn hàm thì không.
    D. Hàm luôn luôn trả về một giá trị, còn thủ tục thì không bao giờ trả về giá trị.

    9. Trong Pascal, để truy cập phần tử thứ 5 của mảng `mangSo` đã khai báo, bạn sẽ sử dụng ký hiệu nào?

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

    10. Khi thực hiện phép toán `15 MOD 4` trong Pascal, kết quả là gì?

    A. 3
    B. 4
    C. 15
    D. 0

    11. Phát biểu nào sau đây là đúng về kiểu dữ liệu `Char` trong Pascal?

    A. Kiểu `Char` chỉ lưu trữ được các ký tự số.
    B. Mỗi biến kiểu `Char` lưu trữ một ký tự duy nhất, được bao quanh bởi dấu nháy đơn.
    C. Kiểu `Char` có thể lưu trữ một chuỗi ký tự.
    D. Không thể so sánh hai ký tự thuộc kiểu `Char`.

    12. Trong Pascal, vòng lặp `REPEAT…UNTIL` sẽ thực thi khối lệnh bên trong ít nhất bao nhiêu lần?

    A. Không lần nào.
    B. Một lần.
    C. Hai lần.
    D. Số lần tùy thuộc vào điều kiện.

    13. Phát biểu nào sau đây là đúng về cấu trúc chung của một chương trình Pascal?

    A. Chương trình Pascal bắt buộc phải bắt đầu bằng `BEGIN` và kết thúc bằng `END.`
    B. Một chương trình Pascal có thể không có phần khai báo biến.
    C. Phần khai báo thủ tục và hàm phải luôn đứng sau phần khai báo biến.
    D. Mọi câu lệnh trong phần thân chương trình đều phải kết thúc bằng dấu chấm phẩy.

    14. Trong Pascal, câu lệnh `x := y;` thực hiện hành động gì?

    A. Gán giá trị của `x` cho `y`.
    B. Gán giá trị của `y` cho `x`.
    C. So sánh `x` và `y`.
    D. Hoán đổi giá trị của `x` và `y`.

    15. Trong Pascal, khi sử dụng vòng lặp `WHILE…DO`, điều kiện để vòng lặp tiếp tục thực thi là gì?

    A. Điều kiện là Sai.
    B. Điều kiện là Đúng.
    C. Điều kiện không được kiểm tra.
    D. Chỉ cần có câu lệnh trong thân vòng lặp.

    16. Phát biểu nào sau đây là sai khi nói về kiểu dữ liệu Boolean trong Pascal?

    A. Kiểu dữ liệu Boolean chỉ có 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. Giá trị của biến kiểu Boolean có thể là bất kỳ ký tự nào.
    D. Các phép toán logic như AND, OR, NOT có thể áp dụng cho biến kiểu Boolean.

    17. Phát biểu nào sau đây mô tả đúng về cấu trúc dữ liệu mảng (Array) trong Pascal?

    A. Mảng cho phép lưu trữ các phần tử có kiểu dữ liệu khác nhau.
    B. Mảng là một tập hợp các phần tử có cùng kiểu dữ liệu, được truy cập thông qua chỉ số (index).
    C. Kích thước của mảng trong Pascal là không xác định và có thể thay đổi linh hoạt trong quá trình chạy.
    D. Chỉ có thể truy cập các phần tử mảng theo thứ tự tuần tự.

    18. Trong Pascal, hàm `Length(s)` sẽ trả về giá trị gì nếu `s` là một chuỗi có 15 ký tự?

    A. 14
    B. 15
    C. 16
    D. Lỗi vì `Length` không phải là hàm chuẩn.

    19. Trong Pascal, câu lệnh `IF diem >= 5 THEN WriteLn(‘Dat’);` sẽ thực hiện hành động gì?

    A. Luôn luôn in ra ‘Dat’.
    B. Chỉ in ra ‘Dat’ nếu giá trị của biến `diem` lớn hơn hoặc bằng 5.
    C. Chỉ in ra ‘Dat’ nếu giá trị của biến `diem` nhỏ hơn 5.
    D. Luôn luôn in ra ‘Dat’, sau đó kiểm tra lại điều kiện.

    20. Trong Pascal, cấu trúc `IF…THEN…ELSE` được sử 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 trong hai hành động tùy thuộc vào điều kiện.
    C. Khai báo các biến cục bộ.
    D. Định nghĩa các thủ tục.

    21. Phát biểu nào sau đây là đúng về comment (chú thích) trong Pascal?

    A. Comment chỉ có thể được viết bằng một dòng.
    B. Comment được trình biên dịch bỏ qua hoàn toàn và không ảnh hưởng đến quá trình thực thi chương trình.
    C. Comment chỉ được đặt ở đầu chương trình.
    D. Comment bắt buộc phải được đặt trong cặp dấu ngoặc tròn `()`.

    22. Trong Pascal, bạn muốn kiểm tra xem một số nguyên `n` có phải là số chẵn hay không. Biểu thức điều kiện nào sau đây là đúng?

    A. `n MOD 2 = 1`
    B. `n DIV 2 = 0`
    C. `n MOD 2 = 0`
    D. `n = 2`

    23. Phát biểu nào sau đây mô tả đúng về vòng lặp `FOR` trong Pascal?

    A. Vòng lặp `FOR` được sử dụng khi số lần lặp chưa được xác định trước.
    B. Vòng lặp `FOR` thường lặp lại một khối lệnh một số lần xác định trước, dựa trên biến đếm.
    C. Biến đếm trong vòng lặp `FOR` có thể thay đổi giá trị tùy ý bên trong thân vòng lặp.
    D. Vòng lặp `FOR` chỉ có thể tăng biến đếm, không thể giảm.

    24. Phát biểu nào sau đây mô tả đúng nhất sự khác biệt giữa biến và hằng trong lập trình?

    A. Biến có thể thay đổi giá trị trong quá trình thực thi chương trình, còn hằng thì không.
    B. Hằng chỉ có thể mang giá trị số, còn biến có thể mang mọi kiểu dữ liệu.
    C. Biến phải được khai báo trước khi sử dụng, còn hằng có thể được sử dụng trực tiếp mà không cần khai báo.
    D. Giá trị của biến được xác định tại thời điểm biên dịch, còn giá trị của hằng được xác định tại thời điểm chạy chương trình.

    25. Phát biểu nào sau đây mô tả đúng về cách Pascal xử lý chuỗi ký tự?

    A. Chuỗi ký tự được xem như một mảng ký tự không có giới hạn kích thước.
    B. Pascal coi chuỗi ký tự là một kiểu dữ liệu cơ bản, có thể thực hiện các phép toán nối chuỗi, so sánh, cắt chuỗi.
    C. Để làm việc với chuỗi, bạn phải khai báo rõ ràng số lượng ký tự tối đa mà chuỗi có thể chứa.
    D. Không thể thực hiện phép nối hai chuỗi ký tự trong Pascal.

    26. Phát biểu nào sau đây mô tả đúng chức năng của câu lệnh `ReadLn` trong Pascal?

    A. In một chuỗi ký tự ra màn hình.
    B. Đọc một giá trị từ bàn phím và lưu vào biến.
    C. Thực hiện một phép toán số học.
    D. Kết thúc chương trình.

    27. Một lập trình viên đang viết chương trình xử lý danh sách các học sinh. Anh ta cần lưu trữ tên của mỗi học sinh, có thể có độ dài khác nhau. Kiểu dữ liệu nào sau đây là phù hợp nhất để lưu trữ tên của một học sinh trong Pascal?

    A. Integer, vì tên học sinh thường có ký tự số.
    B. Real, vì tên học sinh có thể chứa dấu thập phân.
    C. String, vì chuỗi cho phép lưu trữ các ký tự văn bản với độ dài biến đổi.
    D. Boolean, vì tên học sinh chỉ có thể đúng hoặc sai.

    28. Phát biểu nào sau đây mô tả đúng nhất về vai trò của thư viện `Crt` trong Pascal?

    A. Thư viện `Crt` chỉ dùng để định nghĩa các kiểu dữ liệu số nguyên.
    B. Thư viện `Crt` cung cấp các thủ tục và hàm để điều khiển màn hình văn bản, bàn phím và âm thanh.
    C. Thư viện `Crt` chỉ hỗ trợ các phép toán đồ họa phức tạp.
    D. Thư viện `Crt` là thư viện bắt buộc phải có trong mọi chương trình Pascal.

    29. Trong Pascal, để khai báo một hằng số có tên là `Pi` với giá trị là 3.14159, bạn sẽ viết như thế nào?

    A. `Var Pi: Real = 3.14159;`
    B. `Const Pi = 3.14159;`
    C. `Define Pi = 3.14159;`
    D. `Let Pi = 3.14159;`

    30. Khi thực hiện phép toán chia lấy phần nguyên trong Pascal, ví dụ `10 DIV 3`, kết quả trả về là gì?

    A. 3.33333333
    B. 3
    C. 10
    D. Lỗi vì không thể chia số nguyên cho số nguyên.

    31. Nếu bạn cần thực hiện một hành động chỉ khi một điều kiện là đúng, và không cần lặp lại, bạn sẽ sử dụng cấu trúc nào?

    A. Vòng lặp ‘while … do’
    B. Câu lệnh ‘if … then’
    C. Vòng lặp ‘for … do’
    D. Câu lệnh ‘case … of’

    32. Trong một chương trình Pascal, khi nào việc sử dụng cấu trúc lặp ‘repeat … until’ mang lại hiệu quả cao nhất?

    A. Khi cần lặp lại một hành động cho đến khi gặp một điều kiện cụ thể, và hành động đó nhất định phải được thực hiện ít nhất một lần.
    B. Khi biết chính xác số lần cần lặp và muốn vòng lặp kết thúc khi số lần này đạt tới.
    C. Khi điều kiện lặp phụ thuộc vào việc duyệt qua tất cả các phần tử của một mảng.
    D. Khi cần lặp lại một hành động mà điều kiện kết thúc lặp phải được kiểm tra ngay từ đầu.

    33. Trong một bài toán cần xử lý một lượng dữ liệu lớn mà không biết trước số lượng chính xác, lựa chọn cấu trúc lặp nào thường được ưu tiên để tránh lỗi tràn bộ nhớ hoặc bỏ sót dữ liệu?

    A. Cấu trúc ‘for … do’ với một khoảng giá trị lớn.
    B. Cấu trúc ‘while … do’ hoặc ‘repeat … until’ với điều kiện dừng rõ ràng.
    C. Sử dụng ‘goto’ để nhảy đến cuối vòng lặp.
    D. Không sử dụng cấu trúc lặp nào, xử lý từng phần tử một cách thủ công.

    34. Trong lập trình Pascal, khai báo ‘type MyArray = array[1..5] of Real;’ định nghĩa một kiểu dữ liệu mới cho mảng. Sau đó, khai báo biến ‘var data: MyArray;’ sẽ tạo ra một biến mảng có đặc điểm gì?

    A. Một mảng có thể chứa tối đa 5 phần tử kiểu Real, với chỉ số từ 0 đến 4.
    B. Một mảng có thể chứa tối đa 5 phần tử kiểu Real, với chỉ số từ 1 đến 5.
    C. Một mảng có thể chứa số lượng phần tử thay đổi tùy ý, mỗi phần tử là một số thực.
    D. Một biến đơn có thể lưu trữ một số thực duy nhất.

    35. Phát biểu nào sau đây là sai về cấu trúc lặp trong lập trình?

    A. Tất cả các vòng lặp đều cần một điều kiện để kết thúc.
    B. Vòng lặp ‘for’ thường được sử dụng khi số lần lặp đã biết trước.
    C. Vòng lặp ‘while’ có thể không thực thi lần nào nếu điều kiện sai ngay từ đầu.
    D. Vòng lặp ‘repeat … until’ sẽ luôn thực thi ít nhất một lần.

    36. Giả sử ta có một mảng ‘numbers’ chứa các số nguyên. Để tính tổng tất cả các phần tử trong mảng ‘numbers’ có N phần tử, vòng lặp nào sau đây là phù hợp nhất trong Pascal?

    A. for i := 1 to N do sum := sum + numbers[i];
    B. while N > 0 do begin sum := sum + numbers[N]; N := N – 1; end;
    C. repeat sum := sum + numbers[i]; i := i + 1; until i > N;
    D. Cả ba cách trên đều đúng và có hiệu quả tương đương.

    37. Trong lập trình Pascal, câu lệnh ‘for i := 1 to 10 do writeln(i);’ sẽ in ra kết quả gì?

    A. In ra các số từ 1 đến 10, mỗi số trên một dòng.
    B. In ra số 10 lần duy nhất.
    C. In ra các số từ 10 đến 1, mỗi số trên một dòng.
    D. Không in gì cả vì cú pháp sai.

    38. Trong một bài toán yêu cầu xử lý dữ liệu cho đến khi người dùng nhập vào một ký tự đặc biệt (ví dụ: ‘Q’ để thoát), cấu trúc lặp nào là phù hợp nhất trong Pascal?

    A. For i := 1 to 100 do …
    B. While true do …
    C. Repeat … until (ký tự_nhập = ‘Q’)
    D. While ký tự_nhập ‘Q’ do …

    39. Phát biểu nào sau đây mô tả đúng về cách khai báo một biến mảng trong Pascal?

    A. var TenMang: array of KieuDuLieu;
    B. var TenMang: array [ChỉSoDau..ChỉSoCuoi] of KieuDuLieu;
    C. var TenMang: array (ChỉSoDau..ChỉSoCuoi) of KieuDuLieu;
    D. var TenMang: KieuDuLieu[ChỉSoDau..ChỉSoCuoi];

    40. Phát biểu nào sau đây mô tả chính xác nhất vai trò của cấu trúc ‘case … of’ trong Pascal?

    A. Thực hiện một khối lệnh lặp lại dựa trên một điều kiện nhất định.
    B. Thực hiện một khối lệnh dựa trên nhiều điều kiện logic kết hợp.
    C. Thực hiện một trong nhiều khối lệnh tùy thuộc vào giá trị của một biểu thức.
    D. Duyệt qua từng phần tử của một tập hợp dữ liệu.

    41. Trong Pascal, khi sử dụng vòng lặp ‘for i := 10 downto 1 do …’, biến ‘i’ sẽ thay đổi như thế nào qua mỗi lần lặp?

    A. Tăng dần từ 1 đến 10.
    B. Giảm dần từ 10 xuống 1.
    C. Luôn giữ giá trị 10.
    D. Không thay đổi.

    42. Trong Pascal, khai báo một mảng như sau: ‘var arr: array[1..10] of integer;’. Số lượng phần tử tối đa mà mảng ‘arr’ có thể chứa là bao nhiêu?

    A. 9
    B. 10
    C. 11
    D. Vô hạn

    43. Nếu một chương trình cần tìm kiếm một giá trị cụ thể trong một mảng lớn, phương pháp nào sau đây thường mang lại hiệu quả cao nhất nếu mảng đã được sắp xếp?

    A. Duyệt tuần tự từ đầu đến cuối mảng.
    B. Tìm kiếm nhị phân (binary search).
    C. Tìm kiếm ngẫu nhiên.
    D. Sử dụng vòng lặp ‘repeat … until’.

    44. Nếu một thuật toán yêu cầu thực hiện một hành động lặp đi lặp lại cho đến khi một điều kiện cụ thể được thỏa mãn, và điều kiện này có thể thay đổi trong quá trình thực thi, cấu trúc lặp nào sau đây là linh hoạt nhất?

    A. Cấu trúc ‘for … do’
    B. Cấu trúc ‘while … do’
    C. Cấu trúc ‘repeat … until’
    D. Cấu trúc ‘goto’

    45. Khi so sánh vòng lặp ‘while … do’ và ‘for … do’ trong Pascal, điểm khác biệt cơ bản nhất là gì?

    A. ‘while’ dùng cho điều kiện, ‘for’ dùng cho số lần lặp.
    B. ‘while’ có thể không chạy, ‘for’ luôn chạy ít nhất một lần.
    C. ‘while’ có biến đếm, ‘for’ không có.
    D. ‘while’ dùng ‘until’, ‘for’ dùng ‘do’.

    46. Khi viết chương trình Pascal, nếu bạn muốn thực hiện một hành động phụ thuộc vào nhiều điều kiện khác nhau được kết hợp với nhau, bạn nên sử dụng cấu trúc nào?

    A. Chỉ sử dụng ‘if … then’.
    B. Sử dụng kết hợp các toán tử logic (AND, OR, NOT) trong mệnh đề điều kiện của ‘if … then’ hoặc trong điều kiện của vòng lặp.
    C. Sử dụng nhiều câu lệnh ‘goto’.
    D. Sử dụng cấu trúc ‘case … of’.

    47. Phát biểu nào sau đây là đúng về tính đúng đắn của một vòng lặp?

    A. Một vòng lặp đúng đắn là vòng lặp luôn kết thúc.
    B. Một vòng lặp đúng đắn là vòng lặp luôn chạy vô hạn.
    C. Một vòng lặp đúng đắn là vòng lặp thực hiện đúng số lần đã định.
    D. Một vòng lặp đúng đắn là vòng lặp có biến đếm tăng.

    48. Trong Pascal, để duyệt qua tất cả các phần tử của một mảng có tên là ‘data’ với chỉ số từ ‘min_idx’ đến ‘max_idx’, vòng lặp ‘for’ nào sau đây là đúng?

    A. for i := min_idx + 1 to max_idx do …
    B. for i := min_idx to max_idx – 1 do …
    C. for i := min_idx to max_idx do …
    D. for i := max_idx downto min_idx do …

    49. Phát biểu nào sau đây là đúng về sự khác biệt giữa câu lệnh ‘while … do’ và ‘repeat … until’ trong Pascal?

    A. ‘while’ kiểm tra điều kiện sau khi thực hiện, ‘repeat’ kiểm tra điều kiện trước.
    B. ‘while’ đảm bảo lặp ít nhất một lần, ‘repeat’ không đảm bảo.
    C. ‘while’ kiểm tra điều kiện trước khi thực hiện, ‘repeat’ kiểm tra điều kiện sau khi thực hiện.
    D. ‘while’ sử dụng ‘until’, ‘repeat’ sử dụng ‘do’.

    50. Trong một tình huống cần lặp lại một hành động cho đến khi một điều kiện nào đó trở nên sai, nhưng hành động này phải được thực hiện ít nhất một lần, cấu trúc lặp nào là lựa chọn tốt nhất?

    A. While … do
    B. For … do
    C. Repeat … until
    D. Case … of

    51. 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 … do’?

    A. Biến đếm chỉ có thể tăng lên.
    B. Giá trị của biến đếm có thể được thay đổi tùy ý bên trong vòng lặp.
    C. Biến đếm thường được sử dụng để đếm số lần lặp và giá trị của nó thay đổi theo mỗi vòng lặp.
    D. Biến đếm phải là kiểu dữ liệu thực.

    52. Nếu bạn muốn thực hiện một hành động lặp lại cho đến khi một điều kiện nào đó trở nên đúng, bạn sẽ sử dụng cấu trúc lặp nào trong Pascal?

    A. While … do
    B. For … do
    C. Repeat … until
    D. If … then

    53. Phát biểu nào sau đây mô tả đúng về mảng hai chiều trong lập trình?

    A. Là một tập hợp các phần tử có cùng kiểu dữ liệu, được tổ chức thành hàng và cột.
    B. Là một tập hợp các phần tử có kiểu dữ liệu khác nhau, được tổ chức theo một trình tự tuyến tính.
    C. Là một cấu trúc dữ liệu chỉ có thể chứa các giá trị boolean.
    D. Là một tập hợp các phần tử mà mỗi phần tử là một con trỏ đến một phần tử khác.

    54. Phát biểu nào sau đây mô tả đúng vai trò của biến đếm trong vòng lặp ‘for’ khi thực hiện tìm kiếm tuyến tính trong một mảng?

    A. Biến đếm được dùng để lưu trữ giá trị cần tìm.
    B. Biến đếm chỉ đơn thuần là một chỉ số để truy cập các phần tử của mảng.
    C. Biến đếm được dùng để đếm số lần phần tử được tìm thấy.
    D. Biến đếm được dùng để xác định xem mảng đã được sắp xếp hay chưa.

    55. Phát biểu nào sau đây là đúng về việc sử dụng câu lệnh ‘break’ (hoặc tương đương) trong vòng lặp?

    A. Câu lệnh ‘break’ sẽ thoát khỏi tất cả các vòng lặp lồng nhau.
    B. Câu lệnh ‘break’ chỉ thoát khỏi vòng lặp hiện tại mà nó đang nằm bên trong.
    C. Câu lệnh ‘break’ không có tác dụng gì trong vòng lặp.
    D. Câu lệnh ‘break’ sẽ chuyển sang vòng lặp tiếp theo.

    56. Trong ngôn ngữ lập trình Pascal, cấu trúc lặp ‘for … do’ được sử dụng khi nào là phù hợp nhất?

    A. Khi số lần lặp không xác định trước và phụ thuộc vào điều kiện nào đó.
    B. Khi cần lặp lại một khối lệnh một số lần nhất định và số lần này đã biết trước.
    C. Khi cần lặp lại một khối lệnh cho đến khi một điều kiện logic nào đó trở thành sai.
    D. Khi cần thực hiện một thao tác cho mỗi phần tử trong một tập hợp dữ liệu.

    57. Khi làm việc với mảng một chiều trong Pascal, cách nào sau đây là đúng để truy cập phần tử thứ k của mảng ‘A’?

    A. A(k)
    B. A[k]
    C. A.k
    D. A{k}

    58. Trong lập trình Pascal, làm thế nào để kiểm tra xem một mảng ‘arr’ có bao nhiêu phần tử nếu nó được khai báo là ‘array[1..N] of Integer;’?

    A. Sử dụng hàm Size(arr).
    B. Tính toán dựa trên chỉ số cuối trừ chỉ số đầu cộng 1.
    C. Không thể biết số lượng phần tử nếu không duyệt qua.
    D. Sử dụng biến N trực tiếp.

    59. Trong Pascal, làm thế nào để truy cập phần tử nằm ở hàng thứ ‘r’ và cột thứ ‘c’ của mảng hai chiều ‘Matrix’?

    A. Matrix(r, c)
    B. Matrix[r, c]
    C. Matrix.r.c
    D. Matrix{r}{c}

    60. Phát biểu nào sau đây mô tả chính xác nhất chức năng của câu lệnh ‘while … do’ trong lập trình?

    A. Thực hiện khối lệnh ít nhất một lần, sau đó kiểm tra điều kiện.
    B. Lặp lại khối lệnh miễn là một điều kiện logic còn đúng.
    C. Lặp lại khối lệnh một số lần xác định trước.
    D. Duyệt qua từng phần tử của một danh sách hoặc mảng.

    61. Khi nói về ‘phức tạp không gian’ (space complexity) của một thuật toán, chúng ta đang đo lường điều gì?

    A. Thời gian thực thi của thuật toán.
    B. Lượng bộ nhớ mà thuật toán yêu cầu để chạy, như một hàm của kích thước đầu vào.
    C. Số lượng dòng mã nguồn.
    D. Mức độ phức tạp của thuật toán.

    62. Trong lập trình, ‘phạm vi’ (scope) của một biến xác định điều gì?

    A. Kiểu dữ liệu của biến.
    B. Tên duy nhất của biến.
    C. Vùng hoặc ngữ cảnh trong chương trình mà biến đó có thể được truy cập và sử dụng.
    D. Giá trị hiện tại của biến.

    63. Phát biểu nào sau đây mô tả đúng nhất về ‘thuật toán’?

    A. Một chương trình máy tính hoàn chỉnh.
    B. Một chuỗi các bước hữu hạn, rõ ràng để giải quyết một vấn đề hoặc thực hiện một nhiệm vụ.
    C. Một ngôn ngữ lập trình.
    D. Một thiết bị phần cứng.

    64. Yếu tố nào sau đây là quan trọng nhất khi lựa chọn một thuật toán để giải quyết một bài toán cụ thể?

    A. Độ dài của mã nguồn thuật toán.
    B. Số lượng dòng chú thích trong thuật toán.
    C. Hiệu quả về thời gian và không gian sử dụng tài nguyên.
    D. Sự phức tạp của cú pháp ngôn ngữ lập trình sử dụng.

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

    A. Để làm cho mã nguồn trông dài hơn.
    B. Tăng khả năng đọc, hiểu và bảo trì mã nguồn của chính mình và người khác.
    C. Giúp trình biên dịch chạy nhanh hơn.
    D. Tự động tìm và sửa tất cả các loại lỗi.

    66. Trong lập trình, ‘gỡ lỗi’ (debugging) là quá trình gì?

    A. Viết mã nguồn mới cho chương trình.
    B. Tìm kiếm và sửa các lỗi trong mã nguồn.
    C. Tối ưu hóa hiệu suất của chương trình.
    D. Thiết kế giao diện người dùng.

    67. Trong lập trình, một ‘vòng lặp’ (loop) được sử dụng để làm gì?

    A. Đưa ra quyết định dựa trên một điều kiện.
    B. Thực hiện một khối mã nhiều lần.
    C. Gọi một hàm hoặc thủ tục khác.
    D. Khai báo một biến mới.

    68. Trong lập trình, ‘mã giả’ (pseudocode) được sử dụng với mục đích chính nào?

    A. Là ngôn ngữ lập trình chính thức để biên dịch.
    B. Mô tả thuật toán một cách độc lập với ngôn ngữ lập trình cụ thể, giúp dễ hiểu và phát triển ý tưởng ban đầu.
    C. Tự động tạo ra mã máy.
    D. Kiểm tra lỗi cú pháp của chương trình.

    69. Khi nói về cấu trúc dữ liệu ‘mảng’ (array), phát biểu nào sau đây là đúng?

    A. Các phần tử có thể có kiểu dữ liệu khác nhau.
    B. Kích thước của mảng có thể thay đổi linh hoạt trong quá trình chạy chương trình.
    C. Các phần tử được lưu trữ ở các vị trí bộ nhớ không liên tiếp.
    D. Truy cập vào một phần tử bằng chỉ số (index) là hoạt động có độ phức tạp O(1).

    70. Đâu là một ví dụ về ‘biến toàn cục’ (global variable) trong ngữ cảnh lập trình?

    A. Một biến được khai báo bên trong một hàm, chỉ có thể truy cập trong hàm đó.
    B. Một biến được khai báo bên ngoài tất cả các hàm hoặc khối mã, có thể truy cập từ bất kỳ đâu trong chương trình.
    C. Một biến được khai báo bên trong một vòng lặp, chỉ tồn tại trong lần lặp đó.
    D. Một biến được truyền làm tham số cho một hàm.

    71. Khi bạn viết một chương trình bằng ngôn ngữ lập trình bậc cao (ví dụ: Python, Java), nó cần trải qua quá trình gì để có thể chạy được trên máy tính?

    A. Chỉ cần lưu lại dưới dạng file văn bản.
    B. Biên dịch (compile) hoặc thông dịch (interpret) sang mã máy.
    C. Nén lại thành file zip.
    D. Chỉ cần chạy trực tiếp từ trình soạn thảo.

    72. Tại sao việc sử dụng ‘hằng số’ (constant) lại được khuyến khích trong lập trình thay vì các giá trị cố định trực tiếp?

    A. Để làm cho mã nguồn trông chuyên nghiệp hơn.
    B. Giúp dễ dàng thay đổi giá trị tại một nơi duy nhất và tăng tính dễ đọc, dễ bảo trì.
    C. Tăng tốc độ thực thi của chương trình.
    D. Giảm thiểu việc sử dụng bộ nhớ.

    73. Mục đích chính của việc sử dụng các hàm (functions) hoặc phương thức (methods) trong lập trình là gì?

    A. Tăng cường độ phức tạp của mã nguồn để khó sao chép.
    B. Chia nhỏ chương trình thành các khối chức năng độc lập, dễ quản lý và tái sử dụng.
    C. Giảm dung lượng file thực thi của chương trình.
    D. Tự động hóa việc tìm và sửa lỗi.

    74. Khi một chương trình thực hiện quá trình ‘biên dịch’ (compilation), điều gì xảy ra?

    A. Mã nguồn được thực thi trực tiếp bởi CPU.
    B. Mã nguồn được chuyển đổi thành mã máy hoặc mã trung gian có thể thực thi bởi máy tính.
    C. Chương trình được nén lại để giảm dung lượng.
    D. Chương trình được kiểm tra lỗi cú pháp và tự động sửa.

    75. Một ‘cấu trúc điều khiển rẽ nhánh’ (conditional statement) như ‘if-else’ được dùng để làm gì?

    A. Thực hiện một khối lệnh lặp đi lặp lại.
    B. Chọn một trong nhiều đường thực thi dựa trên một điều kiện.
    C. Khai báo một biến mới với giá trị ban đầu.
    D. Gọi thực thi một hàm bên ngoài.

    76. Mục đích của việc sử dụng các ‘cấu trúc dữ liệu’ (data structures) là gì?

    A. Chỉ để làm cho mã nguồn trông phức tạp hơn.
    B. Để tổ chức, quản lý và lưu trữ dữ liệu một cách hiệu quả, hỗ trợ các thao tác xử lý dữ liệu.
    C. Để thay thế hoàn toàn các biến đơn lẻ.
    D. Để đảm bảo chương trình luôn chạy nhanh nhất có thể.

    77. Trong thiết kế thuật toán, khái niệm ‘phức tạp thời gian’ (time complexity) đo lường điều gì?

    A. Số lượng dòng mã của thuật toán.
    B. Thời gian thực tế mà thuật toán chạy trên một máy tính cụ thể.
    C. Số lượng phép toán cơ bản mà thuật toán thực hiện như một hàm của kích thước đầu vào.
    D. Mức độ dễ đọc và hiểu của thuật toán.

    78. Trong lập trình hướng đối tượng, ‘tính kế thừa’ (inheritance) cho phép?

    A. Một lớp có thể có nhiều đối tượng.
    B. Một lớp mới có thể kế thừa các thuộc tính và phương thức từ một lớp đã có.
    C. Một đối tượng có thể thay đổi hành vi của nó trong quá trình chạy.
    D. Che giấu hoàn toàn dữ liệu bên trong của một lớp.

    79. Trong lập trình, một biến được khai báo với kiểu dữ liệu ‘int’ có thể lưu trữ những loại giá trị nào?

    A. Các số nguyên không có phần thập phân (ví dụ: 10, -5, 0).
    B. Các số thực có phần thập phân (ví dụ: 3.14, -2.5).
    C. Các ký tự đơn (ví dụ: ‘A’, ‘b’, ‘7’).
    D. Các chuỗi ký tự (ví dụ: ‘Hello World’, ‘12345’).

    80. Đâu là ví dụ về một ‘biểu thức’ (expression) trong lập trình?

    A. Một câu lệnh gán giá trị cho biến (ví dụ: `x = 5`).
    B. Một phép toán hoặc sự kết hợp của các toán tử, toán hạng và giá trị trả về một kết quả (ví dụ: `2 + 3 * 4`).
    C. Một khối mã được định nghĩa để thực hiện một nhiệm vụ.
    D. Một khai báo biến (ví dụ: `int count;`).

    81. Khi một chương trình thực hiện thao tác ‘input’ (nhập liệu), nó đang làm gì?

    A. Gửi dữ liệu ra màn hình.
    B. Nhận dữ liệu từ thiết bị nhập (ví dụ: bàn phím, chuột, file).
    C. Thực hiện các phép tính toán phức tạp.
    D. Lưu trữ dữ liệu vào ổ cứng.

    82. Đâu là một ví dụ về kiểu dữ liệu ‘boolean’?

    A. Một số nguyên (ví dụ: 42).
    B. Một ký tự (ví dụ: ‘X’).
    C. Một giá trị logic chỉ có thể là Đúng (True) hoặc Sai (False).
    D. Một chuỗi văn bản (ví dụ: ‘Status: OK’).

    83. Trong lập trình, ‘biến’ (variable) đóng vai trò gì?

    A. Chỉ để lưu trữ các giá trị cố định không thay đổi.
    B. Là một định danh (tên) đại diện cho một vị trí trong bộ nhớ để lưu trữ dữ liệu có thể thay đổi.
    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 thực thi theo trình tự.

    84. Đâu là đặc điểm chính của RAM (Random Access Memory) trong máy tính?

    A. Dữ liệu được lưu trữ vĩnh viễn ngay cả khi tắt máy.
    B. Tốc độ truy cập chậm hơn so với ổ cứng.
    C. Là bộ nhớ tạm thời, dữ liệu sẽ mất khi mất điện.
    D. Chỉ dùng để lưu trữ hệ điều hành.

    85. Cấu trúc dữ liệu ‘hàng đợi’ (queue) hoạt động theo nguyên tắc nào?

    A. Vào sau, ra trước (LIFO – Last In, First Out).
    B. Vào trước, ra trước (FIFO – First In, First Out).
    C. Truy cập ngẫu nhiên theo chỉ số.
    D. Theo thứ tự ưu tiên được định nghĩa.

    86. Khi một chương trình gặp lỗi không mong muốn và dừng hoạt động, đó gọi là lỗi gì?

    A. Lỗi cú pháp (Syntax Error).
    B. Lỗi logic (Logic Error).
    C. Lỗi thời gian chạy (Runtime Error).
    D. Lỗi biên dịch (Compile-time Error).

    87. Trong lập trình hướng đối tượng (Object-Oriented Programming – OOP), ‘tính đóng gói’ (encapsulation) đề cập đến điều gì?

    A. Khả năng tạo ra các lớp con kế thừa từ lớp cha.
    B. Việc che giấu các chi tiết triển khai bên trong và chỉ cung cấp giao diện để tương tác.
    C. Khả năng một đối tượng có thể có nhiều hình thái khác nhau.
    D. Việc gộp nhiều đối tượng khác nhau vào một đối tượng lớn hơn.

    88. Đâu 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 chậm hơn dự kiến.
    B. Thiếu dấu chấm phẩy cuối câu lệnh hoặc sai chính tả một từ khóa của ngôn ngữ.
    C. Kết quả tính toán không đúng như mong đợi.
    D. Chương trình bị treo hoặc không phản hồi.

    89. Trong hệ thống máy tính, ‘bộ xử lý trung tâm’ (CPU) có vai trò chính là gì?

    A. Lưu trữ lâu dài tất cả dữ liệu của người dùng.
    B. Hiển thị hình ảnh và video ra màn hình.
    C. Thực hiện các phép tính toán và điều khiển các hoạt động của máy tính.
    D. Kết nối máy tính với mạng Internet.

    90. Khi một chương trình máy tính thực thi, hoạt động nào sau đây KHÔNG thuộc về giai đoạn xử lý của CPU?

    A. Thực hiện các phép tính toán học và logic.
    B. Truy xuất dữ liệu từ bộ nhớ RAM.
    C. Lưu trữ kết quả tính toán tạm thời vào thanh ghi.
    D. Nhận tín hiệu từ bàn phím để bắt đầu một tiến trình mới.

    91. Cấu trúc lặp nào thường được dùng để duyệt qua từng phần tử của một mảng hoặc một tập hợp dữ liệu có cấu trúc?

    A. Cấu trúc ‘if-else’.
    B. Cấu trúc ‘while’.
    C. Cấu trúc ‘for each’ hoặc ‘for … in’ (tùy ngôn ngữ).
    D. Cấu trúc ‘switch-case’.

    92. Khi một chương trình thực thi các câu lệnh theo thứ tự từ trên xuống dưới, đó là cấu trúc điều khiển nào?

    A. Cấu trúc lựa chọn.
    B. Cấu trúc lặp.
    C. Cấu trúc tuần tự.
    D. Cấu trúc hàm.

    93. Phát biểu nào sau đây mô tả đúng về ‘kiểu dữ liệu số nguyên’ (integer)?

    A. Chỉ bao gồm các số có phần thập phân.
    B. Bao gồm các số không có phần thập phân, có thể dương, âm hoặc bằng không.
    C. Chỉ bao gồm các số dương.
    D. Bao gồm tất cả các số thực.

    94. Trong lập trình, ‘toán tử so sánh’ (comparison operator) dùng để làm gì?

    A. Để thực hiện các phép toán số học.
    B. Để nối các chuỗi ký tự.
    C. Để so sánh hai giá trị và trả về kết quả là đúng hoặc sai (boolean).
    D. Để khai báo kiểu dữ liệu mới.

    95. Trong lập trình, ‘lệnh gán’ (assignment statement) có vai trò gì?

    A. Để định nghĩa một hàm mới.
    B. Để bắt đầu một vòng lặp.
    C. Để lưu trữ một giá trị vào một biến.
    D. Để hiển thị thông báo trên màn hình.

    96. Trong lập trình, ‘biến toàn cục’ (global variable) có phạm vi hoạt động như thế nào?

    A. Chỉ có thể truy cập trong phạm vi của hàm mà nó được khai báo.
    B. Có thể truy cập từ mọi nơi trong chương trình.
    C. Chỉ có thể truy cập trong một khối lệnh cụ thể.
    D. Có thể truy cập từ mọi hàm nhưng không thể thay đổi giá trị.

    97. Phát biểu nào sau đây mô tả đúng nhất về ‘mảng’ (array) trong lập trình?

    A. Là một biến lưu trữ duy nhất một giá trị.
    B. Là một cấu trúc dữ liệu cho phép lưu trữ một tập hợp các phần tử cùng kiểu dữ liệu, có thể truy cập thông qua chỉ số.
    C. Là một lệnh để thực hiện phép tính phức tạp.
    D. Là một loại hằng số đặc biệt.

    98. Trong lập trình, ‘toán tử’ (operator) dùng để làm gì?

    A. Để khai báo biến.
    B. Để thực hiện các phép toán hoặc thao tác trên dữ liệu.
    C. Để xác định thứ tự ưu tiên của các lệnh.
    D. Để định nghĩa kiểu dữ liệu mới.

    99. Cấu trúc điều khiển nào sau đây cho phép thực hiện một khối lệnh lặp đi lặp lại dựa trên một điều kiện nhất định?

    A. Cấu trúc tuần tự.
    B. Cấu trúc lựa chọn (ví dụ: if-else).
    C. Cấu trúc lặp (ví dụ: for, while).
    D. Cấu trúc hàm.

    100. Phát biểu nào sau đây mô tả đúng nhất về ‘kiểu dữ liệu’ (data type) trong lập trình?

    A. Là một chuỗi các ký tự đặc biệt.
    B. Là cách trình bày thông tin trong báo cáo.
    C. Là một tập hợp các giá trị mà một biến có thể nhận và các phép toán có thể thực hiện trên các giá trị đó.
    D. Là một thuật toán để xử lý dữ liệu.

    101. Trong lập trình, ‘biểu thức’ (expression) là gì?

    A. Một câu lệnh hoàn chỉnh kết thúc bằng dấu chấm phẩy.
    B. Một sự kết hợp của các toán tử, toán hạng và đôi khi là các lời gọi hàm, tạo ra một giá trị duy nhất.
    C. Một khối lệnh được định nghĩa sẵn.
    D. Một cách để khai báo biến.

    102. Cấu trúc điều khiển nào cho phép chương trình đưa ra quyết định dựa trên nhiều điều kiện khác nhau?

    A. Cấu trúc tuần tự.
    B. Cấu trúc lặp (while).
    C. Cấu trúc lựa chọn lồng nhau hoặc câu lệnh ‘switch’/’case’.
    D. Cấu trúc hàm.

    103. Trong ngôn ngữ lập trình, ‘hằng số’ (constant) khác biệt với ‘biến’ (variable) ở điểm nào?

    A. Hằng số chỉ được sử dụng trong các phép tính số học.
    B. Giá trị của hằng số không thể thay đổi sau khi được gán, còn biến có thể thay đổi.
    C. Biến luôn có kiểu dữ liệu là số nguyên.
    D. Hằng số không cần khai báo kiểu dữ liệu.

    104. Khi lập trình viên cần thực hiện một hành động cụ thể khi một điều kiện là sai, họ nên sử dụng cấu trúc nào?

    A. Cấu trúc lặp ‘while’.
    B. Cấu trúc lựa chọn ‘if-else’.
    C. Cấu trúc tuần tự.
    D. Cấu trúc ‘switch-case’.

    105. Khi sử dụng cấu trúc lựa chọn ‘if-else’, điều gì xảy ra nếu điều kiện trong mệnh đề ‘if’ là đúng?

    A. Khối lệnh trong mệnh đề ‘else’ sẽ được thực thi.
    B. Chương trình sẽ kết thúc ngay lập tức.
    C. Khối lệnh trong mệnh đề ‘if’ sẽ được thực thi và bỏ qua mệnh đề ‘else’.
    D. Chương trình sẽ hỏi người dùng nhập liệu.

    106. Phát biểu nào sau đây mô tả đúng về ‘toán tử logic AND’ (&& hoặc AND)?

    A. Trả về đúng nếu ít nhất một trong hai toán hạng là đúng.
    B. Trả về sai nếu cả hai toán hạng là sai.
    C. Trả về đúng chỉ khi cả hai toán hạng đều là đúng.
    D. Đảo ngược giá trị logic của toán hạng.

    107. Khi sử dụng cấu trúc lặp ‘do-while’, khối lệnh bên trong nó sẽ được thực thi ít nhất bao nhiêu lần?

    A. Không lần nào.
    B. Một lần.
    C. Hai lần.
    D. Phụ thuộc vào điều kiện ban đầu.

    108. Phát biểu nào sau đây là sai về ‘kiểu dữ liệu chuỗi’ (string) trong lập trình?

    A. Kiểu dữ liệu chuỗi dùng để lưu trữ văn bản.
    B. Các ký tự trong chuỗi thường được đặt trong cặp dấu nháy đơn hoặc nháy kép.
    C. Có thể thực hiện phép cộng trực tiếp giữa hai chuỗi để nối chúng lại với nhau.
    D. Mỗi ký tự trong chuỗi là một số nguyên duy nhất.

    109. Phát biểu nào sau đây mô tả đúng về ‘toán tử logic OR’ (|| hoặc OR)?

    A. Trả về đúng chỉ khi cả hai toán hạng là sai.
    B. Trả về đúng nếu ít nhất một trong hai toán hạng là đúng.
    C. Trả về sai nếu cả hai toán hạng đều là sai.
    D. Đảo ngược giá trị logic của toán hạng.

    110. Trong lập trình, ‘biểu thức logic’ (logical expression) thường sử dụng các toán tử nào?

    A. +, -, *.
    B. >, <, ==.
    C. AND, OR, NOT.
    D. %, /, ^.

    111. Trong lập trình, ‘hàm’ (function) hay ‘phương thức’ (method) được định nghĩa là gì?

    A. Một biến lưu trữ dữ liệu.
    B. Một khối mã được đặt tên, có thể nhận đầu vào và trả về đầu ra, dùng để thực hiện một nhiệm vụ cụ thể.
    C. Một hằng số có giá trị không đổi.
    D. Một cấu trúc dữ liệu phức tạp.

    112. Cấu trúc lặp ‘while’ sẽ tiếp tục thực thi khối lệnh của nó miễn là điều kiện của nó là gì?

    A. Sai.
    B. Đúng.
    C. Bằng 0.
    D. Khác rỗng.

    113. Phát biểu nào sau đây là sai về ‘toán tử logic NOT’ (NOT hoặc !)?

    A. Toán tử NOT chỉ tác động lên một toán hạng.
    B. Toán tử NOT trả về đúng nếu toán hạng là sai.
    C. Toán tử NOT trả về sai nếu toán hạng là đúng.
    D. Toán tử NOT chỉ có thể áp dụng cho kiểu số nguyên.

    114. Trong lập trình, ‘biến cục bộ’ (local variable) có phạm vi hoạt động như thế nào?

    A. Có thể truy cập từ bất kỳ đâu trong chương trình.
    B. Chỉ có thể truy cập trong phạm vi của hàm hoặc khối lệnh mà nó được khai báo.
    C. Chỉ có thể truy cập trong một lớp (class) cụ thể.
    D. Có thể truy cập từ mọi hàm nhưng không thể thay đổi giá trị.

    115. Trong lập trình, ‘biến’ (variable) được định nghĩa là gì?

    A. Một lệnh để thực thi một hành động cụ thể.
    B. Một vùng nhớ có tên dùng để lưu trữ dữ liệu.
    C. Một cấu trúc điều khiển luồng chương trình.
    D. Một toán tử dùng để thực hiện phép tính.

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

    A. Để chương trình chạy nhanh hơn.
    B. Để làm cho mã nguồn dễ đọc, dễ hiểu, dễ bảo trì và giảm thiểu lỗi do nhầm lẫn.
    C. Để tuân thủ quy định bắt buộc của tất cả các trình biên dịch.
    D. Để chương trình sử dụng ít bộ nhớ hơn.

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

    A. Kiểu dữ liệu boolean chỉ có hai giá trị là đúng (true) và sai (false).
    B. Kiểu dữ liệu boolean thường được sử dụng trong các điều kiện của cấu trúc lựa chọn và lặp.
    C. Giá trị của kiểu boolean có thể là một số bất kỳ.
    D. Kiểu dữ liệu boolean là kết quả của các phép so sánh.

    118. Trong các kiểu dữ liệu cơ bản, kiểu nào thường được sử dụng để biểu diễn số đếm hoặc số thứ tự?

    A. Kiểu chuỗi (String).
    B. Kiểu số thực (Float/Double).
    C. Kiểu số nguyên (Integer).
    D. Kiểu boolean.

    119. Cấu trúc lặp ‘for’ 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 hành động chỉ một lần.
    C. Khi biết trước số lần lặp hoặc lặp qua một tập hợp các phần tử.
    D. Khi cần thoát khỏi chương trình ngay lập tức.

    120. Phát biểu nào sau đây mô tả đúng về ‘kiểu dữ liệu số thực’ (floating-point number)?

    A. Chỉ bao gồm các số nguyên.
    B. Bao gồm các số có thể có phần thập phân.
    C. Chỉ bao gồm các số âm.
    D. Bao gồm các giá trị đúng/sai.

    121. Trong Pascal, việc sử dụng `CASE OF` thay vì một chuỗi dài các lệnh `IF-THEN-ELSE IF` để kiểm tra nhiều giá trị của cùng một biến thường mang lại lợi ích gì?

    A. Tăng tốc độ thực thi chương trình một cách đáng kể.
    B. Làm cho mã nguồn dễ đọc, dễ hiểu và dễ bảo trì hơn.
    C. Giảm yêu cầu về bộ nhớ của chương trình.
    D. Cho phép xử lý các loại dữ liệu phức tạp hơn.

    122. Trong Pascal, cấu trúc `IF condition THEN begin … end;` tương đương với cấu trúc nào nếu điều kiện là sai?

    A. Không làm gì cả.
    B. Thực hiện khối lệnh `ELSE` (nếu có).
    C. Thực hiện lại khối lệnh `THEN`.
    D. Báo lỗi.

    123. Trong ngôn ngữ lập trình Pascal, cấu trúc điều khiển rẽ nhánh nào được sử dụng để thực hiện một khối lệnh khi một điều kiện cho trước là đúng và bỏ qua khối lệnh đó nếu điều kiện sai?

    A. Cấu trúc lặp FOR
    B. Cấu trúc rẽ nhánh IF-THEN
    C. Cấu trúc rẽ nhánh CASE-OF
    D. Cấu trúc lặp WHILE-DO

    124. Trong các cấu trúc lặp sau đây, cấu trúc nào đảm bảo rằng khối lệnh bên trong nó sẽ được thực hiện ít nhất một lần?

    A. WHILE … DO
    B. FOR … DO
    C. REPEAT … UNTIL
    D. Cả A và B

    125. Trong Pascal, nếu muốn hiển thị các số từ 10 đến 1 theo thứ tự giảm dần, ta sẽ sử dụng cấu trúc lặp FOR như thế nào?

    A. FOR i := 1 TO 10 DO Write(i);
    B. FOR i := 10 TO 1 DO Write(i);
    C. FOR i := 10 DOWNTO 1 DO Write(i);
    D. FOR i := 10 STEP -1 DO Write(i);

    126. Xét đoạn mã Pascal: `var x: integer := 0; begin while x < 5 do begin x := x + 1; end; end.`. Sau khi thực thi, giá trị của `x` sẽ là bao nhiêu?

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

    127. Cấu trúc điều khiển nào cho phép người lập trình thực hiện một hành động dựa trên nhiều kết quả có thể xảy ra của một biểu thức?

    A. IF-THEN
    B. WHILE-DO
    C. CASE-OF
    D. FOR-DO

    128. Trong Pascal, để duyệt qua tất cả các ký tự của một chuỗi (string), ta thường sử dụng cấu trúc lặp nào kết hợp với chỉ số của chuỗi?

    A. WHILE … DO
    B. REPEAT … UNTIL
    C. FOR … DO
    D. CASE … OF

    129. Trong Pascal, cú pháp `FOR i := StartValue TO EndValue DO …` sẽ thực thi vòng lặp bao nhiêu lần nếu `StartValue` lớn hơn `EndValue`?

    A. Chạy một lần với giá trị `StartValue`.
    B. Chạy một lần với giá trị `EndValue`.
    C. Không thực thi lần nào.
    D. Báo lỗi cú pháp.

    130. Phát biểu nào mô tả đúng về việc sử dụng `BEGIN` và `END` trong Pascal khi đi kèm với cấu trúc điều khiển?

    A. Luôn luôn bắt buộc phải sử dụng `BEGIN` và `END` cho mọi cấu trúc điều khiển.
    B. `BEGIN` và `END` chỉ dùng để bao quanh một lệnh duy nhất.
    C. `BEGIN` và `END` được dùng để nhóm nhiều lệnh thành một khối lệnh duy nhất, thực thi như một lệnh đơn.
    D. `BEGIN` và `END` chỉ dùng trong khai báo biến.

    131. Yếu tố nào là quan trọng nhất để đảm bảo cấu trúc lặp WHILE-DO kết thúc và tránh vòng lặp vô hạn?

    A. Khai báo biến lặp với kiểu dữ liệu phù hợp.
    B. Điều kiện lặp phải thay đổi theo hướng tiến tới giá trị làm cho điều kiện sai.
    C. Sử dụng dấu chấm phẩy đúng vị trí.
    D. Tất cả các lựa chọn trên đều quan trọng.

    132. Cấu trúc lặp nào trong Pascal được sử dụng khi số lần lặp là xác định trước và thường liên quan đến việc duyệt qua một dãy phần tử hoặc thực hiện lặp theo một biên độ nhất định?

    A. WHILE … DO
    B. REPEAT … UNTIL
    C. FOR … DO
    D. IF … THEN

    133. Khi sử dụng cấu trúc lặp WHILE-DO trong Pascal, điều gì có thể xảy ra nếu điều kiện lặp không bao giờ trở thành sai?

    A. Chương trình sẽ kết thúc ngay lập tức.
    B. Chương trình sẽ thực hiện khối lệnh bên trong một lần duy nhất.
    C. Chương trình sẽ rơi vào vòng lặp vô hạn.
    D. Chương trình sẽ báo lỗi cú pháp.

    134. Phát biểu nào sau đây mô tả đúng cách hoạt động của cấu trúc `REPEAT … UNTIL` trong Pascal?

    A. Khối lệnh được thực hiện miễn là điều kiện còn đúng.
    B. Khối lệnh được thực hiện cho đến khi điều kiện trở nên đúng.
    C. Khối lệnh được thực hiện đúng một lần và điều kiện được kiểm tra sau đó.
    D. Khối lệnh được thực hiện miễn là điều kiện còn sai.

    135. Trong Pascal, nếu ta muốn bỏ qua phần `ELSE` của câu lệnh `IF-THEN-ELSE` khi điều kiện là sai, ta sử dụng cú pháp nào?

    A. Chỉ cần viết `IF điều_kiện THEN câu_lệnh;`
    B. Viết `IF điều_kiện THEN câu_lệnh ELSE;`
    C. Cấu trúc IF-THEN-ELSE luôn yêu cầu cả hai nhánh.
    D. Sử dụng `IF điều_kiện GOTO nhan;`

    136. Xét đoạn mã Pascal sau: `var i: integer; begin for i := 1 to 5 do writeln(i); end.`. Lệnh `writeln(i)` sẽ được thực thi bao nhiêu lần?

    A. 4 lần
    B. 5 lần
    C. 6 lần
    D. Vô hạn lần

    137. Trong ngôn ngữ lập trình Pascal, cấu trúc `IF (điều_kiện_1) THEN câu_lệnh_1 ELSE IF (điều_kiện_2) THEN câu_lệnh_2 ELSE câu_lệnh_3;` được gọi là gì?

    A. Cấu trúc lặp lồng nhau.
    B. Cấu trúc rẽ nhánh IF-THEN đơn giản.
    C. Cấu trúc rẽ nhánh IF-THEN lồng nhau (hoặc chuỗi IF).
    D. Cấu trúc CASE.

    138. Phát biểu nào sau đây mô tả đúng nhất về ‘vòng lặp lồng nhau’ (nested loop)?

    A. Một vòng lặp chỉ chạy một lần.
    B. Một vòng lặp được đặt bên trong một vòng lặp khác.
    C. Hai vòng lặp chạy song song.
    D. Một vòng lặp không bao giờ kết thúc.

    139. Phát biểu nào sau đây là đúng về ý nghĩa của vòng lặp?

    A. Vòng lặp dùng để lưu trữ dữ liệu.
    B. Vòng lặp giúp thực thi một khối lệnh nhiều lần một cách tự động.
    C. Vòng lặp dùng để định nghĩa các hàm mới.
    D. Vòng lặp dùng để kiểm tra lỗi biên dịch.

    140. Khi lập trình, việc sử dụng các cấu trúc điều khiển vòng lặp giúp giải quyết vấn đề gì một cách hiệu quả?

    A. Tăng tốc độ biên dịch chương trình.
    B. Giảm số lượng biến cần khai báo.
    C. Tự động sửa lỗi cú pháp trong chương trình.
    D. Thực hiện lặp lại các khối lệnh một cách tự động và có điều kiện.

    141. Khi lập trình, mục đích chính của việc sử dụng các cấu trúc rẽ nhánh là gì?

    A. Giúp chương trình chạy nhanh hơn.
    B. Cho phép chương trình đưa ra các quyết định và thực hiện các hành động khác nhau dựa trên các điều kiện.
    C. Giảm dung lượng bộ nhớ chương trình sử dụng.
    D. Tự động hoàn thành việc viết mã.

    142. Phát biểu nào sau đây là đúng về sự khác biệt giữa cấu trúc WHILE-DO và REPEAT-UNTIL trong Pascal?

    A. WHILE-DO kiểm tra điều kiện sau khi thực hiện khối lệnh, REPEAT-UNTIL kiểm tra điều kiện trước.
    B. WHILE-DO đảm bảo khối lệnh được thực hiện ít nhất một lần, REPEAT-UNTIL không đảm bảo.
    C. WHILE-DO kiểm tra điều kiện trước khi thực hiện khối lệnh, REPEAT-UNTIL kiểm tra điều kiện sau khi thực hiện khối lệnh.
    D. Cả hai cấu trúc đều có số lần lặp xác định trước.

    143. Trong Pascal, lệnh `continue` (hoặc tương đương) trong một vòng lặp có chức năng gì?

    A. Thoát hoàn toàn khỏi vòng lặp.
    B. Bỏ qua các lệnh còn lại trong lần lặp hiện tại và chuyển sang lần lặp kế tiếp.
    C. Thực hiện lại khối lệnh của vòng lặp.
    D. Kiểm tra lại điều kiện của vòng lặp.

    144. Nếu bạn cần kiểm tra một điều kiện và có hai hành động khác nhau xảy ra tùy thuộc vào việc điều kiện đó đúng hay sai, bạn sẽ sử dụng cấu trúc nào?

    A. IF-THEN
    B. CASE-OF
    C. IF-THEN-ELSE
    D. WHILE-DO

    145. Phát biểu nào sau đây mô tả chính xác hoạt động của câu lệnh `break` (hoặc tương đương trong ngôn ngữ khác) trong một vòng lặp?

    A. Thực hiện lại vòng lặp với giá trị mới của biến đếm.
    B. Bỏ qua lần lặp hiện tại và chuyển sang lần lặp tiếp theo.
    C. Thoát khỏi vòng lặp ngay lập tức.
    D. Thực hiện khối lệnh `ELSE` của cấu trúc IF.

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

    A. Thực hiện một khối lệnh một số lần xác định trước.
    B. Thực hiện một khối lệnh cho đến khi một điều kiện trở thành sai.
    C. Thực hiện một khối lệnh cho đến khi một điều kiện trở thành đúng.
    D. Thực hiện một khối lệnh dựa trên giá trị của một biến hoặc biểu thức.

    147. Trong lập trình Pascal, khi cần thực hiện một hành động nhiều lần và số lần lặp phụ thuộc vào một điều kiện có thể thay đổi trong quá trình thực hiện, cấu trúc lặp nào là phù hợp nhất?

    A. FOR … DO
    B. CASE … OF
    C. WHILE … DO hoặc REPEAT … UNTIL
    D. IF … THEN … ELSE

    148. Trong Pascal, để lựa chọn 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 nguyên, ta nên sử dụng cấu trúc điều khiển nào?

    A. IF-THEN-ELSE
    B. FOR … DO
    C. WHILE … DO
    D. CASE … OF

    149. Cấu trúc điều khiển nào trong Pascal cho phép thực hiện một khối lệnh lặp đi lặp lại miễn là một điều kiện nào đó vẫn còn đúng?

    A. IF-THEN
    B. CASE-OF
    C. FOR-DO
    D. WHILE-DO

    150. Khi sử dụng cấu trúc `CASE OF`, nếu giá trị của biến không khớp với bất kỳ trường hợp (CASE) nào và không có `ELSE` hoặc `OTHERWISE` được định nghĩa, điều gì sẽ xảy ra?

    A. Chương trình sẽ báo lỗi và dừng lại.
    B. Chương trình sẽ bỏ qua khối lệnh CASE và tiếp tục thực thi các lệnh sau nó.
    C. Chương trình sẽ thực hiện khối lệnh `ELSE` (nếu có).
    D. Chương trình sẽ thực hiện khối lệnh của trường hợp đầu tiên.

    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é.