12+ Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 27: Thực Hành Thiết Kế Chương Trình Theo Phương Pháp Làm Mịn Dần

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 01

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 01 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Theo phương pháp làm mịn dần trong thiết kế chương trình, bước đầu tiên khi giải quyết một bài toán phức tạp là gì?

  • A. Chia ngay bài toán thành các bước chi tiết nhất có thể.
  • B. Viết mã code cho phần dễ nhất của bài toán.
  • C. Tìm kiếm các hàm dựng sẵn có thể sử dụng.
  • D. Mô tả bài toán ở mức tổng quát, coi nó là một khối duy nhất.

Câu 2: Sau khi đã mô tả bài toán ở mức tổng quát (mức 0), bước tiếp theo trong phương pháp làm mịn dần là gì?

  • A. Phân rã bài toán thành một chuỗi các bước xử lý ở mức khái quát.
  • B. Kiểm tra các trường hợp đặc biệt của bài toán.
  • C. Thiết kế giao diện người dùng.
  • D. Ước lượng thời gian chạy của thuật toán.

Câu 3: Tại sao việc chia nhỏ bài toán (làm mịn dần) lại được coi là hữu ích trong thiết kế chương trình?

  • A. Giúp chương trình chạy nhanh hơn ngay từ đầu.
  • B. Loại bỏ hoàn toàn lỗi cú pháp trong quá trình viết code.
  • C. Làm giảm độ phức tạp của từng phần, giúp dễ dàng giải quyết và quản lý.
  • D. Cho phép bỏ qua các bước kiểm tra trung gian.

Câu 4: Khi áp dụng phương pháp làm mịn dần để kiểm tra xem một dãy số nguyên dương A có phải là hoán vị của dãy 1, 2, ..., n hay không (với n là độ dài của A), bước làm mịn đầu tiên (mức 1) có thể là gì?

  • A. Sắp xếp dãy A theo thứ tự tăng dần.
  • B. Kiểm tra độ dài của A, sau đó kiểm tra sự có mặt của các số từ 1 đến n trong A.
  • C. Duyệt qua từng phần tử của A và kiểm tra giá trị của nó.
  • D. Đếm số lần xuất hiện của từng phần tử trong A.

Câu 5: Xét bài toán kiểm tra hoán vị (như Câu 4). Nếu ở bước làm mịn mức 1, ta quyết định "Kiểm tra sự có mặt của các số từ 1 đến n trong A", thì bước làm mịn tiếp theo (mức 2) cho riêng bước này có thể là gì?

  • A. Đối với mỗi số nguyên i từ 1 đến n, đếm số lần xuất hiện của i trong dãy A và kiểm tra xem số lần đó có bằng 1 không.
  • B. Sắp xếp dãy A và kiểm tra xem nó có giống với dãy 1, 2, ..., n không.
  • C. Tính tổng các phần tử trong A và so sánh với tổng của dãy 1, 2, ..., n.
  • D. Xóa các phần tử trùng lặp trong A và kiểm tra độ dài còn lại.

Câu 6: Giả sử bạn đang áp dụng phương pháp làm mịn dần để viết chương trình đếm số lần xuất hiện của mỗi phần tử duy nhất trong một danh sách. Bước làm mịn đầu tiên (mức 1) có thể là gì?

  • A. Tạo một từ điển rỗng để lưu kết quả.
  • B. Duyệt qua danh sách và in ra từng phần tử.
  • C. Sắp xếp danh sách theo thứ tự tăng dần.
  • D. Xác định các phần tử duy nhất trong danh sách, sau đó đếm số lần xuất hiện của mỗi phần tử duy nhất đó.

Câu 7: Tiếp theo Câu 6, nếu ở mức 1 bạn có bước "Xác định các phần tử duy nhất trong danh sách", thì bước làm mịn tiếp theo (mức 2) cho riêng bước này có thể là gì?

  • A. Đếm số lần xuất hiện của từng phần tử.
  • B. Duyệt qua danh sách gốc, tạo một danh sách mới và thêm phần tử vào danh sách mới nếu nó chưa tồn tại.
  • C. Sử dụng hàm `set()` của Python.
  • D. Xóa các phần tử trùng lặp trực tiếp trên danh sách gốc.

Câu 8: Khi áp dụng phương pháp làm mịn dần, việc định nghĩa các hàm (function) cho các bước xử lý con ở các mức làm mịn sâu hơn có ý nghĩa gì?

  • A. Giúp chia nhỏ mã nguồn thành các khối logic, dễ quản lý, đọc hiểu và tái sử dụng.
  • B. Bắt buộc phải sử dụng hàm cho mọi bước làm mịn.
  • C. Chỉ giúp tăng tốc độ thực thi chương trình.
  • D. Làm cho chương trình phức tạp hơn nhưng an toàn hơn.

Câu 9: Xét bài toán kiểm tra xem một xâu ký tự có phải là xâu đối xứng (palindrome) hay không. Theo phương pháp làm mịn dần, bước làm mịn đầu tiên (mức 1) có thể là gì?

  • A. Đếm số lượng ký tự trong xâu.
  • B. Kiểm tra ký tự đầu tiên và cuối cùng.
  • C. So sánh xâu ban đầu với xâu đảo ngược của nó.
  • D. Chuyển xâu về chữ thường hoặc chữ hoa.

Câu 10: Tiếp theo Câu 9, nếu ở mức 1 bạn có bước "So sánh xâu ban đầu với xâu đảo ngược của nó", thì bước làm mịn tiếp theo (mức 2) cho việc "đảo ngược xâu" có thể là gì?

  • A. Sử dụng hàm `reverse()` có sẵn.
  • B. Kiểm tra độ dài của xâu.
  • C. Chuyển xâu thành danh sách các ký tự.
  • D. Tạo một xâu mới bằng cách duyệt xâu gốc từ ký tự cuối cùng về ký tự đầu tiên.

Câu 11: Ưu điểm chính của phương pháp làm mịn dần so với việc viết code trực tiếp mà không phân tích kỹ là gì?

  • A. Giúp viết code nhanh hơn gấp đôi.
  • B. Tăng khả năng tìm và sửa lỗi do cấu trúc chương trình rõ ràng và dễ kiểm tra từng phần.
  • C. Chỉ áp dụng được cho các bài toán đơn giản.
  • D. Không cần phải kiểm tra lại sau khi hoàn thành.

Câu 12: Khi nào thì quá trình làm mịn dần một bước xử lý con nên dừng lại?

  • A. Khi bước xử lý con đã đủ chi tiết để có thể dễ dàng cài đặt bằng mã lệnh.
  • B. Sau khi chia nhỏ bài toán thành đúng 5 bước.
  • C. Khi cảm thấy mệt mỏi và muốn chuyển sang bước viết code.
  • D. Khi không thể chia nhỏ thêm được nữa, bất kể độ chi tiết.

Câu 13: Xét bài toán kiểm tra xem trong một danh sách có phần tử nào bị lặp lại hay không. Theo phương pháp làm mịn dần, một cách tiếp cận mức 1 có thể là gì?

  • A. Đếm số lần xuất hiện của mỗi phần tử.
  • B. Sắp xếp danh sách trước.
  • C. Với mỗi phần tử, kiểm tra xem nó có xuất hiện lại trong phần còn lại của danh sách hay không.
  • D. Xóa các phần tử trùng lặp.

Câu 14: Tiếp theo Câu 13, nếu ở mức 1 bạn có bước "Với mỗi phần tử, kiểm tra xem nó có xuất hiện lại trong phần còn lại của danh sách hay không", thì bước làm mịn tiếp theo (mức 2) cho việc "kiểm tra xem một phần tử x có xuất hiện trong một danh sách con L hay không" có thể là gì?

  • A. Duyệt qua từng phần tử của danh sách con L và so sánh với x.
  • B. Sử dụng phép toán `in` của Python.
  • C. Sắp xếp danh sách con L.
  • D. Đếm số lần xuất hiện của x trong L.

Câu 15: Khi làm mịn dần, việc đặt tên ý nghĩa cho các bước xử lý con (dù chỉ là mô tả bằng lời) có vai trò gì?

  • A. Không có vai trò quan trọng, chỉ là hình thức.
  • B. Chỉ giúp người khác hiểu code sau khi hoàn thành.
  • C. Tự động tạo ra code cho bước đó.
  • D. Giúp làm rõ chức năng của từng bước xử lý, dễ dàng theo dõi và hiểu thuật toán.

Câu 16: Trong quá trình làm mịn dần, việc "thử nghiệm và kiểm tra" từng bước (hoặc nhóm bước) sau khi đã làm mịn đến mức cài đặt được có ý nghĩa gì?

  • A. Làm chậm quá trình phát triển tổng thể.
  • B. Giúp phát hiện và sửa lỗi sớm ở từng phần nhỏ, giảm độ phức tạp khi tìm lỗi.
  • C. Chỉ cần thiết khi bài toán rất phức tạp.
  • D. Đảm bảo chương trình chạy đúng trên mọi hệ điều hành.

Câu 17: Giả sử bạn đang làm mịn dần thuật toán để kiểm tra một dãy số A có phải là hoán vị của 1..n hay không. Bạn đã có bước "Sắp xếp dãy A". Bước làm mịn tiếp theo để kiểm tra tính hoán vị dựa trên dãy đã sắp xếp là gì?

  • A. Duyệt qua dãy A đã sắp xếp, kiểm tra xem phần tử thứ i có bằng i+1 hay không (với i từ 0 đến n-1).
  • B. Kiểm tra xem tất cả các phần tử trong A có giá trị dương không.
  • C. Đếm số lần xuất hiện của số 1 trong A.
  • D. Tìm phần tử lớn nhất và nhỏ nhất trong A.

Câu 18: Trong bài toán đếm số lần lặp của mỗi phần tử trong danh sách A, sau khi đã làm mịn thành bước "Xác định các phần tử duy nhất" và "Đếm số lần xuất hiện của mỗi phần tử duy nhất", bước "Đếm số lần xuất hiện của một phần tử x trong danh sách A" có thể được làm mịn như thế nào ở mức code?

  • A. Sử dụng vòng lặp for để duyệt qua A, nếu phần tử hiện tại khác x thì tăng bộ đếm.
  • B. Sử dụng hàm `count()` có sẵn của Python.
  • C. Khởi tạo biến đếm = 0. Duyệt qua từng phần tử trong A. Nếu phần tử đó bằng x, tăng biến đếm lên 1. Trả về biến đếm.
  • D. Sắp xếp danh sách A trước khi đếm.

Câu 19: Xét bài toán kiểm tra xem một xâu có chứa các ký tự trùng lặp hay không. Theo phương pháp làm mịn dần, một cách tiếp cận hiệu quả ở mức 1 có thể là gì?

  • A. So sánh từng cặp ký tự trong xâu.
  • B. Duyệt qua xâu, sử dụng một tập hợp (set) để ghi nhớ các ký tự đã xuất hiện. Nếu gặp ký tự đã có trong tập hợp, trả về True (có trùng lặp).
  • C. Sắp xếp xâu và kiểm tra các ký tự liền kề.
  • D. Đếm số lần xuất hiện của mỗi ký tự.

Câu 20: Phương pháp làm mịn dần còn được biết đến với tên gọi nào khác?

  • A. Thiết kế từ trên xuống (Top-down Design).
  • B. Thiết kế từ dưới lên (Bottom-up Design).
  • C. Lập trình hướng đối tượng (Object-Oriented Programming).
  • D. Lập trình cấu trúc (Structured Programming).

Câu 21: Khi thiết kế chương trình theo phương pháp làm mịn dần, ở mỗi bước làm mịn, chúng ta cần tập trung vào điều gì?

  • A. Chi tiết hóa mọi thứ đến mức code ngay lập tức.
  • B. Chỉ tập trung vào cú pháp của ngôn ngữ lập trình.
  • C. Phân rã một bước xử lý thành các bước nhỏ hơn, chi tiết hơn nhưng vẫn ở mức trừu tượng.
  • D. Bỏ qua các bước khó và giải quyết các bước dễ trước.

Câu 22: Giả sử bạn đã làm mịn bài toán "Kiểm tra dãy A có phải hoán vị của 1..n" thành các bước con. Nếu bước "Kiểm tra sự có mặt của các số từ 1 đến n" trả về kết quả False, bạn có cần tiếp tục thực hiện các bước kiểm tra khác (ví dụ: kiểm tra độ dài) không?

  • A. Không, có thể dừng ngay quá trình kiểm tra và kết luận A không phải là hoán vị.
  • B. Có, cần kiểm tra tất cả các điều kiện, bất kể kết quả trung gian.
  • C. Chỉ cần kiểm tra điều kiện độ dài sau đó.
  • D. Kết quả False ở bước này không ảnh hưởng đến kết quả cuối cùng.

Câu 23: Trong bài toán kiểm tra xâu đối xứng, nếu xâu đầu vào là rỗng hoặc chỉ có một ký tự, kết quả kiểm tra nên là gì?

  • A. Phụ thuộc vào ký tự đó có phải là số hay không.
  • B. Luôn là không đối xứng.
  • C. Báo lỗi vì không đủ ký tự để so sánh.
  • D. Luôn là đối xứng.

Câu 24: Khi làm mịn dần bài toán kiểm tra xâu đối xứng bằng cách so sánh ký tự đầu tiên với cuối cùng, ký tự thứ hai với ký tự áp cuối, v.v., quá trình so sánh này nên dừng lại khi nào?

  • A. Khi đã so sánh tất cả các cặp ký tự có thể.
  • B. Khi chỉ số của ký tự đầu tiên cần so sánh lớn hơn hoặc bằng chỉ số của ký tự cuối cùng cần so sánh.
  • C. Sau khi so sánh 3 cặp ký tự đầu tiên.
  • D. Khi gặp ký tự đặc biệt.

Câu 25: Giả sử bạn đã làm mịn bài toán "Đếm số lần lặp của mỗi phần tử" thành "Xác định các phần tử duy nhất" và "Với mỗi phần tử duy nhất, đếm số lần xuất hiện của nó trong danh sách gốc". Ưu điểm của cách làm mịn này so với việc chỉ duyệt danh sách gốc và đếm trực tiếp cho từng phần tử là gì?

  • A. Tránh việc đếm lại số lần xuất hiện của cùng một phần tử nhiều lần trong quá trình duyệt.
  • B. Làm cho thuật toán phức tạp hơn.
  • C. Chỉ có hiệu quả khi danh sách rất ngắn.
  • D. Không có ưu điểm gì, chỉ là cách viết khác.

Câu 26: Trong bài toán kiểm tra xem danh sách A có phần tử trùng lặp hay không, nếu bạn chọn cách làm mịn là "Sắp xếp danh sách A", thì bước tiếp theo để phát hiện trùng lặp là gì?

  • A. Đếm số lần xuất hiện của từng phần tử.
  • B. Sử dụng tập hợp (set) để kiểm tra.
  • C. Duyệt qua danh sách và so sánh phần tử hiện tại với tất cả các phần tử còn lại.
  • D. Duyệt qua danh sách đã sắp xếp và so sánh phần tử hiện tại với phần tử ngay sau nó.

Câu 27: Khi làm mịn dần một bài toán, việc chuyển đổi từ mô tả bằng lời sang mã giả (pseudocode) hoặc sơ đồ khối có ý nghĩa gì?

  • A. Bắt buộc phải làm để chương trình chạy được.
  • B. Giúp hình thức hóa thuật toán, làm rõ cấu trúc logic trước khi viết code chi tiết.
  • C. Chỉ là bước không cần thiết, tốn thời gian.
  • D. Thay thế hoàn toàn bước viết code bằng ngôn ngữ lập trình.

Câu 28: Phương pháp làm mịn dần đặc biệt hữu ích khi làm việc với các bài toán như thế nào?

  • A. Chỉ các bài toán tính toán số học đơn giản.
  • B. Các bài toán chỉ liên quan đến xử lý chuỗi.
  • C. Các bài toán có độ phức tạp cao, cần được chia nhỏ để dễ quản lý và giải quyết.
  • D. Các bài toán đã có sẵn thư viện hỗ trợ đầy đủ.

Câu 29: Nhược điểm tiềm ẩn (nếu áp dụng không khéo) của phương pháp làm mịn dần là gì?

  • A. Có thể tạo ra quá nhiều bước xử lý nhỏ lẻ, khó quản lý nếu không phân rã hợp lý.
  • B. Bắt buộc phải sử dụng một ngôn ngữ lập trình cụ thể.
  • C. Không thể áp dụng cho lập trình theo nhóm.
  • D. Luôn dẫn đến chương trình chạy chậm hơn.

Câu 30: Trong bối cảnh của Bài 27 "Thực hành thiết kế chương trình theo phương pháp làm mịn dần", việc thực hành các nhiệm vụ như kiểm tra hoán vị, đếm số lần lặp, kiểm tra trùng lặp, kiểm tra đối xứng nhằm mục đích chính là gì?

  • A. Để học thuộc lòng các thuật toán cho các nhiệm vụ đó.
  • B. Để so sánh hiệu suất giữa các ngôn ngữ lập trình khác nhau.
  • C. Để chuẩn bị cho kỳ thi chỉ yêu cầu giải các bài toán cụ thể này.
  • D. Để thực hành áp dụng phương pháp làm mịn dần vào giải quyết các bài toán cụ thể, rèn luyện kỹ năng thiết kế thuật toán.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 1: Theo phương pháp làm mịn dần trong thiết kế chương trình, bước đầu tiên khi giải quyết một bài toán phức tạp là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 2: Sau khi đã mô tả bài toán ở mức tổng quát (mức 0), bước tiếp theo trong phương pháp làm mịn dần là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 3: Tại sao việc chia nhỏ bài toán (làm mịn dần) lại được coi là hữu ích trong thiết kế chương trình?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 4: Khi áp dụng phương pháp làm mịn dần để kiểm tra xem một dãy số nguyên dương A có phải là hoán vị của dãy 1, 2, ..., n hay không (với n là độ dài của A), bước làm mịn đầu tiên (mức 1) có thể là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 5: Xét bài toán kiểm tra hoán vị (như Câu 4). Nếu ở bước làm mịn mức 1, ta quyết định 'Kiểm tra sự có mặt của các số từ 1 đến n trong A', thì bước làm mịn tiếp theo (mức 2) cho riêng bước này có thể là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 6: Giả sử bạn đang áp dụng phương pháp làm mịn dần để viết chương trình đếm số lần xuất hiện của mỗi phần tử duy nhất trong một danh sách. Bước làm mịn đầu tiên (mức 1) có thể là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 7: Tiếp theo Câu 6, nếu ở mức 1 bạn có bước 'Xác định các phần tử duy nhất trong danh sách', thì bước làm mịn tiếp theo (mức 2) cho riêng bước này có thể là gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 8: Khi áp dụng phương pháp làm mịn dần, việc định nghĩa các hàm (function) cho các bước xử lý con ở các mức làm mịn sâu hơn có ý nghĩa gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 9: Xét bài toán kiểm tra xem một xâu ký tự có phải là xâu đối xứng (palindrome) hay không. Theo phương pháp làm mịn dần, bước làm mịn đầu tiên (mức 1) có thể là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 10: Tiếp theo Câu 9, nếu ở mức 1 bạn có bước 'So sánh xâu ban đầu với xâu đảo ngược của nó', thì bước làm mịn tiếp theo (mức 2) cho việc 'đảo ngược xâu' có thể là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 11: Ưu điểm chính của phương pháp làm mịn dần so với việc viết code trực tiếp mà không phân tích kỹ là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 12: Khi nào thì quá trình làm mịn dần một bước xử lý con nên dừng lại?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 13: Xét bài toán kiểm tra xem trong một danh sách có phần tử nào bị lặp lại hay không. Theo phương pháp làm mịn dần, một cách tiếp cận mức 1 có thể là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 14: Tiếp theo Câu 13, nếu ở mức 1 bạn có bước 'Với mỗi phần tử, kiểm tra xem nó có xuất hiện lại trong phần còn lại của danh sách hay không', thì bước làm mịn tiếp theo (mức 2) cho việc 'kiểm tra xem một phần tử x có xuất hiện trong một danh sách con L hay không' có thể là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 15: Khi làm mịn dần, việc đặt tên ý nghĩa cho các bước xử lý con (dù chỉ là mô tả bằng lời) có vai trò gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 16: Trong quá trình làm mịn dần, việc 'thử nghiệm và kiểm tra' từng bước (hoặc nhóm bước) sau khi đã làm mịn đến mức cài đặt được có ý nghĩa gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 17: Giả sử bạn đang làm mịn dần thuật toán để kiểm tra một dãy số A có phải là hoán vị của 1..n hay không. Bạn đã có bước 'Sắp xếp dãy A'. Bước làm mịn tiếp theo để kiểm tra tính hoán vị dựa trên dãy đã sắp xếp là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 18: Trong bài toán đếm số lần lặp của mỗi phần tử trong danh sách A, sau khi đã làm mịn thành bước 'Xác định các phần tử duy nhất' và 'Đếm số lần xuất hiện của mỗi phần tử duy nhất', bước 'Đếm số lần xuất hiện của một phần tử x trong danh sách A' có thể được làm mịn như thế nào ở mức code?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 19: Xét bài toán kiểm tra xem một xâu có chứa các ký tự trùng lặp hay không. Theo phương pháp làm mịn dần, một cách tiếp cận hiệu quả ở mức 1 có thể là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 20: Phương pháp làm mịn dần còn được biết đến với tên gọi nào khác?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 21: Khi thiết kế chương trình theo phương pháp làm mịn dần, ở mỗi bước làm mịn, chúng ta cần tập trung vào điều gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 22: Giả sử bạn đã làm mịn bài toán 'Kiểm tra dãy A có phải hoán vị của 1..n' thành các bước con. Nếu bước 'Kiểm tra sự có mặt của các số từ 1 đến n' trả về kết quả False, bạn có cần tiếp tục thực hiện các bước kiểm tra khác (ví dụ: kiểm tra độ dài) không?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 23: Trong bài toán kiểm tra xâu đối xứng, nếu xâu đầu vào là rỗng hoặc chỉ có một ký tự, kết quả kiểm tra nên là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 24: Khi làm mịn dần bài toán kiểm tra xâu đối xứng bằng cách so sánh ký tự đầu tiên với cuối cùng, ký tự thứ hai với ký tự áp cuối, v.v., quá trình so sánh này nên dừng lại khi nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 25: Giả sử bạn đã làm mịn bài toán 'Đếm số lần lặp của mỗi phần tử' thành 'Xác định các phần tử duy nhất' và 'Với mỗi phần tử duy nhất, đếm số lần xuất hiện của nó trong danh sách gốc'. Ưu điểm của cách làm mịn này so với việc chỉ duyệt danh sách gốc và đếm trực tiếp cho từng phần tử là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 26: Trong bài toán kiểm tra xem danh sách A có phần tử trùng lặp hay không, nếu bạn chọn cách làm mịn là 'Sắp xếp danh sách A', thì bước tiếp theo để phát hiện trùng lặp là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 27: Khi làm mịn dần một bài toán, việc chuyển đổi từ mô tả bằng lời sang mã giả (pseudocode) hoặc sơ đồ khối có ý nghĩa gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 28: Phương pháp làm mịn dần đặc biệt hữu ích khi làm việc với các bài toán như thế nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 29: Nhược điểm tiềm ẩn (nếu áp dụng không khéo) của phương pháp làm mịn dần là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 01

Câu 30: Trong bối cảnh của Bài 27 'Thực hành thiết kế chương trình theo phương pháp làm mịn dần', việc thực hành các nhiệm vụ như kiểm tra hoán vị, đếm số lần lặp, kiểm tra trùng lặp, kiểm tra đối xứng nhằm mục đích chính là gì?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 02

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 02 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình tập trung vào nguyên tắc cốt lõi nào?

  • A. Viết mã ngay lập tức cho các chức năng nhỏ nhất.
  • B. Giải quyết các chi tiết phức tạp trước khi xem xét tổng thể.
  • C. Thử nghiệm ngẫu nhiên các giải pháp khác nhau.
  • D. Chia bài toán lớn thành các bài toán con nhỏ hơn, đơn giản hơn một cách tuần tự.

Câu 2: Khi áp dụng phương pháp làm mịn dần cho một bài toán lập trình phức tạp, bước đầu tiên thường là gì?

  • A. Xác định bài toán ở mức tổng quát nhất.
  • B. Bắt đầu viết các hàm hoặc thủ tục cụ thể.
  • C. Chọn ngôn ngữ lập trình sẽ sử dụng.
  • D. Vẽ sơ đồ chi tiết về cấu trúc dữ liệu.

Câu 3: Giả sử bạn cần viết chương trình quản lý thư viện. Theo phương pháp làm mịn dần, bước làm mịn đầu tiên từ bài toán tổng thể "Quản lý thư viện" có thể chia thành các bài toán con nào ở mức độ cao?

  • A. Nhập sách, Xuất sách, Thống kê sách.
  • B. Tìm kiếm sách theo tên, Tìm kiếm sách theo tác giả.
  • C. Quản lý sách, Quản lý độc giả, Xử lý mượn/trả sách.
  • D. Kết nối cơ sở dữ liệu, Hiển thị giao diện người dùng.

Câu 4: Ưu điểm chính của phương pháp làm mịn dần trong việc giải quyết các bài toán lập trình lớn là gì?

  • A. Giúp viết mã nhanh hơn mà không cần suy nghĩ nhiều.
  • B. Giảm độ phức tạp của bài toán, giúp dễ dàng quản lý và giải quyết từng phần.
  • C. Tự động tạo ra mã nguồn chương trình.
  • D. Đảm bảo chương trình không có lỗi ngay từ lần chạy đầu tiên.

Câu 5: Khi một bài toán con đã được làm mịn đến mức đủ đơn giản, bước tiếp theo trong quy trình làm mịn dần là gì?

  • A. Lập trình (viết mã) cho bài toán con đó.
  • B. Quay lại bước đầu tiên để xem xét lại toàn bộ bài toán.
  • C. Bỏ qua bài toán con đó và chuyển sang bài toán khác.
  • D. Thêm các chi tiết phức tạp hơn vào bài toán con.

