Đề 2 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Cơ sở lập trình

Đề 2 - Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

1. Phạm vi (scope) của biến 'local′ là gì?

A. Toàn bộ chương trình.
B. Chỉ trong hàm hoặc khối lệnh mà nó được khai báo.
C. Chỉ trong các hàm gọi hàm chứa biến đó.
D. Trong tất cả các module của chương trình.

2. Phép toán 'modulo′ (%) trong lập trình thường được dùng để làm gì?

A. Tính tổng của hai số.
B. Tính thương của phép chia hai số.
C. Tính phần dư của phép chia hai số nguyên.
D. Tính lũy thừa của một số.

3. Đệ quy (recursion) trong lập trình là gì?

A. Một loại vòng lặp vô hạn.
B. Một hàm tự gọi chính nó.
C. Một cách để xử lý lỗi trong chương trình.
D. Một kỹ thuật tối ưu hóa bộ nhớ.

4. Tại sao việc viết chú thích (comments) trong mã nguồn lại quan trọng?

A. Để tăng tốc độ biên dịch chương trình.
B. Để làm cho mã nguồn chạy nhanh hơn.
C. Để giải thích mã nguồn, giúp người khác (và chính mình sau này) hiểu rõ hơn.
D. Để bảo vệ mã nguồn khỏi bị sao chép.

5. Thuật toán tìm kiếm 'Linear Search′ hoạt động như thế nào?

A. Tìm kiếm phần tử ở giữa mảng trước.
B. Duyệt tuần tự qua từng phần tử của mảng từ đầu đến cuối.
C. Chia mảng thành hai phần và tìm kiếm trong từng phần.
D. Sử dụng chỉ số để truy cập trực tiếp phần tử cần tìm.

6. Trong lập trình hướng đối tượng, khái niệm 'class′ (lớp) dùng để làm gì?

A. Lưu trữ dữ liệu tạm thời.
B. Định nghĩa khuôn mẫu cho các đối tượng, bao gồm thuộc tính và phương thức.
C. Điều khiển luồng thực thi của chương trình.
D. Quản lý bộ nhớ.

7. Hệ thống quản lý phiên bản (version control) như Git dùng để làm gì?

A. Tăng tốc độ biên dịch mã nguồn.
B. Theo dõi và quản lý các thay đổi của mã nguồn theo thời gian.
C. Bảo vệ mã nguồn khỏi virus.
D. Tự động viết mã chương trình.

8. Tính mô đun (modularity) trong lập trình là gì?

A. Viết mã chương trình theo phong cách hướng đối tượng.
B. Chia chương trình thành các phần độc lập, có chức năng rõ ràng.
C. Sử dụng các biến toàn cục để chia sẻ dữ liệu.
D. Tối ưu hóa mã nguồn cho hiệu suất cao nhất.

9. Hàm (function) trong lập trình có vai trò chính là gì?

A. Quản lý bộ nhớ của chương trình.
B. Tổ chức mã nguồn thành các khối độc lập, tái sử dụng.
C. Tăng tốc độ thực thi của chương trình.
D. Kiểm soát quyền truy cập vào dữ liệu.

10. Thuật toán trong lập trình được định nghĩa chính xác nhất là gì?

A. Một đoạn mã chương trình cụ thể viết bằng ngôn ngữ lập trình.
B. Một phương pháp từng bước để giải quyết một vấn đề cụ thể.
C. Một công cụ để kiểm tra và sửa lỗi trong chương trình.
D. Một loại dữ liệu đặc biệt được sử dụng để lưu trữ thông tin.

11. Vòng lặp 'for′ thường được sử dụng khi nào?

A. Khi số lần lặp không xác định trước.
B. Khi cần lặp lại vô hạn lần.
C. Khi biết trước số lần lặp cần thực hiện.
D. Khi cần kiểm tra một điều kiện trước mỗi lần lặp.

12. Mục đích chính của mã giả (pseudocode) và lưu đồ (flowchart) là gì?

A. Để viết mã chương trình nhanh hơn.
B. Để mô tả thuật toán một cách dễ hiểu, độc lập với ngôn ngữ lập trình cụ thể.
C. Để kiểm tra lỗi cú pháp trước khi biên dịch.
D. Để tối ưu hóa mã nguồn chương trình.

13. Cấu trúc điều khiển 'if-else′ được sử dụng để làm gì trong lập trình?

A. Lặp lại một khối lệnh nhiều lần.
B. Xử lý các ngoại lệ và lỗi trong chương trình.
C. Thực hiện một khối lệnh dựa trên điều kiện đúng hoặc sai.
D. Định nghĩa và gọi các hàm.

14. Điểm khác biệt chính giữa Stack và Queue là gì?

