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
    • Quy định sử dụng
    • Miễn trừ trách nhiệm
    • Bản quyền & Khiếu nại
  • Đáp án
  • Góc học tập
  • Trắc nghiệm
  • Công cụ học tập
  • Liên hệ
  • Sitemap
  • Trang chủ
    • Về chúng tôi
    • Quy định sử dụng
    • Miễn trừ trách nhiệm
    • Bản quyền & Khiếu nại
  • Đáp án
  • Góc học tập
  • Trắc nghiệm
  • Công cụ học tập
  • 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 5 online có đáp án

Trắc nghiệm THPT

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

Ngày cập nhật: 11/02/2026

⚠️ Đọ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.

Bạn đã sẵn sàng bắt đầu với bộ 150+ câu hỏi trắc nghiệm tin 12 bài 5 online có đáp án. Bộ câu hỏi này được xây dựng để giúp bạn ôn luyện kiến thức một cách chủ động và hiệu quả. Hãy chọn một bộ câu hỏi bên dưới để bắt đầu ngay. Chúc bạn làm bài hiệu quả và tích lũy thêm nhiều kiến thức!

★★★★★
★★★★★
4.8/5 (136 đánh giá)

1. Khi đánh giá thuật toán sắp xếp, thuật toán nào sau đây được biết đến là ổn định (stable), nghĩa là các phần tử có giá trị bằng nhau sẽ giữ nguyên thứ tự tương đối của chúng sau khi sắp xếp?

A. Sắp xếp nhanh (Quick Sort)
B. Sắp xếp vun đống (Heap Sort)
C. Sắp xếp trộn (Merge Sort)
D. Sắp xếp chọn (Selection Sort)

2. Khi làm việc với các cấu trúc dữ liệu lớn, việc lựa chọn thuật toán sắp xếp phù hợp đóng vai trò quan trọng trong hiệu suất. Giả sử bạn cần sắp xếp một mảng lớn gồm các số nguyên theo thứ tự tăng dần, và bạn ưu tiên một thuật toán có độ phức tạp thời gian trung bình tốt. Theo phân tích phổ biến về các thuật toán sắp xếp, thuật toán nào sau đây thường được khuyên dùng cho trường hợp này?

A. Sắp xếp nổi bọt (Bubble Sort)
B. Sắp xếp chọn (Selection Sort)
C. Sắp xếp nhanh (Quick Sort)
D. Sắp xếp chèn (Insertion Sort)

3. Một nhà phân tích tài chính đang xem xét dữ liệu giá cổ phiếu theo thời gian và muốn dự đoán xu hướng giá trong tương lai. Kỹ thuật phân tích dữ liệu nào là phù hợp nhất cho mục đích này?

A. Phân tích phân cụm (Clustering Analysis)
B. Phân tích hồi quy (Regression Analysis)
C. Phân tích chuỗi thời gian (Time Series Analysis)
D. Phân tích thành phần chính (Principal Component Analysis)

4. Một nhà khoa học dữ liệu đang làm việc với một tập dữ liệu khổng lồ chứa thông tin về hành vi người dùng trên một trang web. Họ cần phân loại người dùng thành các nhóm dựa trên các đặc điểm tương tự. Trong các phương pháp phân tích dữ liệu, kỹ thuật nào thường được áp dụng để nhóm các đối tượng có đặc điểm giống nhau?

A. Phân tích hồi quy (Regression Analysis)
B. Thuật toán phân cụm (Clustering Algorithms)
C. Phân tích chuỗi thời gian (Time Series Analysis)
D. Kiểm định giả thuyết (Hypothesis Testing)

5. Một công ty muốn xây dựng một hệ thống khuyến nghị sản phẩm cho khách hàng dựa trên lịch sử mua sắm của họ. Họ cần một thuật toán có khả năng học hỏi từ dữ liệu và đưa ra các gợi ý phù hợp. Thuật toán học máy nào sau đây phù hợp nhất cho nhiệm vụ này?

A. Thuật toán phân loại (Classification Algorithms)
B. Thuật toán hồi quy tuyến tính (Linear Regression)
C. Thuật toán học tăng cường (Reinforcement Learning Algorithms)
D. Thuật toán lọc cộng tác (Collaborative Filtering Algorithms)

6. Khi so sánh thuật toán sắp xếp vun đống (Heap Sort) và sắp xếp trộn (Merge Sort), điểm khác biệt chính về mặt không gian sử dụng là gì?

A. Heap Sort yêu cầu nhiều không gian phụ trợ hơn Merge Sort.
B. Merge Sort yêu cầu nhiều không gian phụ trợ hơn Heap Sort.
C. Cả hai đều yêu cầu không gian phụ trợ O(n).
D. Cả hai đều là thuật toán tại chỗ (in-place) và không yêu cầu không gian phụ trợ.

7. Trong các thuật toán sắp xếp, thuật toán nào có độ phức tạp thời gian tệ nhất là O(n^2) nhưng lại có hiệu suất tốt trong trường hợp dữ liệu gần như đã sắp xếp?

A. Sắp xếp vun đống (Heap Sort)
B. Sắp xếp trộn (Merge Sort)
C. Sắp xếp chèn (Insertion Sort)
D. Sắp xếp chọn (Selection Sort)

8. Trong lập trình, khi cần lưu trữ một tập hợp các phần tử mà không quan tâm đến thứ tự và muốn truy cập nhanh chóng dựa trên khóa, cấu trúc dữ liệu nào sau đây là phù hợp nhất?

A. Mảng (Array)
B. Danh sách liên kết (Linked List)
C. Ngăn xếp (Stack)
D. Bảng băm (Hash Table)

9. Khi làm việc với dữ liệu có cấu trúc lặp lại hoặc có mối quan hệ phân cấp, cấu trúc dữ liệu nào sau đây là phù hợp nhất để biểu diễn?

A. Ngăn xếp (Stack)
B. Hàng đợi (Queue)
C. Cây (Tree)
D. Bảng băm (Hash Table)

10. Một nhà phát triển game muốn mô phỏng hành vi của các sinh vật trong một thế giới ảo, nơi mỗi sinh vật có thể tương tác với môi trường và các sinh vật khác để học hỏi và thích nghi. Phương pháp lập trình hoặc thuật toán nào phù hợp nhất cho kịch bản này?

A. Lập trình hướng đối tượng (Object-Oriented Programming)
B. Thuật toán tham lam (Greedy Algorithms)
C. Học tăng cường (Reinforcement Learning)
D. Thuật toán quay lui (Backtracking Algorithms)

11. Một công ty muốn phân tích hành vi của người dùng trên website để xác định các ‘cụm’ người dùng có sở thích tương tự nhau nhằm đưa ra các chiến dịch marketing mục tiêu. Kỹ thuật học máy nào phù hợp nhất cho nhiệm vụ này?

A. Phân loại (Classification)
B. Hồi quy (Regression)
C. Phân cụm (Clustering)
D. Giảm chiều dữ liệu (Dimensionality Reduction)

