Giáo án NLS chuyên đề Tin học 11 KHMT Bài 13: Kĩ thuật duyệt quay lui

Giáo án chuyên đề NLS Tin học 11 - Khoa học máy tính (bộ SGK thống nhất từ 2026 - 2027) Bài 13: Kĩ thuật duyệt quay lui. Với năng lực số được tích hợp, tiết học sẽ giúp học sinh tăng cường khả năng ứng dụng công nghệ, tin học vào việc tìm hiểu các chuyên đề học tập. KHBD này là file word, tải về dễ dàng.

=> Giáo án tích hợp NLS chuyên đề Tin học 11 Khoa học máy tính

Ngày soạn:…/…/…

Ngày dạy:…/…/…

BÀI 13. KĨ THUẬT DUYỆT QUAY LUI

I. MỤC TIÊU

1. Kiến thức

Sau bài học này, HS sẽ:

  • Biết và trình bày được ý tưởng của kĩ thuật quay lui thông qua một số ví dụ đơn giản.
  • Nhận ra được mối liên quan giữa thiết kế thuật toán theo kĩ thuật quay lui và kĩ thuật đệ quy.

2. Năng lực 

Năng lực chung: 

  • Năng lực tự chủ: Biết lựa chọn các nguồn tài liệu học tập phù hợp.
  • Năng lực giải quyết vấn đề và sáng tạo: Xác định và tìm hiểu được các thông tin liên quan đến vấn đề, đề xuất giải pháp giải quyết vấn đề trong bài học.
  • Năng lực giao tiếp và hợp tác: Thực hiện tốt nhiệm vụ trong hoạt động nhóm.

Năng lực tin học:

  • Hình thành, phát triển năng lực giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông.

Năng lực số:

  • 1.1.NC1b: Duyệt, tìm kiếm và lọc dữ liệu, thông tin và nội dung số (HS sử dụng công cụ số tìm hiểu ưu điểm và nhược điểm của kĩ thuật duyệt quay lui).
  • 2.1.NC1a: Tương tác thông qua công nghệ số (HS xem video được tạo bởi công cụ AI và trả lời câu hỏi, sử dụng máy tính cá nhân hoặc thiết bị di động có kết nối Internet để làm bài tập trắc nghiệm củng cố trên môi trường số).
  • 2.4.NC1a: Hợp tác thông qua công nghệ số (HS lựa chọn công cụ Padlet được xác định rõ ràng để hợp tác tổng hợp kết quả nhóm).
  • 3.4.NC1a: Lập trình (HS tự thực hiện viết code và chạy chương trình Python sử dụng kĩ thuật duyệt quay lui).
  • 5.1.NC1a: Giải quyết các vấn đề kĩ thuật (HS tự chẩn đoán nguyên nhân và áp dụng các giải pháp khắc phục các lỗi kỹ thuật số phát sinh khi lập trình trên Python).
  • 5.3.NC1a: Sử dụng sáng tạo công nghệ số (HS sử dụng công cụ lập trình Python (PyCharm, VS Code hoặc công cụ trực tuyến) để tự tay thiết kế, viết code, chạy thử và hoàn thiện các chương trình sử dụng kĩ thuật duyệt quay lui).
  • 6.2.NC1a: Sử dụng trí tuệ nhân tạo (HS sử dụng công cụ AI hoặc sản phẩm số do GV cung cấp để tiếp nhận thông tin, trả lời câu hỏi đơn giản).
  • 1.1.NC1a: Duyệt, tìm kiếm và lọc dữ liệu, thông tin và nội dung số (HS tiếp cận, khai thác được thông tin từ nguồn học liệu số dưới sự hướng dẫn của GV).

