Giải chuyên đề Tin học định hướng khoa học máy tính 11 KNTT bài 15 Bài toán xếp hậu

Hướng dẫn giải chuyên đề bài 15 Bài toán xếp hậu trang 63, chuyên đề học tập Tin học định hướng khoa học máy tính 11 sách KNTT. Bộ sách được biên soạn theo định hướng đổi mới giáo dục phổ thông nhằm phát triển toàn diện phẩm chất, năng lực của học sinh. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết dưới đây các em sẽ nắm bài học tốt hơn.

B. Bài tập và hướng dẫn giải

Khởi động

Câu hỏi. Trên bàn cờ vua chúng ta đều biết Hậu là quân cờ mạnh nhất vì nó có thể di chuyển theo tất cả các hướng ngang, dọc và chéo. Một bài toán vui rất nổi tiếng là tìm cách sắp xếp 8 quân Hậu trên bàn cờ sao cho không quân Hậu nào khống chế con nào. Em hãy thử tìm một cách xếp quân Hậu khác với cách xếp như hình sau:

Bài toán tìm tất cả các cách xếp 8 quân Hậu trên bàn cờ vua sao cho các quân Hậu không khống chế lẫn nhau được gọi là bài toán xếp Hậu (n-Queen Problem). Bài toán này được nhà bác học Đức Carl Friedrich Gauss nghiên cứu từ 4 những năm 1850. Bài toán đã được mở rộng trên bàn cờ kích thước bất kì và vẫn đang được tiếp tục phát triển cho đến ngày nay.

Giải chuyên đề Tin học định hướng khoa học máy tính 11 KNTT bài 15 Bài toán xếp hậu

1. Mô tả bài toán xếp hậu trên bàn cờ vua

Câu hỏi. Đọc, quan sát, trao đổi và thảo luận về bài toán xếp Hậu tổng quát và cách tiếp cận quay lui để giải bài toán.

Câu hỏi 1. Giả sử n = 4, A[0] = 2, A[1] = 0. Hãy tìm A[2].

Câu hỏi 2. Nếu n = 5, A[0] = 0, A[1] = 3. Tìm các khả năng của A[2].

2. Thiết lập lời giải bài toán xếp hậu tổng quát

Câu hỏi. Đọc, quan sát, trao đổi và thảo luận về thuật toán và thiết lập chương trình hoàn chỉnh giải bài toán.

Câu hỏi 1. Với n = 3 bài toán xếp Hậu có nghiệm không?

Câu hỏi 2. Vì sao chương trình trên cần khai báo biến ncount với từ khoá global bên trong hàm trynext().

Luyện tập

Câu hỏi 1. Hãy tìm bằng tay (không cần máy tính) cả hai phương án của bài toán xếp Hậu với n = 4.

Câu hỏi 2. Nếu chúng ta mô phỏng lưới ô vuông đánh chỉ số các hàng từ dưới lên thì chương trình trên còn đúng không? Nếu phải thay đổi thì cần sửa chỗ nào?

Vận dụng

Câu hỏi 1. Gọi Q(n) là số các cách xếp n quân Hậu lên bàn cờ kích thước n x n sao cho các quân Hậu không khống chế nhau. Sử dụng thuật toán đã được học, em hãy viết chương trình tính các giá trị Q(n) với n = 4, 5, 6, 7, 8, 9, 10.

Câu hỏi 2. Tính Q(n) với n = 11, 12, 13.

Từ khóa tìm kiếm: Giải chuyên đề tin học 11 KNTT bài 15 Bài toán xếp hậu, Giải chuyên đề tin học 11 kết nối tri thức bài 15 Bài toán xếp hậu, Giải chuyên đề tin học KNTT bài 15 Bài toán xếp hậu

Bình luận

Giải bài tập những môn khác