Câu 6: Xét bài toán "Kiểm tra xem một xâu có phải là xâu đối xứng không". Theo phương pháp làm mịn dần, bài toán con ở mức độ thấp hơn "So sánh ký tự đầu và cuối" có thể được làm mịn tiếp như thế nào?

  • A. Đếm tổng số ký tự trong xâu.
  • B. Chuyển xâu sang chữ hoa hoặc chữ thường.
  • C. Kiểm tra xem xâu có chứa ký tự đặc biệt không.
  • D. Xác định vị trí ký tự đầu và cuối, sau đó so sánh chúng.

Câu 7: Một trong những lợi ích của việc áp dụng làm mịn dần là khả năng tái sử dụng mã. Điều này được thể hiện qua việc các bài toán con sau khi được lập trình có thể trở thành gì?

  • A. Các biến toàn cục.
  • B. Các hàm, thủ tục hoặc mô-đun.
  • C. Các chú thích trong mã nguồn.
  • D. Các lỗi cú pháp.

Câu 8: Trong quá trình làm mịn dần, việc "làm mịn" một bài toán con có nghĩa là gì?

  • A. Phân tích nó thành các bước chi tiết hơn hoặc các bài toán con nhỏ hơn.
  • B. Viết mã cho nó ngay lập tức.
  • C. Gộp nó với một bài toán con khác.
  • D. Loại bỏ nó khỏi quy trình thiết kế.

Câu 9: Phương pháp làm mịn dần được xem là phương pháp thiết kế theo hướng nào?

  • A. Từ dưới lên (Bottom-Up).
  • B. Ngẫu nhiên (Random).
  • C. Từ trên xuống (Top-Down).
  • D. Theo chiều ngang (Horizontal).

Câu 10: Khi kiểm tra xem một dãy số A có phải là hoán vị của dãy từ 1 đến n hay không (Nhiệm vụ 1 trong bài thực hành), bước làm mịn đầu tiên từ bài toán "Kiểm tra hoán vị" có thể là kiểm tra những điều kiện cơ bản nào?

  • A. Kiểm tra xem dãy có chứa số 0 không.
  • B. Kiểm tra độ dài của dãy A và xem các phần tử có nằm trong khoảng từ 1 đến n không.
  • C. Kiểm tra xem các phần tử trong dãy có tăng dần không.
  • D. Kiểm tra xem có phần tử nào lớn hơn n không.

Câu 11: Vẫn với bài toán "Kiểm tra hoán vị của dãy 1 đến n". Sau khi đã kiểm tra độ dài và phạm vi giá trị, bước làm mịn tiếp theo để đảm bảo mỗi số từ 1 đến n xuất hiện đúng một lần có thể là gì?

  • A. Tính tổng các phần tử trong dãy.
  • B. Chuyển đổi dãy thành chuỗi ký tự.
  • C. Sắp xếp dãy A để dễ dàng kiểm tra các phần tử trùng lặp hoặc thiếu.
  • D. Tìm phần tử lớn nhất và nhỏ nhất trong dãy.

Câu 12: Trong bài toán "Đếm số lần lặp của mỗi phần tử trong dãy A" (Nhiệm vụ 2), bước làm mịn đầu tiên có thể là xác định những phần tử duy nhất nào có mặt trong dãy A. Bước làm mịn tiếp theo cho từng phần tử duy nhất đó là gì?

  • A. Với mỗi phần tử duy nhất, đếm số lần nó xuất hiện trong dãy A.
  • B. Sắp xếp dãy A.
  • C. Loại bỏ các phần tử trùng lặp khỏi dãy A.
  • D. Tìm vị trí xuất hiện đầu tiên của mỗi phần tử duy nhất.

Câu 13: Xét một bài toán con "Tính tổng các số chẵn trong một danh sách". Mức độ làm mịn này đã đủ để viết mã trực tiếp hay cần làm mịn thêm? Nếu cần, làm mịn tiếp sẽ như thế nào?

  • A. Cần làm mịn thêm: Chia thành "Lặp qua danh sách" và "Kiểm tra từng số".
  • B. Cần làm mịn thêm: Chia thành "Khởi tạo tổng" và "Duyệt và cộng".
  • C. Đã đủ chi tiết để viết mã trực tiếp.
  • D. Cần làm mịn thêm: Chia thành "Đọc danh sách" và "In kết quả".

Câu 14: Phương pháp làm mịn dần giúp quản lý sự phức tạp của chương trình bằng cách nào?

  • A. Giấu đi tất cả các chi tiết phức tạp.
  • B. Giải quyết tất cả các phần cùng một lúc.
  • C. Loại bỏ các phần không cần thiết của bài toán.
  • D. Cho phép tập trung vào một phần nhỏ của bài toán tại một thời điểm.

Câu 15: Điều gì xảy ra nếu một bước trong quá trình làm mịn dần không được phân tích đủ chi tiết trước khi chuyển sang bước tiếp theo hoặc viết mã?

  • A. Có thể dẫn đến khó khăn khi viết mã, sai sót hoặc thiết kế không hiệu quả.
  • B. Giúp tăng tốc độ hoàn thành chương trình.
  • C. Làm cho chương trình dễ bảo trì hơn.
  • D. Không ảnh hưởng đến chất lượng cuối cùng của chương trình.

Câu 16: Khi thiết kế một chương trình sử dụng làm mịn dần, việc xác định các "mô-đun" hoặc "hàm" tương ứng với các bài toán con ở mức độ nào trong quy trình làm mịn?

  • A. Chỉ ở bước đầu tiên khi xác định bài toán tổng thể.
  • B. Ở các mức làm mịn trung gian và cuối cùng, khi bài toán con đủ rõ ràng để triển khai.
  • C. Chỉ sau khi toàn bộ chương trình đã được viết xong.
  • D. Không liên quan đến phương pháp làm mịn dần.

Câu 17: Một lập trình viên đang thiết kế chương trình xử lý dữ liệu bán hàng. Anh ta bắt đầu với bước "Xử lý dữ liệu bán hàng", sau đó làm mịn thành "Đọc dữ liệu", "Phân tích dữ liệu", "Lập báo cáo". Đây là ví dụ về việc áp dụng nguyên tắc nào của làm mịn dần?

  • A. Phân rã bài toán thành các bài toán con.
  • B. Tái sử dụng mã nguồn.
  • C. Kiểm thử đơn vị (Unit testing).
  • D. Tối ưu hóa hiệu suất chương trình.

Câu 18: Khi làm mịn bài toán con "Phân tích dữ liệu" trong ví dụ quản lý bán hàng ở Câu 17, các bước làm mịn tiếp theo có thể bao gồm những gì?

  • A. Lưu dữ liệu vào cơ sở dữ liệu.
  • B. Hiển thị dữ liệu lên màn hình.
  • C. Kiểm tra định dạng của dữ liệu.
  • D. Tính tổng doanh thu, tìm sản phẩm bán chạy nhất, tính lợi nhuận.

Câu 19: Phương pháp làm mịn dần đặc biệt hữu ích khi làm việc với dự án lập trình có đặc điểm nào?

  • A. Dự án lớn và phức tạp.
  • B. Dự án rất nhỏ, chỉ vài dòng mã.
  • C. Dự án cần hoàn thành gấp trong thời gian rất ngắn.
  • D. Dự án không yêu cầu tính chính xác cao.

Câu 20: Trong quá trình làm mịn dần, mỗi mức độ làm mịn thể hiện điều gì?

  • A. Số lượng lỗi trong chương trình.
  • B. Mức độ chi tiết của bài toán hoặc giải pháp.
  • C. Thời gian cần thiết để hoàn thành công việc.
  • D. Ngôn ngữ lập trình được sử dụng.

Câu 21: Đâu là ví dụ về một bài toán con đã được làm mịn đến mức có thể triển khai trực tiếp thành mã lệnh cơ bản?

  • A. Quản lý cơ sở dữ liệu khách hàng.
  • B. Xử lý đơn hàng trực tuyến.
  • C. Đọc một số nguyên từ đầu vào.
  • D. Thiết kế giao diện người dùng phức tạp.

Câu 22: Khi làm mịn dần một bài toán, việc biểu diễn các bước hoặc bài toán con thường được thực hiện bằng cách nào trước khi viết mã?

  • A. Chỉ ghi nhớ trong đầu.
  • B. Viết ngay bằng ngôn ngữ máy (machine code).
  • C. Sử dụng ngôn ngữ lập trình đầy đủ.
  • D. Sử dụng ngôn ngữ tự nhiên, mã giả, hoặc sơ đồ khối.

Câu 23: Xét bài toán "Xử lý danh sách sinh viên". Bước làm mịn đầu tiên có thể là "Đọc danh sách từ file", "Xử lý thông tin từng sinh viên", "Lưu kết quả". Bước "Xử lý thông tin từng sinh viên" có thể được làm mịn tiếp thành gì nếu cần tính điểm trung bình và xếp loại?

  • A. Đọc điểm các môn, Tính điểm trung bình, Xác định xếp loại.
  • B. In tên sinh viên, In mã số sinh viên.
  • C. Thêm sinh viên mới, Xóa sinh viên cũ.
  • D. Kết nối cơ sở dữ liệu, Ngắt kết nối cơ sở dữ liệu.

Câu 24: Mục đích của việc sử dụng phương pháp làm mịn dần trong thực hành lập trình là để đạt được điều gì cho chương trình cuối cùng?

  • A. Chỉ chạy được trên một loại máy tính duy nhất.
  • B. Có kích thước tệp tin nhỏ nhất.
  • C. Hoàn toàn không có lỗi ngay từ đầu.
  • D. Dễ đọc, dễ hiểu, dễ bảo trì và dễ mở rộng.

Câu 25: Khi làm mịn dần, tại sao việc xác định rõ input (đầu vào) và output (đầu ra) cho mỗi bài toán con là quan trọng?

  • A. Để làm cho bài toán con trở nên phức tạp hơn.
  • B. Để định nghĩa rõ ràng chức năng và giao diện của bài toán con, giúp kết hợp chúng dễ dàng hơn.
  • C. Chỉ là yêu cầu hình thức, không ảnh hưởng đến quá trình lập trình.
  • D. Để biết cần sử dụng ngôn ngữ lập trình nào.

Câu 26: Trong bài toán "Kiểm tra xem trong dãy A có phần tử nào trùng nhau không", theo làm mịn dần, sau khi đã sắp xếp dãy A, bước làm mịn tiếp theo để kiểm tra trùng lặp là gì?

  • A. Duyệt qua dãy đã sắp xếp và so sánh từng phần tử với phần tử kế tiếp.
  • B. Đếm số lần xuất hiện của mỗi phần tử.
  • C. Tìm giá trị lớn nhất và nhỏ nhất.
  • D. Xóa các phần tử trùng lặp.

Câu 27: Phương pháp làm mịn dần giúp ích gì trong việc phát hiện và sửa lỗi (debugging)?

  • A. Làm cho lỗi tự động biến mất.
  • B. Tăng số lượng lỗi trong chương trình.
  • C. Giúp khoanh vùng và kiểm tra lỗi trong từng phần nhỏ (bài toán con) một cách độc lập.
  • D. Chỉ phát hiện được lỗi cú pháp.

Câu 28: Giả sử bạn đang làm mịn bài toán "Vẽ một ngôi nhà". Bước làm mịn đầu tiên có thể là "Vẽ thân nhà", "Vẽ mái nhà", "Vẽ cửa sổ", "Vẽ cửa ra vào". Bước "Vẽ cửa sổ" có thể được làm mịn tiếp thành các bước cơ bản nào?

  • A. Vẽ khung cửa sổ, Vẽ các thanh chia ô.
  • B. Chọn màu cho cửa sổ.
  • C. Di chuyển cửa sổ sang vị trí khác.
  • D. Kiểm tra xem cửa sổ có đủ lớn không.

Câu 29: Điều nào sau đây không phải là đặc điểm của một bài toán con đã được làm mịn tốt và sẵn sàng để viết mã?

  • A. Mục tiêu và chức năng của nó rất rõ ràng.
  • B. Đầu vào và đầu ra của nó được xác định cụ thể.
  • C. Các bước thực hiện bên trong nó đủ đơn giản để viết mã trực tiếp.
  • D. Nó có nhiều tương tác phức tạp và phụ thuộc chặt chẽ vào rất nhiều phần khác của chương trình.

Câu 30: Tại sao việc thực hành làm mịn dần với các bài toán nhỏ trước khi áp dụng cho bài toán lớn lại quan trọng?

  • A. Giúp người học làm quen và nắm vững tư duy, kỹ năng làm mịn dần ở quy mô đơn giản.
  • B. Bài toán nhỏ thì không cần làm mịn dần.
  • C. Bài toán nhỏ luôn dễ hơn bài toán lớn.
  • D. Chỉ có thể áp dụng làm mịn dần cho bài toán nhỏ.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình tập trung vào nguyên tắc cốt lõi nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 2: Khi áp dụng phương pháp làm mịn dần cho một bài toán lập trình phức tạp, bước đầu tiên thường là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 3: Giả sử bạn cần viết chương trình quản lý thư viện. Theo phương pháp làm mịn dần, bước làm mịn đầu tiên từ bài toán tổng thể 'Quản lý thư viện' có thể chia thành các bài toán con nào ở mức độ cao?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 4: Ưu điểm chính của phương pháp làm mịn dần trong việc giải quyết các bài toán lập trình lớn là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 5: Khi một bài toán con đã được làm mịn đến mức đủ đơn giản, bước tiếp theo trong quy trình làm mịn dần là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 6: Xét bài toán 'Kiểm tra xem một xâu có phải là xâu đối xứng không'. Theo phương pháp làm mịn dần, bài toán con ở mức độ thấp hơn 'So sánh ký tự đầu và cuối' có thể được làm mịn tiếp như thế nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 7: Một trong những lợi ích của việc áp dụng làm mịn dần là khả năng tái sử dụng mã. Điều này được thể hiện qua việc các bài toán con sau khi được lập trình có thể trở thành gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 8: Trong quá trình làm mịn dần, việc 'làm mịn' một bài toán con có nghĩa là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 9: Phương pháp làm mịn dần được xem là phương pháp thiết kế theo hướng nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 10: Khi kiểm tra xem một dãy số A có phải là hoán vị của dãy từ 1 đến n hay không (Nhiệm vụ 1 trong bài thực hành), bước làm mịn đầu tiên từ bài toán 'Kiểm tra hoán vị' có thể là kiểm tra những điều kiện cơ bản nào?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 11: Vẫn với bài toán 'Kiểm tra hoán vị của dãy 1 đến n'. Sau khi đã kiểm tra độ dài và phạm vi giá trị, bước làm mịn tiếp theo để đảm bảo mỗi số từ 1 đến n xuất hiện *đúng một lần* có thể là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 12: Trong bài toán 'Đếm số lần lặp của mỗi phần tử trong dãy A' (Nhiệm vụ 2), bước làm mịn đầu tiên có thể là xác định những phần tử *duy nhất* nào có mặt trong dãy A. Bước làm mịn tiếp theo cho từng phần tử duy nhất đó là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 13: Xét một bài toán con 'Tính tổng các số chẵn trong một danh sách'. Mức độ làm mịn này đã đủ để viết mã trực tiếp hay cần làm mịn thêm? Nếu cần, làm mịn tiếp sẽ như thế nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 14: Phương pháp làm mịn dần giúp quản lý sự phức tạp của chương trình bằng cách nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 15: Điều gì xảy ra nếu một bước trong quá trình làm mịn dần không được phân tích đủ chi tiết trước khi chuyển sang bước tiếp theo hoặc viết mã?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 16: Khi thiết kế một chương trình sử dụng làm mịn dần, việc xác định các 'mô-đun' hoặc 'hàm' tương ứng với các bài toán con ở mức độ nào trong quy trình làm mịn?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 17: Một lập trình viên đang thiết kế chương trình xử lý dữ liệu bán hàng. Anh ta bắt đầu với bước 'Xử lý dữ liệu bán hàng', sau đó làm mịn thành 'Đọc dữ liệu', 'Phân tích dữ liệu', 'Lập báo cáo'. Đây là ví dụ về việc áp dụng nguyên tắc nào của làm mịn dần?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 18: Khi làm mịn bài toán con 'Phân tích dữ liệu' trong ví dụ quản lý bán hàng ở Câu 17, các bước làm mịn tiếp theo có thể bao gồm những gì?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 19: Phương pháp làm mịn dần đặc biệt hữu ích khi làm việc với dự án lập trình có đặc điểm nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 20: Trong quá trình làm mịn dần, mỗi mức độ làm mịn thể hiện điều gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 21: Đâu là ví dụ về một bài toán con đã được làm mịn đến mức có thể triển khai trực tiếp thành mã lệnh cơ bản?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 22: Khi làm mịn dần một bài toán, việc biểu diễn các bước hoặc bài toán con thường được thực hiện bằng cách nào trước khi viết mã?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 23: Xét bài toán 'Xử lý danh sách sinh viên'. Bước làm mịn đầu tiên có thể là 'Đọc danh sách từ file', 'Xử lý thông tin từng sinh viên', 'Lưu kết quả'. Bước 'Xử lý thông tin từng sinh viên' có thể được làm mịn tiếp thành gì nếu cần tính điểm trung bình và xếp loại?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 24: Mục đích của việc sử dụng phương pháp làm mịn dần trong thực hành lập trình là để đạt được điều gì cho chương trình cuối cùng?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 25: Khi làm mịn dần, tại sao việc xác định rõ input (đầu vào) và output (đầu ra) cho mỗi bài toán con là quan trọng?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 26: Trong bài toán 'Kiểm tra xem trong dãy A có phần tử nào trùng nhau không', theo làm mịn dần, sau khi đã sắp xếp dãy A, bước làm mịn tiếp theo để kiểm tra trùng lặp là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 27: Phương pháp làm mịn dần giúp ích gì trong việc phát hiện và sửa lỗi (debugging)?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 28: Giả sử bạn đang làm mịn bài toán 'Vẽ một ngôi nhà'. Bước làm mịn đầu tiên có thể là 'Vẽ thân nhà', 'Vẽ mái nhà', 'Vẽ cửa sổ', 'Vẽ cửa ra vào'. Bước 'Vẽ cửa sổ' có thể được làm mịn tiếp thành các bước cơ bản nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 29: Điều nào sau đây *không phải* là đặc điểm của một bài toán con đã được làm mịn tốt và sẵn sàng để viết mã?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 02

Câu 30: Tại sao việc thực hành làm mịn dần với các bài toán nhỏ trước khi áp dụng cho bài toán lớn lại quan trọng?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 03

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 03 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình là cách tiếp cận giải quyết vấn đề như thế nào?

  • A. Đi từ các chi tiết nhỏ nhất của chương trình để xây dựng nên tổng thể.
  • B. Viết toàn bộ mã lệnh rồi mới kiểm tra logic.
  • C. Giải quyết bài toán bằng cách thử nghiệm ngẫu nhiên các giải pháp.
  • D. Bắt đầu từ mô tả tổng quát, chia nhỏ thành các bài toán con và làm rõ dần từng bước.

Câu 2: Khi áp dụng phương pháp làm mịn dần để kiểm tra xem một dãy số A có phải là hoán vị của dãy số từ 1 đến n hay không, bước làm mịn đầu tiên (mức trừu tượng cao nhất) thường là gì?

  • A. Kiểm tra hai điều kiện: độ dài dãy A bằng n và mỗi số từ 1 đến n xuất hiện đúng một lần trong A.
  • B. Viết ngay hàm kiểm tra từng phần tử của dãy A.
  • C. Sắp xếp dãy A theo thứ tự tăng dần.
  • D. Duyệt qua dãy A và đếm số lần xuất hiện của từng phần tử.

Câu 3: Xét bài toán kiểm tra hoán vị dãy A (n phần tử) với dãy 1 đến n. Nếu ta đã làm mịn bước kiểm tra thành hai phần: (1) kiểm tra độ dài và (2) kiểm tra sự xuất hiện của các số từ 1 đến n, thì bước làm mịn tiếp theo cho phần (2) có thể là gì?

  • A. So sánh trực tiếp từng phần tử của A với các số từ 1 đến n.
  • B. Chỉ cần kiểm tra xem phần tử đầu tiên của A có phải là 1 và phần tử cuối cùng có phải là n không.
  • C. Sử dụng một mảng/danh sách phụ để đếm số lần xuất hiện của mỗi số từ 1 đến n trong dãy A.
  • D. Tính tổng các phần tử của A và so sánh với tổng từ 1 đến n.

Câu 4: Trong phương pháp làm mịn dần, việc chia bài toán lớn thành các bài toán con (subproblems) mang lại lợi ích chủ yếu nào?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Làm cho bài toán dễ hiểu, dễ quản lý và dễ viết mã hơn.
  • C. Luôn đảm bảo thuật toán tối ưu nhất.
  • D. Loại bỏ hoàn toàn lỗi trong quá trình lập trình.

Câu 5: Giả sử bạn đang thiết kế chương trình để kiểm tra xem một xâu ký tự có phải là đối xứng (palindrome) hay không bằng phương pháp làm mịn dần. Bước làm mịn đầu tiên hợp lý nhất là gì?

  • A. So sánh ký tự đầu tiên với ký tự cuối cùng, ký tự thứ hai với ký tự áp cuối, và tiếp tục cho đến giữa xâu.
  • B. Đếm số lượng ký tự trong xâu.
  • C. Chuyển xâu thành chữ thường (nếu không phân biệt hoa thường).
  • D. Kiểm tra xem xâu có chứa ít nhất một chữ cái không.

Câu 6: Khi làm mịn bước

  • A. Một chỉ số duy nhất duyệt từ đầu đến cuối xâu.
  • B. Hai chỉ số, một bắt đầu từ đầu (tăng dần) và một bắt đầu từ cuối (giảm dần).
  • C. Hai chỉ số cùng bắt đầu từ đầu xâu và cùng tăng dần.
  • D. Hai chỉ số cùng bắt đầu từ cuối xâu và cùng giảm dần.

Câu 7: Giả sử bạn đang thiết kế thuật toán đếm số lần xuất hiện của từng phần tử trong một dãy số A bằng phương pháp làm mịn dần. Bước làm mịn nào sau đây là một cách tiếp cận hợp lý cho bài toán con

  • A. Duyệt qua dãy A, so sánh từng phần tử với x và tăng bộ đếm nếu trùng khớp.
  • B. Sắp xếp dãy A rồi tìm vị trí của x.
  • C. Chỉ kiểm tra phần tử đầu tiên và cuối cùng của A.
  • D. Tính tổng các phần tử trong A.

Câu 8: Trong bài toán đếm số lần lặp của từng phần tử trong dãy A, sau khi đã làm mịn bước đếm cho từng giá trị riêng lẻ (ví dụ: dùng hàm `dem_so_lan(x, A)`), bước làm mịn tiếp theo để giải quyết bài toán tổng thể là gì?

  • A. Sắp xếp dãy A.
  • B. Chỉ đếm số lần lặp của phần tử đầu tiên.
  • C. Xóa các phần tử trùng lặp khỏi A.
  • D. Xác định các giá trị duy nhất trong A và với mỗi giá trị duy nhất đó, gọi hàm đếm số lần xuất hiện trong A.

Câu 9: Ưu điểm của việc sử dụng phương pháp làm mịn dần trong thiết kế thuật toán là gì?

  • A. Tăng tốc độ thực thi của chương trình cuối cùng.
  • B. Giảm số lượng dòng mã cần viết.
  • C. Nâng cao tính rõ ràng, dễ bảo trì và khả năng tái sử dụng mã lệnh (qua các hàm/mô đun con).
  • D. Loại bỏ nhu cầu kiểm thử chương trình.

Câu 10: Khi thiết kế chương trình theo phương pháp làm mịn dần, mỗi bước làm mịn tiếp theo nên làm gì?

  • A. Giảm bớt các chi tiết để giữ cho thuật toán đơn giản.
  • B. Mô tả chi tiết hơn các thao tác hoặc cấu trúc dữ liệu đã nêu ở bước trước.
  • C. Thay đổi hoàn toàn ý tưởng giải quyết bài toán.
  • D. Chỉ tập trung vào việc tối ưu hóa hiệu suất.

Câu 11: Giả sử bạn cần kiểm tra xem trong một dãy số A có bất kỳ phần tử nào bị trùng lặp hay không. Áp dụng phương pháp làm mịn dần, một cách tiếp cận ở mức trừu tượng cao là gì?

  • A. Tính tổng các phần tử trong dãy.
  • B. Tìm phần tử lớn nhất trong dãy.
  • C. Chỉ cần kiểm tra xem dãy có rỗng hay không.
  • D. Với mỗi phần tử trong dãy, kiểm tra xem nó có xuất hiện lại ở bất kỳ vị trí nào khác trong dãy hay không.

Câu 12: Làm mịn bước

  • A. Duyệt qua dãy A bằng vòng lặp ngoài. Với mỗi phần tử A[i], dùng vòng lặp trong để duyệt các phần tử A[j] (với j > i) và so sánh A[i] với A[j].
  • B. Chỉ cần so sánh A[0] với A[1].
  • C. Sắp xếp dãy A và sau đó so sánh các phần tử không liền kề.
  • D. Xóa các phần tử khỏi dãy A và đếm số lượng phần tử còn lại.

Câu 13: Phương pháp làm mịn dần giúp chúng ta quản lý sự phức tạp của chương trình bằng cách nào?

  • A. Biến bài toán phức tạp thành một bài toán đơn giản ngay từ đầu.
  • B. Chia bài toán lớn thành các bài toán con nhỏ hơn, dễ quản lý và giải quyết hơn.
  • C. Sử dụng các cấu trúc dữ liệu phức tạp.
  • D. Viết mã lệnh một cách ngẫu nhiên.