Năng lực AI:

  • 11.A1.2: AI để nâng cao năng lực (HS nhận thức rõ AI giúp lập trình viên viết code cực nhanh để nâng cao hiệu suất của con người, nhưng con người (lập trình viên) vẫn phải giữ quyền kiểm soát tối cao để kiểm thử, phát hiện lỗi sai, phê duyệt và chịu trách nhiệm pháp lý cao nhất đối với chất lượng phần mềm).
  • 11.B2.1: Phòng tránh rủi ro khi sử dụng AI (HS thể hiện trách nhiệm học thuật số bằng việc tự lực tư duy thuật toán, tự viết code Python và thực hiện kiểm chứng chéo kết quả, cam kết sử dụng AI có kiểm soát và không lạm dụng sao chép code đối phó).

3. Phẩm chất

  • Hình thành ý thức trách nhiệm, tính cẩn thận khi làm việc nhóm, phẩm chất làm việc chăm chỉ, chuyên cần để hoàn thành một nhiệm vụ.
  • Có ý thức vận dụng kiến thức, kĩ năng đã học ở nhà trường vào thực tiễn.

II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU 

1. Đối với giáo viên

  • SGK, KHBD Chuyên đề học tập Tin học 11 – Định hướng Khoa học máy tính.
  • Phòng thực hành máy tính đã cài đặt Python và có kết nối Internet, máy chiếu.
  • Phần mềm mô phỏng trò chơi mê cung cho phép HS tự chơi trên máy tính.
  • Học liệu số & Công cụ AI:
  • Bộ câu hỏi trắc nghiệm trên phần mềm Quizizz/website kenhhoctap.edu.vn.
  • Video AI được tạo bằng các công cụ AI để khởi động bài học.
  • Công cụ Chatbot AI (ChatGPT/Gemini).

2. Đối với học sinh

  • SGK Chuyên đề học tập Tin học 11 – Định hướng Khoa học máy tính.
  • Vở ghi. 

III. TIẾN TRÌNH DẠY HỌC

1. HOẠT ĐỘNG KHỞI ĐỘNG 

…………………………………………..

…………………………………………..

…………………………………………..

   

2. HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC 

Hoạt động 1. Tìm hiểu ý tưởng của thuật toán quay lui

a. Mục tiêu: HS biết được ý tưởng ban đầu của thuật toán quay lui dựa trên mô hình bài toán mê cung.

b. Nội dung: GV yêu cầu HS tìm hiểu Hoạt động 1 SGK, đọc thông tin mục 1, thảo luận nhóm và xây dựng kiến thức mới.

c. Sản phẩm học tập: HS nêu được ý tưởng ban đầu của thuật toán quay lui.

d. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HSDỰ KIẾN SẢN PHẨM

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV chia lớp thành các nhóm, yêu cầu thảo luận để hoàn thành Hoạt động 1 SGK tr.56:

Đọc, trao đổi và thảo luận về ý tưởng thuật toán quay lui của bài toán tìm đường đi trong mê cung.

- GV yêu cầu HS thử phác thảo và trao đổi về ý tưởng của thuật toán tìm đường đi bằng vét cạn, quay lui với bài toán mê cung.

- GV đưa ra sơ đồ giải mã của thuật toán này.

+ HS trao đổi tìm hiểu sơ đồ.

+ HS trình bày, giải thích.

- GV chốt kiến thức.

- GV cho HS thảo luận cặp đôi, trả lời Câu hỏi (SGK – tr57) để củng cố kiến thức:

+ Câu 1: Khi đã thực hiện hết các bước lặp tại dòng 2 ở trên thì hàm có dừng không?

+ Câu 2: Lệnh gọi hàm chính của chương trình trên là gì?

+ Câu 3: Nếu yêu cầu bổ sung thêm 1 lệnh “Nếu thấy <lối ra> thì thông báo và dừng chương trình” thì lệnh này sẽ đặt ở đâu trong chương trình trên?

Bước 2: HS thực hiện nhiệm vụ học tập

- Các nhóm HS tìm hiểu lời giải của bài toán viên bi giả trong SGK.

- HS thảo luận nhóm, hoàn thành bài tập phần Câu hỏi.

- GV theo dõi, hỗ trợ HS trong quá trình học tập. 

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV mời đại diện các nhóm trình bày kết quả thảo luận của nhóm mình, hình thành kiến thức bài học.

