Giải chi tiết chuyên đề tin học định hướng Khoa học máy tính 11 Kết nối mới bài 16 Thực hành thiết kế bài toán theo kĩ thuật quay lui

Giải bài 16 Thực hành thiết kế bài toán theo kĩ thuật quay lui sách Chuyên đề Tin học 11 định hướng Khoa học máy tính kết nối tri thức. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài học.

Khởi động

Câu hỏi. Chắc em đã nghe nói nhiều bài toán tìm đường đi trong mê cung. Nếu áp dụng kĩ thuật duyệt quay lui cho bài toán này thì làm thế nào để tìm ra các bước đi tiếp theo từ một vị trí?

Hướng dẫn trả lời:

  • Để tìm ra các bước đi tiếp theo từ một vị trí trong mê cung khi áp dụng kĩ thuật duyệt quay lui, chúng ta cần kiểm tra các ô xung quanh ô hiện tại xem có thể đi được không. Nếu ô đó chưa được đi qua và là ô đích hoặc có thể đi đến ô đích từ ô đó thì chúng ta chọn ô đó làm ô tiếp theo và tiếp tục tìm đường đi từ ô đó. Nếu không có ô nào thỏa mãn điều kiện trên, chúng ta quay lại ô trước đó và tiếp tục kiểm tra các ô xung quanh ô đó. Quá trình này được lặp lại cho đến khi tìm được đường đi hoặc đã duyệt qua tất cả các ô mà không tìm được đường đi.

Luyện tập

Câu hỏi 1. Nếu sửa yêu cầu đề bài đặt vị trí xuất phát tại ô giữa của mê cung (ví dụ vị trí m//2. n//2), vị trí thoát của mê cung là ô trái trên hoặc phải dưới của mê cung thì cần sửa chương trình như thế nào?

Hướng dẫn trả lời:

Để điểm bắt đầu tại m//2 và n//2, em chỉ cần thay đổi giá trị của biến x và y khi gọi hàm solveMaze. Thay vì truyền 0, 0 vào hàm solveMaze, em có thể truyền m//2, n//2

Thực hành thiết kế bài toán theo kĩ thuật quay lui

Câu hỏi 2. Trên dữ liệu đầu ra của bài toán chưa thể hiện thông tin của các ô là tường. Hãy sửa lại chương trình để trên dữ liệu đầu ra các ô là tường sẽ được đánh dấu bằng "x".

Hướng dẫn trả lời:

- Em cần sửa hàm writemaze in dữ liệu đầu ra và hàm soveMaze đặt giá trị tại các ô là 2 nếu ở đó là đường đi

- Hai hàm cần sửa như sau:

- Em cần sửa hàm writemaze in dữ liệu đầu ra và hàm soveMaze đặt giá trị tại các ô là 2 nếu ở đó là đường đi  - Hai hàm cần sửa như sau:- Em cần sửa hàm writemaze in dữ liệu đầu ra và hàm soveMaze đặt giá trị tại các ô là 2 nếu ở đó là đường đi  - Hai hàm cần sửa như sau:

Vận dụng

Câu hỏi 1. Cải tiến nhiệm vụ thực hành để chương trình in ra màn hình tất cả các đường đi để thoát ra khỏi mê cung.

Hướng dẫn trả lời:

Để in ra tất cả các đường đi trong mê cung, bạn có thể sử dụng một hàm đệ quy để tìm và in ra tất cả các đường đi hợp lệ.

Để in ra tất cả các đường đi trong mê cung, bạn có thể sử dụng một hàm đệ quy để tìm và in ra tất cả các đường đi hợp lệ.

Câu hỏi 2. Giải bài toán xếp Hậu tổng quát m hàng n cột trong đó m và n là các số tự nhiên bất kì (m≥n).

Hướng dẫn trả lời:

Để giải bài toán này, có thể sử dụng thuật toán quay lui (backtracking) để tìm tất cả các cách xếp Hậu một cách hợp lệ trên bàn cờ.

Em có thể tham khảo lời giải sau:

 Em có thể tham khảo lời giải sau:Em có thể tham khảo lời giải sau:

Câu hỏi 3. Bài toán “Mã đi tuần” được phát biểu như sau: cho vị trí ban đầu của quân mã trên bàn cờ vua 8×8, hãy tìm một hành trình của quân mã sao cho nó đi hết các ô bàn cờ mà không đi qua bất kì ô nào hai lần. Hãy dùng chiến lược quay lui để tìm lời giải cho bài toán này

Hướng dẫn trả lời:

- Bài toán yêu cầu tìm một hành trình của quân mã đi qua tất cả các ô trên bàn cờ mà không đi qua bất kỳ ô nào hai lần.

- Ta sẽ thử tất cả các bước di chuyển hợp lệ của quân mã từ một ô đang xét và đi tiếp cho đến khi quân mã đã đi qua tất cả các ô trên bàn cờ.

Tham khảo bài làm sau:

Tham khảo bài làm sau:Tham khảo bài làm sau:

Tìm kiếm google: Giải chuyên đề tin học KHMT 11 KNTT bài 16 Thực hành thiết kế bài toán theo kĩ thuật quay lui, giải chuyên đề tin học định hướng Khoa học máy tính 11 kết nối tri thức bài 16 Thực hành thiết kế bài toán theo kĩ thuật quay lui, giải chuyên đề tin học KHMT 11 KNTT bài 16 Thực hành thiết kế bài toán theo kĩ thuật quay lui

Xem thêm các môn học

Giải chuyên đề khoa học máy tính 11 kết nối tri thức


Copyright @2024 - Designed by baivan.net