Câu 14: Khi áp dụng làm mịn dần, việc xác định các "bài toán con" (subproblems) ở mỗi bước có vai trò gì?

  • A. Làm cho chương trình chạy nhanh hơn.
  • B. Giảm số lượng biến cần sử dụng.
  • C. Định hình cấu trúc của chương trình và cung cấp các mục tiêu cụ thể để làm mịn tiếp theo.
  • D. Loại bỏ nhu cầu sử dụng hàm hoặc thủ tục.

Câu 15: Trong bài toán kiểm tra hoán vị của dãy A với dãy 1 đến n, việc sắp xếp dãy A (nếu chọn cách này) phục vụ mục đích gì trong quá trình làm mịn dần?

  • A. Giúp dễ dàng kiểm tra xem dãy A có chứa đủ các số từ 1 đến n và mỗi số chỉ xuất hiện đúng một lần bằng cách duyệt tuần tự.
  • B. Làm cho dãy A có thứ tự ngẫu nhiên hơn.
  • C. Giảm độ dài của dãy A.
  • D. Phát hiện ngay lập tức các phần tử âm.

Câu 16: Giả sử bạn cần viết một hàm `kiem_tra_doi_xung(xau)` kiểm tra xem xâu có đối xứng không. Theo phương pháp làm mịn dần, hàm này có thể gọi đến một hàm con nào để thực hiện việc so sánh các cặp ký tự?

  • A. Hàm `tinh_do_dai_xau(xau)`.
  • B. Hàm `in_nguoc_xau(xau)`.
  • C. Hàm `chuan_hoa_xau(xau)` (ví dụ: xóa khoảng trắng).
  • D. Hàm `so_sanh_ky_tu(ky_tu1, ky_tu2)` hoặc tương đương.

Câu 17: Trong bài toán đếm số lần lặp của từng phần tử trong dãy A, một cách làm mịn khác thay vì dùng vòng lặp lồng nhau là sử dụng một cấu trúc dữ liệu giúp lưu trữ và truy cập nhanh số lần đếm cho mỗi phần tử. Cấu trúc dữ liệu nào phù hợp cho mục đích này?

  • A. Danh sách liên kết đơn (Singly linked list).
  • B. Từ điển (Dictionary/Hash map).
  • C. Stack (Ngăn xếp).
  • D. Queue (Hàng đợi).

Câu 18: Khi áp dụng phương pháp làm mịn dần, việc dừng quá trình làm mịn khi nào là hợp lý?

  • A. Khi các bài toán con đã đủ chi tiết để chuyển thành mã lệnh trực tiếp.
  • B. Khi bài toán đã được chia thành ít nhất 10 bài toán con.
  • C. Khi đã hết thời gian cho phép thiết kế.
  • D. Khi các bài toán con đều có độ phức tạp như nhau.

Câu 19: Xét bài toán kiểm tra xem một số nguyên dương N có phải là số nguyên tố hay không. Bước làm mịn đầu tiên theo nguyên tắc "làm mịn dần" là gì?

  • A. Kiểm tra xem N có phải là số chẵn không.
  • B. Tính tổng các chữ số của N.
  • C. Kiểm tra xem N có bất kỳ ước số nào trong khoảng từ 2 đến căn bậc hai của N hay không.
  • D. In ra tất cả các số từ 1 đến N.

Câu 20: Trong quá trình thiết kế chương trình bằng làm mịn dần, việc sử dụng các hàm hoặc thủ tục con (subroutines/functions) có vai trò gì?

  • A. Làm cho chương trình khó hiểu hơn.
  • B. Đóng gói các bài toán con, giúp cấu trúc chương trình rõ ràng và dễ quản lý.
  • C. Chỉ dùng cho các bài toán rất đơn giản.
  • D. Bắt buộc phải sử dụng cho mọi chương trình.

Câu 21: Xét bài toán

  • A. Khởi tạo một biến `min_value` bằng phần tử đầu tiên của dãy. Duyệt qua các phần tử còn lại. Nếu phần tử hiện tại nhỏ hơn `min_value`, cập nhật `min_value` bằng phần tử hiện tại.
  • B. Sắp xếp dãy theo thứ tự tăng dần và lấy phần tử cuối cùng.
  • C. Tính tổng các phần tử trong dãy và chia cho số lượng phần tử.
  • D. So sánh phần tử đầu tiên với phần tử cuối cùng.

Câu 22: Trong bài toán kiểm tra hoán vị (dãy A với dãy 1 đến n), nếu sau khi sắp xếp dãy A, ta phát hiện A[i] != i+1 cho một giá trị i nào đó (với i từ 0 đến n-1), điều này có ý nghĩa gì?

  • A. Dãy A chắc chắn là hoán vị của dãy 1 đến n.
  • B. Dãy A không phải là hoán vị của dãy 1 đến n.
  • C. Phần tử A[i] bị trùng lặp.
  • D. Độ dài của dãy A lớn hơn n.

Câu 23: Khi thiết kế chương trình theo phương pháp làm mịn dần, việc ghi chép lại các bước làm mịn (ví dụ: bằng sơ đồ hoặc mô tả văn bản) có lợi ích gì?

  • A. Làm cho chương trình chạy nhanh hơn.
  • B. Giảm dung lượng bộ nhớ cần thiết.
  • C. Không có lợi ích gì, chỉ tốn thời gian.
  • D. Giúp theo dõi quá trình thiết kế, dễ dàng sửa đổi và là tài liệu cho người khác hiểu.

Câu 24: Xét bài toán

  • A. Khởi tạo kết quả bằng 1. Lặp từ 1 đến N, nhân kết quả với số hiện tại trong mỗi lần lặp.
  • B. Cộng tất cả các số từ 1 đến N.
  • C. Kiểm tra xem N có phải là số nguyên tố không.
  • D. Chia N cho 2 cho đến khi N bằng 1.

Câu 25: Tại sao việc kiểm tra độ dài của dãy A là bước cần thiết và nên thực hiện sớm khi kiểm tra hoán vị dãy A với dãy 1 đến n?

  • A. Để biết số lượng phần tử cần sắp xếp.
  • B. Để tính tổng các phần tử trong dãy.
  • C. Để loại bỏ ngay trường hợp dãy A không thể là hoán vị (do sai số lượng phần tử), giúp tiết kiệm thời gian xử lý.
  • D. Để xác định xem dãy có chứa số 0 hay không.

Câu 26: Trong bài toán đếm số lần lặp của từng phần tử, nếu sử dụng phương pháp sắp xếp dãy A trước khi đếm, thì bước làm mịn tiếp theo để đếm số lần lặp sẽ khác với cách không sắp xếp như thế nào?

  • A. Vẫn phải duyệt lại toàn bộ dãy cho mỗi phần tử.
  • B. Duyệt qua dãy đã sắp xếp một lần, đếm số lần các phần tử liên tiếp nhau giống nhau.
  • C. Chỉ cần đếm số lượng phần tử duy nhất.
  • D. Tính tổng các phần tử và chia cho số lượng phần tử duy nhất.

Câu 27: Xét bài toán

  • A. Kiểm tra xem N có phải là số chẵn không.
  • B. Tính căn bậc hai của N.
  • C. Chỉ kiểm tra các số nguyên tố nhỏ hơn N.
  • D. Duyệt qua các số từ 1 đến N và kiểm tra xem N có chia hết cho số đó không.

Câu 28: Khi thiết kế chương trình theo làm mịn dần, việc định nghĩa rõ ràng input (đầu vào) và output (đầu ra) cho bài toán lớn và các bài toán con là quan trọng vì:

  • A. Giúp xác định rõ nhiệm vụ của từng phần, dễ dàng kết nối các bài toán con lại với nhau.
  • B. Chỉ cần thiết cho bài toán con cuối cùng.
  • C. Làm cho quá trình thiết kế phức tạp hơn.
  • D. Không liên quan đến phương pháp làm mịn dần.

Câu 29: Xét bài toán

  • A. Chỉ kiểm tra xem năm có chia hết cho 4 không.
  • B. Kiểm tra các điều kiện: năm chia hết cho 4 nhưng không chia hết cho 100, HOẶC năm chia hết cho 400.
  • C. Đếm số ngày trong năm.
  • D. So sánh năm đó với năm hiện tại.

Câu 30: Lợi ích của việc thực hành thiết kế chương trình theo phương pháp làm mịn dần với các ví dụ cụ thể (như trong Bài 27) là gì?

  • A. Giúp người học rèn luyện kỹ năng phân tích, chia nhỏ bài toán và áp dụng phương pháp làm mịn dần vào thực tế.
  • B. Chỉ giúp giải quyết các bài toán đã cho sẵn.
  • C. Làm cho việc học trở nên nhàm chán.
  • D. Không có tác dụng gì nếu không biết code.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình là cách tiếp cận giải quyết vấn đề như thế nào?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 2: Khi áp dụng phương pháp làm mịn dần để kiểm tra xem một dãy số A có phải là hoán vị của dãy số từ 1 đến n hay không, bước làm mịn đầu tiên (mức trừu tượng cao nhất) thường là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 3: Xét bài toán kiểm tra hoán vị dãy A (n phần tử) với dãy 1 đến n. Nếu ta đã làm mịn bước kiểm tra thành hai phần: (1) kiểm tra độ dài và (2) kiểm tra sự xuất hiện của các số từ 1 đến n, thì bước làm mịn tiếp theo cho phần (2) có thể là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 4: Trong phương pháp làm mịn dần, việc chia bài toán lớn thành các bài toán con (subproblems) mang lại lợi ích chủ yếu nào?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 5: Giả sử bạn đang thiết kế chương trình để kiểm tra xem một xâu ký tự có phải là đối xứng (palindrome) hay không bằng phương pháp làm mịn dần. Bước làm mịn đầu tiên hợp lý nhất là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 6: Khi làm mịn bước "So sánh ký tự đầu tiên với ký tự cuối cùng, ..." cho bài toán kiểm tra xâu đối xứng, ta có thể mô tả chi tiết hơn bằng cách sử dụng hai chỉ số (index). Chỉ số nào sẽ được sử dụng và thay đổi như thế nào trong quá trình so sánh?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 7: Giả sử bạn đang thiết kế thuật toán đếm số lần xuất hiện của từng phần tử trong một dãy số A bằng phương pháp làm mịn dần. Bước làm mịn nào sau đây là một cách tiếp cận hợp lý cho bài toán con "Đếm số lần xuất hiện của một giá trị x trong dãy A"?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 8: Trong bài toán đếm số lần lặp của từng phần tử trong dãy A, sau khi đã làm mịn bước đếm cho từng giá trị riêng lẻ (ví dụ: dùng hàm `dem_so_lan(x, A)`), bước làm mịn tiếp theo để giải quyết bài toán tổng thể là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 9: Ưu điểm của việc sử dụng phương pháp làm mịn dần trong thiết kế thuật toán là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 10: Khi thiết kế chương trình theo phương pháp làm mịn dần, mỗi bước làm mịn tiếp theo nên làm gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 11: Giả sử bạn cần kiểm tra xem trong một dãy số A có bất kỳ phần tử nào bị trùng lặp hay không. Áp dụng phương pháp làm mịn dần, một cách tiếp cận ở mức trừu tượng cao là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 12: Làm mịn bước "Với mỗi phần tử trong dãy, kiểm tra xem nó có xuất hiện lại ở bất kỳ vị trí nào khác" (của câu 11) có thể được thực hiện chi tiết hơn bằng cách nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 13: Phương pháp làm mịn dần giúp chúng ta quản lý sự phức tạp của chương trình bằng cách nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 14: Khi áp dụng làm mịn dần, việc xác định các 'bài toán con' (subproblems) ở mỗi bước có vai trò gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 15: Trong bài toán kiểm tra hoán vị của dãy A với dãy 1 đến n, việc sắp xếp dãy A (nếu chọn cách này) phục vụ mục đích gì trong quá trình làm mịn dần?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 16: Giả sử bạn cần viết một hàm `kiem_tra_doi_xung(xau)` kiểm tra xem xâu có đối xứng không. Theo phương pháp làm mịn dần, hàm này có thể gọi đến một hàm con nào để thực hiện việc so sánh các cặp ký tự?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 17: Trong bài toán đếm số lần lặp của từng phần tử trong dãy A, một cách làm mịn khác thay vì dùng vòng lặp lồng nhau là sử dụng một cấu trúc dữ liệu giúp lưu trữ và truy cập nhanh số lần đếm cho mỗi phần tử. Cấu trúc dữ liệu nào phù hợp cho mục đích này?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 18: Khi áp dụng phương pháp làm mịn dần, việc dừng quá trình làm mịn khi nào là hợp lý?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 19: Xét bài toán kiểm tra xem một số nguyên dương N có phải là số nguyên tố hay không. Bước làm mịn đầu tiên theo nguyên tắc 'làm mịn dần' là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 20: Trong quá trình thiết kế chương trình bằng làm mịn dần, việc sử dụng các hàm hoặc thủ tục con (subroutines/functions) có vai trò gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 21: Xét bài toán "Tìm phần tử nhỏ nhất trong một dãy số A". Áp dụng làm mịn dần, bước làm mịn chi tiết hơn cho ý tưởng "duyệt qua dãy và ghi nhớ phần tử nhỏ nhất đã thấy" là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 22: Trong bài toán kiểm tra hoán vị (dãy A với dãy 1 đến n), nếu sau khi sắp xếp dãy A, ta phát hiện A[i] != i+1 cho một giá trị i nào đó (với i từ 0 đến n-1), điều này có ý nghĩa gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 23: Khi thiết kế chương trình theo phương pháp làm mịn dần, việc ghi chép lại các bước làm mịn (ví dụ: bằng sơ đồ hoặc mô tả văn bản) có lợi ích gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 24: Xét bài toán "Tính giai thừa của một số nguyên dương N". Bước làm mịn nào sau đây phản ánh đúng nguyên tắc tính giai thừa?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 25: Tại sao việc kiểm tra độ dài của dãy A là bước cần thiết và nên thực hiện sớm khi kiểm tra hoán vị dãy A với dãy 1 đến n?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 26: Trong bài toán đếm số lần lặp của từng phần tử, nếu sử dụng phương pháp sắp xếp dãy A trước khi đếm, thì bước làm mịn tiếp theo để đếm số lần lặp sẽ khác với cách không sắp xếp như thế nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 27: Xét bài toán "Tìm tất cả các ước số của một số nguyên dương N". Bước làm mịn đầu tiên (mức trừu tượng cao) là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 28: Khi thiết kế chương trình theo làm mịn dần, việc định nghĩa rõ ràng input (đầu vào) và output (đầu ra) cho bài toán lớn và các bài toán con là quan trọng vì:

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 29: Xét bài toán "Kiểm tra xem một năm có phải là năm nhuận hay không". Dựa trên quy tắc năm nhuận, bước làm mịn đầu tiên hợp lý là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 03

Câu 30: Lợi ích của việc thực hành thiết kế chương trình theo phương pháp làm mịn dần với các ví dụ cụ thể (như trong Bài 27) là gì?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 04

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 04 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Theo phương pháp làm mịn dần trong thiết kế chương trình, mục tiêu cốt lõi của việc phân rã bài toán ban đầu thành các bài toán con là gì?

  • A. Để tìm ra duy nhất một cách giải tối ưu cho bài toán.
  • B. Để có thể sử dụng lại mã nguồn từ các bài toán con đã có.
  • C. Để giảm bớt sự phức tạp, giúp việc giải quyết từng phần trở nên dễ dàng hơn.
  • D. Để tạo ra nhiều phiên bản chương trình khác nhau cho cùng một bài toán.

Câu 2: Khi áp dụng phương pháp làm mịn dần, quá trình phân rã bài toán dừng lại khi nào?

  • A. Khi bài toán con đầu tiên được giải quyết xong.
  • B. Khi số lượng bài toán con đạt đến một con số nhất định.
  • C. Khi không thể chia nhỏ bài toán con đó được nữa về mặt cấu trúc.
  • D. Khi bài toán con trở nên đủ đơn giản để có thể viết mã lệnh trực tiếp hoặc đã có giải pháp sẵn có.

Câu 3: Giả sử bạn cần thiết kế chương trình "Quản lý thư viện". Theo phương pháp làm mịn dần, bước phân rã đầu tiên (mức cao nhất) có thể bao gồm những bài toán con nào?

  • A. Quản lý sách, Quản lý độc giả, Xử lý mượn/trả sách.
  • B. Thiết kế giao diện người dùng, Viết báo cáo thống kê.
  • C. Lưu trữ dữ liệu sách, Tìm kiếm sách theo tên tác giả.
  • D. Kiểm tra kết nối cơ sở dữ liệu, Sao lưu dữ liệu.

Câu 4: Trong bài toán "Kiểm tra dãy A có phải là hoán vị của dãy từ 1 đến n hay không" (Nhiệm vụ 1), một bước làm mịn (phân rã) hợp lý từ mức cao "Kiểm tra tính hoán vị" là gì?

  • A. In ra màn hình tất cả các phần tử của dãy A.
  • B. Sắp xếp dãy A theo thứ tự giảm dần.
  • C. Tìm phần tử lớn nhất trong dãy A.
  • D. Kiểm tra độ dài của dãy A có bằng n không, và kiểm tra xem mỗi số từ 1 đến n có xuất hiện đúng một lần trong A không.

Câu 5: Vẫn trong bài toán "Kiểm tra hoán vị" (Nhiệm vụ 1), nếu chọn cách làm mịn là "Sắp xếp dãy A", bước làm mịn tiếp theo (chi tiết hơn) để kiểm tra hoán vị là gì?

  • A. Đếm số lần xuất hiện của từng phần tử trong dãy A đã sắp xếp.
  • B. So sánh phần tử thứ i của dãy A đã sắp xếp với số i+1 (với i chạy từ 0 đến n-1).
  • C. Tìm phần tử nhỏ nhất và lớn nhất trong dãy A đã sắp xếp.
  • D. Xóa các phần tử trùng lặp trong dãy A đã sắp xếp.

Câu 6: Trong bài toán "Đếm số lần lặp của mỗi phần tử trong dãy A" (Nhiệm vụ 2), một bước làm mịn (phân rã) hợp lý là "Đối với mỗi phần tử độc nhất x trong A, đếm số lần xuất hiện của x". Để thực hiện bước này, ta cần một bài toán con chi tiết hơn là gì?

  • A. Tìm tất cả các phần tử độc nhất trong A.
  • B. Lưu trữ kết quả đếm vào một cấu trúc dữ liệu.
  • C. Xây dựng một hàm (hoặc quy trình) để đếm số lần xuất hiện của một giá trị cụ thể trong một dãy.
  • D. Sắp xếp dãy A để các phần tử giống nhau đứng gần nhau.

Câu 7: Vẫn trong bài toán "Đếm số lần lặp" (Nhiệm vụ 2), giả sử ta chọn làm mịn theo hướng "Sử dụng một cấu trúc dữ liệu để lưu trữ số lần xuất hiện". Cấu trúc dữ liệu nào sau đây là phù hợp nhất để ánh xạ "phần tử" tới "số lần xuất hiện" của nó?

  • A. Từ điển (dictionary/map).
  • B. Danh sách liên kết (linked list).
  • C. Mảng (array).
  • D. Hàng đợi (queue).

Câu 8: Trong bài toán "Kiểm tra xâu kí tự S có phải là đối xứng hay không", một bước làm mịn (phân rã) hợp lý là "So sánh các kí tự ở hai đầu của xâu và tiến dần vào giữa". Bước làm mịn tiếp theo cho "So sánh các kí tự ở hai đầu" là gì?

  • A. Đảo ngược toàn bộ xâu S.
  • B. Đếm số lượng kí tự trong xâu S.
  • C. Khởi tạo hai chỉ số, một ở đầu xâu (index 0) và một ở cuối xâu (index length-1).
  • D. Tìm kí tự ở vị trí giữa của xâu S.

Câu 9: Vẫn trong bài toán "Kiểm tra xâu đối xứng", giả sử ta đang ở bước "So sánh kí tự tại chỉ số i và kí tự tại chỉ số j (bắt đầu từ hai đầu và tiến vào)". Khi nào ta có thể kết luận ngay rằng xâu S không phải là đối xứng?

  • A. Khi i lớn hơn j.
  • B. Khi kí tự tại chỉ số i khác kí tự tại chỉ số j.
  • C. Khi i và j gặp nhau ở giữa xâu.
  • D. Khi tất cả các cặp kí tự đã được so sánh.

Câu 10: Ưu điểm chính của việc sử dụng phương pháp làm mịn dần trong thiết kế chương trình là gì?

  • A. Giúp quản lý độ phức tạp của bài toán lớn bằng cách chia thành các phần nhỏ hơn.
  • B. Luôn đảm bảo chương trình được viết bằng ngôn ngữ lập trình hiệu quả nhất.
  • C. Tự động tạo ra mã nguồn hoàn chỉnh từ mô tả bài toán.
  • D. Loại bỏ hoàn toàn nhu cầu kiểm thử chương trình.

Câu 11: Khi áp dụng làm mịn dần, việc xác định "mức độ chi tiết" phù hợp cho mỗi bước phân rã là quan trọng. Nếu một bước quá chi tiết ngay từ đầu, điều gì có thể xảy ra?

  • A. Quá trình làm mịn sẽ kết thúc quá sớm.
  • B. Bài toán con đó sẽ không thể giải quyết được.
  • C. Có thể làm mất đi cái nhìn tổng quan về cấu trúc bài toán, khó quản lý các phần lớn.
  • D. Chương trình sẽ chạy nhanh hơn đáng kể.

Câu 12: Ngược lại, nếu một bước làm mịn vẫn còn quá "thô" (ít chi tiết) khi chuyển sang bước tiếp theo, điều gì có thể là hệ quả?

  • A. Bài toán con ở mức tiếp theo vẫn còn quá phức tạp, khó chuyển thành mã lệnh.
  • B. Cần phải quay lại bước trước đó để làm mịn lại từ đầu.
  • C. Số lượng bài toán con sẽ tăng lên đột ngột.
  • D. Chương trình cuối cùng sẽ thiếu các chức năng cần thiết.

Câu 13: Trong phương pháp làm mịn dần, việc sử dụng các "hàm" hoặc "thủ tục" (subroutines/functions) ở các mức chi tiết là phổ biến. Điều này phản ánh nguyên tắc nào của làm mịn dần?

  • A. Nguyên tắc tối ưu hóa hiệu suất.
  • B. Nguyên tắc sử dụng ít bộ nhớ nhất.
  • C. Nguyên tắc lập trình hướng đối tượng.
  • D. Nguyên tắc trừu tượng hóa và đóng gói (abstraction and encapsulation).

Câu 14: Giả sử bạn cần thiết kế chương trình giải phương trình bậc hai ax^2 + bx + c = 0. Theo làm mịn dần, bước nào sau đây là một phân rã hợp lý từ bước "Giải phương trình"?

  • A. In ra kết quả nghiệm.
  • B. Tính delta (phân biệt thức) và xét các trường hợp của delta.
  • C. Nhập giá trị a, b, c từ người dùng.
  • D. Kiểm tra xem a có bằng 0 không.

Câu 15: Vẫn với bài toán giải phương trình bậc hai, sau khi đã "Tính delta và xét các trường hợp", nếu delta > 0, bước làm mịn tiếp theo cho trường hợp này sẽ là gì?

  • A. Tính giá trị của hai nghiệm phân biệt x1, x2.
  • B. Kết luận phương trình vô nghiệm.
  • C. Kết luận phương trình có nghiệm kép.
  • D. Yêu cầu người dùng nhập lại a, b, c.

Câu 16: Trong bài toán "Kiểm tra hoán vị" (Nhiệm vụ 1), nếu ta chọn cách làm mịn là "Sử dụng một mảng/danh sách đánh dấu sự có mặt của các số từ 1 đến n". Kích thước của mảng/danh sách này nên là bao nhiêu?

  • A. Bằng độ dài của dãy A.
  • B. Luôn là 100.
  • C. Ít nhất là n (hoặc n+1 để tiện dùng chỉ số từ 1).
  • D. Không cần dùng mảng/danh sách, chỉ cần biến đếm.

Câu 17: Khi thực hiện "làm mịn dần", việc viết mã lệnh cho một bước chỉ nên được tiến hành khi nào?

  • A. Ngay sau khi xác định được bước đó.
  • B. Khi đã hoàn thành tất cả các bước làm mịn cho toàn bộ bài toán.
  • C. Khi có thời gian rảnh.
  • D. Khi bước đó đã được làm mịn đủ chi tiết để dễ dàng chuyển thành mã lệnh.

Câu 18: Về bản chất, phương pháp làm mịn dần là một cách tiếp cận thiết kế từ:

  • A. Trên xuống (Top-down).
  • B. Dưới lên (Bottom-up).
  • C. Ngẫu nhiên (Random).
  • D. Tuần tự (Sequential).

Câu 19: Trong bài toán "Đếm số lần lặp" (Nhiệm vụ 2), nếu dãy A đã được sắp xếp tăng dần, làm thế nào để cải tiến thuật toán đếm số lần lặp theo phương pháp làm mịn dần?

  • A. Duyệt qua dãy và đếm số lần xuất hiện của từng phần tử bằng cách tìm kiếm nhị phân.
  • B. Duyệt qua dãy một lần, đếm số lần lặp của các phần tử liên tiếp giống nhau.
  • C. Loại bỏ các phần tử trùng lặp trước khi đếm.
  • D. Sử dụng đệ quy để đếm số lần lặp.

Câu 20: Giả sử bạn đang thiết kế chương trình "Xử lý đơn hàng" cho một cửa hàng trực tuyến. Bước làm mịn "Tính tổng tiền đơn hàng" có thể được phân rã (làm mịn) thành những bước chi tiết nào?

  • A. In ra danh sách các sản phẩm trong đơn hàng.
  • B. Kiểm tra thông tin thanh toán của khách hàng.
  • C. Tính tổng giá sản phẩm, tính thuế, tính chiết khấu (nếu có), cộng các thành phần lại.
  • D. Gửi email xác nhận đơn hàng cho khách.