12. Khi so sánh hiệu quả của hai thuật toán tìm kiếm trên một tập dữ liệu rất lớn, yếu tố nào sau đây cần được ưu tiên xem xét để đánh giá tốc độ xử lý?

A. Số lượng dòng code của thuật toán
B. Độ phức tạp thời gian (Time Complexity)
C. Độ phức tạp không gian (Space Complexity)
D. Dễ đọc và dễ hiểu của thuật toán

13. Giả sử bạn đang thiết kế một thuật toán để tìm đường đi ngắn nhất giữa hai điểm trên một bản đồ. Bản đồ có thể được biểu diễn dưới dạng đồ thị có trọng số. Thuật toán nào sau đây là lựa chọn phổ biến và hiệu quả cho bài toán này?

A. Thuật toán Prim
B. Thuật toán Kruskal
C. Thuật toán Dijkstra
D. Thuật toán Floyd-Warshall

14. Trong các thuật toán sắp xếp, thuật toán nào có độ phức tạp thời gian trong mọi trường hợp (tốt nhất, trung bình, xấu nhất) đều là O(n log n)?

A. Sắp xếp chèn (Insertion Sort)
B. Sắp xếp chọn (Selection Sort)
C. Sắp xếp trộn (Merge Sort)
D. Sắp xếp nổi bọt (Bubble Sort)

15. Trong việc thiết kế thuật toán, việc phân tích độ phức tạp không chỉ dừng lại ở trường hợp trung bình mà còn cần xem xét trường hợp xấu nhất để đảm bảo tính ổn định. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trong trường hợp xấu nhất là O(n^2)?

A. Sắp xếp trộn (Merge Sort)
B. Sắp xếp vun đống (Heap Sort)
C. Sắp xếp nhanh (Quick Sort)
D. Sắp xếp nổi bọt (Bubble Sort)

16. Trong việc đánh giá thuật toán, ‘độ phức tạp’ thường được đề cập đến hai khía cạnh chính. Ngoài độ phức tạp thời gian, khía cạnh còn lại là gì?

A. Độ phức tạp về logic
B. Độ phức tạp về bộ nhớ (Space Complexity)
C. Độ phức tạp về cú pháp
D. Độ phức tạp về thuật toán

17. Khi phân tích hiệu năng của một thuật toán, độ phức tạp không gian (Space Complexity) đ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 sử dụng
C. Số lượng phép toán mà thuật toán thực hiện
D. Khả năng mở rộng của thuật toán

18. Khi cần lưu trữ một tập hợp các phần tử mà chỉ cho phép truy cập vào phần tử được thêm vào gần nhất (LIFO – Last In, First Out), cấu trúc dữ liệu nào là phù hợp nhất?

A. Hàng đợi (Queue)
B. Ngăn xếp (Stack)
C. Danh sách liên kết (Linked List)
D. Cây nhị phân (Binary Tree)

19. Một nhà phát triển ứng dụng di động cần lưu trữ danh sách các tin nhắn theo thứ tự thời gian nhận. Khi ứng dụng cần truy cập tin nhắn mới nhất hoặc tin nhắn cũ nhất, cấu trúc dữ liệu nào sau đây sẽ tối ưu hóa việc này?

A. Hàng đợi ưu tiên (Priority Queue)
B. Ngăn xếp (Stack)
C. Hàng đợi (Queue)
D. Danh sách liên kết kép (Doubly Linked List)

20. Trong các cấu trúc dữ liệu dựa trên cây, cây nhị phân tìm kiếm (Binary Search Tree – BST) có ưu điểm gì so với mảng khi thực hiện các thao tác tìm kiếm, thêm, xóa?

A. BST luôn có độ phức tạp O(1) cho mọi thao tác.
B. BST cho phép truy cập trực tiếp phần tử theo chỉ số.
C. BST có thể giảm độ phức tạp trung bình của các thao tác xuống O(log n) nếu cây cân bằng.
D. BST hiệu quả hơn mảng khi cần sắp xếp lại dữ liệu liên tục.

21. Khi cần tìm kiếm một phần tử trong một tập hợp dữ liệu lớn mà không cần sắp xếp trước dữ liệu, nhưng vẫn đảm bảo hiệu quả về thời gian, cấu trúc dữ liệu nào thường được sử dụng?

A. Mảng (Array)
B. Danh sách liên kết (Linked List)
C. Cây tìm kiếm cân bằng (Balanced Binary Search Tree)
D. Bảng băm (Hash Table)

22. Trong các thuật toán sắp xếp, thuật toán nào thường được sử dụng trong các hệ thống phân tán hoặc khi dữ liệu được lưu trữ trên nhiều thiết bị và cần sắp xếp mà không cần tập trung toàn bộ dữ liệu vào một nơi?

A. Sắp xếp nổi bọt (Bubble Sort)
B. Sắp xếp chèn (Insertion Sort)
C. Sắp xếp trộn (Merge Sort)
D. Sắp xếp nhanh (Quick Sort)

23. Một nhà nghiên cứu muốn phân tích mối quan hệ giữa hai biến định lượng và dự đoán giá trị của một biến dựa trên biến kia. Kỹ thuật thống kê nào là phù hợp nhất cho mục đích này?

A. Kiểm định T (T-test)
B. ANOVA
C. Phân tích tương quan (Correlation Analysis)
D. Phân tích hồi quy tuyến tính (Linear Regression Analysis)

24. Một chuyên gia phân tích mạng lưới cần tìm hiểu cách thông tin lan truyền qua mạng xã hội. Họ muốn xác định các nút có ảnh hưởng nhất trong mạng lưới. Kỹ thuật phân tích đồ thị nào sau đây thường được sử dụng để đo lường mức độ ảnh hưởng của một nút?

A. Độ lệch chuẩn (Standard Deviation)
B. Độ trung tâm (Centrality Measures)
C. Hồi quy tuyến tính (Linear Regression)
D. Phân tích thành phần chính (Principal Component Analysis)

25. Khi thiết kế một thuật toán tìm kiếm trên một danh sách liên kết đơn, việc lựa chọn phương pháp nào sẽ mang lại hiệu quả tốt nhất trong trường hợp trung bình?

A. Tìm kiếm nhị phân
B. Tìm kiếm theo giá trị trung bình
C. Tìm kiếm tuần tự
D. Tìm kiếm nhảy

26. Khi thực hiện thuật toán tìm kiếm nhị phân, điều kiện tiên quyết để áp dụng là gì?

A. Tập dữ liệu phải là một cây nhị phân.
B. Tập dữ liệu phải được sắp xếp.
C. Tập dữ liệu phải có kích thước là lũy thừa của 2.
D. Tập dữ liệu phải chứa các giá trị duy nhất.

27. Giả sử bạn cần xây dựng một cấu trúc dữ liệu cho phép bạn thêm và xóa các phần tử một cách hiệu quả từ cả hai đầu. Cấu trúc dữ liệu nào sau đây đáp ứng tốt yêu cầu này?

A. Ngăn xếp (Stack)
B. Hàng đợi (Queue)
C. Danh sách liên kết kép (Doubly Linked List)
D. Cây nhị phân tìm kiếm (Binary Search Tree)