A. Stack truy cập phần tử ngẫu nhiên, Queue chỉ truy cập tuần tự.
B. Stack là LIFO (Last In, First Out), Queue là FIFO (First In, First Out).
C. Stack dùng cho quản lý bộ nhớ, Queue dùng cho truyền dữ liệu.
D. Stack chỉ lưu số, Queue chỉ lưu chuỗi.

15. Độ phức tạp thời gian (time complexity) của thuật toán dùng để đánh giá điều gì?

A. Lượng bộ nhớ mà thuật toán sử dụng.
B. Thời gian thực thi của thuật toán trên một máy tính cụ thể.
C. Sự tăng lên về thời gian thực thi khi kích thước đầu vào tăng.
D. Độ khó hiểu của mã nguồn thuật toán.

16. Lỗi 'cú pháp′ (syntax error) thường xảy ra khi nào?

A. Khi chương trình chạy và gặp lỗi logic.
B. Khi mã nguồn vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình.
C. Khi chương trình cố gắng truy cập bộ nhớ không hợp lệ.
D. Khi kết quả chương trình không đúng như mong đợi.

17. Dữ liệu trong máy tính thường được biểu diễn ở dạng nào ở mức cơ bản nhất?

A. Dạng số thập phân.
B. Dạng chữ cái.
C. Dạng nhị phân (0 và 1).
D. Dạng hình ảnh.

18. API (Application Programming Interface) là gì trong ngữ cảnh lập trình?

A. Một loại ngôn ngữ lập trình mới.
B. Một tập hợp các quy tắc và giao thức cho phép các ứng dụng phần mềm giao tiếp với nhau.
C. Một công cụ để bảo mật dữ liệu.
D. Một phương pháp để tối ưu hóa hiệu suất chương trình.

19. Trong lập trình, biến (variable) được sử dụng với mục đích chính nào?

A. Để thực hiện các phép toán số học phức tạp.
B. Để lưu trữ và quản lý dữ liệu trong quá trình thực thi chương trình.
C. Để điều khiển luồng thực thi của chương trình.
D. Để định nghĩa các hàm và thủ tục.

20. Kiểm thử (testing) phần mềm có mục đích chính là gì?

A. Chứng minh rằng chương trình không có lỗi.
B. Tìm và sửa lỗi trong chương trình trước khi phát hành.
C. Tăng tốc độ thực thi của chương trình.
D. Làm cho giao diện người dùng đẹp hơn.

21. Thuật toán sắp xếp 'Bubble Sort′ hoạt động dựa trên nguyên tắc nào?

A. Chia mảng thành các phần nhỏ và sắp xếp từng phần.
B. So sánh các cặp phần tử liền kề và đổi chỗ nếu chúng không đúng thứ tự.
C. Chọn phần tử nhỏ nhất và đưa về đầu mảng.
D. Sử dụng cây nhị phân để sắp xếp.

22. Quản lý bộ nhớ (memory management) trong lập trình có vai trò gì?

A. Tối ưu tốc độ truy cập dữ liệu từ ổ cứng.
B. Cấp phát và thu hồi bộ nhớ cho chương trình trong quá trình chạy.
C. Bảo vệ dữ liệu khỏi truy cập trái phép.
D. Quản lý kết nối mạng cho ứng dụng.

23. Tính trừu tượng (abstraction) trong lập trình giúp ích gì?

A. Giảm kích thước mã nguồn chương trình.
B. Ẩn đi các chi tiết phức tạp, chỉ tập trung vào các khái niệm mức cao.
C. Tăng tốc độ thực thi chương trình.
D. Bảo vệ mã nguồn khỏi bị sửa đổi.

24. Mảng (array) là một cấu trúc dữ liệu dùng để làm gì?

A. Lưu trữ dữ liệu theo dạng cây phân cấp.
B. Lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu theo thứ tự.
C. Lưu trữ dữ liệu dạng khóa-giá trị.
D. Quản lý các kết nối mạng.

25. Gỡ lỗi (debugging) trong lập trình là quá trình làm gì?

A. Viết tài liệu hướng dẫn sử dụng chương trình.
B. Kiểm tra và loại bỏ lỗi trong mã nguồn chương trình.
C. Thiết kế giao diện người dùng cho chương trình.
D. Biên dịch mã nguồn thành mã máy.

26. Kiểu dữ liệu 'boolean′ thường được sử dụng để biểu diễn giá trị nào?

A. Số nguyên.
B. Số thực.
C. Chuỗi ký tự.
D. Giá trị logic đúng hoặc sai.

27. Ngôn ngữ lập trình 'biên dịch′ (compiled) khác với 'thông dịch′ (interpreted) chủ yếu ở điểm nào?