Câu 21: Bước nào trong quá trình làm mịn dần thường đòi hỏi sự sáng tạo và hiểu biết sâu sắc nhất về bài toán?

  • A. Phân rã bài toán ban đầu thành các bài toán con ở mức cao.
  • B. Viết mã lệnh cho các bài toán con ở mức chi tiết cuối cùng.
  • C. Kiểm thử chương trình sau khi hoàn thành.
  • D. Viết tài liệu mô tả chương trình.

Câu 22: Trong bài toán "Kiểm tra xâu đối xứng", một cách làm mịn khác là "Đảo ngược xâu S và so sánh với xâu S gốc". Ưu điểm của cách làm mịn này so với cách "so sánh từ hai đầu vào giữa" là gì?

  • A. Hiệu quả hơn về mặt thời gian thực thi.
  • B. Dễ hiểu và cài đặt hơn.
  • C. Luôn sử dụng ít bộ nhớ hơn.
  • D. Có thể phát hiện xâu đối xứng một phần.

Câu 23: Khi thiết kế chương trình theo làm mịn dần, mỗi "bước" hoặc "bài toán con" ở một mức chi tiết nào đó có thể được xem như một "hộp đen" (black box). Điều này có nghĩa là gì?

  • A. Chi tiết bên trong của bước đó là bí mật và không thể truy cập.
  • B. Bước đó không có đầu vào hoặc đầu ra rõ ràng.
  • C. Chỉ có người thiết kế ban đầu mới hiểu được bước đó.
  • D. Ta chỉ cần quan tâm chức năng (đầu vào/đầu ra) của bước đó mà không cần biết chi tiết cài đặt bên trong ở mức cao hơn.

Câu 24: Trong quá trình làm mịn dần cho bài toán "Kiểm tra hoán vị", giả sử bạn đã có bước "Kiểm tra xem mỗi số từ 1 đến n có xuất hiện đúng một lần". Bước làm mịn tiếp theo cho bài toán con này có thể là gì?

  • A. Duyệt qua dãy A, với mỗi phần tử, kiểm tra giá trị của nó và đánh dấu sự xuất hiện của các số trong khoảng [1, n].
  • B. Sắp xếp dãy A và kiểm tra các phần tử liền kề.
  • C. Tính tổng các phần tử trong dãy A.
  • D. Tìm phần tử lớn nhất và nhỏ nhất trong dãy A.

Câu 25: Bạn đang làm mịn dần cho bài toán "Xử lý dữ liệu từ tệp tin". Bước "Đọc dữ liệu từ tệp tin" là một bước ở mức cao. Bước làm mịn nào sau đây là không phù hợp hoặc không cần thiết cho việc đọc dữ liệu?

  • A. Mở tệp tin theo đường dẫn được cung cấp.
  • B. Đọc từng dòng (hoặc toàn bộ nội dung) của tệp.
  • C. Đóng tệp tin sau khi đọc xong.
  • D. Phân tích nội dung dữ liệu vừa đọc để tìm kiếm thông tin cụ thể.

Câu 26: Phương pháp làm mịn dần giúp ích như thế nào trong việc gỡ lỗi (debugging) chương trình?

  • A. Giúp xác định vị trí lỗi dễ dàng hơn vì chương trình được chia thành các phần nhỏ, rõ ràng chức năng.
  • B. Tự động sửa lỗi khi chương trình chạy.
  • C. Làm cho lỗi không bao giờ xảy ra.
  • D. Chỉ có tác dụng với các lỗi cú pháp.

Câu 27: Trong bài toán "Đếm số lần lặp" (Nhiệm vụ 2), nếu dãy A chứa các số rất lớn hoặc các chuỗi kí tự phức tạp, cách làm mịn nào sau đây vẫn hoạt động hiệu quả mà không bị ảnh hưởng bởi loại dữ liệu?

  • A. Sắp xếp dãy A trước khi đếm.
  • B. Sử dụng mảng để đánh dấu sự xuất hiện.
  • C. Sử dụng cấu trúc dữ liệu từ điển (dictionary) để lưu trữ phần tử và số lần xuất hiện.
  • D. Chuyển đổi tất cả các phần tử về dạng số nguyên trước khi xử lý.

Câu 28: Vẫn trong bài toán "Kiểm tra hoán vị" (Nhiệm vụ 1), nếu dãy A chứa các số âm hoặc số 0, cách làm mịn "Sắp xếp dãy A và so sánh với dãy 1, 2, ..., n" có còn hiệu quả không? Tại sao?

  • A. Không hiệu quả, vì dãy A không thể là hoán vị của dãy từ 1 đến n nếu chứa số âm hoặc 0.
  • B. Vẫn hiệu quả, chỉ cần bỏ qua các số âm và 0 khi so sánh.
  • C. Vẫn hiệu quả, nhưng cần chuyển đổi số âm thành số dương trước khi so sánh.
  • D. Không hiệu quả, vì phương pháp sắp xếp chỉ dùng cho số dương.

Câu 29: Giả sử bạn đang ở bước làm mịn cuối cùng của một bài toán con: "Tính bình phương của một số X". Mức độ chi tiết này có đủ để viết mã lệnh trực tiếp không?

  • A. Có, vì đây là một phép toán cơ bản có thể viết mã trực tiếp.
  • B. Không, cần làm mịn thêm thành "nhân số X với chính nó".
  • C. Không, cần làm mịn thêm thành "sử dụng hàm mũ với số mũ là 2".
  • D. Chỉ đủ nếu X là số nguyên.

Câu 30: Khi xem xét các bài toán con được tạo ra từ quá trình làm mịn dần, điều gì là quan trọng để đảm bảo việc tích hợp chúng lại thành chương trình hoàn chỉnh được thuận lợi?

  • A. Mỗi bài toán con phải có cùng độ dài mã nguồn.
  • B. Mỗi bài toán con cần có giao diện (đầu vào, đầu ra) được định nghĩa rõ ràng.
  • C. Tất cả các bài toán con phải được giải quyết bằng cùng một thuật toán.
  • D. Thứ tự giải quyết các bài toán con không quan trọng.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 1: Theo phương pháp làm mịn dần trong thiết kế chương trình, mục tiêu cốt lõi của việc phân rã bài toán ban đầu thành các bài toán con là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 2: Khi áp dụng phương pháp làm mịn dần, quá trình phân rã bài toán dừng lại khi nào?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 3: Giả sử bạn cần thiết kế chương trình 'Quản lý thư viện'. Theo phương pháp làm mịn dần, bước phân rã đầu tiên (mức cao nhất) có thể bao gồm những bài toán con nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 4: Trong bài toán 'Kiểm tra dãy A có phải là hoán vị của dãy từ 1 đến n hay không' (Nhiệm vụ 1), một bước làm mịn (phân rã) hợp lý từ mức cao 'Kiểm tra tính hoán vị' là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 5: Vẫn trong bài toán 'Kiểm tra hoán vị' (Nhiệm vụ 1), nếu chọn cách làm mịn là 'Sắp xếp dãy A', bước làm mịn tiếp theo (chi tiết hơn) để kiểm tra hoán vị là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 6: Trong bài toán 'Đếm số lần lặp của mỗi phần tử trong dãy A' (Nhiệm vụ 2), một bước làm mịn (phân rã) hợp lý là 'Đối với mỗi phần tử độc nhất x trong A, đếm số lần xuất hiện của x'. Để thực hiện bước này, ta cần một bài toán con chi tiết hơn là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 7: Vẫn trong bài toán 'Đếm số lần lặp' (Nhiệm vụ 2), giả sử ta chọn làm mịn theo hướng 'Sử dụng một cấu trúc dữ liệu để lưu trữ số lần xuất hiện'. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để ánh xạ 'phần tử' tới 'số lần xuất hiện' của nó?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 8: Trong bài toán 'Kiểm tra xâu kí tự S có phải là đối xứng hay không', một bước làm mịn (phân rã) hợp lý là 'So sánh các kí tự ở hai đầu của xâu và tiến dần vào giữa'. Bước làm mịn tiếp theo cho 'So sánh các kí tự ở hai đầu' là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 9: Vẫn trong bài toán 'Kiểm tra xâu đối xứng', giả sử ta đang ở bước 'So sánh kí tự tại chỉ số i và kí tự tại chỉ số j (bắt đầu từ hai đầu và tiến vào)'. Khi nào ta có thể kết luận ngay rằng xâu S *không* phải là đối xứng?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 10: Ưu điểm chính của việc sử dụng phương pháp làm mịn dần trong thiết kế chương trình là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 11: Khi áp dụng làm mịn dần, việc xác định 'mức độ chi tiết' phù hợp cho mỗi bước phân rã là quan trọng. Nếu một bước quá chi tiết ngay từ đầu, điều gì có thể xảy ra?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 12: Ngược lại, nếu một bước làm mịn vẫn còn quá 'thô' (ít chi tiết) khi chuyển sang bước tiếp theo, điều gì có thể là hệ quả?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 13: Trong phương pháp làm mịn dần, việc sử dụng các 'hàm' hoặc 'thủ tục' (subroutines/functions) ở các mức chi tiết là phổ biến. Điều này phản ánh nguyên tắc nào của làm mịn dần?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 14: Giả sử bạn cần thiết kế chương trình giải phương trình bậc hai ax^2 + bx + c = 0. Theo làm mịn dần, bước nào sau đây là một phân rã hợp lý từ bước 'Giải phương trình'?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 15: Vẫn với bài toán giải phương trình bậc hai, sau khi đã 'Tính delta và xét các trường hợp', nếu delta > 0, bước làm mịn tiếp theo cho trường hợp này sẽ là gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 16: Trong bài toán 'Kiểm tra hoán vị' (Nhiệm vụ 1), nếu ta chọn cách làm mịn là 'Sử dụng một mảng/danh sách đánh dấu sự có mặt của các số từ 1 đến n'. Kích thước của mảng/danh sách này nên là bao nhiêu?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 17: Khi thực hiện 'làm mịn dần', việc viết mã lệnh cho một bước chỉ nên được tiến hành khi nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 18: Về bản chất, phương pháp làm mịn dần là một cách tiếp cận thiết kế từ:

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 19: Trong bài toán 'Đếm số lần lặp' (Nhiệm vụ 2), nếu dãy A đã được sắp xếp tăng dần, làm thế nào để cải tiến thuật toán đếm số lần lặp theo phương pháp làm mịn dần?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 20: Giả sử bạn đang thiết kế chương trình 'Xử lý đơn hàng' cho một cửa hàng trực tuyến. Bước làm mịn 'Tính tổng tiền đơn hàng' có thể được phân rã (làm mịn) thành những bước chi tiết nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 21: Bước nào trong quá trình làm mịn dần thường đòi hỏi sự sáng tạo và hiểu biết sâu sắc nhất về bài toán?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 22: Trong bài toán 'Kiểm tra xâu đối xứng', một cách làm mịn khác là 'Đảo ngược xâu S và so sánh với xâu S gốc'. Ưu điểm của cách làm mịn này so với cách 'so sánh từ hai đầu vào giữa' là gì?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 23: Khi thiết kế chương trình theo làm mịn dần, mỗi 'bước' hoặc 'bài toán con' ở một mức chi tiết nào đó có thể được xem như một 'hộp đen' (black box). Điều này có nghĩa là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 24: Trong quá trình làm mịn dần cho bài toán 'Kiểm tra hoán vị', giả sử bạn đã có bước 'Kiểm tra xem mỗi số từ 1 đến n có xuất hiện đúng một lần'. Bước làm mịn tiếp theo cho bài toán con này có thể là gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 25: Bạn đang làm mịn dần cho bài toán 'Xử lý dữ liệu từ tệp tin'. Bước 'Đọc dữ liệu từ tệp tin' là một bước ở mức cao. Bước làm mịn nào sau đây là *không* phù hợp hoặc không cần thiết cho việc đọc dữ liệu?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 26: Phương pháp làm mịn dần giúp ích như thế nào trong việc gỡ lỗi (debugging) chương trình?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 27: Trong bài toán 'Đếm số lần lặp' (Nhiệm vụ 2), nếu dãy A chứa các số rất lớn hoặc các chuỗi kí tự phức tạp, cách làm mịn nào sau đây vẫn hoạt động hiệu quả mà không bị ảnh hưởng bởi loại dữ liệu?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 28: Vẫn trong bài toán 'Kiểm tra hoán vị' (Nhiệm vụ 1), nếu dãy A chứa các số âm hoặc số 0, cách làm mịn 'Sắp xếp dãy A và so sánh với dãy 1, 2, ..., n' có còn hiệu quả không? Tại sao?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 29: Giả sử bạn đang ở bước làm mịn cuối cùng của một bài toán con: 'Tính bình phương của một số X'. Mức độ chi tiết này có đủ để viết mã lệnh trực tiếp không?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 04

Câu 30: Khi xem xét các bài toán con được tạo ra từ quá trình làm mịn dần, điều gì là quan trọng để đảm bảo việc tích hợp chúng lại thành chương trình hoàn chỉnh được thuận lợi?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 05

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 05 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (stepwise refinement) trong thiết kế chương trình là cách tiếp cận nào sau đây?

  • A. Viết toàn bộ mã nguồn một lần rồi kiểm tra lỗi.
  • B. Bắt đầu từ các chi tiết nhỏ nhất rồi ghép nối lại thành chương trình hoàn chỉnh.
  • C. Chia bài toán lớn thành các bài toán con nhỏ hơn, giải quyết từng bài toán con rồi kết hợp lại.
  • D. Sử dụng các thư viện có sẵn để giải quyết trực tiếp bài toán.

Câu 2: Giả sử bạn cần viết chương trình để kiểm tra xem một dãy số nguyên có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bước đầu tiên ở mức trừu tượng cao nhất có thể là gì?

  • A. Kiểm tra xem có số nào lớn hơn n hoặc nhỏ hơn 1 trong dãy không.
  • B. Kiểm tra các điều kiện cần thiết để dãy là một hoán vị.
  • C. Sắp xếp dãy số đã cho.
  • D. Đếm số lần xuất hiện của mỗi số trong dãy.

Câu 3: Vẫn với bài toán kiểm tra hoán vị (dãy A có phải là hoán vị của 1 đến n không). Một bước làm mịn tiếp theo cho "Kiểm tra các điều kiện cần thiết" có thể là gì?

  • A. Sử dụng vòng lặp `for` để duyệt dãy A.
  • B. In ra kết quả "True" hoặc "False".
  • C. Gọi hàm kiểm tra phần tử trùng lặp.
  • D. Kiểm tra độ dài dãy A và kiểm tra mỗi số từ 1 đến n có xuất hiện đúng 1 lần trong A.

Câu 4: Khi thực hiện bước "Kiểm tra mỗi số từ 1 đến n có xuất hiện đúng 1 lần trong A" trong bài toán kiểm tra hoán vị, một cách làm mịn chi tiết hơn cho việc kiểm tra sự xuất hiện của một số x cụ thể trong dãy A là gì?

  • A. Duyệt qua dãy A và đếm số lần x xuất hiện, kiểm tra xem số lần đếm có bằng 1 không.
  • B. Tìm vị trí đầu tiên của x trong dãy A.
  • C. So sánh x với phần tử đầu tiên của A.
  • D. Xóa tất cả các lần xuất hiện của x trong A.

Câu 5: Lợi ích chính của việc áp dụng phương pháp làm mịn dần trong thiết kế chương trình là gì?

  • A. Giảm thiểu thời gian chạy của chương trình.
  • B. Làm cho bài toán phức tạp trở nên dễ quản lý và giải quyết hơn.
  • C. Tự động tạo ra mã nguồn chương trình.
  • D. Chỉ áp dụng được cho các bài toán đơn giản.

Câu 6: Giả sử bạn cần viết hàm `dem_so_lan_lap(A)` để đếm số lần xuất hiện của mỗi phần tử trong dãy A. Bước làm mịn đầu tiên cho hàm này theo phương pháp làm mịn dần có thể là gì?

  • A. In ra dãy A.
  • B. Sắp xếp dãy A.
  • C. Với mỗi phần tử duy nhất trong A, đếm số lần nó xuất hiện trong dãy.
  • D. Tạo một danh sách trống để lưu kết quả.

Câu 7: Khi làm mịn bước "Với mỗi phần tử duy nhất trong A, đếm số lần nó xuất hiện trong dãy", bạn cần giải quyết bài toán con nào trước?

  • A. Xác định các phần tử duy nhất có trong dãy A.
  • B. Viết mã nguồn cho vòng lặp chính.
  • C. Tính tổng các phần tử.
  • D. Tìm phần tử lớn nhất trong A.

Câu 8: Để đếm số lần xuất hiện của một phần tử `x` trong dãy `A` (là một bước con trong "đếm số lần lặp của mỗi phần tử"), cách làm mịn nào là hiệu quả nhất?

  • A. Sử dụng hàm `count()` có sẵn của ngôn ngữ lập trình.
  • B. Duyệt qua từng phần tử của A, nếu gặp phần tử bằng `x` thì tăng biến đếm lên 1.
  • C. Xóa phần tử `x` khỏi dãy A mỗi khi gặp.
  • D. Sắp xếp dãy A rồi tìm `x`.

Câu 9: Trong bài toán kiểm tra hoán vị, tại sao việc kiểm tra độ dài của dãy A là một bước cần thiết và thường được thực hiện sớm?

  • A. Để biết cần lặp bao nhiêu lần.
  • B. Để sắp xếp dãy dễ dàng hơn.
  • C. Nếu độ dài khác n, chắc chắn A không phải là hoán vị của 1 đến n, giúp dừng sớm và tiết kiệm thời gian.
  • D. Để tính tổng các phần tử.

Câu 10: Bạn được yêu cầu thiết kế chương trình kiểm tra xem một xâu ký tự có phải là đối xứng hay không. Theo làm mịn dần, bước đầu tiên (mức trừu tượng cao nhất) là gì?

  • A. So sánh xâu với xâu đảo ngược của nó.
  • B. Kiểm tra độ dài của xâu.
  • C. Duyệt qua từng ký tự của xâu.
  • D. Tạo một xâu mới.

Câu 11: Vẫn với bài toán kiểm tra xâu đối xứng. Làm mịn bước "So sánh xâu với xâu đảo ngược của nó" có thể bao gồm những hành động nào?

  • A. Chỉ cần so sánh ký tự đầu và cuối.
  • B. Xóa các ký tự ở giữa xâu.
  • C. Đếm số lượng ký tự chẵn/lẻ.
  • D. Tạo xâu đảo ngược và so sánh từng ký tự tương ứng của xâu gốc và xâu đảo ngược.

Câu 12: Khi làm mịn bước "Tạo xâu đảo ngược" cho bài toán kiểm tra xâu đối xứng, bạn có thể thực hiện như thế nào ở mức chi tiết hơn?

  • A. Sử dụng vòng lặp để lặp lại xâu 2 lần.
  • B. Duyệt xâu gốc từ cuối về đầu và ghép các ký tự vào một xâu mới.
  • C. Chia xâu thành hai nửa và đảo vị trí hai nửa đó.
  • D. Chỉ cần lấy ký tự cuối cùng của xâu gốc.

Câu 13: Trong bài toán kiểm tra hoán vị, một cách làm mịn khác cho "Kiểm tra mỗi số từ 1 đến n có xuất hiện đúng 1 lần" là sử dụng mảng/danh sách phụ để đánh dấu. Mô tả đúng về cách làm này là gì?

  • A. Tạo một mảng phụ có kích thước n, đánh dấu True cho các phần tử của A.
  • B. Tạo một mảng phụ có kích thước n+1, khởi tạo False. Duyệt A, nếu gặp số `x` (1<=x<=n) thì đặt phần tử thứ `x` của mảng phụ thành True. Sau đó kiểm tra tất cả phần tử mảng phụ có True không.
  • C. Tạo một mảng phụ có kích thước n+1, khởi tạo False. Duyệt A, nếu gặp số `x` (1<=x<=n) và phần tử thứ `x` của mảng phụ đang là False thì đặt nó thành True; nếu nó đã là True hoặc `x` nằm ngoài [1, n] thì dãy không phải hoán vị. Sau đó kiểm tra tất cả phần tử từ 1 đến n của mảng phụ có True không.
  • D. Tạo một mảng phụ có kích thước bằng A, sao chép A sang đó.

Câu 14: Giả sử bạn đã làm mịn bài toán "đếm số lần lặp của mỗi phần tử" thành "Với mỗi phần tử duy nhất x trong A, đếm số lần x xuất hiện". Nếu dãy A đã được sắp xếp tăng dần, bước làm mịn tiếp theo cho việc đếm số lần x xuất hiện có thể được tối ưu hóa như thế nào?

  • A. Duyệt qua dãy đã sắp xếp, đếm các phần tử liên tiếp giống nhau.
  • B. Vẫn dùng cách duyệt toàn bộ dãy cho mỗi phần tử.
  • C. Chỉ đếm các phần tử ở đầu dãy.
  • D. Chia dãy thành hai nửa và đếm riêng từng nửa.

Câu 15: Phương pháp làm mịn dần giúp ích gì trong việc gỡ lỗi (debugging) chương trình?

  • A. Tự động sửa lỗi cú pháp.
  • B. Khi chia nhỏ bài toán, lỗi thường khu trú trong một bài toán con cụ thể, giúp dễ dàng xác định và sửa chữa hơn.
  • C. Giảm thiểu hoàn toàn khả năng xảy ra lỗi.
  • D. Chỉ phát hiện lỗi sau khi toàn bộ chương trình đã hoàn thành.

Câu 16: Khi áp dụng làm mịn dần, mỗi "bước giải" ở mức trừu tượng cao có thể được coi là gì ở mức chi tiết hơn?

  • A. Một bài toán con cần giải quyết hoặc một thủ tục/hàm cần viết.
  • B. Một dòng mã lệnh cụ thể.
  • C. Một biến số.
  • D. Kết quả cuối cùng của chương trình.

Câu 17: Giả sử bạn đang thiết kế chương trình tính trung bình cộng của các số chẵn trong một dãy. Bước làm mịn đầu tiên có thể là gì?

  • A. In ra trung bình cộng.
  • B. Duyệt qua dãy số.
  • C. Tính tổng tất cả các số trong dãy.
  • D. Tìm các số chẵn trong dãy và tính tổng, đếm số lượng của chúng.

Câu 18: Vẫn với bài toán tính trung bình cộng các số chẵn. Làm mịn bước "Tìm các số chẵn và tính tổng, đếm số lượng" có thể bao gồm những hành động nào ở mức chi tiết hơn?

  • A. Sắp xếp dãy số.
  • B. Chỉ lấy số đầu tiên của dãy.
  • C. Duyệt qua dãy, với mỗi số, kiểm tra xem nó có chẵn không. Nếu chẵn thì cộng vào tổng và tăng biến đếm.
  • D. Chia đôi tổng tất cả các số.

Câu 19: Trong phương pháp làm mịn dần, quá trình "làm mịn" dừng lại khi nào?

  • A. Các bước giải đã đủ chi tiết để có thể trực tiếp viết mã nguồn cho chúng.
  • B. Đã chia bài toán thành 10 bài toán con.
  • C. Khi không thể chia nhỏ bài toán được nữa.
  • D. Sau khi viết xong toàn bộ chương trình.

Câu 20: Giả sử bạn có bước "Đếm số lần lặp của phần tử x trong dãy A". Làm mịn bước này có thể tạo ra một hàm con `count_element(x, A)`. Việc sử dụng hàm con này thể hiện khía cạnh nào của làm mịn dần?

  • A. Viết mã nguồn trực tiếp.
  • B. Giải quyết toàn bộ bài toán trong một khối lệnh.
  • C. Bỏ qua các chi tiết nhỏ.
  • D. Trừu tượng hóa một nhiệm vụ cụ thể thành một đơn vị xử lý độc lập (hàm/thủ tục).

Câu 21: Khi kiểm tra xem trong dãy A có phần tử nào trùng nhau không, nếu áp dụng làm mịn dần, một trong những cách tiếp cận hiệu quả ở mức làm mịn sâu hơn là gì?

  • A. Tính tổng các phần tử.
  • B. Chỉ kiểm tra phần tử đầu tiên.
  • C. Sắp xếp dãy A, sau đó kiểm tra các phần tử liền kề có bằng nhau không.
  • D. Xóa tất cả các phần tử khỏi dãy.

Câu 22: Phân tích ưu điểm của việc sử dụng phương pháp làm mịn dần so với việc cố gắng giải quyết toàn bộ bài toán phức tạp cùng một lúc.

  • A. Giúp tập trung vào từng phần nhỏ, giảm tải nhận thức, dễ dàng kiểm soát và sửa lỗi.
  • B. Tăng tốc độ lập trình ban đầu.
  • C. Chỉ phù hợp với các lập trình viên có kinh nghiệm.
  • D. Đảm bảo chương trình sẽ chạy đúng ngay từ lần đầu.

Câu 23: Bạn cần viết chương trình tìm số lớn thứ hai trong một dãy số. Bước làm mịn đầu tiên theo phương pháp làm mịn dần có thể là gì?

  • A. Duyệt qua dãy số và so sánh các cặp số.
  • B. Tìm số lớn nhất và số lớn thứ hai trong dãy.
  • C. Sắp xếp dãy số.
  • D. Xóa số lớn nhất khỏi dãy.

Câu 24: Vẫn với bài toán tìm số lớn thứ hai. Làm mịn bước "Tìm số lớn nhất và số lớn thứ hai" có thể bao gồm những hành động nào?

  • A. Chỉ tìm số lớn nhất.
  • B. Chia dãy thành hai nửa.
  • C. Duyệt qua dãy, duy trì hai biến: một lưu số lớn nhất hiện tại, một lưu số lớn thứ hai hiện tại.
  • D. Tính trung bình cộng của dãy.