28. Một lập trình viên đang phát triển một ứng dụng xử lý văn bản và cần tìm kiếm một từ cụ thể trong một đoạn văn bản lớn. Tốc độ tìm kiếm là yếu tố then chốt. Nếu đoạn văn bản đã được sắp xếp, thuật toán tìm kiếm nào sau đây sẽ mang lại hiệu quả cao nhất về mặt thời gian?

A. Tìm kiếm tuần tự (Linear Search)
B. Tìm kiếm nhị phân (Binary Search)
C. Tìm kiếm theo Interpolation (Interpolation Search)
D. Tìm kiếm theo Jump (Jump Search)

29. Trong thiết kế thuật toán, ‘chia để trị’ là một phương pháp mạnh mẽ. Thuật toán nào sau đây là một ví dụ điển hình của phương pháp ‘chia để trị’?

A. Sắp xếp nổi bọt (Bubble Sort)
B. Sắp xếp chèn (Insertion Sort)
C. Sắp xếp trộn (Merge Sort)
D. Tìm kiếm tuần tự (Linear Search)

30. Trong lĩnh vực trí tuệ nhân tạo, khi cần xây dựng một mô hình có khả năng học hỏi từ dữ liệu để phân loại email là thư rác (spam) hay không spam, kỹ thuật học máy nào thường được sử dụng?

A. Thuật toán phân cụm (Clustering Algorithms)
B. Thuật toán hồi quy (Regression Algorithms)
C. Thuật toán phân loại (Classification Algorithms)
D. Thuật toán học không giám sát (Unsupervised Learning Algorithms)

31. Phát biểu nào sau đây mô tả đúng về ‘thư viện’ (unit) trong Pascal?

A. Là một tập hợp các thủ tục, hàm và biến được đóng gói để tái sử dụng.
B. Là một lệnh để bắt đầu chương trình.
C. Là một cách để khai báo biến.
D. Là một cấu trúc điều khiển luồng.

32. Trong Pascal, để hiển thị chuỗi ký tự ‘Xin chao!’, câu lệnh nào là đúng?

A. Writeln(‘Xin chao!’);
B. Print(‘Xin chao!’);
C. Display(‘Xin chao!’);
D. Show(‘Xin chao!’);

33. Trong cấu trúc rẽ nhánh ‘IF … THEN … ELSE …’, phát biểu nào sau đây là đúng?

A. Nếu điều kiện sau ‘IF’ là đúng, khối lệnh sau ‘THEN’ sẽ được thực hiện; ngược lại, khối lệnh sau ‘ELSE’ sẽ được thực hiện.
B. Chỉ khối lệnh sau ‘THEN’ mới được thực hiện, ‘ELSE’ là tùy chọn.
C. Nếu điều kiện sau ‘IF’ là sai, khối lệnh sau ‘THEN’ sẽ được thực hiện.
D. ‘ELSE’ luôn luôn được thực hiện bất kể điều kiện.

34. Trong Pascal, để khai báo một hằng số có giá trị là Pi (khoảng 3.14159), cú pháp nào là đúng?

A. Const Pi = 3.14159;
B. Var Pi := 3.14159;
C. Define Pi = 3.14159;
D. Constant Pi is 3.14159;

35. Cho khai báo mảng trong Pascal: `ArrayOfNumbers: array[1..10] of Integer;`. Phần tử đầu tiên của mảng này có chỉ số là bao nhiêu?

A. 1
B. 0
C. 10
D. index

36. Cho đoạn mã Pascal: `IF x > 10 THEN writeln(‘Lon hon 10’);`. Nếu giá trị của biến ‘x’ là 15, điều gì sẽ xảy ra?

A. Dòng chữ ‘Lon hon 10’ sẽ được in ra màn hình.
B. Không có gì xảy ra.
C. Chương trình sẽ báo lỗi.
D. Dòng chữ ‘Lon hon 10’ sẽ được in ra màn hình hai lần.

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

A. Là một giá trị không đổi, được đặt tên để sử dụng trong chương trình.
B. Là một biến có giá trị được gán một lần duy nhất.
C. Là một lệnh để thực hiện một hành động cụ thể.
D. Là một tập hợp các biến có cùng kiểu dữ liệu.

38. Phát biểu nào sau đây mô tả đúng về câu lệnh gán trong Pascal?

A. Sử dụng toán tử ‘:=’ để gán giá trị của biểu thức ở vế phải cho biến ở vế trái.
B. Sử dụng toán tử ‘=’ để gán giá trị của biến ở vế trái cho biểu thức ở vế phải.
C. Sử dụng toán tử ‘:=’ để so sánh giá trị của hai biến.
D. Sử dụng toán tử ‘=’ để gán giá trị của biểu thức ở vế trái cho biến ở vế phải.

39. Cho biểu thức Pascal: `(10 > 5) AND (7 < 3)`. Giá trị của biểu thức này là gì?

A. True
B. False
C. Error
D. 15

40. Trong Pascal, ‘hàm’ (function) khác với ‘thủ tục’ (procedure) ở điểm nào?

A. Hàm trả về một giá trị, còn thủ tục thì không.
B. Thủ tục trả về một giá trị, còn hàm thì không.
C. Hàm chỉ có thể gọi từ bên trong một hàm khác.
D. Thủ tục chỉ có thể gọi từ bên trong một thủ tục khác.

41. Phát biểu nào sau đây KHÔNG phải là một kiểu dữ liệu chuẩn trong Pascal?

A. Boolean
B. String
C. Char
D. Double

42. Trong cấu trúc lặp ‘FOR … TO … DO …’, phát biểu nào sau đây là đúng về biến đếm?

A. Biến đếm tự động tăng hoặc giảm giá trị sau mỗi lần lặp theo bước nhảy quy định.
B. Giá trị của biến đếm chỉ có thể được thay đổi bằng câu lệnh gán bên trong vòng lặp.
C. Biến đếm chỉ có thể là kiểu dữ liệu số thực.
D. Vòng lặp sẽ dừng ngay khi biến đếm vượt quá giá trị cuối.

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

A. Là một tập hợp các phần tử cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ và truy cập bằng chỉ số.
B. Là một tập hợp các phần tử có kiểu dữ liệu khác nhau, không có thứ tự.
C. Là một tập hợp các cặp khóa-giá trị.
D. Là một cấu trúc dữ liệu chỉ dùng để lưu trữ một giá trị duy nhất.

44. Phát biểu nào sau đây mô tả đúng về ‘chuỗi ký tự’ (string) trong Pascal (theo cách hiểu phổ biến, ví dụ PascalABC.NET)?

A. Là một dãy các ký tự, có thể có độ dài thay đổi và được bao bởi dấu nháy đơn.
B. Luôn có độ dài cố định và được bao bởi dấu nháy kép.
C. Là một kiểu dữ liệu nguyên thủy chỉ chứa một ký tự duy nhất.
D. Là một kiểu dữ liệu số thực.

45. Cho đoạn mã Pascal: `FOR j := 1 TO 4 DO writeln(‘Hello’);`. Câu lệnh này sẽ thực thi bao nhiêu lần?

