Tất Cả Khoá Học
Khoá Học
Học Qua Video
Học Qua Video + Group Zalo
Hướng Dẫn Làm Project
Học Qua Zoom / Meeting
Frontend
Học HTML5 - CSS3
Học Bootstrap
Học JS
Học JQuery
AngularJS
ReactJS
Java
Java Basic
Java Advanced
JSP Servlet
Java Web + EJB (EAD)
Java Web + WebService
Java Web + EA
Spring MVC
Mobile
Lập Trình Android Java
Lập Trình Flutter
CSDL
SQL Server/MySQL
Khác
Lập Trình C
C Sharp
Học PHP
Học Laravel
Git/Github
Trắc Nghiệm Tools
Blog
Quiz
Nhận Dự Án
Liên Hệ
Đăng nhập
QL - Bài Tập & Khoá Học
Tiếp Thị Liên Kết
Thoát
Light
Dark
Auto
Menu
Trắc Nghiệm
Máy tính và xã hội tri thức
Mạng máy tính và internet
Đạo đức, pháp luật và văn hóa trong môi trường số
Giải quyết vấn đề với sự trợ giúp của máy tính
Hướng nghiệp với tin học
Tổng câu hỏi trong bộ đề
Giải quyết vấn đề với sự trợ giúp của máy tính
Previous
Next
Câu hỏi 1: Khi giải quyết một vấn đề bằng máy tính, bước đầu tiên quan trọng nhất là gì?
A: Thiết kế giải thuật
B: Phân tích và hiểu rõ vấn đề
C: Viết mã nguồn
D: Kiểm thử chương trình
Đáp án: B
Câu hỏi 2: Thuật toán được hiểu là gì trong quá trình giải quyết vấn đề bằng máy tính?
A: Một đoạn mã nguồn
B: Một bước xử lý dữ liệu ngẫu nhiên
C: Một chuỗi các bước cụ thể, tuần tự và có giới hạn để giải quyết vấn đề
D: Một biểu đồ mô tả hệ thống
Đáp án: C
Câu hỏi 3: Đặc điểm quan trọng nhất của thuật toán là gì?
A: Tính chính xác, rõ ràng, và có kết thúc
B: Độ dài mã nguồn
C: Độ khó của bài toán
D: Số lần lặp vô hạn
Đáp án: A
Câu hỏi 4: Biểu diễn thuật toán nào sau đây giúp thể hiện rõ cấu trúc điều kiện và lặp?
A: Sơ đồ khối (flowchart)
B: Bảng tính Excel
C: Tài liệu Word
D: Mô tả bằng lời
Đáp án: A
Câu hỏi 5: Khi nào cần sử dụng vòng lặp trong giải thuật?
A: Khi cần thực hiện một hành động nhiều lần cho đến khi đạt điều kiện
B: Khi xử lý dữ liệu duy nhất
C: Khi mô tả ý tưởng
D: Khi nhập dữ liệu từ bàn phím
Đáp án: A
Câu hỏi 6: Khái niệm “đệ quy” trong giải thuật là gì?
A: Hàm gọi chính nó với dữ liệu đầu vào giảm dần để giải quyết bài toán
B: Một vòng lặp vô hạn
C: Một biến tạm thời
D: Một kiểu dữ liệu đặc biệt
Đáp án: A
Câu hỏi 7: Khi giải quyết vấn đề bằng máy tính, việc lựa chọn cấu trúc dữ liệu phù hợp có vai trò như thế nào?
A: Giúp tối ưu thời gian và bộ nhớ xử lý
B: Không quan trọng
C: Chỉ dùng để trình bày dữ liệu
D: Làm chương trình khó đọc
Đáp án: A
Câu hỏi 8: Trong bước “phân tích vấn đề”, cần thực hiện những công việc nào?
A: Hiểu yêu cầu, xác định dữ liệu đầu vào, kết quả đầu ra và các ràng buộc
B: Viết code ngay lập tức
C: Chạy chương trình thử
D: Lập báo cáo kết quả
Đáp án: A
Câu hỏi 9: Phương pháp giải quyết vấn đề nào dựa trên nguyên tắc “chia để trị”?
A: Chia nhỏ bài toán thành các phần con độc lập, giải từng phần rồi ghép kết quả
B: Lặp vô hạn
C: Tăng dần kích thước dữ liệu
D: Tham lam
Đáp án: A
Câu hỏi 10: Một thuật toán có thời gian thực thi tăng nhanh theo cấp số nhân khi kích thước dữ liệu tăng được gọi là?
A: Thuật toán có độ phức tạp hàm mũ
B: Thuật toán tuyến tính
C: Thuật toán logarit
D: Thuật toán bậc nhất
Đáp án: A
Câu hỏi 11: Khi kiểm thử chương trình, loại lỗi nào thường liên quan đến việc nhập dữ liệu sai định dạng?
A: Lỗi ngoại lệ (exception)
B: Lỗi cú pháp
C: Lỗi logic
D: Lỗi biên dịch
Đáp án: A
Câu hỏi 12: Mục đích của việc viết tài liệu giải thuật trước khi lập trình là gì?
A: Giúp hiểu rõ và truyền đạt ý tưởng giải quyết vấn đề một cách rõ ràng
B: Làm tăng độ dài bài tập
C: Không cần thiết nếu biết lập trình
D: Thay thế việc kiểm thử
Đáp án: A
Câu hỏi 13: Thuật toán tìm kiếm nhị phân áp dụng được khi nào?
A: Dữ liệu đã được sắp xếp theo thứ tự
B: Dữ liệu ngẫu nhiên chưa sắp xếp
C: Dữ liệu là ký tự chữ cái
D: Dữ liệu là hình ảnh
Đáp án: A
Câu hỏi 14: Thuật toán sắp xếp nào có độ phức tạp tốt nhất trong các thuật toán đơn giản?
A: Quick sort
B: Bubble sort
C: Selection sort
D: Insertion sort
Đáp án: A
Câu hỏi 15: Để đánh giá hiệu quả của một thuật toán, ta thường xét yếu tố nào?
A: Độ phức tạp thời gian và bộ nhớ
B: Số dòng mã nguồn
C: Tên người lập trình
D: Tính thẩm mỹ của code
Đáp án: A
Câu hỏi 16: Khi gặp một vấn đề phức tạp, bước nào giúp làm rõ các bước giải quyết?
A: Chia nhỏ bài toán thành các bước con
B: Viết code trực tiếp
C: Thử nhiều phương án khác nhau không hệ thống
D: Bỏ qua phân tích
Đáp án: A
Câu hỏi 17: Giải thuật nào sau đây là thuật toán tham lam?
A: Thuật toán tìm đường đi ngắn nhất trong đồ thị (Dijkstra)
B: Thuật toán đệ quy tính giai thừa
C: Thuật toán sắp xếp nổi bọt
D: Thuật toán tìm kiếm tuần tự
Đáp án: A
Câu hỏi 18: Để đảm bảo thuật toán có thể chạy được trên máy tính, thuật toán phải thỏa mãn điều kiện gì?
A: Có tính dừng, có tính xác định và có hiệu quả
B: Có vòng lặp vô hạn
C: Chỉ sử dụng biến toàn cục
D: Không cần có thứ tự rõ ràng
Đáp án: A
Câu hỏi 19: Trong quy trình phát triển phần mềm, bước nào tương ứng với “giải quyết vấn đề với máy tính”?
A: Phân tích và thiết kế giải thuật
B: Triển khai kế hoạch marketing
C: Viết bài báo cáo
D: Quản lý nhân sự
Đáp án: A
Câu hỏi 20: Khi nào sử dụng thuật toán tìm kiếm tuần tự?
A: Dữ liệu chưa được sắp xếp hoặc tập dữ liệu nhỏ
B: Dữ liệu lớn và đã sắp xếp
C: Khi cần tìm kiếm nhanh
D: Khi làm việc với đồ thị
Đáp án: A
Câu hỏi 21: Phương pháp nào giúp tối ưu hóa thuật toán?
A: Sử dụng cấu trúc dữ liệu thích hợp và giảm số lần lặp không cần thiết
B: Viết lại code dài hơn
C: Loại bỏ kiểm thử
D: Tăng số lượng biến tạm
Đáp án: A
Câu hỏi 22: Trong sơ đồ khối, biểu tượng nào dùng để biểu diễn điều kiện?
A: Hình thoi
B: Hình chữ nhật
C: Hình tròn
D: Hình vuông
Đáp án: A
Câu hỏi 23: Đặc điểm của một thuật toán đúng là gì?
A: Luôn cho kết quả chính xác và dừng sau một số bước hữu hạn
B: Chỉ chạy trên máy tính mạnh
C: Không cần tính dừng
D: Có thể chạy vô hạn
Đáp án: A
Câu hỏi 24: Sự khác biệt cơ bản giữa thuật toán đệ quy và thuật toán vòng lặp là gì?
A: Thuật toán đệ quy gọi lại chính nó, còn vòng lặp lặp lại bằng cấu trúc lặp
B: Đệ quy không dừng
C: Vòng lặp khó hơn đệ quy
D: Không khác nhau
Đáp án: A
Câu hỏi 25: Khi mô tả giải thuật, “phương pháp tiếp cận từ dưới lên” nghĩa là gì?
A: Bắt đầu giải quyết các phần nhỏ nhất rồi tổng hợp kết quả
B: Bắt đầu từ bài toán lớn rồi chia nhỏ
C: Viết mã nguồn trước
D: Không sử dụng cấu trúc lặp
Đáp án: A
Câu hỏi 26: Cấu trúc dữ liệu nào giúp lưu trữ dữ liệu theo thứ tự vào trước ra sau?
A: Hàng đợi (Queue)
B: Ngăn xếp (Stack)
C: Danh sách liên kết (Linked List)
D: Bảng băm (Hash Table)
Đáp án: A
Câu hỏi 27: Lợi ích của việc lập kế hoạch giải thuật kỹ càng là gì?
A: Giảm lỗi, tiết kiệm thời gian và nâng cao hiệu quả lập trình
B: Làm tăng độ dài dự án
C: Không ảnh hưởng gì
D: Làm cho code khó hiểu hơn
Đáp án: A
Câu hỏi 28: Trong lập trình, biến tạm (temporary variable) dùng để làm gì?
A: Giữ giá trị trung gian khi xử lý
B: Lưu trữ dữ liệu vĩnh viễn
C: Thay thế biến toàn cục
D: Làm chậm chương trình
Đáp án: A
Câu hỏi 29: Thuật toán “tham lam” hoạt động dựa trên nguyên tắc gì?
A: Lựa chọn tối ưu cục bộ tại mỗi bước với hy vọng đạt được tối ưu toàn cục
B: Thử tất cả các trường hợp
C: Chia nhỏ bài toán thành phần nhỏ
D: Không có nguyên tắc nào
Đáp án: A
Câu hỏi 30: Việc tối ưu hóa thuật toán giúp gì cho chương trình?
A: Tăng tốc độ thực thi và giảm sử dụng bộ nhớ
B: Tăng độ dài mã nguồn
C: Làm chương trình khó đọc
D: Không giúp gì
Đáp án: A
Câu hỏi 31: Trong giải quyết vấn đề, khi nào nên sử dụng mô hình dữ liệu?
A: Khi cần tổ chức dữ liệu phức tạp và dễ quản lý
B: Không cần sử dụng
C: Khi không có dữ liệu
D: Khi dữ liệu rất đơn giản
Đáp án: A
Câu hỏi 32: Thuật toán nào thường sử dụng để tìm đường đi ngắn nhất trong mạng lưới?
A: Thuật toán Dijkstra
B: Thuật toán Bubble sort
C: Thuật toán Fibonacci
D: Thuật toán tìm kiếm tuần tự
Đáp án: A
Câu hỏi 33: Cấu trúc dữ liệu nào thích hợp cho việc truy cập ngẫu nhiên nhanh?
A: Mảng (Array)
B: Danh sách liên kết
C: Hàng đợi
D: Cây nhị phân
Đáp án: A
Câu hỏi 34: Trong giải thuật, khái niệm "độ phức tạp không gian" đề cập đến?
A: Lượng bộ nhớ mà thuật toán sử dụng
B: Thời gian chạy
C: Số bước lặp
D: Kích thước dữ liệu đầu vào
Đáp án: A
Câu hỏi 35: Khi nào cần sử dụng thuật toán chia để trị?
A: Bài toán có thể chia nhỏ thành các bài toán con tương tự rồi gộp kết quả
B: Bài toán đơn giản
C: Khi không biết cách giải
D: Khi dữ liệu nhỏ
Đáp án: A
Câu hỏi 36: Phương pháp thử và sai trong giải quyết vấn đề là gì?
A: Thử nhiều giải pháp rồi chọn giải pháp phù hợp nhất
B: Viết code ngay không cần phân tích
C: Không sử dụng thuật toán
D: Chỉ dùng với bài toán nhỏ
Đáp án: A
Câu hỏi 37: Khái niệm "thuật toán tham lam" không bao gồm đặc điểm nào?
A: Đảm bảo luôn cho lời giải tối ưu toàn cục
B: Lựa chọn bước tốt nhất hiện tại
C: Giải quyết từng bước độc lập
D: Thường nhanh và đơn giản
Đáp án: A
Câu hỏi 38: Thuật toán tìm kiếm nhị phân cần dữ liệu có tính chất gì?
A: Được sắp xếp tăng dần hoặc giảm dần
B: Ngẫu nhiên
C: Toàn chữ cái
D: Không có tính chất đặc biệt
Đáp án: A
Câu hỏi 39: Mục tiêu của việc kiểm thử thuật toán là gì?
A: Đảm bảo thuật toán hoạt động đúng và hiệu quả với mọi trường hợp
B: Viết báo cáo kết quả
C: Viết mã nguồn dài hơn
D: Không quan trọng
Đáp án: A
Câu hỏi 40: Tại sao cần mô tả thuật toán bằng nhiều cách khác nhau?
A: Giúp dễ hiểu, dễ kiểm tra và dễ truyền đạt ý tưởng
B: Làm phức tạp bài toán
C: Không cần thiết
D: Tốn thời gian
Đáp án: A
Câu hỏi 41: Đặc điểm của thuật toán tuần tự là gì?
A: Các bước thực hiện liên tiếp, tuần tự, không có điều kiện hoặc lặp
B: Có nhiều vòng lặp
C: Gọi đệ quy
D: Thực hiện song song
Đáp án: A
Câu hỏi 42: Trong lập trình, “biến cục bộ” là gì?
A: Biến chỉ tồn tại và có hiệu lực trong một phạm vi nhỏ, thường trong một hàm hoặc khối lệnh
B: Biến toàn cục
C: Biến được lưu trữ vĩnh viễn
D: Biến dùng cho toàn chương trình
Đáp án: A
Câu hỏi 43: Khi phân tích độ phức tạp thuật toán, thường xét đến yếu tố nào?
A: Thời gian thực thi và bộ nhớ sử dụng
B: Số dòng code
C: Tên hàm
D: Ngôn ngữ lập trình
Đáp án: A
Câu hỏi 44: Thuật toán tìm kiếm tuyến tính được sử dụng khi nào?
A: Dữ liệu chưa sắp xếp hoặc số lượng nhỏ
B: Dữ liệu lớn đã sắp xếp
C: Dữ liệu được mã hóa
D: Không có dữ liệu
Đáp án: A
Câu hỏi 45: Khi nào nên chọn thuật toán đệ quy thay vì thuật toán vòng lặp?
A: Khi bài toán có tính chất phân rã và tự tương tự như tính giai thừa, dãy Fibonacci
B: Khi cần tối ưu bộ nhớ
C: Khi dữ liệu nhỏ
D: Khi thuật toán phức tạp
Đáp án: A
Câu hỏi 46: Mục đích của việc sử dụng biến trong lập trình là gì?
A: Lưu trữ và xử lý dữ liệu trong quá trình thực thi chương trình
B: Tăng kích thước file
C: Làm chương trình chậm
D: Đặt tên cho chương trình
Đáp án: A
Câu hỏi 47: Khi mô tả giải thuật, “phương pháp tham lam” khác với “chia để trị” ở điểm nào?
A: Tham lam chọn phương án tốt nhất cục bộ; chia để trị chia bài toán thành bài toán con độc lập
B: Tham lam dùng đệ quy; chia để trị dùng vòng lặp
C: Tham lam dùng vòng lặp; chia để trị dùng đệ quy
D: Không khác nhau
Đáp án: A
Câu hỏi 48: Trong kiểm thử phần mềm, thuật ngữ “test case” là gì?
A: Tập hợp các điều kiện, dữ liệu đầu vào và kết quả mong đợi để kiểm tra chương trình
B: Một lỗi trong chương trình
C: Một dòng code
D: Một tài liệu báo cáo
Đáp án: A
Câu hỏi 49: Thuật toán “tham lam” không thích hợp giải quyết bài toán nào?
A: Bài toán cần xét toàn bộ các trường hợp để tìm lời giải tối ưu toàn cục
B: Bài toán tìm đường đi ngắn nhất
C: Bài toán sắp xếp
D: Bài toán tìm kiếm tuyến tính
Đáp án: A
Câu hỏi 50: Việc tối ưu hóa thuật toán thường hướng đến mục tiêu nào?
A: Giảm thời gian thực thi và bộ nhớ sử dụng
B: Tăng độ dài mã nguồn
C: Giảm độ chính xác
D: Làm cho code khó đọc
Đáp án: A
Câu hỏi 51: Khi viết thuật toán, việc sử dụng cấu trúc điều kiện giúp gì?
A: Cho phép thuật toán đưa ra các quyết định và hướng xử lý khác nhau dựa trên điều kiện
B: Làm thuật toán ngắn hơn
C: Tăng số vòng lặp
D: Không có tác dụng
Đáp án: A
Câu hỏi 52: Đặc điểm của thuật toán vòng lặp là gì?
A: Thực hiện một đoạn mã nhiều lần cho đến khi điều kiện dừng thỏa mãn
B: Chỉ chạy một lần
C: Không dùng biến
D: Luôn dừng ngay lập tức
Đáp án: A
Câu hỏi 53: Khi mô tả thuật toán, “đặc tả đầu vào và đầu ra” là gì?
A: Mô tả các dữ liệu cần có và kết quả mong muốn của thuật toán
B: Viết mã nguồn
C: Kiểm thử chương trình
D: Tạo giao diện người dùng
Đáp án: A
Câu hỏi 54: Thuật toán “backtracking” thường dùng để giải quyết bài toán gì?
A: Bài toán tìm kiếm trong không gian trạng thái với khả năng quay lui khi đi sai hướng
B: Bài toán sắp xếp
C: Bài toán tìm kiếm tuyến tính
D: Bài toán đếm số lượng
Đáp án: A
Câu hỏi 55: Trong quá trình giải quyết vấn đề, bước “đánh giá kết quả” nhằm mục đích gì?
A: Xác định thuật toán đã cho kết quả chính xác và hiệu quả chưa
B: Viết tài liệu
C: Viết báo cáo
D: Không quan trọng
Đáp án: A
Câu hỏi 56: Khi giải quyết vấn đề, thuật toán “tham lam” phù hợp với đặc điểm nào?
A: Quyết định tại mỗi bước là cố định và không phụ thuộc các bước sau
B: Phải xem xét toàn bộ các khả năng
C: Dùng thử và sai
D: Không dùng đệ quy
Đáp án: A
Câu hỏi 57: Khi nào nên chọn mô hình dữ liệu cây trong giải thuật?
A: Khi dữ liệu có quan hệ phân cấp hoặc cây thư mục
B: Khi dữ liệu phẳng
C: Khi dữ liệu rất nhỏ
D: Không dùng cây
Đáp án: A
Câu hỏi 58: Trong thiết kế thuật toán, “khái niệm trạng thái” dùng để làm gì?
A: Mô tả tình trạng hiện tại của quá trình giải quyết bài toán
B: Lưu trữ dữ liệu tạm thời
C: Viết code
D: Kiểm thử chương trình
Đáp án: A
Câu hỏi 59: Thuật toán sắp xếp nào thường dùng trong các trường hợp dữ liệu gần như đã được sắp xếp?
A: Insertion sort
B: Bubble sort
C: Quick sort
D: Selection sort
Đáp án: A
Câu hỏi 60: Đặc điểm của thuật toán “đệ quy đuôi” là gì?
A: Lời gọi đệ quy cuối cùng của hàm không còn phép toán nào khác nữa
B: Lặp vô hạn
C: Không có kết thúc
D: Viết code dài
Đáp án: A
Câu hỏi 61: Khi kiểm thử phần mềm, “test coverage” là gì?
A: Tỉ lệ phần trăm mã nguồn được chạy thử nghiệm
B: Số lỗi tìm được
C: Số dòng code
D: Tên chương trình
Đáp án: A
Câu hỏi 62: Thuật toán tìm kiếm nào có độ phức tạp tốt nhất trong trường hợp dữ liệu đã sắp xếp?
A: Tìm kiếm nhị phân
B: Tìm kiếm tuyến tính
C: Tìm kiếm tuần tự
D: Tìm kiếm tham lam
Đáp án: A
Câu hỏi 63: Trong thuật toán, “đặc điểm tính xác định” có nghĩa là?
A: Mỗi bước thực hiện một cách rõ ràng và duy nhất
B: Có thể làm bất cứ gì
C: Có nhiều cách thực hiện
D: Không cần có thứ tự
Đáp án: A
Câu hỏi 64: Thuật toán “tìm kiếm theo chiều sâu” thường sử dụng cấu trúc dữ liệu nào?
A: Ngăn xếp (Stack)
B: Hàng đợi (Queue)
C: Mảng
D: Bảng băm
Đáp án: A
Câu hỏi 65: Tại sao phải sử dụng biến đếm trong vòng lặp?
A: Để kiểm soát số lần lặp và điều kiện dừng
B: Để lưu trữ dữ liệu
C: Không cần thiết
D: Tăng độ dài code
Đáp án: A
Câu hỏi 66: Khi nào một thuật toán được coi là “tối ưu”?
A: Không tồn tại thuật toán khác có độ phức tạp thấp hơn cho bài toán đó
B: Viết nhanh nhất có thể
C: Có nhiều dòng code
D: Dùng nhiều biến
Đáp án: A
Câu hỏi 67: Mục đích của việc thiết kế sơ đồ khối là gì?
A: Trực quan hóa các bước trong thuật toán giúp dễ hiểu và kiểm tra
B: Viết code
C: Kiểm thử chương trình
D: Tạo báo cáo
Đáp án: A
Câu hỏi 68: Thuật toán “quay lui” (backtracking) có điểm mạnh gì?
A: Tìm kiếm tất cả các lời giải hợp lệ bằng cách thử và quay lui khi sai hướng
B: Luôn nhanh nhất
C: Không cần kiểm thử
D: Dùng để sắp xếp
Đáp án: A
Câu hỏi 69: Trong giải quyết vấn đề, nguyên tắc “tính dừng” của thuật toán là gì?
A: Thuật toán phải kết thúc sau một số bước hữu hạn
B: Thuật toán có thể chạy vô hạn
C: Thuật toán không cần kết thúc
D: Thuật toán phải chạy mãi mãi
Đáp án: A
Câu hỏi 70: Trong quá trình mô tả thuật toán, từ khóa “nếu… thì… còn lại…” thường biểu diễn cho cấu trúc nào?
A: Cấu trúc điều kiện
B: Cấu trúc vòng lặp
C: Cấu trúc tuần tự
D: Cấu trúc đệ quy
Đáp án: A
Câu hỏi 71: Thuật toán nào dưới đây sử dụng ý tưởng chia để trị?
A: Merge sort
B: Bubble sort
C: Selection sort
D: Insertion sort
Đáp án: A
Câu hỏi 72: Khi nào nên sử dụng thuật toán tìm kiếm theo chiều rộng?
A: Khi cần tìm đường đi ngắn nhất trong đồ thị vô hướng
B: Khi sắp xếp dữ liệu
C: Khi tìm kiếm tuần tự
D: Khi không biết dữ liệu
Đáp án: A
Câu hỏi 73: Thuật toán “tham lam” được ứng dụng hiệu quả trong bài toán nào?
A: Bài toán bài tập xếp túi (Knapsack) với vật thể rời
B: Bài toán giai thừa
C: Bài toán đếm số
D: Bài toán sắp xếp chuỗi
Đáp án: A
Câu hỏi 74: Trong mô hình phân tích giải quyết vấn đề, bước “thiết kế giải thuật” nhằm mục đích gì?
A: Xây dựng các bước cụ thể, logic để giải bài toán đã phân tích
B: Chạy thử chương trình
C: Viết tài liệu
D: Tạo báo cáo
Đáp án: A
Câu hỏi 75: Cấu trúc dữ liệu nào thích hợp để lưu trữ và truy xuất dữ liệu theo nguyên tắc LIFO?
A: Ngăn xếp (Stack)
B: Hàng đợi (Queue)
C: Mảng
D: Danh sách liên kết
Đáp án: A
Câu hỏi 76: Thuật toán tìm kiếm tuyến tính có độ phức tạp thời gian là bao nhiêu?
A: O(n)
B: O(log n)
C: O(n^2)
D: O(1)
Đáp án: A
Câu hỏi 77: Trong giải thuật, vòng lặp “for” khác vòng lặp “while” ở điểm nào?
A: Vòng lặp “for” biết trước số lần lặp, vòng “while” không nhất thiết
B: Không khác nhau
C: “While” chạy nhanh hơn
D: “For” không dùng được trong thuật toán
Đáp án: A
Câu hỏi 78: Khi mô tả thuật toán, biểu tượng hình chữ nhật biểu thị điều gì?
A: Thao tác xử lý hoặc câu lệnh
B: Điều kiện
C: Bắt đầu hoặc kết thúc
D: Dữ liệu đầu vào
Đáp án: A
Câu hỏi 79: Thuật toán sắp xếp nào sau đây có độ phức tạp tốt nhất trong trường hợp dữ liệu ngẫu nhiên lớn?
A: Quick sort
B: Bubble sort
C: Selection sort
D: Insertion sort
Đáp án: A
Câu hỏi 80: Thuật toán đệ quy giúp giải quyết bài toán nào dễ dàng hơn?
A: Bài toán có tính chất lặp lại tự tương tự như dãy Fibonacci
B: Bài toán tìm kiếm tuyến tính
C: Bài toán sắp xếp đơn giản
D: Bài toán tính tổng mảng
Đáp án: A
Câu hỏi 81: Khi kiểm thử, kỹ thuật “test hộp đen” tập trung vào gì?
A: Kiểm tra chức năng mà không quan tâm cấu trúc bên trong
B: Kiểm tra mã nguồn chi tiết
C: Kiểm tra hiệu năng
D: Kiểm tra giao diện người dùng
Đáp án: A
Câu hỏi 82: Trong lập trình, khái niệm “scope” của biến là gì?
A: Phạm vi hiệu lực của biến trong chương trình
B: Kích thước biến
C: Tên biến
D: Giá trị biến
Đáp án: A
Câu hỏi 83: Thuật toán tìm kiếm nhị phân hoạt động theo nguyên tắc nào?
A: Chia đôi tập dữ liệu và loại bỏ nửa không chứa giá trị cần tìm
B: Duyệt tuần tự từng phần tử
C: Sắp xếp dữ liệu
D: Thay thế dữ liệu
Đáp án: A
Câu hỏi 84: Khi giải quyết vấn đề, vai trò của mô hình hóa là gì?
A: Giúp biểu diễn thực tế dưới dạng đơn giản, dễ hiểu để phân tích và giải quyết
B: Viết mã nguồn
C: Viết tài liệu
D: Kiểm thử chương trình
Đáp án: A
Câu hỏi 85: Thuật toán “quay lui” được ứng dụng chủ yếu trong bài toán nào?
A: Bài toán tìm tất cả các lời giải hợp lệ (ví dụ: bài toán tám quân hậu)
B: Bài toán sắp xếp
C: Bài toán tìm kiếm tuyến tính
D: Bài toán tính tổng mảng
Đáp án: A
Câu hỏi 86: Trong mô tả thuật toán, từ khóa “lặp lại… đến khi…” biểu diễn cho cấu trúc gì?
A: Vòng lặp có điều kiện dừng
B: Vòng lặp vô hạn
C: Cấu trúc điều kiện
D: Đệ quy
Đáp án: A
Câu hỏi 87: Khi nào nên sử dụng thuật toán “chia để trị”?
A: Khi bài toán có thể chia thành các bài toán con nhỏ hơn cùng loại và giải độc lập
B: Khi dữ liệu nhỏ
C: Khi không có giải pháp khác
D: Khi thuật toán tham lam không áp dụng được
Đáp án: A
Câu hỏi 88: Trong sơ đồ khối, biểu tượng hình thoi biểu thị điều gì?
A: Câu lệnh điều kiện
B: Thao tác xử lý
C: Dữ liệu đầu vào
D: Kết thúc
Đáp án: A
Câu hỏi 89: Tại sao việc lựa chọn cấu trúc dữ liệu phù hợp lại quan trọng trong giải thuật?
A: Giúp tối ưu hóa thời gian và bộ nhớ sử dụng của chương trình
B: Làm tăng độ dài code
C: Làm code khó hiểu
D: Không quan trọng
Đáp án: A
Câu hỏi 90: Thuật toán tìm kiếm nào có thể áp dụng trên dữ liệu chưa được sắp xếp?
A: Tìm kiếm tuyến tính
B: Tìm kiếm nhị phân
C: Tìm kiếm tham lam
D: Tìm kiếm nhánh và cận
Đáp án: A
Câu hỏi 91: Mục đích chính của việc viết thuật toán là gì?
A: Mô tả giải pháp cụ thể để giải quyết bài toán một cách hiệu quả và rõ ràng
B: Viết code nhanh
C: Giảm số dòng mã nguồn
D: Tránh kiểm thử
Đáp án: A
Câu hỏi 92: Thuật toán “tham lam” được ứng dụng hiệu quả nhất trong trường hợp nào?
A: Bài toán có cấu trúc bài toán con tối ưu cục bộ dẫn đến tối ưu toàn cục
B: Bài toán không phân tách được
C: Bài toán có nhiều phương án đúng
D: Bài toán đơn giản
Đáp án: A
Câu hỏi 93: Khi giải quyết vấn đề, bước “lập trình” nhằm mục đích gì?
A: Viết mã nguồn thực thi thuật toán trên máy tính
B: Phân tích yêu cầu
C: Thiết kế giao diện
D: Viết báo cáo
Đáp án: A
Câu hỏi 94: Thuật toán tìm kiếm tuần tự có ưu điểm gì?
A: Đơn giản, dễ cài đặt và áp dụng cho dữ liệu chưa sắp xếp
B: Nhanh hơn tìm kiếm nhị phân
C: Không cần duyệt tất cả phần tử
D: Dùng cho dữ liệu lớn nhất
Đáp án: A
Câu hỏi 95: Trong giải thuật, khái niệm “đặc điểm tính xác định” đảm bảo điều gì?
A: Mỗi bước thực hiện có kết quả duy nhất và không gây mơ hồ
B: Bước thực hiện tùy ý
C: Kết quả không quan trọng
D: Thuật toán có thể chạy vô hạn
Đáp án: A
Câu hỏi 96: Thuật toán “đệ quy” là gì?
A: Thuật toán trong đó hàm gọi lại chính nó để giải quyết bài toán nhỏ hơn
B: Thuật toán tuần tự
C: Thuật toán sắp xếp
D: Thuật toán tìm kiếm
Đáp án: A
Câu hỏi 97: Khi nào một thuật toán được xem là hiệu quả?
A: Thực thi nhanh, sử dụng tài nguyên hợp lý và dễ bảo trì
B: Viết nhanh
C: Dài dòng
D: Phức tạp
Đáp án: A
Câu hỏi 98: Phân tích “độ phức tạp thời gian” là gì?
A: Đánh giá số bước thực thi theo kích thước dữ liệu đầu vào
B: Đo độ dài mã nguồn
C: Đo số lỗi chương trình
D: Đo số dòng code
Đáp án: A
Câu hỏi 99: Khi mô tả thuật toán, “cấu trúc tuần tự” là gì?
A: Các bước thực hiện nối tiếp nhau theo thứ tự
B: Có điều kiện và vòng lặp
C: Đệ quy
D: Tham lam
Đáp án: A
Câu hỏi 100: Trong giải thuật, vòng lặp “do… while” khác “while” ở điểm nào?
A: Vòng “do… while” thực hiện ít nhất một lần trước khi kiểm tra điều kiện
B: Vòng “while” thực hiện ít nhất một lần
C: Không khác nhau
D: Vòng “while” không có điều kiện
Đáp án: A
Đã sao chép!!!