Câu 25: Giả sử bạn cần thiết kế thuật toán sắp xếp một dãy số sử dụng phương pháp làm mịn dần. Bước trừu tượng đầu tiên là "Sắp xếp dãy A". Làm mịn bước này có thể dẫn đến việc lựa chọn và áp dụng một thuật toán cụ thể. Thuật toán nào phù hợp để làm mịn cho bước "Sắp xếp dãy A"?

  • A. Thuật toán tìm kiếm nhị phân.
  • B. Thuật toán đếm số lần xuất hiện.
  • C. Thuật toán kiểm tra số nguyên tố.
  • D. Thuật toán sắp xếp nổi bọt (Bubble Sort) hoặc sắp xếp chọn (Selection Sort).

Câu 26: Trong bài toán kiểm tra hoán vị, nếu ta chọn cách sắp xếp dãy A rồi so sánh với dãy 1 đến n. Bước làm mịn "So sánh dãy A đã sắp xếp với dãy 1 đến n" sẽ được thực hiện như thế nào?

  • A. Duyệt từ phần tử đầu tiên đến cuối cùng của dãy A đã sắp xếp, kiểm tra xem phần tử thứ i có bằng i+1 không.
  • B. Tính tổng các phần tử của A và so sánh với tổng từ 1 đến n.
  • C. Kiểm tra xem tất cả các phần tử trong A có khác nhau không.
  • D. Chỉ cần kiểm tra phần tử đầu tiên và cuối cùng.

Câu 27: Phương pháp làm mịn dần còn được gọi là gì?

  • A. Thiết kế từ dưới lên (Bottom-up design).
  • B. Thiết kế từ trên xuống (Top-down design).
  • C. Lập trình hướng đối tượng (Object-oriented programming).
  • D. Lập trình cấu trúc (Structured programming).

Câu 28: Khi áp dụng phương pháp làm mịn dần, việc định nghĩa các hàm hoặc thủ tục con tương ứng với các bài toán con ở mức chi tiết hơn giúp tăng tính nào của chương trình?

  • A. Tốc độ thực thi.
  • B. Dung lượng bộ nhớ sử dụng.
  • C. Tính mô đun hóa và khả năng tái sử dụng mã nguồn.
  • D. Độ phức tạp của thuật toán.

Câu 29: Bạn được giao nhiệm vụ viết chương trình xử lý văn bản: đếm số từ và số câu trong một đoạn văn bản cho trước. Theo phương pháp làm mịn dần, bạn sẽ bắt đầu như thế nào?

  • A. Chia bài toán thành hai bài toán con: đếm số từ và đếm số câu.
  • B. Bắt đầu viết mã lệnh để đọc đoạn văn bản.
  • C. Tìm kiếm các dấu chấm câu.
  • D. Tạo danh sách các từ trong văn bản.

Câu 30: Vẫn với bài toán xử lý văn bản (đếm từ/câu). Sau khi đã làm mịn thành "đếm số từ" và "đếm số câu", bạn chọn làm mịn tiếp bài toán "đếm số từ". Bước làm mịn cho "đếm số từ" có thể là gì?

  • A. Đếm số lượng ký tự.
  • B. Duyệt qua văn bản, xác định ranh giới giữa các từ (ví dụ: khoảng trắng, dấu câu) và đếm các từ tìm được.
  • C. Tìm kiếm từ dài nhất.
  • D. Chỉ đếm các từ có 3 ký tự trở lên.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 1: Phương pháp làm mịn dần (stepwise refinement) trong thiết kế chương trình là cách tiếp cận nào sau đây?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 2: Giả sử bạn cần viết chương trình để kiểm tra xem một dãy số nguyên có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bước đầu tiên ở mức trừu tượng cao nhất có thể là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 3: Vẫn với bài toán kiểm tra hoán vị (dãy A có phải là hoán vị của 1 đến n không). Một bước làm mịn tiếp theo cho 'Kiểm tra các điều kiện cần thiết' có thể là gì?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 4: Khi thực hiện bước 'Kiểm tra mỗi số từ 1 đến n có xuất hiện đúng 1 lần trong A' trong bài toán kiểm tra hoán vị, một cách làm mịn chi tiết hơn cho việc kiểm tra sự xuất hiện của *một* số x cụ thể trong dãy A là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 5: Lợi ích chính của việc áp dụng phương pháp làm mịn dần trong thiết kế chương trình là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 6: Giả sử bạn cần viết hàm `dem_so_lan_lap(A)` để đếm số lần xuất hiện của *mỗi* phần tử trong dãy A. Bước làm mịn đầu tiên cho hàm này theo phương pháp làm mịn dần có thể là gì?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 7: Khi làm mịn bước 'Với mỗi phần tử duy nhất trong A, đếm số lần nó xuất hiện trong dãy', bạn cần giải quyết bài toán con nào trước?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 8: Để đếm số lần xuất hiện của một phần tử `x` trong dãy `A` (là một bước con trong 'đếm số lần lặp của mỗi phần tử'), cách làm mịn nào là hiệu quả nhất?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 9: Trong bài toán kiểm tra hoán vị, tại sao việc kiểm tra độ dài của dãy A là một bước cần thiết và thường được thực hiện sớm?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 10: Bạn được yêu cầu thiết kế chương trình kiểm tra xem một xâu ký tự có phải là đối xứng hay không. Theo làm mịn dần, bước đầu tiên (mức trừu tượng cao nhất) là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 11: Vẫn với bài toán kiểm tra xâu đối xứng. Làm mịn bước 'So sánh xâu với xâu đảo ngược của nó' có thể bao gồm những hành động nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 12: Khi làm mịn bước 'Tạo xâu đảo ngược' cho bài toán kiểm tra xâu đối xứng, bạn có thể thực hiện như thế nào ở mức chi tiết hơn?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 13: Trong bài toán kiểm tra hoán vị, một cách làm mịn khác cho 'Kiểm tra mỗi số từ 1 đến n có xuất hiện đúng 1 lần' là sử dụng mảng/danh sách phụ để đánh dấu. Mô tả đúng về cách làm này là gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 14: Giả sử bạn đã làm mịn bài toán 'đếm số lần lặp của mỗi phần tử' thành 'Với mỗi phần tử duy nhất x trong A, đếm số lần x xuất hiện'. Nếu dãy A đã được sắp xếp tăng dần, bước làm mịn tiếp theo cho việc đếm số lần x xuất hiện có thể được tối ưu hóa như thế nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 15: Phương pháp làm mịn dần giúp ích gì trong việc gỡ lỗi (debugging) chương trình?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 16: Khi áp dụng làm mịn dần, mỗi 'bước giải' ở mức trừu tượng cao có thể được coi là gì ở mức chi tiết hơn?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 17: Giả sử bạn đang thiết kế chương trình tính trung bình cộng của các số chẵn trong một dãy. Bước làm mịn đầu tiên có thể là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 18: Vẫn với bài toán tính trung bình cộng các số chẵn. Làm mịn bước 'Tìm các số chẵn và tính tổng, đếm số lượng' có thể bao gồm những hành động nào ở mức chi tiết hơn?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 19: Trong phương pháp làm mịn dần, quá trình 'làm mịn' dừng lại khi nào?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 20: Giả sử bạn có bước 'Đếm số lần lặp của phần tử x trong dãy A'. Làm mịn bước này có thể tạo ra một hàm con `count_element(x, A)`. Việc sử dụng hàm con này thể hiện khía cạnh nào của làm mịn dần?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 21: Khi kiểm tra xem trong dãy A có phần tử nào trùng nhau không, nếu áp dụng làm mịn dần, một trong những cách tiếp cận hiệu quả ở mức làm mịn sâu hơn là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 22: Phân tích ưu điểm của việc sử dụng phương pháp làm mịn dần so với việc cố gắng giải quyết toàn bộ bài toán phức tạp cùng một lúc.

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 23: Bạn cần viết chương trình tìm số lớn thứ hai trong một dãy số. Bước làm mịn đầu tiên theo phương pháp làm mịn dần có thể là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 24: Vẫn với bài toán tìm số lớn thứ hai. Làm mịn bước 'Tìm số lớn nhất và số lớn thứ hai' có thể bao gồm những hành động nào?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 25: Giả sử bạn cần thiết kế thuật toán sắp xếp một dãy số sử dụng phương pháp làm mịn dần. Bước trừu tượng đầu tiên là 'Sắp xếp dãy A'. Làm mịn bước này có thể dẫn đến việc lựa chọn và áp dụng một thuật toán cụ thể. Thuật toán nào phù hợp để làm mịn cho bước 'Sắp xếp dãy A'?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 26: Trong bài toán kiểm tra hoán vị, nếu ta chọn cách sắp xếp dãy A rồi so sánh với dãy 1 đến n. Bước làm mịn 'So sánh dãy A đã sắp xếp với dãy 1 đến n' sẽ được thực hiện như thế nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 27: Phương pháp làm mịn dần còn được gọi là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 28: Khi áp dụng phương pháp làm mịn dần, việc định nghĩa các hàm hoặc thủ tục con tương ứng với các bài toán con ở mức chi tiết hơn giúp tăng tính nào của chương trình?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 29: Bạn được giao nhiệm vụ viết chương trình xử lý văn bản: đếm số từ và số câu trong một đoạn văn bản cho trước. Theo phương pháp làm mịn dần, bạn sẽ bắt đầu như thế nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 05

Câu 30: Vẫn với bài toán xử lý văn bản (đếm từ/câu). Sau khi đã làm mịn thành 'đếm số từ' và 'đếm số câu', bạn chọn làm mịn tiếp bài toán 'đếm số từ'. Bước làm mịn cho 'đếm số từ' có thể là gì?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 06

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 06 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (stepwise refinement) trong thiết kế chương trình được hiểu là quá trình gì?

  • A. Chia bài toán lớn thành các bài toán con nhỏ hơn, sau đó tiếp tục chia nhỏ các bài toán con cho đến khi chúng đủ đơn giản để giải quyết trực tiếp.
  • B. Viết toàn bộ mã nguồn của chương trình từ đầu đến cuối mà không cần phân tích trước.
  • C. Kiểm tra lỗi cú pháp trong chương trình một cách liên tục trong quá trình viết mã.
  • D. Tối ưu hóa tốc độ thực thi của chương trình sau khi đã hoàn thành mã nguồn.

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết một bài toán phức tạp, lợi ích chính mà phương pháp này mang lại là gì?

  • A. Giúp chương trình chạy nhanh hơn ngay từ lần viết mã đầu tiên.
  • B. Loại bỏ hoàn toàn khả năng mắc lỗi logic trong chương trình.
  • C. Làm cho bài toán trở nên dễ hiểu và quản lý hơn bằng cách tập trung vào từng phần nhỏ tại một thời điểm.
  • D. Tự động tạo ra mã nguồn hoàn chỉnh mà không cần sự can thiệp của người lập trình.

Câu 3: Giả sử bạn cần viết chương trình kiểm tra xem một dãy số A có phải là hoán vị của dãy số từ 1 đến n hay không. Bước làm mịn đầu tiên (mức cao nhất) theo phương pháp làm mịn dần có thể là gì?

  • A. Viết hàm kiểm tra từng phần tử có xuất hiện trong dãy 1..n không.
  • B. Sắp xếp dãy A theo thứ tự tăng dần.
  • C. Đếm số lần xuất hiện của mỗi phần tử trong A.
  • D. Kiểm tra tính hoán vị của dãy A.

Câu 4: Tiếp theo câu 3, sau khi đã có bước làm mịn "Kiểm tra tính hoán vị của dãy A", bạn quyết định làm mịn bước này thành các bước nhỏ hơn. Bước nào sau đây KHÔNG phải là một bước làm mịn hợp lý cho "Kiểm tra tính hoán vị của dãy A"?

  • A. Kiểm tra xem dãy A có đúng n phần tử không.
  • B. Kiểm tra xem mọi số từ 1 đến n có mặt trong dãy A đúng một lần không.
  • C. Kiểm tra xem tổng các phần tử trong A có lớn hơn 100 không.
  • D. Sử dụng phương pháp sắp xếp để kiểm tra tính hoán vị.

1 / 4

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 06

Câu 1: Phương pháp làm mịn dần (stepwise refinement) trong thiết kế chương trình được hiểu là quá trình gì?

2 / 4

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 06

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết một bài toán phức tạp, lợi ích chính mà phương pháp này mang lại là gì?

3 / 4

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 06

Câu 3: Giả sử bạn cần viết chương trình kiểm tra xem một dãy số A có phải là hoán vị của dãy số từ 1 đến n hay không. Bước làm mịn đầu tiên (mức cao nhất) theo phương pháp làm mịn dần có thể là gì?

4 / 4

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 06

Câu 4: Tiếp theo câu 3, sau khi đã có bước làm mịn 'Kiểm tra tính hoán vị của dãy A', bạn quyết định làm mịn bước này thành các bước nhỏ hơn. Bước nào sau đây KHÔNG phải là một bước làm mịn hợp lý cho 'Kiểm tra tính hoán vị của dãy A'?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 07

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 07 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình ở Bài 27 được hiểu là quá trình:

  • A. Viết mã chương trình ngay lập tức sau khi hiểu yêu cầu.
  • B. Kiểm thử chương trình từ các mô đun nhỏ nhất rồi ghép lại.
  • C. Chia bài toán lớn thành các bài toán con nhỏ hơn và giải quyết từng bước chi tiết.
  • D. Sử dụng các thư viện có sẵn để giảm thiểu việc viết mã mới.

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết bài toán "Kiểm tra một dãy số có phải là hoán vị của dãy từ 1 đến n hay không", bước "làm mịn" đầu tiên thường là gì?

  • A. Viết hàm sắp xếp cho dãy số.
  • B. Viết hàm kiểm tra từng cặp phần tử trùng lặp.
  • C. So sánh trực tiếp dãy số với dãy [1, 2, ..., n].
  • D. Xác định các điều kiện cần kiểm tra: độ dài dãy và sự xuất hiện độc nhất của các số từ 1 đến n.

Câu 3: Giả sử bạn đang làm mịn dần bài toán "Đếm số lần xuất hiện của mỗi phần tử trong một dãy số A". Một trong những bước làm mịn là tạo ra một hàm con hoặc một quy trình riêng để thực hiện việc đếm cho một phần tử cụ thể. Việc này minh họa cho nguyên tắc nào của phương pháp làm mịn dần?

  • A. Tối ưu hóa hiệu suất chương trình.
  • B. Phân rã bài toán thành các mô đun nhỏ hơn.
  • C. Sử dụng cấu trúc dữ liệu phức tạp.
  • D. Kiểm thử từng dòng lệnh của chương trình.

Câu 4: Trong bài toán kiểm tra hoán vị, tại sao việc kiểm tra xem "tất cả các số từ 1 đến n có mặt trong dãy A hay không" lại là một bước kiểm tra cần thiết, bên cạnh việc kiểm tra độ dài dãy?

  • A. Để đảm bảo dãy không chứa các số nằm ngoài phạm vi từ 1 đến n hoặc có số bị lặp lại.
  • B. Để tăng tốc độ thực hiện chương trình.
  • C. Để đơn giản hóa việc sắp xếp dãy số.
  • D. Để xác định phần tử lớn nhất và nhỏ nhất trong dãy.

Câu 5: Khi kiểm tra một xâu ký tự có phải là đối xứng (palindrome) theo phương pháp làm mịn dần, bước làm mịn tiếp theo sau khi xác định cần so sánh các ký tự từ hai đầu vào là gì?

  • A. Đếm tổng số ký tự trong xâu.
  • B. Chuyển xâu về chữ thường hoặc chữ hoa.
  • C. Thiết lập hai con trỏ (hoặc chỉ số) ở hai đầu xâu và di chuyển dần vào giữa để so sánh.
  • D. Tạo một xâu mới là xâu đảo ngược của xâu ban đầu.

Câu 6: Giả sử bạn đã làm mịn bài toán kiểm tra hoán vị đến bước cần kiểm tra xem mỗi số từ 1 đến n có xuất hiện đúng một lần trong dãy A có độ dài n hay không. Phương pháp hiệu quả nào có thể được sử dụng ở bước này?

  • A. Sắp xếp dãy A và kiểm tra xem phần tử thứ i có bằng i hay không với mọi i từ 1 đến n.
  • B. Tính tổng các phần tử trong dãy A.
  • C. Chỉ kiểm tra phần tử đầu tiên và cuối cùng của dãy A.
  • D. Xóa các phần tử trùng lặp trong dãy A.

Câu 7: Khi đếm số lần lặp của mỗi phần tử trong dãy A theo phương pháp làm mịn dần, việc sử dụng một danh sách (hoặc từ điển) phụ để lưu trữ kết quả đếm cho từng phần tử duy nhất là một bước làm mịn nhằm mục đích gì?

  • A. Thay đổi giá trị của các phần tử trong dãy A gốc.
  • B. Chỉ đếm các phần tử xuất hiện nhiều hơn một lần.
  • C. Tìm ra phần tử xuất hiện nhiều nhất.
  • D. Lưu trữ kết quả đếm một cách có hệ thống cho từng giá trị duy nhất trong dãy mà không làm ảnh hưởng đến dãy gốc.

Câu 8: Bạn được yêu cầu kiểm tra một xâu ký tự có phải là đối xứng. Theo phương pháp làm mịn dần, bạn quyết định tạo một hàm con `kiem_tra_doi_xung(xau)` nhận xâu làm tham số và trả về True/False. Việc này thể hiện điều gì trong quá trình thiết kế?

  • A. Bỏ qua các bước kiểm thử.
  • B. Đóng gói một tác vụ cụ thể thành một đơn vị xử lý (hàm/mô đun).
  • C. Sử dụng phương pháp vét cạn.
  • D. Thiết kế từ dưới lên (bottom-up).

Câu 9: Trong bài toán kiểm tra hoán vị, nếu dãy A có độ dài n nhưng chứa một số lớn hơn n (ví dụ: dãy [1, 2, 5] với n=3), thì theo phương pháp làm mịn dần, bước kiểm tra nào sẽ phát hiện ra điều này?

  • A. Kiểm tra độ dài của dãy.
  • B. Tính tổng các phần tử trong dãy.
  • C. Kiểm tra xem tất cả các phần tử có nằm trong phạm vi từ 1 đến n và mỗi số có xuất hiện đúng một lần không.
  • D. Kiểm tra xem dãy có chứa phần tử âm không.

Câu 10: Giả sử bạn đã làm mịn bài toán đếm số lần lặp đến mức cần viết mã để đếm số lần xuất hiện của một giá trị `x` trong một danh sách `A`. Đoạn mã nào sau đây thể hiện đúng logic của bước làm mịn này?

  • A. Sử dụng hàm `sort(A)` và đếm các phần tử liền kề giống nhau.
  • B. Sử dụng hàm `sum(A)` và chia cho `x`.
  • C. Sử dụng hàm `len(A)`.
  • D. Khởi tạo bộ đếm bằng 0, duyệt qua `A`, nếu phần tử hiện tại bằng `x` thì tăng bộ đếm.

Câu 11: Phương pháp làm mịn dần giúp ích gì cho việc quản lý và bảo trì chương trình sau này?

  • A. Làm cho cấu trúc chương trình rõ ràng, dễ đọc, dễ hiểu và dễ sửa lỗi.
  • B. Giảm thiểu hoàn toàn khả năng xảy ra lỗi lập trình.
  • C. Chỉ áp dụng được cho các bài toán đơn giản.
  • D. Tự động tạo ra tài liệu hướng dẫn sử dụng chương trình.

Câu 12: Khi kiểm tra xâu đối xứng "radar", theo phương pháp làm mịn dần, cặp ký tự đầu tiên được so sánh là gì?

  • A. ký tự thứ 1 và thứ 2 ("r" và "a").
  • B. ký tự đầu tiên ("r") và ký tự cuối cùng ("r").
  • C. ký tự ở giữa ("d").
  • D. Tất cả các ký tự cùng một lúc.

Câu 13: Trong bài toán đếm số lần lặp, nếu dãy A là [3, 1, 4, 1, 5, 9, 2, 6, 5, 3] và bạn muốn đếm số lần xuất hiện của số 5. Sau khi áp dụng bước làm mịn tạo hàm đếm `lap(x, A)`, kết quả trả về của `lap(5, A)` sẽ là bao nhiêu?

  • A. 2
  • B. 1
  • C. 3
  • D. 5

Câu 14: Khi áp dụng làm mịn dần để giải bài toán "Kiểm tra trong dãy A có phần tử nào trùng nhau không", một cách tiếp cận là sắp xếp dãy A trước. Mục đích của việc sắp xếp này là gì?

  • A. Để thay đổi thứ tự các phần tử một cách ngẫu nhiên.
  • B. Để tìm phần tử lớn nhất và nhỏ nhất nhanh hơn.
  • C. Để các phần tử trùng lặp nằm gần nhau, giúp dễ dàng phát hiện bằng cách so sánh các phần tử liền kề.
  • D. Để loại bỏ các phần tử không phải là số.

Câu 15: Phương pháp làm mịn dần khuyến khích việc phát triển chương trình theo kiểu mô đun. Điều này có nghĩa là:

  • A. Viết toàn bộ chương trình trong một tệp duy nhất.
  • B. Sử dụng nhiều biến toàn cục.
  • C. Viết mã chương trình mà không cần hàm hoặc thủ tục.
  • D. Chia chương trình thành các phần nhỏ, độc lập về chức năng, có thể được phát triển và kiểm thử riêng biệt.

Câu 16: Khi kiểm tra hoán vị của dãy từ 1 đến n, nếu dãy A được cho là [1, 3, 2] với n=3. Theo phương pháp làm mịn dần, sau bước kiểm tra độ dài (đúng bằng 3), bước kiểm tra tiếp theo về sự xuất hiện của các phần tử sẽ cho kết quả nào?

  • A. Dãy chứa đủ các số từ 1 đến n và mỗi số xuất hiện đúng một lần.
  • B. Dãy thiếu số 2.
  • C. Dãy chứa số 3 bị lặp lại.
  • D. Dãy chứa số lớn hơn n.

Câu 17: Giả sử bạn đã làm mịn bài toán kiểm tra xâu đối xứng đến mức cần so sánh ký tự tại vị trí `i` và `j` của xâu `s`. Nếu `s[i]` khác `s[j]`, thì kết quả của việc kiểm tra đối xứng là gì?

  • A. Xâu là đối xứng.
  • B. Xâu không phải là đối xứng.
  • C. Cần so sánh thêm các cặp khác.
  • D. Không thể kết luận chỉ từ một cặp ký tự.

Câu 18: Trong bài toán đếm số lần lặp, việc tạo một danh sách mới `dem_so_lan` có kích thước n+1 (nếu các phần tử trong dãy gốc nằm trong khoảng từ 1 đến n) và khởi tạo tất cả các giá trị bằng 0 thể hiện bước làm mịn nào?

  • A. Chuẩn bị cấu trúc dữ liệu để lưu trữ kết quả trung gian hoặc cuối cùng.
  • B. Thực hiện việc đếm số lần lặp.
  • C. In kết quả đếm ra màn hình.
  • D. Sắp xếp các phần tử trong dãy gốc.

Câu 19: Ưu điểm chính của việc áp dụng phương pháp làm mịn dần trong thực hành lập trình là gì?

  • A. Luôn tạo ra chương trình chạy nhanh nhất.
  • B. Chỉ yêu cầu kiến thức lập trình cơ bản.
  • C. Cho phép bỏ qua bước kiểm thử chương trình.
  • D. Giúp quản lý độ phức tạp của bài toán bằng cách chia nhỏ thành các phần dễ xử lý hơn.

Câu 20: Khi kiểm tra xâu đối xứng "level", theo phương pháp làm mịn dần, sau khi so sánh cặp ký tự đầu và cuối ("l" và "l"), cặp ký tự tiếp theo cần so sánh là gì?

  • A. ký tự thứ 1 và thứ 3 ("l" và "v").
  • B. ký tự thứ 2 và thứ 4 ("e" và "e").
  • C. ký tự thứ 2 ("e") và ký tự thứ 4 ("e").
  • D. ký tự ở giữa ("v").

Câu 21: Giả sử bạn đang làm mịn dần bài toán kiểm tra hoán vị. Một cách tiếp cận khác sau khi kiểm tra độ dài là sử dụng một tập hợp (set) để lưu trữ các phần tử đã duyệt. Nếu khi duyệt qua dãy A, bạn gặp một phần tử đã có trong tập hợp, điều này có ý nghĩa gì?

  • A. Dãy A chắc chắn là hoán vị của dãy từ 1 đến n.
  • B. Dãy A chứa phần tử bị trùng lặp và không phải là hoán vị.
  • C. Phần tử đó nằm ngoài phạm vi từ 1 đến n.
  • D. Cần thêm phần tử đó vào tập hợp một lần nữa.

Câu 22: Khi đếm số lần lặp của mỗi phần tử trong dãy A, nếu dãy A đã được sắp xếp tăng dần, bước làm mịn để đếm có thể được thực hiện hiệu quả hơn bằng cách nào?

  • A. Duyệt qua dãy và đếm riêng lẻ từng phần tử bằng cách tìm kiếm nó trong toàn bộ dãy.
  • B. Bỏ qua các phần tử xuất hiện nhiều hơn một lần.
  • C. Duyệt qua dãy một lần, đếm số lần xuất hiện liên tiếp của các phần tử giống nhau.
  • D. Chỉ đếm số lần lặp của phần tử đầu tiên.