A. 4 lần
B. 3 lần
C. 5 lần
D. 1 lần

46. Trong Pascal, từ khóa nào được sử dụng để bắt đầu một khối chương trình chính?

A. program
B. begin
C. var
D. procedure

47. Khi khai báo một biến ‘ Diem : Real;’, điều này cho biết biến ‘Diem’ có thể lưu trữ loại dữ liệu nào?

A. Số nguyên.
B. Số thực.
C. Ký tự.
D. Chuỗi ký tự.

48. Phát biểu nào sau đây mô tả đúng về ‘thủ tục’ (procedure) trong Pascal?

A. Là một khối lệnh có tên, có thể thực hiện một nhiệm vụ cụ thể và không trả về giá trị.
B. Là một khối lệnh có tên, có thể thực hiện một nhiệm vụ cụ thể và trả về một giá trị.
C. Là một biến dùng để lưu trữ kết quả của phép tính.
D. Là một hằng số có thể thay đổi giá trị.

49. Cho khai báo record: `Type SinhVien = record HoTen: string[30]; DiemTB: Real; end;`. Để truy cập tên của một sinh viên có tên là ‘sv1’, cú pháp đúng là gì?

A. sv1.HoTen
B. sv1[HoTen]
C. sv1.name
D. sv1(HoTen)

50. Trong Pascal, toán tử ‘+’ được sử dụng cho mục đích gì?

A. Thực hiện phép cộng số học hoặc nối chuỗi ký tự.
B. Thực hiện phép trừ số học.
C. Thực hiện phép nhân số học.
D. Thực hiện phép chia số học.

51. Phát biểu nào sau đây KHÔNG đúng về kiểu dữ liệu ‘Integer’ trong Pascal?

A. Dùng để lưu trữ các số nguyên dương và âm.
B. Có thể lưu trữ các số thực có phần thập phân.
C. Có giới hạn về phạm vi giá trị tùy thuộc vào trình biên dịch.
D. Thường chiếm một lượng bộ nhớ cố định (ví dụ: 2 hoặc 4 byte).

52. Cho đoạn mã Pascal: `i := 0; WHILE i < 3 DO BEGIN writeln(i); i := i + 1; END;`. Kết quả in ra màn hình sẽ là gì?

A. 0 1 2
B. 1 2 3
C. 0 1 2 3
D. Lặp vô hạn

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

A. Là một tập hợp các trường (field), mỗi trường có thể có kiểu dữ liệu khác nhau.
B. Là một tập hợp các phần tử cùng kiểu dữ liệu, có thứ tự.
C. Là một tập hợp các cặp khóa-giá trị.
D. Là một tập hợp các ký tự liên tiếp.

54. Phát biểu nào sau đây mô tả đúng nhất về cấu trúc lặp ‘WHILE … DO …’ trong Pascal?

A. Thực hiện khối lệnh lặp lại chừng nào điều kiện kiểm tra còn đúng.
B. Luôn luôn thực hiện khối lệnh ít nhất một lần, sau đó mới kiểm tra điều kiện.
C. Thực hiện khối lệnh đúng một lần duy nhất.
D. Thực hiện khối lệnh lặp lại một số lần xác định trước.

55. Trong Pascal, để nối hai chuỗi ký tự ‘Hello’ và ‘ World’, ta sử dụng toán tử nào?

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

56. Cho đoạn mã Pascal: `a := 5; b := a + 2;`. Sau khi thực hiện, giá trị của biến ‘b’ sẽ là bao nhiêu?

A. 5
B. 7
C. 2
D. Lỗi biên dịch

57. Trong lập trình Pascal, phát biểu nào sau đây mô tả đúng nhất về khái niệm ‘biến’?

A. Một ô nhớ có tên gọi để lưu trữ dữ liệu và giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình.
B. Một địa chỉ cố định trong bộ nhớ chỉ dùng để lưu trữ một giá trị duy nhất.
C. Một phép toán được thực hiện trên các giá trị.
D. Một cấu trúc điều khiển luồng chương trình.

58. Phát biểu nào sau đây mô tả đúng chức năng của câu lệnh ‘Writeln;’ (không có đối số)?

A. In ra một dòng trống (xuống dòng).
B. In ra giá trị 0.
C. In ra một thông báo lỗi.
D. Chương trình sẽ dừng lại.

59. Khi sử dụng câu lệnh ‘Readln(bien_so);’ trong Pascal, chương trình sẽ làm gì?

A. Đọc một giá trị từ bàn phím và gán cho biến ‘bien_so’, sau đó chờ người dùng nhấn Enter.
B. In giá trị của biến ‘bien_so’ ra màn hình.
C. Xóa nội dung của biến ‘bien_so’.
D. Thực hiện phép tính với biến ‘bien_so’.

60. Phát biểu nào sau đây mô tả chính xác về toán tử ” trong Pascal?

A. Toán tử so sánh ‘khác’.
B. Toán tử so sánh ‘bằng’.
C. Toán tử so sánh ‘lớn hơn’.
D. Toán tử so sánh ‘nhỏ hơn’.

61. Xem xét đoạn mã Python: `if ‘a’ < 'b': print('True') else: print('False')`. Đầu ra của đoạn mã này là gì?

A. False
B. True
C. a < b
D. Lỗi

62. Trong Python, câu lệnh nào được sử dụng để thực hiện một hành động lặp đi lặp lại dựa trên một điều kiện đúng?

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

63. Phát biểu nào sau đây là đúng về phạm vi của biến (variable scope) trong Python?

A. Biến toàn cục chỉ có thể truy cập bên trong hàm.
B. Biến cục bộ có thể truy cập từ bất kỳ đâu trong chương trình.
C. Biến được khai báo bên ngoài mọi hàm là biến toàn cục.
D. Biến cục bộ tự động trở thành biến toàn cục khi hàm kết thúc.

64. Xem xét đoạn mã Python: `num_str = ‘123’; num_int = int(num_str)`. Giá trị của `num_int` là gì?

A. ‘123’
B. 123
C. 123.0
D. Lỗi

65. Đâu là cấu trúc điều kiện cơ bản nhất trong Python để thực hiện một khối mã khi một điều kiện là đúng?

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

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

A. Tuple có thể thay đổi sau khi tạo.
B. Tuple không thể thay đổi sau khi tạo.
C. Tuple là một tập hợp các phần tử không có thứ tự.
D. Tuple chỉ chứa các phần tử cùng kiểu dữ liệu.

67. Trong lập trình Python, câu lệnh nào sau đây dùng để khai báo một biến kiểu số nguyên?

A. var x = 10
B. let x = 10
C. x = 10
D. int x = 10

68. Xem xét đoạn mã Python: `x = 10; y = 5; print(x * y)`. Kết quả đầu ra là gì?

A. 15
B. 50
C. 105
D. x * y

69. Xem xét hàm Python sau: `def greet(name): return ‘Hello, ‘ + name`. Lời gọi hàm `greet(‘Alice’)` sẽ trả về giá trị nào?

A. Hello, Alice
B. Alice
C. Hello,
D. greet(‘Alice’)

