1. Khi bạn sử dụng công cụ tìm kiếm trên mạng để tìm kiếm thông tin, bạn đang tương tác với một hệ thống dựa trên các thuật toán tìm kiếm. Thuật toán này cần có những đặc điểm gì để mang lại kết quả phù hợp?
A. Tính phức tạp và khó hiểu.
B. Tính dừng và tính rõ ràng.
C. Tính tổng quát và tính hiệu quả.
D. Tính đúng đắn và tính hiệu quả.
2. Điều gì xảy ra nếu một thuật toán thiếu tính đúng đắn?
A. Thuật toán sẽ chạy vô hạn.
B. Thuật toán sẽ không bao giờ kết thúc.
C. Thuật toán có thể đưa ra kết quả sai.
D. Thuật toán sẽ không thể bắt đầu.
3. Thuật toán tìm kiếm tuyến tính (linear search) để tìm một phần tử trong danh sách có đặc điểm gì?
A. Nó luôn đảm bảo tìm thấy phần tử nhanh nhất.
B. Nó kiểm tra từng phần tử của danh sách theo thứ tự.
C. Nó yêu cầu danh sách phải được sắp xếp.
D. Nó chỉ hoạt động với các số.
4. Yếu tố nào của thuật toán liên quan đến việc thực hiện thuật toán với ít tài nguyên (thời gian, bộ nhớ) nhất có thể?
A. Tính dừng.
B. Tính rõ ràng.
C. Tính hiệu quả.
D. Tính tổng quát.
5. Nếu một thuật toán có tính tổng quát, điều đó có nghĩa là nó:
A. Luôn đưa ra kết quả đúng.
B. Hoạt động hiệu quả trên mọi máy tính.
C. Có thể áp dụng cho nhiều trường hợp hoặc tập dữ liệu khác nhau.
D. Luôn thực hiện ít bước nhất có thể.
6. Khi mô tả một thuật toán để tìm số lớn nhất trong ba số a, b, c, bước So sánh a với b là một ví dụ cho tính chất nào của thuật toán?
A. Tính dừng.
B. Tính đúng đắn.
C. Tính rõ ràng.
D. Tính hiệu quả.
7. Trong bài toán tìm đường đi ngắn nhất từ điểm A đến điểm B trên bản đồ, thuật toán Dijkstra là một ví dụ về:
A. Một thuật toán tìm kiếm.
B. Một thuật toán sắp xếp.
C. Một thuật toán giải quyết bài toán tối ưu.
D. Một thuật toán xử lý chuỗi.
8. Thuật toán tìm kiếm nhị phân (binary search) để tìm một phần tử trong danh sách đã sắp xếp hiệu quả hơn tìm kiếm tuyến tính vì nó:
A. Kiểm tra mọi phần tử.
B. Chia đôi phạm vi tìm kiếm ở mỗi bước.
C. Không yêu cầu danh sách phải sắp xếp.
D. Luôn tìm thấy phần tử ở lần kiểm tra đầu tiên.
9. Trong các bước sau đây để pha một ly trà đá, bước nào thể hiện tính rõ ràng của một thuật toán?
A. Cho nước vào cốc.
B. Thêm đá.
C. Đổ nước sôi vào phin có đặt sẵn trà.
D. Chờ cho trà ngấm.
10. Nếu một thuật toán được mô tả bằng mã giả, đó là hình thức biểu diễn nào?
A. Ngôn ngữ tự nhiên.
B. Sơ đồ khối.
C. Mã máy.
D. Mã giả.
11. Yếu tố nào của thuật toán liên quan đến việc đảm bảo rằng thuật toán sẽ đưa ra kết quả chính xác cho mọi đầu vào hợp lệ?
A. Tính dừng.
B. Tính rõ ràng.
C. Tính hiệu quả.
D. Tính đúng đắn.
12. Nếu một thuật toán có tính dừng, điều này có nghĩa là gì?
A. Thuật toán sẽ luôn cho ra kết quả đúng.
B. Mỗi bước trong thuật toán đều được xác định rõ ràng.
C. Thuật toán sẽ kết thúc sau một số hữu hạn các bước.
D. Thuật toán có thể áp dụng cho nhiều loại dữ liệu khác nhau.
13. Đâu là một ví dụ về một bước KHÔNG rõ ràng trong mô tả thuật toán?
A. Nhập hai số nguyên từ bàn phím.
B. Tính tổng của hai số đó.
C. Nếu tổng lớn hơn 100 thì làm gì đó.
D. Làm cho nó tốt hơn.
14. Một thuật toán có thể được biểu diễn bằng những cách nào sau đây?
A. Chỉ bằng ngôn ngữ tự nhiên.
B. Chỉ bằng mã máy tính.
C. Bằng ngôn ngữ tự nhiên, sơ đồ khối hoặc mã giả.
D. Chỉ bằng sơ đồ khối.
15. Đâu là một ví dụ về bài toán có thể giải quyết bằng thuật toán?
A. Cảm nhận vẻ đẹp của một bức tranh.
B. Tìm đường đi ngắn nhất giữa hai thành phố.
C. Hiểu ý nghĩa của một bài thơ.
D. Ước lượng mức độ hạnh phúc.
16. Thuật toán sắp xếp nổi bọt (bubble sort) hoạt động dựa trên nguyên tắc nào?
A. Chia danh sách thành hai nửa và sắp xếp đệ quy.
B. So sánh và hoán đổi các cặp phần tử liền kề nếu chúng sai thứ tự.
C. Tìm phần tử nhỏ nhất và đặt nó vào vị trí đầu tiên.
D. Sử dụng một cấu trúc dữ liệu trung gian để lưu trữ.
17. Thuật toán Euclid để tìm ước số chung lớn nhất (ƯCLN) của hai số nguyên dương là một ví dụ điển hình về việc sử dụng phép toán nào lặp đi lặp lại?
A. Phép nhân.
B. Phép chia lấy dư (phép modulo).
C. Phép cộng.
D. Phép trừ.
18. Thuật toán để nấu một món ăn theo công thức có thể coi là một ví dụ minh họa cho khái niệm thuật toán vì nó bao gồm:
A. Một danh sách các nguyên liệu.
B. Một tập hợp các bước thực hiện theo trình tự.
C. Hình ảnh minh họa món ăn sau khi hoàn thành.
D. Thời gian nấu dự kiến.
19. Khi mô tả thuật toán sắp xếp, mục tiêu chính là gì?
A. Đảo lộn thứ tự các phần tử.
B. Tạo ra một danh sách mới.
C. Sắp xếp các phần tử theo một thứ tự xác định (tăng dần hoặc giảm dần).
D. Đếm số lượng phần tử trong danh sách.
20. Nếu một thuật toán được biểu diễn bằng sơ đồ khối, nó sử dụng các ký hiệu hình học để đại diện cho các bước. Bước Nhập dữ liệu thường được biểu diễn bằng hình gì?
A. Hình chữ nhật.
B. Hình thoi.
C. Hình bình hành.
D. Hình oval.
21. Một thuật toán cần phải có tính chất gì để đảm bảo rằng nó sẽ kết thúc sau một số hữu hạn các bước và đưa ra kết quả cuối cùng?
A. Tính hiệu quả.
B. Tính dừng.
C. Tính tổng quát.
D. Tính đúng đắn.
22. Theo định nghĩa phổ biến, thuật toán là một dãy hữu hạn các thao tác cần thực hiện, theo một trình tự nhất định, để giải quyết một bài toán hoặc đạt được một mục tiêu cụ thể. Yếu tố nào sau đây KHÔNG phải là đặc điểm bắt buộc của một thuật toán?
A. Tính dừng (hữu hạn bước).
B. Tính đúng đắn (cho ra kết quả đúng).
C. Tính rõ ràng (mỗi thao tác là xác định).
D. Tính phức tạp (khó hiểu và thực hiện).
23. Trong việc mô tả thuật toán, mã giả (pseudocode) được sử dụng vì lý do gì?
A. Để làm cho thuật toán trông chuyên nghiệp hơn.
B. Để đảm bảo thuật toán chỉ chạy được trên một ngôn ngữ lập trình cụ thể.
C. Để mô tả các bước một cách rõ ràng, dễ hiểu, độc lập với ngôn ngữ lập trình.
D. Để giảm thiểu số lượng bước trong thuật toán.
24. Đâu KHÔNG phải là một định nghĩa chính xác về thuật toán?
A. Một quy trình các bước để giải quyết vấn đề.
B. Một tập hợp hữu hạn các chỉ dẫn rõ ràng.
C. Một công thức toán học phức tạp.
D. Một phương pháp để đạt được mục tiêu.
25. Khi bạn được yêu cầu mô tả cách gấp một chiếc máy bay giấy, bạn sẽ tạo ra một loại thuật toán cho hành động đó. Tính chất nào của thuật toán là quan trọng nhất để người khác có thể làm theo chính xác?
A. Tính hiệu quả.
B. Tính dừng.
C. Tính rõ ràng.
D. Tính tổng quát.