Câu 23: Bạn đang làm mịn dần bài toán kiểm tra hoán vị và đã đến bước kiểm tra xem tất cả các số từ 1 đến n có mặt trong dãy A hay không. Nếu bạn sử dụng một mảng boolean `present` có kích thước n+1, được khởi tạo là `False`, để đánh dấu sự có mặt của các số. Khi duyệt dãy A, bạn gặp một phần tử `x` và thấy `present[x]` đã là `True`. Điều này cho biết điều gì?

  • A. Số `x` là số duy nhất trong dãy.
  • B. Số `x` nằm ngoài phạm vi từ 1 đến n.
  • C. Dãy A là hoán vị của dãy từ 1 đến n.
  • D. Số `x` bị lặp lại trong dãy A.

Câu 24: Khi kiểm tra xâu đối xứng "madam", các cặp ký tự nào sẽ được so sánh theo thứ tự trong quá trình làm mịn dần?

  • A. ("m", "m"), sau đó ("a", "a").
  • B. ("m", "a"), sau đó ("a", "d").
  • C. Chỉ so sánh ("m", "m").
  • D. So sánh tất cả các ký tự với ký tự ở giữa ("d").

Câu 25: Trong bài toán đếm số lần lặp, giả sử dãy A là [10, 20, 10, 30, 20]. Sau khi đếm xong, kết quả lưu trữ trong danh sách/từ điển phụ theo phương pháp làm mịn dần sẽ có dạng nào?

  • A. [2, 2, 1]
  • B. [10, 20, 10, 30, 20]
  • C. Một cấu trúc cho biết: 10 xuất hiện 2 lần, 20 xuất hiện 2 lần, 30 xuất hiện 1 lần.
  • D. [10, 10, 20, 20, 30]

Câu 26: Khi thiết kế chương trình theo phương pháp làm mịn dần, việc đặt tên cho các hàm con hoặc mô đun con nên tuân theo nguyên tắc nào?

  • A. Phản ánh rõ ràng chức năng hoặc nhiệm vụ mà hàm/mô đun đó thực hiện.
  • B. Càng ngắn gọn càng tốt, không cần ý nghĩa.
  • C. Sử dụng các ký tự đặc biệt để phân biệt.
  • D. Đặt tên giống với tên biến toàn cục liên quan.

Câu 27: Giả sử bạn cần kiểm tra xem một dãy số A có phải là hoán vị của dãy từ 1 đến n hay không. Dãy A là [1, 2, 2] và n=3. Theo phương pháp làm mịn dần, bước kiểm tra nào sẽ phát hiện ra rằng A không phải là hoán vị?

  • A. Kiểm tra độ dài của dãy.
  • B. Kiểm tra xem tất cả các phần tử có nằm trong phạm vi từ 1 đến n.
  • C. Kiểm tra xem mỗi số từ 1 đến n có xuất hiện đúng một lần.
  • D. Kiểm tra phần tử đầu tiên của dãy.

Câu 28: Khi kiểm tra xâu đối xứng "hello". Theo phương pháp làm mịn dần, quá trình so sánh các cặp ký tự từ hai đầu vào sẽ dừng lại khi nào và với kết luận gì?

  • A. Sau khi so sánh tất cả các cặp, kết luận là đối xứng.
  • B. Khi gặp cặp ký tự đối xứng đầu tiên khác nhau ("h" và "o"), kết luận là không đối xứng.
  • C. Khi gặp ký tự ở giữa ("l"), kết luận là đối xứng.
  • D. Khi so sánh ("e" và "l"), kết luận là không đối xứng.

Câu 29: Giả sử bạn đang làm mịn dần bài toán đếm số lần lặp và đã có danh sách kết quả đếm cho từng phần tử duy nhất. Bước làm mịn tiếp theo có thể là gì nếu yêu cầu chỉ cần liệt kê các phần tử xuất hiện nhiều hơn k lần?

  • A. Đếm lại số lần lặp từ đầu.
  • B. Xóa các phần tử xuất hiện ít hơn k lần khỏi danh sách gốc.
  • C. Sắp xếp danh sách gốc theo thứ tự tăng dần.
  • D. Duyệt qua danh sách kết quả đếm và chọn ra các phần tử có số lần đếm lớn hơn k.

Câu 30: Phương pháp làm mịn dần đặc biệt hữu ích cho các bài toán có tính chất nào?

  • A. Bài toán phức tạp, có thể phân rã thành nhiều bài toán con.
  • B. Bài toán chỉ có một bước giải duy nhất.
  • C. Bài toán yêu cầu tốc độ xử lý cực cao ngay từ đầu.
  • D. Bài toán không cần kiểm thử trước khi hoàn thành.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình ở Bài 27 được hiểu là quá trình:

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết bài toán 'Kiểm tra một dãy số có phải là hoán vị của dãy từ 1 đến n hay không', bước 'làm mịn' đầu tiên thường là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 3: Giả sử bạn đang làm mịn dần bài toán 'Đếm số lần xuất hiện của mỗi phần tử trong một dãy số A'. Một trong những bước làm mịn là tạo ra một hàm con hoặc một quy trình riêng để thực hiện việc đếm cho một phần tử cụ thể. Việc này minh họa cho nguyên tắc nào của phương pháp làm mịn dần?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 4: Trong bài toán kiểm tra hoán vị, tại sao việc kiểm tra xem 'tất cả các số từ 1 đến n có mặt trong dãy A hay không' lại là một bước kiểm tra cần thiết, bên cạnh việc kiểm tra độ dài dãy?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 5: Khi kiểm tra một xâu ký tự có phải là đối xứng (palindrome) theo phương pháp làm mịn dần, bước làm mịn tiếp theo sau khi xác định cần so sánh các ký tự từ hai đầu vào là gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 6: Giả sử bạn đã làm mịn bài toán kiểm tra hoán vị đến bước cần kiểm tra xem mỗi số từ 1 đến n có xuất hiện đúng một lần trong dãy A có độ dài n hay không. Phương pháp hiệu quả nào có thể được sử dụng ở bước này?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 7: Khi đếm số lần lặp của mỗi phần tử trong dãy A theo phương pháp làm mịn dần, việc sử dụng một danh sách (hoặc từ điển) phụ để lưu trữ kết quả đếm cho từng phần tử duy nhất là một bước làm mịn nhằm mục đích gì?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 8: Bạn được yêu cầu kiểm tra một xâu ký tự có phải là đối xứng. Theo phương pháp làm mịn dần, bạn quyết định tạo một hàm con `kiem_tra_doi_xung(xau)` nhận xâu làm tham số và trả về True/False. Việc này thể hiện điều gì trong quá trình thiết kế?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 9: Trong bài toán kiểm tra hoán vị, nếu dãy A có độ dài n nhưng chứa một số lớn hơn n (ví dụ: dãy [1, 2, 5] với n=3), thì theo phương pháp làm mịn dần, bước kiểm tra nào sẽ phát hiện ra điều này?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 10: Giả sử bạn đã làm mịn bài toán đếm số lần lặp đến mức cần viết mã để đếm số lần xuất hiện của một giá trị `x` trong một danh sách `A`. Đoạn mã nào sau đây thể hiện đúng logic của bước làm mịn này?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 11: Phương pháp làm mịn dần giúp ích gì cho việc quản lý và bảo trì chương trình sau này?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 12: Khi kiểm tra xâu đối xứng 'radar', theo phương pháp làm mịn dần, cặp ký tự đầu tiên được so sánh là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 13: Trong bài toán đếm số lần lặp, nếu dãy A là [3, 1, 4, 1, 5, 9, 2, 6, 5, 3] và bạn muốn đếm số lần xuất hiện của số 5. Sau khi áp dụng bước làm mịn tạo hàm đếm `lap(x, A)`, kết quả trả về của `lap(5, A)` sẽ là bao nhiêu?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 14: Khi áp dụng làm mịn dần để giải bài toán 'Kiểm tra trong dãy A có phần tử nào trùng nhau không', một cách tiếp cận là sắp xếp dãy A trước. Mục đích của việc sắp xếp này là gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 15: Phương pháp làm mịn dần khuyến khích việc phát triển chương trình theo kiểu mô đun. Điều này có nghĩa là:

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 16: Khi kiểm tra hoán vị của dãy từ 1 đến n, nếu dãy A được cho là [1, 3, 2] với n=3. Theo phương pháp làm mịn dần, sau bước kiểm tra độ dài (đúng bằng 3), bước kiểm tra tiếp theo về sự xuất hiện của các phần tử sẽ cho kết quả nào?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 17: Giả sử bạn đã làm mịn bài toán kiểm tra xâu đối xứng đến mức cần so sánh ký tự tại vị trí `i` và `j` của xâu `s`. Nếu `s[i]` khác `s[j]`, thì kết quả của việc kiểm tra đối xứng là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 18: Trong bài toán đếm số lần lặp, việc tạo một danh sách mới `dem_so_lan` có kích thước n+1 (nếu các phần tử trong dãy gốc nằm trong khoảng từ 1 đến n) và khởi tạo tất cả các giá trị bằng 0 thể hiện bước làm mịn nào?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 19: Ưu điểm chính của việc áp dụng phương pháp làm mịn dần trong thực hành lập trình là gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 20: Khi kiểm tra xâu đối xứng 'level', theo phương pháp làm mịn dần, sau khi so sánh cặp ký tự đầu và cuối ('l' và 'l'), cặp ký tự tiếp theo cần so sánh là gì?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 21: Giả sử bạn đang làm mịn dần bài toán kiểm tra hoán vị. Một cách tiếp cận khác sau khi kiểm tra độ dài là sử dụng một tập hợp (set) để lưu trữ các phần tử đã duyệt. Nếu khi duyệt qua dãy A, bạn gặp một phần tử đã có trong tập hợp, điều này có ý nghĩa gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 22: Khi đếm số lần lặp của mỗi phần tử trong dãy A, nếu dãy A đã được sắp xếp tăng dần, bước làm mịn để đếm có thể được thực hiện hiệu quả hơn bằng cách nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 23: Bạn đang làm mịn dần bài toán kiểm tra hoán vị và đã đến bước kiểm tra xem tất cả các số từ 1 đến n có mặt trong dãy A hay không. Nếu bạn sử dụng một mảng boolean `present` có kích thước n+1, được khởi tạo là `False`, để đánh dấu sự có mặt của các số. Khi duyệt dãy A, bạn gặp một phần tử `x` và thấy `present[x]` đã là `True`. Điều này cho biết điều gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 24: Khi kiểm tra xâu đối xứng 'madam', các cặp ký tự nào sẽ được so sánh theo thứ tự trong quá trình làm mịn dần?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 25: Trong bài toán đếm số lần lặp, giả sử dãy A là [10, 20, 10, 30, 20]. Sau khi đếm xong, kết quả lưu trữ trong danh sách/từ điển phụ theo phương pháp làm mịn dần sẽ có dạng nào?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 26: Khi thiết kế chương trình theo phương pháp làm mịn dần, việc đặt tên cho các hàm con hoặc mô đun con nên tuân theo nguyên tắc nào?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 27: Giả sử bạn cần kiểm tra xem một dãy số A có phải là hoán vị của dãy từ 1 đến n hay không. Dãy A là [1, 2, 2] và n=3. Theo phương pháp làm mịn dần, bước kiểm tra nào sẽ phát hiện ra rằng A không phải là hoán vị?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 28: Khi kiểm tra xâu đối xứng 'hello'. Theo phương pháp làm mịn dần, quá trình so sánh các cặp ký tự từ hai đầu vào sẽ dừng lại khi nào và với kết luận gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 29: Giả sử bạn đang làm mịn dần bài toán đếm số lần lặp và đã có danh sách kết quả đếm cho từng phần tử duy nhất. Bước làm mịn tiếp theo có thể là gì nếu yêu cầu chỉ cần liệt kê các phần tử xuất hiện nhiều hơn k lần?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 07

Câu 30: Phương pháp làm mịn dần đặc biệt hữu ích cho các bài toán có tính chất nào?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 08

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 08 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (stepwise refinement) trong thiết kế chương trình là cách tiếp cận nào sau đây?

  • A. Bắt đầu viết mã chương trình ngay lập tức và sửa lỗi dần.
  • B. Tập trung vào việc tối ưu hóa hiệu suất chương trình từ đầu.
  • C. Chia bài toán lớn thành các bài toán con nhỏ hơn, chi tiết hơn một cách tuần tự.
  • D. Thiết kế giao diện người dùng trước khi xác định logic xử lý.

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết một bài toán lập trình phức tạp, bước đầu tiên thường là gì?

  • A. Xác định ngôn ngữ lập trình sẽ sử dụng.
  • B. Phát biểu bài toán ở mức trừu tượng cao nhất.
  • C. Viết các hàm xử lý cho các chi tiết nhỏ nhất.
  • D. Kiểm tra các trường hợp ngoại lệ của dữ liệu đầu vào.

Câu 3: Giả sử bạn cần thiết kế chương trình kiểm tra xem một dãy số A có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bước "Kiểm tra A có phải là hoán vị của 1..n không" có thể được làm mịn ở mức đầu tiên thành những công việc nào?

  • A. Kiểm tra độ dài của A; Kiểm tra các phần tử trong A có thuộc phạm vi [1, n] và không trùng lặp.
  • B. Đếm số lần xuất hiện của từng phần tử trong A; So sánh với số lần xuất hiện mong muốn.
  • C. Sắp xếp dãy A; So sánh A với dãy [1, 2, ..., n].
  • D. Tính tổng các phần tử trong A; Kiểm tra xem tổng có bằng tổng của dãy 1..n không.

Câu 4: Trong bài toán kiểm tra hoán vị, tại sao việc kiểm tra độ dài của dãy A lại là một bước quan trọng và thường được thực hiện sớm theo phương pháp làm mịn dần?

  • A. Để xác định kiểu dữ liệu phù hợp cho các phần tử.
  • B. Để dễ dàng tính toán tổng các phần tử sau này.
  • C. Để quyết định nên sử dụng thuật toán sắp xếp nào.
  • D. Vì nếu độ dài khác n, chắc chắn A không thể là hoán vị của dãy 1..n, giúp dừng xử lý sớm.

Câu 5: Xét nhiệm vụ "Đếm số lần lặp của mỗi phần tử trong dãy A". Một trong những bước làm mịn đầu tiên có thể là "Xử lý từng phần tử của A để đếm". Bước này có thể được làm mịn tiếp theo như thế nào?

  • A. In kết quả đếm ra màn hình.
  • B. Kiểm tra xem phần tử đó có phải số chẵn không.
  • C. Tìm tất cả các vị trí xuất hiện của phần tử đó trong A.
  • D. Xóa phần tử đó khỏi dãy A.

Câu 6: Giả sử bạn đã làm mịn bài toán "Đếm số lần lặp của mỗi phần tử trong dãy A" đến bước "Sử dụng một cấu trúc dữ liệu để lưu trữ số lần đếm". Cấu trúc dữ liệu nào sau đây thường phù hợp nhất cho mục đích này trong Python?

  • A. Từ điển (Dictionary).
  • B. Danh sách (List) thông thường.
  • C. Tập hợp (Set).
  • D. Chuỗi ký tự (String).

Câu 7: Khi thiết kế thuật toán kiểm tra xem một xâu kí tự có đối xứng (palindrome) hay không bằng phương pháp làm mịn dần, bước "Kiểm tra xâu có đối xứng không" có thể được làm mịn thành "So sánh kí tự đầu và cuối". Để tiếp tục làm mịn, bước "So sánh kí tự đầu và cuối" sẽ dẫn đến hành động gì tiếp theo?

  • A. Kiểm tra kí tự ở giữa xâu.
  • B. Bỏ qua kí tự đầu và cuối đã so sánh, tiếp tục kiểm tra xâu con còn lại.
  • C. Đếm tổng số kí tự trong xâu.
  • D. Chuyển xâu thành chữ in hoa hoặc in thường.

Câu 8: Phương pháp làm mịn dần giúp ích gì cho việc quản lý độ phức tạp của chương trình?

  • A. Giảm số lượng dòng mã cần viết.
  • B. Tự động sửa lỗi cú pháp trong mã nguồn.
  • C. Giúp chương trình chạy nhanh hơn.
  • D. Chia nhỏ vấn đề thành các phần dễ hiểu và quản lý được hơn.

Câu 9: Trong quá trình làm mịn dần, mỗi bước làm mịn thường tương ứng với việc xác định một hoặc nhiều gì?

  • A. Bài toán con hoặc công việc cụ thể cần thực hiện.
  • B. Biến toàn cục cần khai báo.
  • C. Thư viện bên ngoài cần nhập vào.
  • D. Tên biến cho các giá trị trung gian.

Câu 10: Khi kiểm tra xem một dãy số A có phần tử nào trùng lặp hay không bằng phương pháp làm mịn dần, một cách tiếp cận hiệu quả sau bước sắp xếp dãy A là gì?

  • A. Sử dụng vòng lặp lồng nhau để so sánh mọi cặp phần tử.
  • B. Duyệt qua dãy đã sắp xếp và so sánh các phần tử liền kề.
  • C. Tính tổng các phần tử và kiểm tra xem có lớn hơn n*(n+1)/2 không.
  • D. Tạo một tập hợp (set) từ dãy A và so sánh kích thước với độ dài của A.

Câu 11: Giả sử bạn đang làm mịn bài toán "Kiểm tra xâu S có đối xứng không". Bạn đã làm mịn đến bước "So sánh kí tự thứ i từ đầu và kí tự thứ i từ cuối". Điều kiện dừng cho quá trình so sánh lặp lại này là khi nào?

  • A. Khi gặp kí tự khoảng trắng.
  • B. Khi kí tự thứ i từ đầu và cuối giống nhau.
  • C. Khi chỉ số i từ đầu vượt qua hoặc bằng chỉ số i từ cuối (hoặc đã đi qua tâm xâu).
  • D. Khi gặp kí tự không phải là chữ cái.

Câu 12: Phương pháp làm mịn dần khuyến khích điều gì trong quá trình phát triển phần mềm?

  • A. Thiết kế từ trên xuống (top-down design).
  • B. Thiết kế từ dưới lên (bottom-up design).
  • C. Lập trình theo cặp (pair programming).
  • D. Kiểm thử tự động (automated testing).

Câu 13: Khi làm mịn một bước giải quyết bài toán thành các bước nhỏ hơn, điều quan trọng là các bước nhỏ này phải như thế nào?

  • A. Đều phải sử dụng đệ quy.
  • B. Đều phải có độ phức tạp thời gian O(n).
  • C. Chỉ được sử dụng cấu trúc điều khiển if-else.
  • D. Dễ dàng triển khai thành mã lệnh hoặc các mô-đun độc lập.

Câu 14: Giả sử bài toán gốc là "Xử lý dữ liệu người dùng". Sau bước làm mịn đầu tiên thành "Đọc dữ liệu", "Kiểm tra dữ liệu", "Lưu dữ liệu". Bước "Kiểm tra dữ liệu" có thể được làm mịn tiếp thành các bước nào?

  • A. Tạo báo cáo về dữ liệu.
  • B. Xóa các bản ghi dữ liệu cũ.
  • C. Kiểm tra định dạng dữ liệu; Kiểm tra tính hợp lệ của giá trị.
  • D. Nén dữ liệu trước khi lưu.

Câu 15: Mục đích chính của việc thực hành thiết kế chương trình theo phương pháp làm mịn dần trong Bài 27 là gì?

  • A. Rèn luyện kỹ năng phân tích và chia nhỏ bài toán.
  • B. Học cách sử dụng một ngôn ngữ lập trình cụ thể.
  • C. Nhớ các định nghĩa về cấu trúc dữ liệu.
  • D. Viết chương trình nhanh nhất có thể.

Câu 16: Khi kiểm tra hoán vị của dãy 1..n, nếu sau khi sắp xếp dãy A, ta thấy phần tử đầu tiên không phải là 1 hoặc phần tử cuối cùng không phải là n (giả sử n > 0), điều này gợi ý gì theo phương pháp làm mịn dần?

  • A. Dãy A chắc chắn là hoán vị.
  • B. Dãy A không phải là hoán vị, có thể dừng kiểm tra.
  • C. Cần phải đếm số lần lặp của các phần tử.
  • D. Cần phải kiểm tra lại độ dài của dãy A.

Câu 17: Giả sử bạn đã làm mịn bài toán "Đếm số lần lặp của mỗi phần tử" thành các bước: 1. Sắp xếp dãy A; 2. Duyệt qua dãy đã sắp xếp và đếm các phần tử liên tiếp giống nhau. Bước 2 này có thể được làm mịn tiếp thành những công việc chi tiết hơn nào?

  • A. Tính trung bình cộng của các phần tử.
  • B. Tìm phần tử nhỏ nhất và lớn nhất.
  • C. So sánh từng cặp phần tử bất kỳ trong dãy.
  • D. Lặp qua dãy, khi gặp phần tử mới hoặc phần tử khác liền kề, ghi nhận phần tử và số lần đếm của nhóm trước đó.

Câu 18: Trong bài toán kiểm tra xâu đối xứng, nếu xâu có độ dài lẻ, kí tự ở vị trí trung tâm có vai trò gì trong quá trình so sánh theo phương pháp làm mịn dần?

  • A. Nó không cần so sánh với bất kỳ kí tự nào khác.
  • B. Nó phải giống với kí tự đầu tiên.
  • C. Nó phải là một số.
  • D. Nó quyết định kết quả cuối cùng của việc kiểm tra.

Câu 19: Việc sử dụng hàm hoặc thủ tục cho các bài toán con trong phương pháp làm mịn dần mang lại lợi ích gì?

  • A. Làm cho mã nguồn dài hơn và phức tạp hơn.
  • B. Chỉ có thể sử dụng một lần duy nhất trong chương trình.
  • C. Tăng tính tái sử dụng mã và giúp chương trình dễ đọc, dễ bảo trì hơn.
  • D. Giới hạn khả năng mở rộng của chương trình.

Câu 20: Khi thiết kế chương trình theo phương pháp làm mịn dần, việc kiểm thử nên được thực hiện như thế nào?

  • A. Chỉ kiểm thử sau khi toàn bộ chương trình đã hoàn thành.
  • B. Chỉ kiểm thử các chức năng chính, bỏ qua các chức năng phụ.
  • C. Chỉ kiểm thử với dữ liệu đầu vào hợp lệ.
  • D. Kiểm thử từng mô-đun hoặc từng bước làm mịn khi chúng được hoàn thành.

Câu 21: Bạn được yêu cầu thiết kế chương trình tìm kiếm một giá trị X trong một dãy số A. Theo phương pháp làm mịn dần, bước đầu tiên bạn sẽ phát biểu bài toán ở mức cao nhất là gì?

  • A. Sử dụng thuật toán tìm kiếm nhị phân.
  • B. Tìm kiếm giá trị X trong dãy A.
  • C. Sắp xếp dãy A trước khi tìm kiếm.
  • D. Kiểm tra xem X có phải là số nguyên không.

Câu 22: Tiếp theo câu 21, bước "Tìm kiếm giá trị X trong dãy A" có thể được làm mịn thành "Duyệt qua từng phần tử của A". Bước "Duyệt qua từng phần tử" có thể được làm mịn tiếp thành hành động nào?

  • A. So sánh phần tử hiện tại với X.
  • B. Tính tổng các phần tử đã duyệt.
  • C. Xóa phần tử hiện tại khỏi dãy.
  • D. Thêm phần tử hiện tại vào một danh sách mới.

Câu 23: Trong bài toán kiểm tra hoán vị, nếu bạn đã làm mịn đến bước "Kiểm tra các phần tử trong A có thuộc phạm vi [1, n] và không trùng lặp", việc kiểm tra "không trùng lặp" có thể được thực hiện bằng cách nào khác ngoài sắp xếp và so sánh liền kề?

  • A. Tính trung bình cộng các phần tử.
  • B. Tìm phần tử lớn nhất.
  • C. Chỉ kiểm tra phần tử đầu tiên và cuối cùng.
  • D. Sử dụng một mảng/danh sách boolean hoặc tập hợp (set) để đánh dấu sự xuất hiện của các số từ 1 đến n.

Câu 24: Phương pháp làm mịn dần giúp nhà phát triển tập trung vào điều gì ở mỗi bước?

  • A. Tất cả các chi tiết của toàn bộ chương trình cùng một lúc.
  • B. Chỉ các lỗi cú pháp trong mã nguồn.
  • C. Một khía cạnh cụ thể, dễ quản lý của bài toán tổng thể.
  • D. Việc lựa chọn tên biến và hàm.

Câu 25: Khi làm mịn bài toán "Kiểm tra xâu S có đối xứng không", nếu bạn đã so sánh cặp kí tự đầu cuối và chúng khác nhau, hành động tiếp theo theo logic của thuật toán là gì?

  • A. Dừng lại và kết luận xâu không đối xứng.
  • B. Tiếp tục so sánh cặp kí tự tiếp theo.
  • C. Đảo ngược toàn bộ xâu và so sánh lại.
  • D. In ra thông báo lỗi.

Câu 26: Ưu điểm chính của việc áp dụng phương pháp làm mịn dần là gì?

  • A. Giảm thời gian chạy của chương trình.
  • B. Làm cho quá trình thiết kế trở nên có cấu trúc, có hệ thống và dễ quản lý hơn.
  • C. Tự động tạo mã nguồn từ sơ đồ thiết kế.
  • D. Đảm bảo chương trình không có lỗi.

Câu 27: Trong bài toán đếm số lần lặp của mỗi phần tử trong dãy A, nếu bạn chọn phương pháp dùng từ điển để lưu trữ, bước làm mịn "Xử lý từng phần tử" sẽ bao gồm hành động gì với từ điển?

  • A. Thêm phần tử đó làm khóa và giá trị 1.
  • B. Xóa phần tử đó khỏi từ điển.
  • C. Nếu phần tử đã có trong từ điển, tăng giá trị đếm tương ứng; nếu chưa, thêm phần tử vào với giá trị đếm là 1.
  • D. Tìm phần tử có giá trị đếm cao nhất trong từ điển.

Câu 28: Quá trình làm mịn dần kết thúc khi nào?

  • A. Khi tất cả các hàm đã được viết xong.
  • B. Khi chương trình đã chạy thử thành công một lần.
  • C. Khi bạn đã phát biểu bài toán ở mức trừu tượng cao nhất.
  • D. Khi các bước làm mịn đã đủ chi tiết để có thể dễ dàng chuyển thành mã lệnh cụ thể.