70. Xem xét đoạn mã Python sau: `print(‘Hello’ + ‘ ‘ + ‘World!’)`. Kết quả đầu ra của đoạn mã này là gì?

A. Hello World!
B. HelloWorld!
C. Hello World!
D. Hello World

71. Phát biểu nào sau đây là đúng về cách khai báo một danh sách (list) trong Python?

A. Được khai báo bằng cặp dấu ngoặc nhọn {}.
B. Được khai báo bằng cặp dấu ngoặc tròn ().
C. Được khai báo bằng cặp dấu ngoặc vuông [].
D. Được khai báo bằng cặp dấu nháy kép “”.

72. Để truy cập giá trị tương ứng với khóa ‘name’ trong một dictionary có tên `my_dict`, bạn sử dụng cú pháp nào?

A. my_dict.get(‘name’)
B. my_dict[‘name’]
C. my_dict(name)
D. my_dict.name

73. Trong Python, cách nào sau đây dùng để nhập dữ liệu từ bàn phím?

A. output()
B. read()
C. input()
D. get()

74. Xem xét danh sách `fruits = [‘apple’, ‘banana’, ‘cherry’]`. Câu lệnh nào sau đây sẽ thêm ‘orange’ vào cuối danh sách?

A. fruits.add(‘orange’)
B. fruits.insert(‘orange’)
C. fruits.append(‘orange’)
D. fruits.push(‘orange’)

75. Phát biểu nào sau đây là đúng về toán tử so sánh trong Python?

A. Toán tử ‘==’ dùng để gán giá trị cho biến.
B. Toán tử ‘>=’ so sánh lớn hơn hoặc bằng.
C. Toán tử ” dùng để kiểm tra bằng nhau.
D. Toán tử ‘!=’ dùng để so sánh lớn hơn.

76. Trong Python, làm thế nào để truy cập phần tử đầu tiên của một danh sách có tên là `my_list`?

A. my_list(0)
B. my_list[1]
C. my_list[0]
D. my_list.first()

77. Trong Python, làm thế nào để tạo một hàm mới?

A. Sử dụng từ khóa `function`.
B. Sử dụng từ khóa `define`.
C. Sử dụng từ khóa `def`.
D. Sử dụng từ khóa `create`.

78. Xem xét đoạn mã Python: `if 5 > 3: print(‘Điều kiện đúng’)`. Đầu ra của đoạn mã này là gì?

A. Không có đầu ra
B. Điều kiện đúng
C. 5 > 3
D. Sai

79. Phát biểu nào sau đây là đúng về cấu trúc `if-elif-else` trong Python?

A. Chỉ có thể có một khối `if` và nhiều khối `else`.
B. Cho phép kiểm tra nhiều điều kiện tuần tự.
C. Tất cả các điều kiện đều được kiểm tra.
D. Chỉ có thể sử dụng `if` và `else`.

80. Xem xét đoạn mã Python sau: `for i in range(3): print(i)`. Kết quả đầu ra của đoạn mã này là gì?

A. 0 1 2
B. 1 2 3
C. 0 1 2 3
D. 3

81. Trong Python, làm thế nào để kiểm tra xem một khóa có tồn tại trong dictionary không?

A. if key in my_dict.values():
B. if key in my_dict:
C. if my_dict.has_key(key):
D. if key exists in my_dict:

82. Xem xét đoạn mã Python: `my_set = {1, 2, 2, 3}`. Phần tử nào sẽ không xuất hiện trong `my_set` sau khi khai báo?

A. 1
B. 2
C. 3
D. Không có phần tử nào bị loại bỏ

83. Phát biểu nào sau đây là đúng về vòng lặp `for` trong Python khi lặp qua một chuỗi?

A. Nó lặp qua các chỉ số của chuỗi.
B. Nó lặp qua từng ký tự của chuỗi.
C. Nó lặp qua độ dài của chuỗi.
D. Nó lặp qua các từ trong chuỗi.

84. Trong Python, hàm `len()` dùng để làm gì?

A. Trả về giá trị tuyệt đối của một số.
B. Trả về độ dài hoặc số lượng phần tử của một đối tượng.
C. Trả về ký tự đầu tiên của một chuỗi.
D. Chuyển đổi một số thành chuỗi.

85. Phát biểu nào sau đây là đúng về hàm `print()` trong Python?

A. Hàm này chỉ có thể in ra văn bản.
B. Hàm này dùng để đọc dữ liệu từ bàn phím.
C. Hàm này dùng để hiển thị thông tin ra màn hình.
D. Hàm này dùng để định nghĩa một hàm mới.

86. Phát biểu nào sau đây là đúng về cách sử dụng toán tử `//` trong Python?

A. Thực hiện phép chia lấy dư.
B. Thực hiện phép chia thông thường và trả về số thập phân.
C. Thực hiện phép chia lấy phần nguyên.
D. Thực hiện phép nhân.

87. Trong Python, làm thế nào để tạo một chuỗi có nhiều dòng?

A. Sử dụng dấu nháy đơn liên tiếp.
B. Sử dụng dấu nháy kép liên tiếp.
C. Sử dụng ba dấu nháy đơn hoặc ba dấu nháy kép.
D. Sử dụng ký tự xuống dòng `
`.

88. Phát biểu nào sau đây là đúng về kiểu dữ liệu boolean trong Python?

A. Chỉ có một giá trị duy nhất là ‘True’.
B. Có hai giá trị là True và False (viết hoa chữ cái đầu).
C. Có hai giá trị là true và false (viết thường).
D. Có thể là bất kỳ số nào.

89. Trong Python, cấu trúc dữ liệu nào được sử dụng để lưu trữ các cặp khóa-giá trị và có thể thay đổi?

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

90. Phát biểu nào sau đây mô tả đúng nhất về kiểu dữ liệu chuỗi (string) trong Python?

A. Là một dãy các ký tự số được bao bởi dấu nháy đơn hoặc nháy kép.
B. Là một dãy các ký tự được bao bởi dấu nháy đơn hoặc nháy kép.
C. Là một dãy các ký tự được bao bởi dấu nháy kép.
D. Là một dãy các ký tự được bao bởi dấu nháy đơn.

91. Trong cấu trúc IF-THEN-ELSE của Pascal, nếu điều kiện là False, thì phần nào của câu lệnh sẽ được thực thi?

A. Khối lệnh sau từ khóa THEN.
B. Khối lệnh sau từ khóa ELSE.
C. Cả hai khối lệnh THEN và ELSE.
D. Không khối lệnh nào được thực thi.

92. Trong Pascal, để kết thúc một khối lệnh hoặc một phần của chương trình, ta sử dụng ký tự nào?

A. :
B. ;
C. .
D. END

93. Phát biểu nào sau đây KHÔNG đúng về việc khai báo mảng một chiều trong Pascal?

A. Khai báo mảng cần xác định kiểu dữ liệu của các phần tử.
B. Khai báo mảng cần xác định phạm vi chỉ số (index) của mảng.
C. Tất cả các phần tử trong mảng phải có cùng kiểu dữ liệu.
D. Mảng trong Pascal có thể có kích thước thay đổi trong quá trình chạy chương trình.