- Đại diện các nhóm xung phong trả lời Câu hỏi (SGK – tr30)

- Các HS còn lại nhận xét, bổ sung (nếu có).

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, bổ sung, tuyên dương ghi điểm các nhóm làm tốt.

- GV tổng kết lại nội dung.

- GV chuyển sang nội dung tiếp theo.

1. Kĩ thuật duyệt quay lui

Hoạt động 1

Ý tưởng của thuật toán duyệt quay lui là luôn tìm cách đi tiếp theo. Xuất phát từ vị trí gốc, thuật toán sẽ gọi hàm tìm bước đi tiếp theo. Nếu thực hiện được một bước đi thì gọi lại hàm để tìm bước đi tiếp theo. Nếu không tìm thấy đường đi thì cần "quay lui" về vị trí trước đó để tìm đường đi khác. Thuật toán sẽ sử dụng kĩ thuật đệ quy khi gọi hàm cho bước đi tiếp theo.

Sơ đồ mã giả của thuật toán quy lui

kenhhoctap

Giải thích

Hàm có chức năng tim bước đi tiếp theo xuất phát từ <vị trí> hiện thời. 

+ Nếu vị trí hiện thời là đích thì thông báo tìm thấy nghiệm tại dòng 3 và dừng chương trình. Dòng 5 sẽ tìm tất cả các phương án có thể đi tiếp. 

+ Nếu tìm thấy một phương án đi khả thi tại dòng 6 thì thực hiện ngay bước đi này tại dòng 7 để cập nhật thông tin vào <vị trí> mới. 

Sau gọi đệ quy lại hàm gốc để đi tiếp tại dòng 9. 

+ Nếu không thể đi tiếp (lệnh gọi đệ quy dòng 9 không thể thực hiện) thì quay lui tại dòng 10, xoá thông tin bước vừa đi để quay lại vòng lặp 5.

Kết luận:

Ý tưởng của thuật toán quay lui là thiết lập một hàm (thủ tục) xuất phát từ một vị trí hiện thời để tìm kiếm các bước đi tiếp theo.

   

Câu hỏi 

Câu 1.

Có. Khi thực hiện xong vòng lặp tại dòng 5 thì hàm sẽ dừng. Có nghĩa là từ vị trí hiện thời sẽ không thể đi tiếp được nữa, cần “quay lui".

Câu 2.

Lệnh gọi hàm chính là "Tìm bước đi tiếp theo.

Câu 3.
Lệnh này đã có chính là dòng lệnh 2.

Hoạt động 2. Tìm hiểu mô hình tổng quát của kĩ thuật duyệt quay lui

a. Mục tiêu: 

- HS biết được mô hình tổng quát của kĩ thuật quay lui được mô tả bằng đệ quy. 

b. Nội dung: GV yêu cầu HS tìm hiểu Hoạt động 2 SGK, đọc thông tin mục 2, thảo luận nhóm và xây dựng kiến thức mới.

c. Sản phẩm học tập: HS nêu được mô hình tổng quát của kĩ thuật duyệt quay lui. Câu trả lời của HS.

d. Tổ chức hoạt động:

…………………………………………..

…………………………………………..

…………………………………………..

   

Hoạt động 3. Thiết kế chương trình sinh tất cả các dãy nhị phân

a. Mục tiêu: 

- HS hiểu và thực hiện được chương trình sinh các dãy nhị phân bằng kĩ thuật duyệt quay lui.

b. Nội dung: GV yêu cầu HS tìm hiểu Hoạt động 3 SGK, đọc thông tin mục 3, thảo luận nhóm và xây dựng kiến thức mới.

c. Sản phẩm học tập: HS viết được chương trình sinh các dãy nhị phân bằng kĩ thuật quay lui. Câu trả lời của HS.

d. Tổ chức hoạt động:

HOẠT ĐỘNG CỦA GV - HSDỰ KIẾN SẢN PHẨMNLS/AI

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV chia lớp thành các nhóm, yêu cầu thảo luận để hoàn thành Hoạt động 3 SGK trang 57:

Cùng thực hiện, trao đổi, thảo luận thiết kế chương trình sinh tất cả các dãy nhị phân độ dài n bằng kĩ thuật quay lui.

   

- GV mô tả bài toán các dãy nhị phân độ dài n bằng kĩ thuật quay lui dựa trên sơ đồ thuật toán tổng quát ở Hoạt động 2. 

- GV chú ý các kí hiệu của bài toán này tương ứng với kí hiệu của thuật toán tổng quát:

kenhhoctap

- GV giao cho các nhóm là chương trình 1, 2; so sánh kết quả giống nhau và khác nhau.

- GV cho HS thảo luận cặp đôi, trả lời Câu hỏi (SGK – tr59) để củng cố kiến thức:

+ Câu 1: Trong chương trình 1, động tác “quay lui” nằm ở đâu?

+ Câu 2: Giải thích ý nghĩa của lệnh A.pop() tại dòng 8 của chương trình 2. Vì sao lệnh này không có trong chương trình 1?

Bước 2: HS thực hiện nhiệm vụ học tập

- Các nhóm HS tìm hiểu thuật toán tìm kiếm nhị phân  trong SGK.

- HS thảo luận nhóm, hoàn thành bài tập phần Câu hỏi.

- GV theo dõi, hỗ trợ HS trong quá trình học tập. 

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV mời đại diện các nhóm trình bày kết quả thảo luận của nhóm mình.

- Các HS còn lại nhận xét, bổ sung (nếu có).

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV nhận xét, bổ sung, tuyên dương ghi điểm các nhóm làm tốt.

- GV tổng kết lại nội dung.

- GV chuyển sang nội dung tiếp theo.

3. Bài toán sinh xâu nhị phân

Hoạt động 3

Để thiết kế chương trình sinh tất cả các dãy nhị phân độ dài n bằng kĩ thuật quay lui, ta có thể sử dụng đệ quy để thêm lần lượt các số 0 và 1 vào dãy nhị phân.

Bước 1: Viết hàm để sinh dãy nhị phân độ dài n:

kenhhoctap

Bước 2: Gọi hàm generate_binary_sequence với độ dài của dãy nhị phân cần sinh:

kenhhoctap

Thu được kết quả:

kenhhoctap

   

   

Chương trình 1.

kenhhoctap

Lời gọi hàm chính:

kenhhoctap

   

Chương trình 2

kenhhoctap

Lời gọi hàm chính

kenhhoctap

Kết luận

Bài toán sinh tất cả các xâu nhị phân có thể giải quyết bằng mô hình của thuật toán quay lui tổng quát.

   

Câu hỏi

Câu 1.

Trong chương trình 1, thao tác quay lui sẽ thực hiện ngay sau khi kết thúc lệnh genBinary(A,k+1) tại dòng 7.

Câu 2.

Lệnh A.pop() tại dòng 8 chính là thao tác “quay lui” của thuật toán. Lệnh này sẽ xoá đi phần tử cuối của dãy A mà phần tử này mới được thêm vào tại dòng lệnh 6.

Lệnh này không có trong chương trình 1 vì hai chương trình 1 và 2 thực hiện việc tạo dãy A theo hai cách khác nhau. Chương trình 1 tạo sẵn dãy A có độ dài n và sau mỗi bước sẽ bổ sung phần tử bằng cách gán trực tiếp, do đó chương trình 1 không cần lệnh A.pop(). Chương trình 2 sẽ thiết lập dãy A từ dãy rỗng, mỗi lần bổ sung phần tử (đi tiếp) sẽ dùng lệnh A. append(), do đó khi quay lui sẽ cần dùng lệnh A. pop().

- 3.4.NC1a: HS tự thao tác trên IDE Python, viết mã nguồn và chạy thành công chương trình sinh dãy nhị phân theo hướng dẫn kĩ thuật.

- 5.1.NC1a: HS tự chẩn đoán và khắc phục lỗi cú pháp, lỗi thò thụt dòng.

   