Câu 29: Khi kiểm tra xem một dãy số A có phần tử trùng lặp hay không bằng cách sử dụng Tập hợp (Set), bước làm mịn "Kiểm tra trùng lặp" có thể được thực hiện bằng cách nào?

  • A. Tạo một tập hợp từ dãy A và so sánh kích thước của tập hợp với độ dài của dãy A.
  • B. Tính tổng các phần tử trong tập hợp.
  • C. Sắp xếp tập hợp và kiểm tra các phần tử liền kề.
  • D. Duyệt qua tập hợp và đếm số lần xuất hiện của mỗi phần tử trong dãy A gốc.

Câu 30: Phương pháp làm mịn dần đặc biệt hữu ích khi đối mặt với loại bài toán nào?

  • A. Các bài toán chỉ yêu cầu tính toán đơn giản.
  • B. Các bài toán phức tạp, đòi hỏi nhiều bước xử lý khác nhau.
  • C. Các bài toán chỉ liên quan đến xử lý dữ liệu văn bản.
  • D. Các bài toán đã có sẵn thư viện hỗ trợ đầy đủ.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 1: Phương pháp làm mịn dần (stepwise refinement) trong thiết kế chương trình là cách tiếp cận nào sau đây?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết một bài toán lập trình phức tạp, bước đầu tiên thường là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 3: Giả sử bạn cần thiết kế chương trình kiểm tra xem một dãy số A có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bước 'Kiểm tra A có phải là hoán vị của 1..n không' có thể được làm mịn ở mức đầu tiên thành những công việc nào?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 4: Trong bài toán kiểm tra hoán vị, tại sao việc kiểm tra độ dài của dãy A lại là một bước quan trọng và thường được thực hiện sớm theo phương pháp làm mịn dần?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 5: Xét nhiệm vụ 'Đếm số lần lặp của mỗi phần tử trong dãy A'. Một trong những bước làm mịn đầu tiên có thể là 'Xử lý từng phần tử của A để đếm'. Bước này có thể được làm mịn tiếp theo như thế nào?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 6: Giả sử bạn đã làm mịn bài toán 'Đếm số lần lặp của mỗi phần tử trong dãy A' đến bước 'Sử dụng một cấu trúc dữ liệu để lưu trữ số lần đếm'. Cấu trúc dữ liệu nào sau đây thường phù hợp nhất cho mục đích này trong Python?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 7: Khi thiết kế thuật toán kiểm tra xem một xâu kí tự có đối xứng (palindrome) hay không bằng phương pháp làm mịn dần, bước 'Kiểm tra xâu có đối xứng không' có thể được làm mịn thành 'So sánh kí tự đầu và cuối'. Để tiếp tục làm mịn, bước 'So sánh kí tự đầu và cuối' sẽ dẫn đến hành động gì tiếp theo?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 8: Phương pháp làm mịn dần giúp ích gì cho việc quản lý độ phức tạp của chương trình?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 9: Trong quá trình làm mịn dần, mỗi bước làm mịn thường tương ứng với việc xác định một hoặc nhiều gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 10: Khi kiểm tra xem một dãy số A có phần tử nào trùng lặp hay không bằng phương pháp làm mịn dần, một cách tiếp cận hiệu quả sau bước sắp xếp dãy A là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 11: Giả sử bạn đang làm mịn bài toán 'Kiểm tra xâu S có đối xứng không'. Bạn đã làm mịn đến bước 'So sánh kí tự thứ i từ đầu và kí tự thứ i từ cuối'. Điều kiện dừng cho quá trình so sánh lặp lại này là khi nào?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 12: Phương pháp làm mịn dần khuyến khích điều gì trong quá trình phát triển phần mềm?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 13: Khi làm mịn một bước giải quyết bài toán thành các bước nhỏ hơn, điều quan trọng là các bước nhỏ này phải như thế nào?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 14: Giả sử bài toán gốc là 'Xử lý dữ liệu người dùng'. Sau bước làm mịn đầu tiên thành 'Đọc dữ liệu', 'Kiểm tra dữ liệu', 'Lưu dữ liệu'. Bước 'Kiểm tra dữ liệu' có thể được làm mịn tiếp thành các bước nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 15: Mục đích chính của việc thực hành thiết kế chương trình theo phương pháp làm mịn dần trong Bài 27 là gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 16: Khi kiểm tra hoán vị của dãy 1..n, nếu sau khi sắp xếp dãy A, ta thấy phần tử đầu tiên không phải là 1 hoặc phần tử cuối cùng không phải là n (giả sử n > 0), điều này gợi ý gì theo phương pháp làm mịn dần?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 17: Giả sử bạn đã làm mịn bài toán 'Đếm số lần lặp của mỗi phần tử' thành các bước: 1. Sắp xếp dãy A; 2. Duyệt qua dãy đã sắp xếp và đếm các phần tử liên tiếp giống nhau. Bước 2 này có thể được làm mịn tiếp thành những công việc chi tiết hơn nào?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 18: Trong bài toán kiểm tra xâu đối xứng, nếu xâu có độ dài lẻ, kí tự ở vị trí trung tâm có vai trò gì trong quá trình so sánh theo phương pháp làm mịn dần?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 19: Việc sử dụng hàm hoặc thủ tục cho các bài toán con trong phương pháp làm mịn dần mang lại lợi ích gì?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 20: Khi thiết kế chương trình theo phương pháp làm mịn dần, việc kiểm thử nên được thực hiện như thế nào?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 21: Bạn được yêu cầu thiết kế chương trình tìm kiếm một giá trị X trong một dãy số A. Theo phương pháp làm mịn dần, bước đầu tiên bạn sẽ phát biểu bài toán ở mức cao nhất là gì?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 22: Tiếp theo câu 21, bước 'Tìm kiếm giá trị X trong dãy A' có thể được làm mịn thành 'Duyệt qua từng phần tử của A'. Bước 'Duyệt qua từng phần tử' có thể được làm mịn tiếp thành hành động nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 23: Trong bài toán kiểm tra hoán vị, nếu bạn đã làm mịn đến bước 'Kiểm tra các phần tử trong A có thuộc phạm vi [1, n] và không trùng lặp', việc kiểm tra 'không trùng lặp' có thể được thực hiện bằng cách nào khác ngoài sắp xếp và so sánh liền kề?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 24: Phương pháp làm mịn dần giúp nhà phát triển tập trung vào điều gì ở mỗi bước?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 25: Khi làm mịn bài toán 'Kiểm tra xâu S có đối xứng không', nếu bạn đã so sánh cặp kí tự đầu cuối và chúng khác nhau, hành động tiếp theo theo logic của thuật toán là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 26: Ưu điểm chính của việc áp dụng phương pháp làm mịn dần là gì?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 27: Trong bài toán đếm số lần lặp của mỗi phần tử trong dãy A, nếu bạn chọn phương pháp dùng từ điển để lưu trữ, bước làm mịn 'Xử lý từng phần tử' sẽ bao gồm hành động gì với từ điển?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 28: Quá trình làm mịn dần kết thúc khi nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 29: Khi kiểm tra xem một dãy số A có phần tử trùng lặp hay không bằng cách sử dụng Tập hợp (Set), bước làm mịn 'Kiểm tra trùng lặp' có thể được thực hiện bằng cách nào?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 08

Câu 30: Phương pháp làm mịn dần đặc biệt hữu ích khi đối mặt với loại bài toán nào?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 09

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 09 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình là gì?

  • A. Phương pháp viết toàn bộ mã nguồn từ đầu đến cuối mà không chia nhỏ.
  • B. Phương pháp chia bài toán lớn thành các bài toán con nhỏ hơn, sau đó giải quyết từng bài toán con một cách chi tiết.
  • C. Phương pháp chỉ tập trung vào việc sửa lỗi (debug) chương trình sau khi viết xong.
  • D. Phương pháp sử dụng các thư viện có sẵn mà không cần tự viết mã.

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết một bài toán phức tạp, bước đầu tiên thường là gì?

  • A. Xác định nhiệm vụ chính ở mức độ trừu tượng cao nhất và phân rã nó thành các nhiệm vụ con.
  • B. Viết ngay mã nguồn cho phần dễ nhất của bài toán.
  • C. Tìm kiếm các thuật toán đã có sẵn để giải quyết bài toán.
  • D. Thiết kế giao diện người dùng trước khi xác định logic xử lý.

Câu 3: Giả sử bạn cần viết chương trình để kiểm tra xem một dãy số nguyên có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bạn có thể phân rã nhiệm vụ này thành các nhiệm vụ con nào ở mức độ đầu tiên?

  • A. Nhập dãy số, xử lý ngoại lệ.
  • B. Sắp xếp dãy số, in kết quả.
  • C. Kiểm tra độ dài dãy, kiểm tra các phần tử có đúng là các số từ 1 đến n và mỗi số xuất hiện đúng một lần.
  • D. Đếm số lần lặp của từng phần tử, loại bỏ phần tử trùng lặp.

Câu 4: Trong bài toán kiểm tra hoán vị của dãy 1 đến n, tại sao việc kiểm tra độ dài của dãy đầu vào A là một bước quan trọng trong quá trình làm mịn dần?

  • A. Vì độ dài quyết định thuật toán sắp xếp nào nên được sử dụng.
  • B. Vì nếu độ dài của A khác n, A chắc chắn không thể là hoán vị của dãy từ 1 đến n.
  • C. Vì độ dài ảnh hưởng đến việc chọn kiểu dữ liệu lưu trữ.
  • D. Vì việc này giúp tối ưu hóa bộ nhớ sử dụng.

Câu 5: Một cách để kiểm tra xem tất cả các số từ 1 đến n có mặt trong dãy A (độ dài n) và mỗi số xuất hiện đúng một lần là gì? (Áp dụng kỹ thuật sau khi làm mịn dần)

  • A. Duyệt qua dãy A và kiểm tra xem có số âm nào không.
  • B. Tính tổng các phần tử trong A và so sánh với n*(n+1)/2.
  • C. Sắp xếp dãy A theo thứ tự giảm dần.
  • D. Sắp xếp dãy A theo thứ tự tăng dần và kiểm tra xem phần tử thứ i có bằng i hay không (với i từ 1 đến n, hoặc từ 0 đến n-1 tùy ngôn ngữ).

Câu 6: Khi thiết kế hàm `kiem_tra_hoan_vi(danh_sach, n)` theo phương pháp làm mịn dần, hàm này nên trả về giá trị kiểu dữ liệu nào để báo hiệu kết quả kiểm tra?

  • A. Boolean (True/False)
  • B. Số nguyên (Integer)
  • C. Chuỗi ký tự (String)
  • D. Danh sách (List)

Câu 7: Giả sử bạn có nhiệm vụ con là "Đếm số lần xuất hiện của mỗi phần tử trong dãy A". Theo phương pháp làm mịn dần, bạn có thể thiết kế một hàm riêng cho nhiệm vụ này. Hàm này có thể nhận đầu vào là gì và trả về kết quả như thế nào?

  • A. Đầu vào: Một phần tử. Trả về: Dãy A.
  • B. Đầu vào: Dãy A. Trả về: Một số nguyên (tổng số phần tử).
  • C. Đầu vào: Dãy A. Trả về: Một cấu trúc dữ liệu (ví dụ: từ điển hoặc danh sách các cặp) lưu trữ phần tử và số lần xuất hiện của nó.
  • D. Đầu vào: Số lần lặp mong muốn. Trả về: Dãy A.

Câu 8: Trong bài toán "Đếm số lần xuất hiện của mỗi phần tử trong dãy A", tại sao việc sắp xếp dãy A trước khi đếm có thể giúp cải thiện hiệu quả thuật toán?

  • A. Vì các phần tử giống nhau sẽ nằm cạnh nhau, chỉ cần duyệt qua dãy một lần để đếm các khối phần tử liên tiếp giống nhau.
  • B. Vì việc sắp xếp giúp loại bỏ các phần tử trùng lặp tự động.
  • C. Vì việc sắp xếp làm thay đổi giá trị của các phần tử.
  • D. Vì việc sắp xếp giúp tìm kiếm phần tử nhanh hơn (không liên quan trực tiếp đến đếm tất cả).

Câu 9: Khi kiểm tra xem một xâu ký tự có đối xứng hay không bằng phương pháp làm mịn dần, nhiệm vụ con ở mức độ thấp hơn có thể là gì?

  • A. Đếm số ký tự trong xâu.
  • B. So sánh ký tự ở vị trí đầu tiên với ký tự ở vị trí cuối cùng, sau đó so sánh ký tự ở vị trí thứ hai với ký tự ở vị trí gần cuối, và tiếp tục cho đến khi gặp nhau ở giữa.
  • C. Chuyển đổi tất cả các ký tự thành chữ hoa hoặc chữ thường.
  • D. Tìm kiếm một ký tự cụ thể trong xâu.

Câu 10: Lợi ích chính của việc sử dụng phương pháp làm mịn dần trong thiết kế chương trình là gì?

  • A. Giảm đáng kể thời gian viết mã ban đầu.
  • B. Chỉ yêu cầu kỹ năng lập trình cơ bản.
  • C. Tạo ra chương trình chạy nhanh hơn trong mọi trường hợp.
  • D. Giúp quản lý sự phức tạp của bài toán, làm cho việc thiết kế, viết mã và sửa lỗi dễ dàng hơn.

Câu 11: Giả sử bạn đang áp dụng làm mịn dần để thiết kế chương trình giải bài toán "Tìm số lớn nhất trong một danh sách". Nhiệm vụ con đầu tiên có thể là gì?

  • A. Duyệt qua từng phần tử trong danh sách.
  • B. Sắp xếp danh sách.
  • C. In ra phần tử đầu tiên của danh sách.
  • D. Kiểm tra xem danh sách có rỗng không.

Câu 12: Khi làm mịn dần bài toán "Tìm số lớn nhất trong danh sách", sau khi đã có nhiệm vụ con "Duyệt qua từng phần tử", nhiệm vụ con tiếp theo ở mức độ chi tiết hơn có thể là gì?

  • A. Tính tổng tất cả các phần tử.
  • B. Tìm số nhỏ nhất trong danh sách.
  • C. So sánh phần tử hiện tại với số lớn nhất đã tìm được cho đến thời điểm đó và cập nhật nếu cần.
  • D. Xóa phần tử hiện tại khỏi danh sách.

Câu 13: Phương pháp làm mịn dần thường đi kèm với việc sử dụng các cấu trúc nào trong lập trình để triển khai các nhiệm vụ con?

  • A. Chỉ sử dụng các vòng lặp `for`.
  • B. Chỉ sử dụng các câu lệnh điều kiện `if-else`.
  • C. Chỉ sử dụng các biến toàn cục.
  • D. Sử dụng hàm (function) hoặc thủ tục (procedure) để đóng gói các nhiệm vụ con.

Câu 14: Giả sử bạn đang thiết kế chương trình "Quản lý sách trong thư viện". Theo phương pháp làm mịn dần, nhiệm vụ con "Tìm kiếm sách" có thể được làm mịn thành các nhiệm vụ chi tiết hơn nào?

  • A. Chỉ tìm kiếm theo tên sách.
  • B. Chỉ tìm kiếm theo tên tác giả.
  • C. Nhận tiêu chí tìm kiếm từ người dùng (tên sách, tác giả, ISBN,...), duyệt qua danh sách sách, so sánh thông tin sách với tiêu chí, trả về danh sách sách phù hợp.
  • D. Thêm sách mới vào cơ sở dữ liệu.

Câu 15: Khi sử dụng làm mịn dần, mỗi bước làm mịn sẽ làm tăng mức độ chi tiết của thuật toán. Điều này giúp ích gì cho người lập trình?

  • A. Giúp bỏ qua các chi tiết phức tạp.
  • B. Giúp tập trung giải quyết từng phần nhỏ một cách độc lập, giảm tải nhận thức và dễ dàng kiểm tra, sửa lỗi từng phần.
  • C. Buộc người lập trình phải viết mã nguồn dài hơn.
  • D. Loại bỏ hoàn toàn khả năng xảy ra lỗi.

Câu 16: Trong bài toán kiểm tra hoán vị của dãy 1 đến n, nếu sau khi sắp xếp dãy A, bạn thấy phần tử ở vị trí `i` (bắt đầu từ 0) không bằng `i+1`, bạn có thể kết luận gì?

  • A. Dãy A không phải là hoán vị của dãy từ 1 đến n.
  • B. Dãy A là hoán vị của dãy từ 1 đến n.
  • C. Dãy A chứa các phần tử âm.
  • D. Dãy A có độ dài khác n.

Câu 17: Xét nhiệm vụ "Kiểm tra xem trong dãy A có phần tử nào trùng nhau không". Theo phương pháp làm mịn dần, một trong những cách tiếp cận ở mức độ chi tiết hơn là gì?

  • A. Tính tổng các phần tử.
  • B. Tìm phần tử nhỏ nhất.
  • C. Đảo ngược thứ tự dãy.
  • D. Sắp xếp dãy A rồi duyệt qua các phần tử liền kề để so sánh.

Câu 18: Khi kiểm tra tính đối xứng của một xâu ký tự, nếu xâu có độ dài lẻ, ký tự ở vị trí chính giữa có cần phải so sánh với ký tự nào khác không?

  • A. Có, phải so sánh với ký tự đầu tiên.
  • B. Không, ký tự ở vị trí chính giữa luôn đối xứng với chính nó.
  • C. Có, phải so sánh với ký tự cuối cùng.
  • D. Tùy thuộc vào ký tự đó là chữ cái hay số.

Câu 19: Giả sử bạn cần viết hàm `kiem_tra_doi_xung(xau_ky_tu)`. Theo làm mịn dần, bên trong hàm này, bạn có thể sử dụng một vòng lặp để duyệt qua bao nhiêu phần của xâu?

  • A. Chỉ cần duyệt đến nửa xâu (hoặc nửa xâu + 1 nếu độ dài lẻ).
  • B. Toàn bộ xâu từ đầu đến cuối.
  • C. Chỉ 2 ký tự đầu tiên.
  • D. Chỉ 2 ký tự cuối cùng.

Câu 20: Việc phân rã bài toán thành các nhiệm vụ con trong làm mịn dần giúp gì cho quá trình kiểm thử (testing)?

  • A. Loại bỏ hoàn toàn nhu cầu kiểm thử.
  • B. Chỉ cho phép kiểm thử toàn bộ chương trình khi đã hoàn thành.
  • C. Cho phép kiểm thử từng nhiệm vụ con (hoặc hàm) một cách độc lập, giúp dễ dàng xác định và sửa lỗi ở từng phần.
  • D. Làm cho quá trình kiểm thử trở nên phức tạp hơn.

Câu 21: Khi làm mịn dần một bài toán, việc đặt tên cho các nhiệm vụ con (hoặc hàm) nên tuân theo nguyên tắc nào?

  • A. Đặt tên thật ngắn gọn, chỉ gồm 1-2 ký tự.
  • B. Đặt tên rõ ràng, gợi ý chức năng của nhiệm vụ con đó.
  • C. Đặt tên ngẫu nhiên để tránh trùng lặp.
  • D. Sử dụng tiếng Việt có dấu.

Câu 22: Phương pháp làm mịn dần có thể được áp dụng cho loại bài toán nào trong lập trình?

  • A. Chỉ các bài toán liên quan đến xử lý chuỗi.
  • B. Chỉ các bài toán liên quan đến xử lý số nguyên.
  • C. Chỉ các bài toán liên quan đến sắp xếp và tìm kiếm.
  • D. Hầu hết các bài toán lập trình, đặc biệt là các bài toán phức tạp.

Câu 23: Giả sử bạn đang triển khai nhiệm vụ con "Sắp xếp dãy số A". Sau khi hoàn thành, nhiệm vụ tiếp theo trong quy trình kiểm tra hoán vị (theo làm mịn dần) là gì?

  • A. Kiểm tra xem dãy đã sắp xếp có giống với dãy [1, 2, ..., n] hay không.
  • B. Tính tổng các phần tử trong dãy A.
  • C. Tìm phần tử lớn nhất trong dãy A.
  • D. Đếm số lần lặp của từng phần tử.

Câu 24: Khi đếm số lần lặp của mỗi phần tử trong dãy A, nếu sử dụng một từ điển (dictionary) để lưu trữ kết quả (phần tử -> số lần lặp), thì khóa (key) của từ điển sẽ là gì?

  • A. Số lần lặp của phần tử.
  • B. Vị trí (chỉ số) của phần tử trong dãy A.
  • C. Giá trị của phần tử trong dãy A.
  • D. Tổng các phần tử.

Câu 25: Phương pháp làm mịn dần còn được biết đến với tên gọi khác là gì?

  • A. Lập trình hướng đối tượng (Object-Oriented Programming).
  • B. Thiết kế từ trên xuống (Top-down design).
  • C. Lập trình hướng sự kiện (Event-Driven Programming).
  • D. Thiết kế từ dưới lên (Bottom-up design).

Câu 26: Khi kiểm tra hoán vị bằng cách sắp xếp dãy A và so sánh với dãy [1, 2, ..., n], nếu dãy A chứa một phần tử không phải là số nguyên dương hoặc lớn hơn n, việc sắp xếp có giúp phát hiện lỗi này không?

  • A. Có, sau khi sắp xếp, phần tử đó sẽ không nằm ở vị trí tương ứng với giá trị của nó trong dãy [1, 2, ..., n].
  • B. Không, sắp xếp chỉ thay đổi thứ tự.
  • C. Chỉ phát hiện nếu phần tử đó là số âm.
  • D. Chỉ phát hiện nếu phần tử đó là số thực.

Câu 27: Giả sử bạn cần làm mịn dần bài toán "Kiểm tra xem một ma trận vuông có phải là ma trận đơn vị hay không". Nhiệm vụ con ở mức độ đầu tiên có thể bao gồm:

  • A. Tính định thức của ma trận.
  • B. Tìm ma trận nghịch đảo.
  • C. Kiểm tra xem ma trận có phải là ma trận vuông không, kiểm tra các phần tử trên đường chéo chính có bằng 1 không, kiểm tra các phần tử ngoài đường chéo chính có bằng 0 không.
  • D. Cộng các hàng của ma trận.

Câu 28: Trong làm mịn dần, việc sử dụng hàm (function) cho các nhiệm vụ con mang lại lợi ích về khả năng tái sử dụng mã như thế nào?

  • A. Không có lợi ích nào về tái sử dụng.
  • B. Nếu một nhiệm vụ con xuất hiện ở nhiều nơi trong chương trình hoặc trong các chương trình khác, hàm tương ứng có thể được gọi lại mà không cần viết lại mã.
  • C. Chỉ tái sử dụng được nếu nhiệm vụ con đó rất đơn giản.
  • D. Chỉ tái sử dụng được trong cùng một tệp mã nguồn.

Câu 29: Khi kiểm tra tính đối xứng của xâu "racecar", theo làm mịn dần, cặp ký tự đầu tiên được so sánh là gì?

  • A. Ký tự đầu tiên "r" và ký tự cuối cùng "r".
  • B. Ký tự đầu tiên "r" và ký tự thứ hai "a".
  • C. Ký tự "c" ở giữa.
  • D. Ký tự "a" ở vị trí thứ hai và ký tự "a" ở vị trí áp cuối.