94. Phát biểu nào sau đây mô tả chính xác về kiểu dữ liệu Real trong Pascal?

A. Chỉ lưu trữ được các số nguyên.
B. Lưu trữ các số thực, có thể có phần thập phân.
C. Chỉ lưu trữ được các ký tự.
D. Lưu trữ các giá trị logic True/False.

95. Phát biểu nào sau đây mô tả đúng nhất cách một vòng lặp FOR trong Pascal kết thúc?

A. Khi biến đếm của vòng lặp vượt quá giá trị cuối.
B. Khi một câu lệnh BREAK được gặp.
C. Khi giá trị của biến đếm bằng giá trị đầu.
D. Khi một điều kiện IF bên trong vòng lặp là False.

96. Phát biểu nào sau đây về thủ tục (procedure) và hàm (function) trong Pascal là chính xác?

A. Thủ tục có thể trả về giá trị, hàm thì không.
B. Hàm có thể trả về giá trị, thủ tục thì không.
C. Cả thủ tục và hàm đều không thể trả về giá trị.
D. Cả thủ tục và hàm đều có thể trả về nhiều giá trị.

97. Trong Pascal, nếu biểu thức điều kiện của câu lệnh IF là True, câu lệnh nào sẽ được thực thi?

A. Câu lệnh sau từ khóa ELSE.
B. Câu lệnh sau từ khóa THEN.
C. Câu lệnh ngay sau khối IF.
D. Câu lệnh đầu tiên của chương trình.

98. Câu lệnh REPEAT … UNTIL trong Pascal sẽ lặp lại khối lệnh cho đến khi:

A. Biểu thức điều kiện sau UNTIL là đúng (True).
B. Biểu thức điều kiện sau UNTIL là sai (False).
C. Biểu thức điều kiện sau REPEAT là đúng (True).
D. Biểu thức điều kiện sau REPEAT là sai (False).

99. Trong Pascal, câu lệnh nào dùng để in một chuỗi ký tự ra màn hình và tự động xuống dòng sau đó?

A. Write(‘Chuỗi’);
B. PrintLn(‘Chuỗi’);
C. WriteLn(‘Chuỗi’);
D. Display(‘Chuỗi’);

100. Phát biểu nào sau đây KHÔNG đúng về cách khai báo chương trình trong Pascal?

A. Mỗi chương trình Pascal phải bắt đầu bằng từ khóa PROGRAM.
B. Tên chương trình là tùy chọn và không bắt buộc.
C. Sau tên chương trình có thể có danh sách các đơn vị (units) được sử dụng.
D. Chương trình Pascal kết thúc bằng từ khóa END.

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

A. STRTOCHAR
B. INTTOSTR
C. STR
D. VAL

102. Trong Pascal, khai báo nào sau đây là đúng cho một mảng ký tự có tên ‘chuoi_ky_tu’ chứa tối đa 50 ký tự?

A. VAR chuoi_ky_tu : Array [1..50] of Char;
B. VAR chuoi_ky_tu : String[50];
C. VAR chuoi_ky_tu : Char[50];
D. VAR chuoi_ky_tu : Array of Char[50];

103. Phát biểu nào sau đây về kiểu dữ liệu Char trong Pascal là chính xác nhất?

A. Kiểu Char chỉ lưu trữ được các số từ 0 đến 9.
B. Kiểu Char lưu trữ một ký tự đơn, ví dụ ‘A’, ‘b’, ‘7’.
C. Kiểu Char có thể lưu trữ một chuỗi ký tự.
D. Kiểu Char chỉ lưu trữ được các ký tự in hoa.

104. Trong Pascal, làm thế nào để khai báo một hằng số có tên là PI với giá trị là 3.14159?

A. VAR PI : Real = 3.14159;
B. CONST PI = 3.14159;
C. DEFINE PI = 3.14159;
D. SET PI = 3.14159;

105. Trong Pascal, hàm nào sau đây dùng để trả về độ dài của một chuỗi ký tự?

A. SIZE
B. LENGTH
C. COUNT
D. NUM

106. Phát biểu nào sau đây mô tả đúng nhất về hàm SQR trong Pascal?

A. Trả về căn bậc hai của một số.
B. Trả về giá trị tuyệt đối của một số.
C. Trả về bình phương của một số.
D. Trả về số nguyên gần nhất của một số.

107. Trong ngôn ngữ lập trình Pascal, khai báo biến nào sau đây là hợp lệ để lưu trữ số nguyên tố trong khoảng từ -32768 đến 32767?

A. VAR so_nguyen_to : Real;
B. VAR so_nguyen_to : Byte;
C. VAR so_nguyen_to : Integer;
D. VAR so_nguyen_to : Char;

108. Trong Pascal, từ khóa nào được sử dụng để bắt đầu một khối lệnh?

A. PROGRAM
B. USES
C. VAR
D. BEGIN

109. Giả sử có một mảng số nguyên A với 10 phần tử, được đánh chỉ số từ 1 đến 10. Để truy cập phần tử thứ 5 của mảng A, ta sử dụng cú pháp nào sau đây?

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

110. Xét đoạn mã Pascal: VAR i : Integer; BEGIN FOR i := 1 TO 5 DO Write(i); END. Kết quả in ra màn hình là gì?

A. 1 2 3 4 5
B. 12345
C. 5 4 3 2 1
D. 11111

111. Phát biểu nào sau đây mô tả đúng nhất về cấu trúc CASE trong Pascal?

A. CASE cho phép 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.
B. CASE chỉ có thể sử dụng với các biến kiểu chuỗi.
C. CASE thực hiện lặp lại một khối lệnh nhiều lần.
D. CASE luôn luôn thực hiện một khối lệnh duy nhất.

112. Giả sử ta có đoạn mã Pascal: VAR diem : Integer; BEGIN IF diem > 5 THEN WriteLn(‘Dat’); ELSE WriteLn(‘Truot’); END. Nếu biến ‘diem’ có giá trị là 7, kết quả in ra màn hình là gì?

A. Truot
B. Dat
C. DatTruot
D. Không in gì cả

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

A. Thực hiện một khối lệnh một lần duy nhất.
B. Thực hiện một khối lệnh lặp lại cho đến khi một điều kiện nhất định trở thành sai.
C. Thực hiện một khối lệnh lặp lại một số lần xác định trước.
D. Thực hiện một khối lệnh lặp lại cho đến khi một điều kiện nhất định trở thành đúng.

114. Xét đoạn mã Pascal: VAR s1, s2 : String; BEGIN s1 := ‘Tin’; s2 := ‘Hoc’; WriteLn(s1 + s2); END. Kết quả in ra màn hình là gì?

A. Tin Hoc
B. TinHoc
C. Tin+Hoc
D. Tin Hoc

115. Phát biểu nào sau đây KHÔNG đúng về kiểu dữ liệu Boolean trong Pascal?

A. Kiểu Boolean chỉ nhận hai giá trị là True và False.
B. Kiểu Boolean thường được sử dụng trong các biểu thức điều kiện.
C. Giá trị mặc định của biến kiểu Boolean là False.
D. Kiểu Boolean có thể lưu trữ các ký tự chữ cái.

