Giao diện mới của VnDoc Pro: Dễ sử dụng hơn - chỉ tập trung vào lớp bạn quan tâm. Vui lòng chọn lớp mà bạn quan tâm: Lưu và trải nghiệm
Đóng
Điểm danh hàng ngày
  • Hôm nay +3
  • Ngày 2 +3
  • Ngày 3 +3
  • Ngày 4 +3
  • Ngày 5 +3
  • Ngày 6 +3
  • Ngày 7 +5
Bạn đã điểm danh Hôm nay và nhận 3 điểm!
Nhắn tin Zalo VNDOC để nhận tư vấn mua gói Thành viên hoặc tải tài liệu Hotline hỗ trợ: 0936 120 169

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Lớp: Lớp 11
Môn: Tin Học
Dạng tài liệu: Chuyên đề
Bộ sách: Kết nối tri thức với cuộc sống
Loại File: PDF
Phân loại: Tài liệu Tính phí

VnDoc.com xin gửi tới bạn đọc bài viết Giải Chuyên đề Tin học 11 bài 15: Bài toán xếp hậu để bạn đọc cùng tham khảo. Mời các bạn cùng tham khảo thêm tại mục Tin học 11 nhé.

Khởi động trang 63 Chuyên đề Tin 11 Kết nố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:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Lời giải:

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.

Em có thể xếp như sau:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Hoạt động 1 trang 63 Chuyên đề Tin 11 Kết nố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.

Lời giải:

Trong quá trình quay lui, ta sử dụng một mảng để lưu vị trí của các quân hậu đã đặt. Mỗi lần thêm một quân hậu mới, ta kiểm tra xem nó có đặt được ở vị trí đó không bằng cách kiểm tra xem quân hậu mới đó có trùng hàng, cột hay đường chéo với bất kỳ quân hậu nào đã đặt trước đó không.

Nếu quân hậu mới đó không thể đặt được ở vị trí đó, ta quay lại đặt lại quân hậu trước đó tại một vị trí khác và tiếp tục thử các vị trí khác cho đến khi tìm được vị trí thích hợp.

Với phương pháp này, ta sẽ duyệt qua tất cả các trường hợp có thể có và đưa ra được kết quả đúng của bài toán.

Câu hỏi 1 trang 65 Chuyên đề Tin 11 Kết nối

Giả sử n = 4, A[0] = 2, A[1] = 0. Hãy tìm A[2]

Lời giải:

A[k] cần thỏa mãn điều kiện sau:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Do đó A[2] ≠ 0, 2 và | A[2]-2 | ≠2 và | A[2]-0 | ≠1 nên A[2] = 3

Do đó A[3] = 1

Câu hỏi 2 trang 65 Chuyên đề Tin 11 Kết nối

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

Lời giải:

A[k] cần thỏa mãn điều kiện sau:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Do đó A[2] ≠ 0, 3 và | A[2]-2 | ≠2 và | A[2]-3 | ≠1 nên A[2] = 1

Hoạt động 2 trang 65 Chuyên đề Tin 11 Kết nố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

Lời giải:

* Thuật toán: Sử dụng kĩ thuật duyệt quay lui và in ra tất cả phương án nghiệm

* Thiết lập chương trình hoàn chỉnh giải bài toán.

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Câu hỏi 1 trang 67 Chuyên đề Tin 11 Kết nối

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

Lời giải:

Với n = 3, bài toán có nghiệm:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Câu hỏi 2 trang 67 Chuyên đề Tin 11 Kết nối

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()

Lời giải:

Biến ncount với từ khoá global bên trong hàm trynext() dùng để đếm số phương án thỏa mãn. Biến này được khởi tạo một lần và cập nhật giá trị nếu có phương án phù hợp. Sau khi được khởi tạo, giá trị của biến có thể thay đổi trong suốt quá trình chạy chương trình. Các hàm hoặc phương thức khác nhau trong chương trình có thể truy cập và thay đổi giá trị của biến global này.

Luyện tập 1 trang 67 Chuyên đề Tin 11 Kết nối

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

Lời giải:

Hai phương án như sau:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Luyện tập 2 trang 67 Chuyên đề Tin 11 Kết nối

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?

Lời giải:

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 không còn đúng.

Nếu phải thay đổi thì cần sửa ở chỗ dòng số 5, 13, 15

Sửa i thành n - 1 - i

Vận dụng 1 trang 67 Chuyên đề Tin 11 Kết nối

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

Lời giải:

Chương trình viết như sau:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Thu được kết quả là:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Vận dụng 2 trang 67 Chuyên đề Tin 11 Kết nối

Tính Q(n) với n = 11, 12, 13

Lời giải:

Tương tự, thay đổi giá trị của n ta thu được kết quả sau:

Giải Chuyên đề Tin học 11 Kết nối tri thức bài 15

Chọn file muốn tải về:
Đóng Chỉ thành viên VnDoc PRO/PROPLUS tải được nội dung này!
Đóng
79.000 / tháng
Đặc quyền các gói Thành viên
PRO
Phổ biến nhất
PRO+
Tải tài liệu Cao cấp 1 Lớp
30 lượt tải tài liệu
Xem nội dung bài viết
Trải nghiệm Không quảng cáo
Làm bài trắc nghiệm không giới hạn
Mua cả năm Tiết kiệm tới 48%

Có thể bạn quan tâm

Xác thực tài khoản!

Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:

Số điện thoại chưa đúng định dạng!
Số điện thoại này đã được xác thực!
Bạn có thể dùng Sđt này đăng nhập tại đây!
Lỗi gửi SMS, liên hệ Admin
Sắp xếp theo
🖼️

Tin học 11 Kết nối tri thức

Xem thêm
🖼️

Gợi ý cho bạn

Xem thêm