Bài toán sinh dãy nhị phân độ dài nThuật toán quay lui tổng quát
kenhhoctapKhông gian cần tìm nghiệm kenhhoctap
kenhhoctapkenhhoctap = miền các giá trị kenhhoctap có thể tìm tiếp theo bộ kenhhoctap
kenhhoctapkenhhoctap = miền giá trị của kenhhoctap.

   

3. HOẠT ĐỘNG LUYỆN TẬP

a. Mục tiêu: HS vận dụng kiến thức, hoàn thành bài tập phần Luyện tập.

b. Nội dung: GV giao nhiệm vụ, HS thảo luận.

c. Sản phẩm học tập: HS thực hiện được kĩ thuật duyệt quay lui.

d. Tổ chức thực hiện:

…………………………………………..

…………………………………………..

…………………………………………..

   

4. HOẠT ĐỘNG VẬN DỤNG

a. Mục tiêu: HS vận dụng kiến thức, liên hệ với thực tế để giải quyết vấn đề.

b. Nội dung: GV tổ chức cho HS làm bài tập phần Vận dụng SGK.

c. Sản phẩm học tập: HS viết và chạy thử chương trình.

d. Tổ chức thực hiện:

Bước 1: GV chuyển giao nhiệm vụ học tập

- GV nêu yêu cầu bài toán:

Bài 1: Viết chương trình sinh tất cả các số hex (hệ đếm 16) có 3 chữ số.

Bài 2: Viết chương trình sinh xâu nhị phân thực sự có độ dài n, tức là kết quả in ra phải là các xâu kí tự chứ không phải là danh sách (list) như trong các chương trình trên.

- GV nhấn mạnh: "Sự hỗ trợ của AI trong việc sinh code giúp gia tăng năng suất đáng kể, nhưng không thay thế được vai trò kiểm soát và trách nhiệm pháp lý của lập trình viên đối với sản phẩm".

Bước 2: HS thực hiện nhiệm vụ học tập

- HS thảo luận, viết chương trình giải bài toán.

- GV hướng dẫn, theo dõi, hỗ trợ HS nếu cần thiết. 

Bước 3: Báo cáo kết quả hoạt động và thảo luận

- GV đại diện của 1 nhóm lên bảng thực hiện trên máy và chạy thử chương trình.

- HS khác quan sát, nhận xét, sửa bài (nếu có). 

Kết quả:

Bài 1: 

kenhhoctap

   

Bài 2: 

kenhhoctap

- GV mời đại diện HS khác nhận xét, bổ sung. 

Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập

- GV đánh giá, nhận xét, chuẩn kiến thức.

[3.4.NC1a: HS tự thực hiện viết code và chạy chương trình Python.

5.1.NC1a: HS tự chẩn đoán nguyên nhân và áp dụng các giải pháp khắc phục các lỗi kỹ thuật số phát sinh khi lập trình trên Python.

6.2.NC1a: HS sử dụng công cụ AI hỗ trợ tìm, phân tích và gỡ lỗi.

11.B2.1: HS tự tư duy thuật toán và viết code; không copy code từ Chatbot AI để đối phó, tránh vi phạm nội quy nhà trường.

11.A1.2: HS nhận thức rõ: AI lập trình tự động để nâng cao hiệu suất của con người, nhưng con người (lập trình viên) vẫn phải giữ quyền kiểm soát tối cao để kiểm thử, phát hiện lỗi sai, phê duyệt và chịu trách nhiệm pháp lý cao nhất đối với chất lượng chương trình.]

* HƯỚNG DẪN VỀ NHÀ:

  • Ôn lại kiến thức đã học.
  • Hoàn thành bài tập phần Vận dụng.
  • Đọc và tìm hiểu trước Bài 14. Thực hành kĩ thuật duyệt quay lui.

   

Thông tin tải tài liệu:

Phía trên chỉ là 1 phần, tài liệu khi tải sẽ có đầy đủ. Xem và tải: Giáo án tích hợp NLS chuyên đề Tin học 11 Khoa học máy tính (cả năm) - Tại đây

Tài liệu khác

Chat hỗ trợ
Chat ngay