116. Giả sử ta có đoạn mã Pascal sau: VAR x : Real; BEGIN x := 10 / 4; END. Giá trị của biến x sau khi thực thi đoạn mã này là bao nhiêu?

A. 2
B. 2.0
C. 2.5
D. 2.4

117. Trong Pascal, toán tử nào được sử dụng cho phép toán chia lấy phần nguyên?

A. /
B. DIV
C. %
D. MOD

118. Trong Pascal, để kết thúc một chương trình, ta sử dụng từ khóa nào?

A. START
B. END.
C. FINISH
D. STOP.

119. Phát biểu nào sau đây KHÔNG đúng 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 có thể bắt đầu bằng một chữ số.
C. Tên biến không phân biệt chữ hoa, chữ thường.
D. Biến có kiểu dữ liệu xác định.

120. Trong Pascal, câu lệnh nào sau đây được sử dụng để nhập giá trị từ bàn phím vào biến ‘tuoi’ kiểu Integer?

A. WriteLn(tuoi);
B. Read(tuoi);
C. Print(tuoi);
D. Input(tuoi);

121. Trong lập trình, vòng lặp ‘while’ và ‘repeat … until’ đều là các vòng lặp có điều kiện. Điểm khác biệt quan trọng nhất giữa chúng là gì?

A. While kiểm tra điều kiện trước, Repeat kiểm tra sau.
B. While lặp khi điều kiện sai, Repeat lặp khi điều kiện đúng.
C. While chỉ dùng cho số lần lặp cố định, Repeat dùng cho số lần lặp thay đổi.
D. Không có sự khác biệt về logic thực thi, chỉ khác về cú pháp.

122. Trong ngôn ngữ lập trình Pascal, cấu trúc điều khiển nào được sử dụng để lặp lại một khối lệnh nhiều lần khi biết trước số lần lặp?

A. Cấu trúc lặp For
B. Cấu trúc lặp While
C. Cấu trúc lặp Repeat … Until
D. Cấu trúc rẽ nhánh If … Then … Else

123. Trong Pascal, làm thế nào để vòng lặp ‘While’ thực hiện ít nhất một lần, ngay cả khi điều kiện ban đầu là sai?

A. Sử dụng câu lệnh ‘break’ ngay sau câu lệnh ‘While’.
B. Sử dụng cấu trúc ‘Repeat … Until’ thay thế.
C. Điều chỉnh điều kiện để nó luôn đúng lần đầu.
D. Không thể làm điều đó với vòng lặp ‘While’.

124. Khi sử dụng vòng lặp ‘For’, tại sao không nên thay đổi giá trị của biến đếm bên trong khối lệnh?

A. Việc thay đổi sẽ không ảnh hưởng đến số lần lặp.
B. Nó có thể dẫn đến hành vi không mong muốn, khó dự đoán hoặc thậm chí là vô hạn vòng lặp.
C. Trình biên dịch sẽ báo lỗi.
D. Chỉ có thể thay đổi biến đếm khi sử dụng vòng lặp While.

125. Đoạn mã Pascal sau đây thực hiện phép tính gì?
“`pascal
var x, y: integer;
begin
x := 10;
y := 0;
repeat
x := x – 1;
y := y + x;
until x = 0;
writeln(y);
end.
“`

A. Tính tổng các số tự nhiên từ 1 đến 9.
B. Tính tổng các số tự nhiên từ 1 đến 10.
C. Tính tích các số tự nhiên từ 1 đến 9.
D. Tính tích các số tự nhiên từ 1 đến 10.

126. Trong lập trình Pascal, ‘vô hạn vòng lặp’ (infinite loop) xảy ra khi nào?

A. Khi điều kiện dừng của vòng lặp không bao giờ đạt được.
B. Khi khối lệnh bên trong vòng lặp rỗng.
C. Khi số lần lặp vượt quá giới hạn của kiểu dữ liệu.
D. Khi sử dụng sai cấu trúc lặp.

127. Khi nào thì câu lệnh ‘break’ (hoặc tương đương) là cần thiết trong một vòng lặp có điều kiện?

A. Để đảm bảo vòng lặp chạy đúng số lần quy định.
B. Để thoát khỏi vòng lặp ngay khi một điều kiện đặc biệt được thỏa mãn, thay vì đợi điều kiện lặp chính kết thúc.
C. Để bắt đầu một vòng lặp mới.
D. Để thay đổi giá trị của biến đếm.

128. Khi sử dụng vòng lặp ‘For’ trong Pascal, biến đếm của vòng lặp có thể được sử dụng như thế nào bên trong khối lệnh của vòng lặp?

A. Chỉ có thể đọc giá trị của biến đếm.
B. Có thể đọc và thay đổi giá trị của biến đếm.
C. Không được phép sử dụng biến đếm bên trong khối lệnh.
D. Chỉ có thể gán giá trị mới cho biến đếm.

129. Xét đoạn mã Pascal sau:
“`pascal
var i: integer;
begin
for i := 1 to 3 do
begin
if i mod 2 = 0 then
writeln(‘Chan’)
else
writeln(‘Le’);
end;
end.
“`
Kết quả đầu ra của chương trình này là gì?

A. Le Chan Le
B. Chan Le Chan
C. Le Le Le
D. Chan Chan Chan

130. Xét đoạn mã Pascal sau:
“`pascal
var i: integer;
begin
for i := 1 to 5 do
writeln(i);
end.
“`
Chương trình này sẽ in ra những số nào?

A. 1 2 3 4 5
B. 1 2 3 4
C. 0 1 2 3 4 5
D. 5 4 3 2 1

131. Trong Pascal, câu lệnh ‘break’ (nếu được hỗ trợ) sẽ làm gì khi được gọi bên trong vòng lặp ‘For’?

A. Dừng vòng lặp ‘For’ và tiếp tục thực thi các lệnh sau vòng lặp.
B. Chuyển sang lần lặp tiếp theo của vòng lặp ‘For’.
C. Thực hiện lại khối lệnh của vòng lặp ‘For’ ngay lập tức.
D. Báo lỗi cú pháp.

132. Trong ngôn ngữ Pascal, câu lệnh ‘Repeat … Until’ khác biệt cơ bản với ‘While … Do’ ở điểm nào?

A. ‘Repeat … Until’ kiểm tra điều kiện trước khi thực hiện lệnh, còn ‘While … Do’ kiểm tra sau.
B. ‘Repeat … Until’ đảm bảo khối lệnh được thực hiện ít nhất một lần, còn ‘While … Do’ thì không.
C. ‘Repeat … Until’ lặp khi điều kiện đúng, còn ‘While … Do’ lặp khi điều kiện sai.
D. Cả hai câu lệnh đều có chức năng tương đương và có thể thay thế cho nhau trong mọi trường hợp.

133. Để thực hiện một hành động lặp lại N lần, với N là một giá trị xác định, cấu trúc lặp nào sau đây là hiệu quả và rõ ràng nhất trong Pascal?