Câu 30: Phương pháp làm mịn dần giúp người lập trình tránh được điều gì khi đối mặt với một bài toán lớn?

  • A. Việc phải suy nghĩ về bài toán.
  • B. Việc phải viết mã nguồn.
  • C. Việc phải kiểm thử chương trình.
  • D. Cảm giác "choáng ngợp" trước sự phức tạp của bài toán, bằng cách chia nhỏ và giải quyết từng phần nhỏ hơn, dễ quản lý hơn.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 2: Khi áp dụng phương pháp làm mịn dần để giải quyết một bài toán phức tạp, bước đầu tiên thường là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 3: Giả sử bạn cần viết chương trình để kiểm tra xem một dãy số nguyên có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bạn có thể phân rã nhiệm vụ này thành các nhiệm vụ con nào ở mức độ đầu tiên?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 4: Trong bài toán kiểm tra hoán vị của dãy 1 đến n, tại sao việc kiểm tra độ dài của dãy đầu vào A là một bước quan trọng trong quá trình làm mịn dần?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 5: Một cách để kiểm tra xem tất cả các số từ 1 đến n có mặt trong dãy A (độ dài n) và mỗi số xuất hiện đúng một lần là gì? (Áp dụng kỹ thuật sau khi làm mịn dần)

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 6: Khi thiết kế hàm `kiem_tra_hoan_vi(danh_sach, n)` theo phương pháp làm mịn dần, hàm này nên trả về giá trị kiểu dữ liệu nào để báo hiệu kết quả kiểm tra?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 7: Giả sử bạn có nhiệm vụ con là 'Đếm số lần xuất hiện của mỗi phần tử trong dãy A'. Theo phương pháp làm mịn dần, bạn có thể thiết kế một hàm riêng cho nhiệm vụ này. Hàm này có thể nhận đầu vào là gì và trả về kết quả như thế nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 8: Trong bài toán 'Đếm số lần xuất hiện của mỗi phần tử trong dãy A', tại sao việc sắp xếp dãy A trước khi đếm có thể giúp cải thiện hiệu quả thuật toán?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 9: Khi kiểm tra xem một xâu ký tự có đối xứng hay không bằng phương pháp làm mịn dần, nhiệm vụ con ở mức độ thấp hơn có thể là gì?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 10: Lợi ích chính của việc sử dụng phương pháp làm mịn dần trong thiết kế chương trình là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 11: Giả sử bạn đang áp dụng làm mịn dần để thiết kế chương trình giải bài toán 'Tìm số lớn nhất trong một danh sách'. Nhiệm vụ con đầu tiên có thể là gì?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 12: Khi làm mịn dần bài toán 'Tìm số lớn nhất trong danh sách', sau khi đã có nhiệm vụ con 'Duyệt qua từng phần tử', nhiệm vụ con tiếp theo ở mức độ chi tiết hơn có thể là gì?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 13: Phương pháp làm mịn dần thường đi kèm với việc sử dụng các cấu trúc nào trong lập trình để triển khai các nhiệm vụ con?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 14: Giả sử bạn đang thiết kế chương trình 'Quản lý sách trong thư viện'. Theo phương pháp làm mịn dần, nhiệm vụ con 'Tìm kiếm sách' có thể được làm mịn thành các nhiệm vụ chi tiết hơn nào?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 15: Khi sử dụng làm mịn dần, mỗi bước làm mịn sẽ làm tăng mức độ chi tiết của thuật toán. Điều này giúp ích gì cho người lập trình?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 16: Trong bài toán kiểm tra hoán vị của dãy 1 đến n, nếu sau khi sắp xếp dãy A, bạn thấy phần tử ở vị trí `i` (bắt đầu từ 0) không bằng `i+1`, bạn có thể kết luận gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 17: Xét nhiệm vụ 'Kiểm tra xem trong dãy A có phần tử nào trùng nhau không'. Theo phương pháp làm mịn dần, một trong những cách tiếp cận ở mức độ chi tiết hơn là gì?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 18: Khi kiểm tra tính đối xứng của một xâu ký tự, nếu xâu có độ dài lẻ, ký tự ở vị trí chính giữa có cần phải so sánh với ký tự nào khác không?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 19: Giả sử bạn cần viết hàm `kiem_tra_doi_xung(xau_ky_tu)`. Theo làm mịn dần, bên trong hàm này, bạn có thể sử dụng một vòng lặp để duyệt qua bao nhiêu phần của xâu?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 20: Việc phân rã bài toán thành các nhiệm vụ con trong làm mịn dần giúp gì cho quá trình kiểm thử (testing)?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 21: Khi làm mịn dần một bài toán, việc đặt tên cho các nhiệm vụ con (hoặc hàm) nên tuân theo nguyên tắc nào?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 22: Phương pháp làm mịn dần có thể được áp dụng cho loại bài toán nào trong lập trình?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 23: Giả sử bạn đang triển khai nhiệm vụ con 'Sắp xếp dãy số A'. Sau khi hoàn thành, nhiệm vụ tiếp theo trong quy trình kiểm tra hoán vị (theo làm mịn dần) là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 24: Khi đếm số lần lặp của mỗi phần tử trong dãy A, nếu sử dụng một từ điển (dictionary) để lưu trữ kết quả (phần tử -> số lần lặp), thì khóa (key) của từ điển sẽ là gì?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 25: Phương pháp làm mịn dần còn được biết đến với tên gọi khác là gì?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 26: Khi kiểm tra hoán vị bằng cách sắp xếp dãy A và so sánh với dãy [1, 2, ..., n], nếu dãy A chứa một phần tử không phải là số nguyên dương hoặc lớn hơn n, việc sắp xếp có giúp phát hiện lỗi này không?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 27: Giả sử bạn cần làm mịn dần bài toán 'Kiểm tra xem một ma trận vuông có phải là ma trận đơn vị hay không'. Nhiệm vụ con ở mức độ đầu tiên có thể bao gồm:

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 28: Trong làm mịn dần, việc sử dụng hàm (function) cho các nhiệm vụ con mang lại lợi ích về khả năng tái sử dụng mã như thế nào?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 29: Khi kiểm tra tính đối xứng của xâu 'racecar', theo làm mịn dần, cặp ký tự đầu tiên được so sánh là gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 09

Câu 30: Phương pháp làm mịn dần giúp người lập trình tránh được điều gì khi đối mặt với một bài toán lớn?

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


Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 10

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần - Đề 10 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình là gì?

  • A. Chia bài toán lớn thành các bài toán con nhỏ hơn, lặp lại quá trình cho đến khi bài toán con đủ đơn giản để giải quyết trực tiếp.
  • B. Thiết kế chương trình bằng cách viết mã nguồn từ đầu đến cuối mà không chia nhỏ.
  • C. Tập trung vào việc tối ưu hóa hiệu suất của chương trình ngay từ bước đầu tiên.
  • D. Kiểm thử chương trình sau khi hoàn thành toàn bộ mã nguồn.

Câu 2: Giả sử bạn cần viết chương trình kiểm tra xem một dãy số nguyên A có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bước tổng quát đầu tiên bạn nên nghĩ đến là gì?

  • A. Kiểm tra xem dãy A có chứa số 0 hay không.
  • B. Sắp xếp dãy A theo thứ tự tăng dần.
  • C. Xác định các điều kiện cần và đủ để A là hoán vị của 1 đến n.
  • D. Viết hàm kiểm tra từng cặp phần tử trong A.

Câu 3: Vẫn với bài toán kiểm tra hoán vị của dãy 1 đến n, sau khi đã xác định các điều kiện cần kiểm tra (như ở câu 2), bước làm mịn tiếp theo có thể là gì nếu bạn chọn hướng kiểm tra sự xuất hiện của từng số từ 1 đến n?

  • A. Tính tổng các phần tử trong dãy A.
  • B. Tìm giá trị lớn nhất và nhỏ nhất trong dãy A.
  • C. Kiểm tra xem có phần tử nào trong A lớn hơn n không.
  • D. Thiết kế một hàm hoặc quy trình con để kiểm tra xem một số x có xuất hiện trong dãy A hay không và xuất hiện bao nhiêu lần.

Câu 4: Trong bài toán kiểm tra hoán vị, một trong những điều kiện cần là gì?

  • A. Độ dài của dãy A phải bằng n.
  • B. Tất cả các phần tử trong A đều là số chẵn.
  • C. Dãy A phải được sắp xếp theo thứ tự tăng dần.
  • D. Phần tử đầu tiên của A phải là 1.

Câu 5: Khi áp dụng phương pháp làm mịn dần để giải quyết bài toán, việc chia nhỏ bài toán thành các module (các hàm, thủ tục) có ý nghĩa gì?

  • A. Làm cho chương trình chạy nhanh hơn.
  • B. Giúp quản lý mã nguồn dễ dàng hơn, tái sử dụng được các phần đã viết và giảm thiểu sai sót.
  • C. Bắt buộc phải sử dụng ngôn ngữ lập trình hướng đối tượng.
  • D. Chỉ áp dụng cho các bài toán rất lớn và phức tạp.

Câu 6: Bạn được yêu cầu viết chương trình đếm số lần xuất hiện của mỗi giá trị duy nhất trong một dãy số A. Theo phương pháp làm mịn dần, bạn có thể chia bài toán này thành những công việc con nào?

  • A. Chỉ cần sắp xếp dãy A và in ra.
  • B. Tìm giá trị lớn nhất và nhỏ nhất, sau đó tính tổng.
  • C. Xác định các giá trị duy nhất có trong dãy A; Với mỗi giá trị duy nhất đó, đếm số lần nó xuất hiện trong dãy A.
  • D. Xóa bỏ các phần tử trùng lặp trong dãy A.

Câu 7: Vẫn với bài toán đếm số lần xuất hiện của mỗi giá trị duy nhất trong dãy A. Để thực hiện công việc con "Với mỗi giá trị duy nhất đó, đếm số lần nó xuất hiện trong dãy A", bạn có thể làm mịn tiếp bằng cách nào?

  • A. Xây dựng một hàm con nhận vào một giá trị x và dãy A, trả về số lần x xuất hiện trong A.
  • B. Sử dụng vòng lặp lồng nhau để so sánh mọi cặp phần tử trong dãy A.
  • C. Tạo một dãy mới chỉ chứa các phần tử duy nhất.
  • D. In ra màn hình từng phần tử của dãy A.

Câu 8: Khi kiểm tra xem một xâu ký tự có phải là đối xứng (palindrome) hay không, bước làm mịn đầu tiên có thể là gì?

  • A. Đếm số lượng ký tự trong xâu.
  • B. So sánh xâu gốc với xâu đảo ngược của nó.
  • C. Kiểm tra xem xâu có chứa ký tự đặc biệt hay không.
  • D. Chuyển xâu sang chữ hoa hoặc chữ thường.

Câu 9: Vẫn với bài toán kiểm tra xâu đối xứng. Để thực hiện công việc con "So sánh xâu gốc với xâu đảo ngược", bạn có thể làm mịn tiếp bằng cách nào?

  • A. Chỉ cần so sánh ký tự đầu tiên và ký tự cuối cùng.
  • B. Sử dụng hàm có sẵn để đếm số lượng ký tự.
  • C. Tạo một xâu mới bằng cách lặp lại xâu gốc hai lần.
  • D. Duyệt qua xâu từ hai đầu vào giữa, so sánh từng cặp ký tự tương ứng (ký tự thứ i từ đầu với ký tự thứ i từ cuối).

Câu 10: Ưu điểm chính của phương pháp làm mịn dần là gì?

  • A. Giúp quản lý độ phức tạp của bài toán, làm cho việc thiết kế và viết mã dễ dàng, ít sai sót hơn.
  • B. Luôn tạo ra chương trình có hiệu suất chạy nhanh nhất.
  • C. Không cần phải kiểm thử chương trình sau khi viết xong.
  • D. Chỉ cần áp dụng cho các ngôn ngữ lập trình bậc thấp.

Câu 11: Trong quá trình làm mịn dần, việc xác định các "mô đun" hay "hàm con" tương ứng với bước nào của phương pháp này?

  • A. Bước kiểm thử cuối cùng.
  • B. Bước tổng hợp kết quả.
  • C. Bước chia nhỏ bài toán thành các bài toán con giải quyết độc lập.
  • D. Bước viết tài liệu hướng dẫn sử dụng.

Câu 12: Giả sử bạn đang thực hiện bước làm mịn cho công việc "Đếm số lần xuất hiện của một phần tử x trong dãy A". Bạn có thể làm mịn công việc này thành các bước chi tiết nào?

  • A. Sắp xếp dãy A rồi tìm kiếm x.
  • B. Tạo một danh sách rỗng và thêm x vào đó.
  • C. Xóa tất cả các phần tử khác x khỏi dãy A.
  • D. Khởi tạo biến đếm bằng 0; Duyệt qua từng phần tử trong dãy A; Nếu phần tử hiện tại bằng x thì tăng biến đếm; Kết thúc duyệt, trả về giá trị biến đếm.

Câu 13: Khi kiểm tra xem một dãy số A có phải là hoán vị của dãy 1 đến n hay không, nếu độ dài của dãy A khác n, ta có thể kết luận ngay điều gì?

  • A. Dãy A chắc chắn là hoán vị.
  • B. Dãy A không phải là hoán vị.
  • C. Cần kiểm tra thêm các điều kiện khác.
  • D. Dãy A chứa các phần tử trùng lặp.

Câu 14: Trong bài toán kiểm tra hoán vị của dãy 1 đến n, nếu dãy A có độ dài bằng n nhưng chứa một phần tử nhỏ hơn 1 hoặc lớn hơn n, ta có thể kết luận gì?

  • A. Dãy A là hoán vị, nhưng cần sắp xếp lại.
  • B. Dãy A không phải là hoán vị.
  • C. Dãy A là hoán vị nếu không có phần tử nào trùng nhau.
  • D. Chỉ cần bỏ qua phần tử đó và kiểm tra các phần tử còn lại.

Câu 15: Xét xâu S =

  • A. Ký tự đầu tiên ("A") và ký tự cuối cùng ("A").
  • B. Ký tự thứ hai ("B") và ký tự thứ ba ("B").
  • C. Ký tự đầu tiên ("A") và ký tự thứ hai ("B").
  • D. Ký tự thứ hai ("B") và ký tự cuối cùng ("A").

Câu 16: Vẫn xét xâu S =

  • A. Kết luận ngay xâu là đối xứng.
  • B. Dừng quá trình kiểm tra.
  • C. Di chuyển vào trong, so sánh cặp ký tự thứ hai ("B") và ký tự thứ ba ("B").
  • D. Đảo ngược toàn bộ xâu S.

Câu 17: Phương pháp làm mịn dần giúp ích gì cho việc sửa lỗi (debug) chương trình?

  • A. Làm cho chương trình không bao giờ có lỗi.
  • B. Chỉ phát hiện lỗi ở cuối quá trình phát triển.
  • C. Tăng số lượng lỗi trong chương trình.
  • D. Giúp khoanh vùng lỗi dễ dàng hơn vì mỗi mô đun (hàm/thủ tục con) thực hiện một nhiệm vụ cụ thể.

Câu 18: Khi áp dụng phương pháp làm mịn dần, chúng ta nên bắt đầu từ đâu?

  • A. Từ mô tả bài toán tổng quát nhất.
  • B. Từ việc viết mã chi tiết cho một phần nhỏ bất kỳ.
  • C. Từ việc thiết kế giao diện người dùng.
  • D. Từ việc lựa chọn ngôn ngữ lập trình.

Câu 19: Vẫn với bài toán kiểm tra hoán vị của dãy 1 đến n. Một cách làm mịn khác sau khi kiểm tra độ dài là gì nếu bạn không muốn sắp xếp dãy A?

  • A. Tính tổng các phần tử của A và so sánh với tổng từ 1 đến n.
  • B. Tìm phần tử nhỏ nhất và lớn nhất trong A.
  • C. Sử dụng một mảng/danh sách phụ (hoặc tập hợp) để đánh dấu sự có mặt của các số từ 1 đến n trong dãy A.
  • D. Xóa các phần tử khỏi A khi chúng được kiểm tra.

Câu 20: Trong bài toán đếm số lần xuất hiện của mỗi phần tử trong dãy A, nếu dãy A đã được sắp xếp tăng dần, phương pháp làm mịn nào có thể hiệu quả hơn so với việc dùng hàm đếm cho từng giá trị riêng lẻ?

  • A. Duyệt qua dãy A hai lần.
  • B. Đảo ngược dãy A.
  • C. Chỉ đếm các phần tử ở vị trí chẵn.
  • D. Duyệt qua dãy A một lần, đếm số lần xuất hiện liên tiếp của cùng một giá trị trước khi gặp giá trị khác.

Câu 21: Khi kiểm tra tính đối xứng của một xâu S có độ dài L, sử dụng phương pháp so sánh từ hai đầu vào giữa, số lần so sánh cặp ký tự tối đa cần thực hiện là bao nhiêu?

  • A. L lần.
  • B. Khoảng L/2 lần (làm tròn xuống).
  • C. L * L lần.
  • D. Chỉ 1 lần.

Câu 22: Giả sử bạn đang viết chương trình quản lý điểm học sinh. Một công việc con là "Tính điểm trung bình môn học". Theo phương pháp làm mịn dần, bạn sẽ làm mịn công việc này thành các bước nào?

  • A. Lấy danh sách các điểm thành phần của môn đó; Tính tổng các điểm thành phần; Chia tổng điểm cho số lượng điểm thành phần.
  • B. Chỉ cần in ra tất cả các điểm đã có.
  • C. Tìm điểm cao nhất và điểm thấp nhất.
  • D. Sắp xếp danh sách điểm.

Câu 23: Lợi ích của việc sử dụng hàm/thủ tục con (module) trong quá trình làm mịn dần là gì?

  • A. Giúp chương trình chạy nhanh hơn đáng kể.
  • B. Bảo vệ chương trình khỏi virus.
  • C. Chỉ dùng được một lần duy nhất trong chương trình.
  • D. Cho phép tái sử dụng mã nguồn cho các công việc tương tự ở những chỗ khác nhau hoặc trong các chương trình khác.

Câu 24: Khi làm mịn dần bài toán "Kiểm tra hoán vị của dãy 1 đến n", nếu bạn đã có một hàm `kiem_tra_co_mat(x, day_so)` trả về True nếu x có mặt trong `day_so` và False nếu ngược lại, bạn có thể sử dụng hàm này như thế nào ở bước làm mịn tiếp theo?

  • A. Chỉ cần gọi hàm `kiem_tra_co_mat(1, A)` và kết luận.
  • B. Gọi hàm `kiem_tra_co_mat` với tất cả các phần tử của dãy A.
  • C. Lặp qua các số từ 1 đến n, với mỗi số i, gọi hàm `kiem_tra_co_mat(i, A)` để kiểm tra xem i có mặt trong A hay không.
  • D. Không thể sử dụng hàm này cho bài toán hoán vị.

Câu 25: Vẫn với bài toán kiểm tra hoán vị của dãy 1 đến n. Nếu bạn sử dụng phương pháp kiểm tra sự có mặt của từng số từ 1 đến n trong dãy A, điều kiện nào sau đây là cần thiết để kết luận A là hoán vị?

  • A. Tất cả các số từ 1 đến n phải xuất hiện ít nhất một lần trong A.
  • B. Tất cả các số từ 1 đến n phải xuất hiện đúng một lần trong A.
  • C. Chỉ cần số 1 và số n có mặt trong A.
  • D. Tổng các phần tử trong A phải bằng tổng của dãy 1 đến n.

Câu 26: Khi kiểm tra tính đối xứng của xâu S, nếu xâu S có độ dài lẻ (ví dụ:

  • A. Không, ký tự chính giữa không cần so sánh với ký tự nào khác.
  • B. Có, nó cần so sánh với chính nó.
  • C. Có, nó cần so sánh với ký tự đầu tiên.
  • D. Có, nó cần so sánh với tất cả các ký tự còn lại.

Câu 27: Trong bài toán đếm số lần lặp của mỗi phần tử trong dãy A, kết quả mong muốn là gì?

  • A. Một số duy nhất là tổng số lần lặp của tất cả các phần tử.
  • B. Một danh sách chỉ chứa các phần tử xuất hiện nhiều hơn một lần.
  • C. Một danh sách hoặc cấu trúc dữ liệu khác thể hiện mỗi giá trị duy nhất và số lần xuất hiện tương ứng của nó trong dãy A.
  • D. Dãy A ban đầu nhưng đã được sắp xếp.

Câu 28: Xét bài toán: Cho hai dãy số A và B, kiểm tra xem B có phải là tập con của A hay không. Theo phương pháp làm mịn dần, bước đầu tiên có thể là gì?

  • A. Tính tổng các phần tử của A và B.
  • B. Sắp xếp cả hai dãy A và B.
  • C. Tìm phần tử lớn nhất trong A và nhỏ nhất trong B.
  • D. Với mỗi phần tử trong dãy B, kiểm tra xem nó có xuất hiện trong dãy A hay không.

Câu 29: Vẫn với bài toán kiểm tra B có phải là tập con của A. Để làm mịn bước "Với mỗi phần tử trong dãy B, kiểm tra xem nó có xuất hiện trong dãy A hay không", bạn có thể làm gì?

  • A. Sử dụng vòng lặp duyệt qua từng phần tử của B, và bên trong vòng lặp đó, sử dụng một quy trình con (hoặc vòng lặp khác) để tìm kiếm phần tử đó trong A.
  • B. Ghép hai dãy A và B lại thành một dãy duy nhất.
  • C. Xóa các phần tử chung khỏi cả hai dãy A và B.
  • D. Chỉ cần so sánh độ dài của A và B.

Câu 30: Tinh thần cốt lõi của phương pháp làm mịn dần là gì?

  • A. Viết mã chương trình nhanh nhất có thể.
  • B. Giải quyết bài toán từ cái nhìn tổng thể đến chi tiết từng bước.
  • C. Luôn sử dụng các cấu trúc dữ liệu phức tạp.
  • D. Chỉ áp dụng cho các bài toán liên quan đến số học.

1 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 1: Phương pháp làm mịn dần (Stepwise Refinement) trong thiết kế chương trình là gì?

2 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 2: Giả sử bạn cần viết chương trình kiểm tra xem một dãy số nguyên A có phải là hoán vị của dãy số từ 1 đến n hay không. Theo phương pháp làm mịn dần, bước tổng quát đầu tiên bạn nên nghĩ đến là gì?

3 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 3: Vẫn với bài toán kiểm tra hoán vị của dãy 1 đến n, sau khi đã xác định các điều kiện cần kiểm tra (như ở câu 2), bước làm mịn tiếp theo có thể là gì nếu bạn chọn hướng kiểm tra sự xuất hiện của từng số từ 1 đến n?

4 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 4: Trong bài toán kiểm tra hoán vị, một trong những điều kiện cần là gì?

5 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 5: Khi áp dụng phương pháp làm mịn dần để giải quyết bài toán, việc chia nhỏ bài toán thành các module (các hàm, thủ tục) có ý nghĩa gì?

6 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 6: Bạn được yêu cầu viết chương trình đếm số lần xuất hiện của mỗi giá trị duy nhất trong một dãy số A. Theo phương pháp làm mịn dần, bạn có thể chia bài toán này thành những công việc con nào?

7 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 7: Vẫn với bài toán đếm số lần xuất hiện của mỗi giá trị duy nhất trong dãy A. Để thực hiện công việc con 'Với mỗi giá trị duy nhất đó, đếm số lần nó xuất hiện trong dãy A', bạn có thể làm mịn tiếp bằng cách nào?

8 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 8: Khi kiểm tra xem một xâu ký tự có phải là đối xứng (palindrome) hay không, bước làm mịn đầu tiên có thể là gì?

9 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 9: Vẫn với bài toán kiểm tra xâu đối xứng. Để thực hiện công việc con 'So sánh xâu gốc với xâu đảo ngược', bạn có thể làm mịn tiếp bằng cách nào?

10 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 10: Ưu điểm chính của phương pháp làm mịn dần là gì?

11 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 11: Trong quá trình làm mịn dần, việc xác định các 'mô đun' hay 'hàm con' tương ứng với bước nào của phương pháp này?

12 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 12: Giả sử bạn đang thực hiện bước làm mịn cho công việc 'Đếm số lần xuất hiện của một phần tử x trong dãy A'. Bạn có thể làm mịn công việc này thành các bước chi tiết nào?

13 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 13: Khi kiểm tra xem một dãy số A có phải là hoán vị của dãy 1 đến n hay không, nếu độ dài của dãy A khác n, ta có thể kết luận ngay điều gì?

14 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 14: Trong bài toán kiểm tra hoán vị của dãy 1 đến n, nếu dãy A có độ dài bằng n nhưng chứa một phần tử nhỏ hơn 1 hoặc lớn hơn n, ta có thể kết luận gì?

15 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 15: Xét xâu S = "ABBA". Để kiểm tra tính đối xứng theo phương pháp so sánh từ hai đầu vào giữa, cặp ký tự đầu tiên được so sánh là gì?

16 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 16: Vẫn xét xâu S = "ABBA". Sau khi so sánh cặp ký tự đầu tiên (như ở câu 15) và thấy chúng giống nhau, bước tiếp theo của quá trình kiểm tra đối xứng từ hai đầu vào giữa là gì?

17 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 17: Phương pháp làm mịn dần giúp ích gì cho việc sửa lỗi (debug) chương trình?

18 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 18: Khi áp dụng phương pháp làm mịn dần, chúng ta nên bắt đầu từ đâu?

19 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 19: Vẫn với bài toán kiểm tra hoán vị của dãy 1 đến n. Một cách làm mịn khác sau khi kiểm tra độ dài là gì nếu bạn không muốn sắp xếp dãy A?

20 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 20: Trong bài toán đếm số lần xuất hiện của mỗi phần tử trong dãy A, nếu dãy A đã được sắp xếp tăng dần, phương pháp làm mịn nào có thể hiệu quả hơn so với việc dùng hàm đếm cho từng giá trị riêng lẻ?

21 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 21: Khi kiểm tra tính đối xứng của một xâu S có độ dài L, sử dụng phương pháp so sánh từ hai đầu vào giữa, số lần so sánh cặp ký tự tối đa cần thực hiện là bao nhiêu?

22 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 22: Giả sử bạn đang viết chương trình quản lý điểm học sinh. Một công việc con là 'Tính điểm trung bình môn học'. Theo phương pháp làm mịn dần, bạn sẽ làm mịn công việc này thành các bước nào?

23 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 23: Lợi ích của việc sử dụng hàm/thủ tục con (module) trong quá trình làm mịn dần là gì?

24 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 24: Khi làm mịn dần bài toán 'Kiểm tra hoán vị của dãy 1 đến n', nếu bạn đã có một hàm `kiem_tra_co_mat(x, day_so)` trả về True nếu x có mặt trong `day_so` và False nếu ngược lại, bạn có thể sử dụng hàm này như thế nào ở bước làm mịn tiếp theo?

25 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 25: Vẫn với bài toán kiểm tra hoán vị của dãy 1 đến n. Nếu bạn sử dụng phương pháp kiểm tra sự có mặt của từng số từ 1 đến n trong dãy A, điều kiện nào sau đây là cần thiết để kết luận A là hoán vị?

26 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 26: Khi kiểm tra tính đối xứng của xâu S, nếu xâu S có độ dài lẻ (ví dụ: "MADAM"), ký tự ở vị trí chính giữa (chữ 'D') có cần so sánh với ký tự nào khác không?

27 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 27: Trong bài toán đếm số lần lặp của mỗi phần tử trong dãy A, kết quả mong muốn là gì?

28 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 28: Xét bài toán: Cho hai dãy số A và B, kiểm tra xem B có phải là tập con của A hay không. Theo phương pháp làm mịn dần, bước đầu tiên có thể là gì?

29 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 29: Vẫn với bài toán kiểm tra B có phải là tập con của A. Để làm mịn bước 'Với mỗi phần tử trong dãy B, kiểm tra xem nó có xuất hiện trong dãy A hay không', bạn có thể làm gì?

30 / 30

Category: Trắc nghiệm Tin học 11 Kết nối tri thức Bài 27: Thực hành thiết kế chương trình theo phương pháp làm mịn dần

Tags: Bộ đề 10

Câu 30: Tinh thần cốt lõi của phương pháp làm mịn dần là gì?

Viết một bình luận