A. Ngôn ngữ biên dịch chạy chậm hơn ngôn ngữ thông dịch.
B. Ngôn ngữ biên dịch cần biên dịch toàn bộ mã nguồn trước khi chạy, ngôn ngữ thông dịch dịch và thực thi từng dòng lệnh.
C. Ngôn ngữ biên dịch dễ học hơn ngôn ngữ thông dịch.
D. Ngôn ngữ biên dịch chỉ dùng cho ứng dụng web, ngôn ngữ thông dịch cho ứng dụng desktop.

28. Phân tách (decomposition) vấn đề trong lập trình có nghĩa là gì?

A. Viết mã chương trình nhanh nhất có thể.
B. Chia một vấn đề lớn thành các vấn đề nhỏ, dễ quản lý hơn.
C. Tìm ra lỗi và sửa chúng trong chương trình.
D. Tối ưu hóa hiệu suất của chương trình.

29. IDE (Integrated Development Environment) cung cấp công cụ chính nào cho lập trình viên?

A. Chỉ cung cấp trình soạn thảo văn bản.
B. Soạn thảo mã, biên dịch∕thông dịch, gỡ lỗi, và quản lý dự án.
C. Chỉ hỗ trợ biên dịch mã nguồn.
D. Chỉ dùng để thiết kế giao diện người dùng.

30. Thao tác 'input∕output′ (I∕O) trong lập trình liên quan đến việc gì?

A. Xử lý dữ liệu trong bộ nhớ.
B. Giao tiếp giữa chương trình với thế giới bên ngoài (ví dụ: người dùng, tập tin).
C. Thực hiện các phép tính toán học.
D. Quản lý vòng đời của đối tượng.

1 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

1. Phạm vi (scope) của biến `local′ là gì?

2 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

2. Phép toán `modulo′ (%) trong lập trình thường được dùng để làm gì?

3 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

3. Đệ quy (recursion) trong lập trình là gì?

4 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

4. Tại sao việc viết chú thích (comments) trong mã nguồn lại quan trọng?

5 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

5. Thuật toán tìm kiếm `Linear Search′ hoạt động như thế nào?

6 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

6. Trong lập trình hướng đối tượng, khái niệm `class′ (lớp) dùng để làm gì?

7 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

7. Hệ thống quản lý phiên bản (version control) như Git dùng để làm gì?

8 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

8. Tính mô đun (modularity) trong lập trình là gì?

9 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

9. Hàm (function) trong lập trình có vai trò chính là gì?

10 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

10. Thuật toán trong lập trình được định nghĩa chính xác nhất là gì?

11 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

11. Vòng lặp `for′ thường được sử dụng khi nào?

12 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

12. Mục đích chính của mã giả (pseudocode) và lưu đồ (flowchart) là gì?

13 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

13. Cấu trúc điều khiển `if-else′ được sử dụng để làm gì trong lập trình?

14 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

14. Điểm khác biệt chính giữa Stack và Queue là gì?

15 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

15. Độ phức tạp thời gian (time complexity) của thuật toán dùng để đánh giá điều gì?

16 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

16. Lỗi `cú pháp′ (syntax error) thường xảy ra khi nào?

17 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

17. Dữ liệu trong máy tính thường được biểu diễn ở dạng nào ở mức cơ bản nhất?

18 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

18. API (Application Programming Interface) là gì trong ngữ cảnh lập trình?

19 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

19. Trong lập trình, biến (variable) được sử dụng với mục đích chính nào?

20 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

20. Kiểm thử (testing) phần mềm có mục đích chính là gì?

21 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

21. Thuật toán sắp xếp `Bubble Sort′ hoạt động dựa trên nguyên tắc nào?

22 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

22. Quản lý bộ nhớ (memory management) trong lập trình có vai trò gì?

23 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

23. Tính trừu tượng (abstraction) trong lập trình giúp ích gì?

24 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

24. Mảng (array) là một cấu trúc dữ liệu dùng để làm gì?

25 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

25. Gỡ lỗi (debugging) trong lập trình là quá trình làm gì?

26 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

26. Kiểu dữ liệu `boolean′ thường được sử dụng để biểu diễn giá trị nào?

27 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

27. Ngôn ngữ lập trình `biên dịch′ (compiled) khác với `thông dịch′ (interpreted) chủ yếu ở điểm nào?

28 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

28. Phân tách (decomposition) vấn đề trong lập trình có nghĩa là gì?

29 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

29. IDE (Integrated Development Environment) cung cấp công cụ chính nào cho lập trình viên?

30 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 2

30. Thao tác `input∕output′ (I∕O) trong lập trình liên quan đến việc gì?