A. While … Do
B. Repeat … Until
C. For … To … Do
D. If … Then … Else

134. Phát biểu nào sau đây là đúng về vòng lặp ‘While … Do’ khi điều kiện ban đầu đã sai?

A. Khối lệnh bên trong sẽ được thực thi đúng một lần.
B. Khối lệnh bên trong sẽ không được thực thi lần nào.
C. Chương trình sẽ bị treo.
D. Khối lệnh bên trong sẽ được thực thi vô hạn.

135. Xét đoạn mã Pascal sau:
“`pascal
var count: integer;
begin
count := 0;
while count < 3 do
begin
writeln('Hello');
count := count + 1;
end;
end.
“`
Chương trình này sẽ in ra màn hình bao nhiêu lần chữ 'Hello'?

A. 2 lần
B. 3 lần
C. 4 lần
D. Vô hạn lần

136. Phát biểu nào mô tả đúng nhất mục đích của việc sử dụng các cấu trúc lặp trong lập trình?

A. Để thực hiện một lệnh duy nhất nhiều lần.
B. Để phân nhánh chương trình dựa trên điều kiện.
C. Để tự động hóa các tác vụ lặp đi lặp lại, tránh viết mã trùng lặp.
D. Để khai báo biến.

137. Trong Pascal, câu lệnh ‘For i := 10 downto 1 do’ có ý nghĩa gì?

A. Lặp từ 1 đến 10, mỗi lần tăng 1.
B. Lặp từ 10 đến 1, mỗi lần giảm 1.
C. Lặp từ 1 đến 10, mỗi lần tăng 2.
D. Lặp từ 10 đến 1, mỗi lần tăng 1.

138. Phát biểu nào sau đây mô tả đúng nhất chức năng của câu lệnh ‘While … Do’ trong Pascal?

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. Thực hiện khối lệnh cho đến khi điều kiện sai.
C. Thực hiện khối lệnh khi điều kiện còn đúng.
D. Thực hiện khối lệnh một số lần xác định trước.

139. Đoạn mã Pascal nào sau đây sẽ thực hiện in ra các số từ 10 đến 1?

A. for i := 1 to 10 do writeln(i);
B. i := 10; while i >= 1 do begin writeln(i); i := i – 1; end;
C. i := 10; repeat writeln(i); i := i + 1; until i > 10;
D. for i := 10 downto 1 do writeln(i);

140. Trong Pascal, câu lệnh ‘Continue’ (nếu có hỗ trợ) có chức năng gì trong vòng lặp?

A. Thoát hoàn toàn khỏi vòng lặp.
B. Bỏ qua phần còn lại của lần lặp hiện tại và chuyển sang lần lặp tiếp theo.
C. Thực hiện lại khối lệnh ngay lập tức.
D. Nhảy đến một câu lệnh cụ thể sau vòng lặp.

141. Trong Pascal, làm thế nào để thoát khỏi một vòng lặp ‘While’ hoặc ‘Repeat’ ngay lập tức, bất kể điều kiện lặp là gì?

A. Sử dụng câu lệnh ‘Break’.
B. Sử dụng câu lệnh ‘Continue’.
C. Sử dụng câu lệnh ‘Exit’.
D. Sử dụng câu lệnh ‘goto’ đến một nhãn sau vòng lặp.

142. Trong các cấu trúc lặp sau, cấu trúc nào thường được ưu tiên sử dụng khi ta cần thực hiện một hành động cho đến khi một điều kiện nào đó được thỏa mãn, mà không chắc chắn bao giờ điều kiện đó sẽ xảy ra?

A. For … To … Do
B. While … Do
C. Repeat … Until
D. Tất cả các cấu trúc trên đều có thể sử dụng được.

143. Câu lệnh nào trong Pascal được dùng để thực hiện một khối lệnh N lần, với N là một giá trị đã biết trước?

A. While … Do
B. Repeat … Until
C. For … To … Do
D. If … Then

144. Xét đoạn mã Pascal sau:
“`pascal
var count: integer;
begin
count := 0;
repeat
writeln(‘Tick’);
count := count + 1;
until count = 3;
end.
“`
Chương trình này sẽ in ra màn hình bao nhiêu lần chữ ‘Tick’?

A. 2 lần
B. 3 lần
C. 4 lần
D. Vô hạn lần

145. Phát biểu nào sau đây là đúng về cấu trúc lặp ‘Repeat … Until’?

A. Luôn thực hiện khối lệnh ít nhất một lần.
B. Chỉ thực hiện khối lệnh khi điều kiện ban đầu là sai.
C. Điều kiện dừng được kiểm tra trước khi thực hiện lệnh.
D. Khối lệnh được thực hiện cho đến khi điều kiện là đúng.

146. Đoạn mã Pascal sau đây sẽ in ra kết quả gì?
“`pascal
var x: integer;
begin
x := 5;
while x > 0 do
begin
writeln(x);
x := x – 2;
end;
end.
“`

A. 5 3 1
B. 5 3 1 -1
C. 4 2 0
D. 5 4 3 2 1

147. Phát biểu nào sau đây là sai về vòng lặp ‘For’ trong Pascal?

A. Biến đếm của vòng lặp ‘For’ là một biến cục bộ chỉ tồn tại trong vòng lặp.
B. Vòng lặp ‘For’ thực hiện khối lệnh một số lần xác định trước.
C. Có thể sử dụng ‘For … downto … Do’ để lặp với biến đếm giảm dần.
D. Vòng lặp ‘For’ sẽ không bao giờ rơi vào tình trạng vô hạn.

148. Đoạn mã Pascal sau sử dụng cấu trúc lặp nào để tính tổng của dãy số chẵn từ 2 đến 10?
“`pascal
var i, sum: integer;
begin
sum := 0;
i := 2;
while i <= 10 do
begin
sum := sum + i;
i := i + 2;
end;
writeln(sum);
end.
“`

A. Cấu trúc lặp For
B. Cấu trúc lặp While
C. Cấu trúc lặp Repeat … Until
D. Cấu trúc rẽ nhánh If … Then

149. Trong cấu trúc lặp ‘Repeat … Until’, điều kiện dừng được kiểm tra sau mỗi lần thực hiện khối lệnh. Điều này có nghĩa là gì đối với lần lặp đầu tiên?

A. Lần lặp đầu tiên sẽ không bao giờ xảy ra.
B. Lần lặp đầu tiên sẽ xảy ra bất kể điều kiện là gì.
C. Lần lặp đầu tiên chỉ xảy ra nếu điều kiện ban đầu là đúng.
D. Lần lặp đầu tiên sẽ bị bỏ qua.

150. Xét đoạn mã Pascal sau:
“`pascal
var i: integer;
begin
i := 0;
repeat
i := i + 5;
writeln(i);
until i >= 10;
end.
“`
Kết quả đầu ra của chương trình này là gì?

A. 5 10
B. 5 10 15
C. 0 5 10
D. 5

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ỉ: Hồ Chí Minh, Việt Nam

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

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

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

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.

Social

  • X
  • LinkedIn
  • Flickr
  • YouTube
  • Pinterest
Copyright © 2026 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é.