Giáo án NLS Tin học 11 KHMT kết nối Bài 30: Thiết lập thư viện cho chương trình

Giáo án NLS Tin học 11 (Khoa học máy tính) kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình. Với năng lực số được tích hợp, tiết học sẽ giúp học sinh làm quen và ứng dụng công nghệ, tin học. KHBD này là file word, tải về dễ dàng. Là mẫu giáo án mới nhất năm 2026 để giáo viên dạy tốt môn Tin học 11.

Xem: => Giáo án tích hợp NLS Tin học 11 Khoa học máy tính Kết nối tri thức

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

Ngày dạy: .../.../...

BÀI 30:  THIẾT LẬP THƯ VIỆN CHO CHƯƠNG TRÌNH

I. MỤC TIÊU

1. Kiến thức 

Học xong bài này, HS đạt các yêu cầu sau:

  • Tạo được một thư viện nhỏ của người lập trình.
  • Trình bày được cấu trúc danh sách liên kết.
  • Thiết lập được thư viện tự định nghĩa.
  • Biết cách thiết lập một danh sách liên kết đơn giản.

2. Năng lực 

Năng lực chung:

  • Tự chủ và tự học: biết lắng nghe, tự giác học tập và hoàn thành nhiệm vụ; tích cực tham gia các hoạt động học tập trong lớp.
  • Giao tiếp và hợp tác: có thói quen trao đổi, giúp đỡ nhau trong học tập; biết cùng nhau hoàn thành nhiệm vụ học tập theo sự hướng dẫn của GV.
  • Giải quyết vấn đề và sáng tạo: ứng dụng các kiến thức đã học vào thực tế, phát triển khả năng giải quyết vấn đề có tính tích hợp liên môn giữa Tin học với các môn học khác.

Năng lực riêng: 

  • Tạo được một thư viện nhỏ của người lập trình.
  • Trình bày được cấu trúc danh sách liên kết.
  • Thiết lập được thư viện tự định nghĩa.
  • Biết cách thiết lập một danh sách liên kết đơn giản.

Năng lực số:

  • 3.1.NC1a: Xây dựng và tổ chức mã nguồn thành các mô-đun/thư viện để tái sử dụng, đảm bảo tính cấu trúc của sản phẩm số.
  • 6.2.NC1b: Sử dụng AI để hỗ trợ giải thích các khái niệm trừu tượng (như con trỏ/liên kết) hoặc tạo mã mẫu cho các cấu trúc dữ liệu mới.
  • 5.2.NC1b: Sử dụng môi trường lập trình để cài đặt, kiểm thử thư viện tự tạo và gỡ lỗi logic danh sách liên kết.
  • 1.1.NC1a: Hiểu cách tổ chức dữ liệu trong bộ nhớ (mảng vs danh sách liên kết) để lựa chọn giải pháp lưu trữ phù hợp.

3. Phẩm chất

  • 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ụ.

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

1. Đối với GV 

  • SGK, tài liệu giảng dạy, giáo án PPT.
  • Phòng thực hành máy tính kết nối Internet.
  • Máy chiếu.
  • Video AI tạo bằng công cụ AI được dùng để khởi động bài học.

2. Đối với HS 

  • SGK, SBT Tin học 11, vở ghi chép.

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

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

a) Mục tiêu: Giới thiệu trước cho HS làm quen với một mô hình dữ liệu mới tuy gần giống nhưng khác biết so với cấu trúc list đã biết. Cấu trúc mới này sẽ được học trong bài và gọi là danh sách liên kết.

b) Nội dung: GV tổ chức trả lời câu hỏi ở phần Mở đầu, HS thực hiện nhiệm vụ được giao.

c) Sản phẩm: Dựa vào kiến thức của bản thân, HS thực hiện yêu cầu GV đưa ra. 

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

Bước 1: GV chuyển giao nhiệm vụ:

- GV yêu cầu xem video AI được thiết kế để phục vụ bài dạy và trả lời câu hỏi xuất hiện trong video đó.

- GV dẫn dắt, đặt vấn đề cho HS: Em đã học về cấu trúc mảng (một chiều hoặc hai chiều). Cấu trúc mảng là một danh sách các phần tử được đánh chỉ số và quan hệ với nhau thông qua hệ thống chỉ số này. Giả sử A[0], A[1], …, A[n-1] là mảng n phần tử, nếu thực hiện lệnh, ví dụ del A[1], xóa một phần tử của dãy trên, thì các phần tử còn lại sẽ tự động điều chỉnh lại chỉ số để đối tượng vẫn là mảng (nhưng có n – 1 phần tử).

Cấu trúc danh sách liên kết (hay danh sách móc nối, linked list) là đối tượng có cấu trúc gần giống với mảng nhưng có liên kết không chặt chẽ như mảng. Một ví dụ của cấu trúc danh sách liên kết là mô hình các trang web. Khi duyệt web, em không thể đánh chỉ số cho từng trang web đã duyệt mà chỉ có thể di chuyển đến các trang trước và trang sau.

- GV đặt câu hỏi yêu cầu HS thảo luận cặp đôi: Em hãy tìm thêm các ví dụ thực tế của mô hình danh sách liên kết.

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

- HS xem video và suy nghĩ câu trả lời.

- HS lắng nghe, suy nghĩ câu trả lời.

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

- GV mời 1 - 2 HS trả lời câu hỏi:

+ Danh sách các trang web đã từng duyệt qua.

+ Danh sách các bài hạt, video trong một playlist.

+ Danh sách bạn bè trên mạng xã hội.

- HS nhóm khác nhận xét, bổ sung.

Bước 4: Đánh giá kết quả thực hiện:

- GV nhận xét, đánh giá và kết luận.

[6.1.NC1a: 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.

2.1.NC1a: HS thực hiện các tương tác cơ bản với học liệu số (xem video, trả lời câu hỏi trên môi trường số).

1.1.NC1a: 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.]

- GV dẫn dắt HS vào bài học mới: Trong bài học này, chúng ta sẽ tìm hiểu về cách thiết lập thư viện cho chương trình và cấu trúc của danh sách liên kết. Chúng ta cùng vào - Bài 30: Thiết lập thư viện cho chương trình.

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

Hoạt động 1: Tìm hiểu về thiết lập thư viện cho chương trình

a) Mục tiêu: HS biết cách khai thác và tự lập được các thư viện tự định nghĩa trong Python.

b) Nội dung: GV đưa một số ví dụ về các thư viện thường dùng của Python, nhóm HS tự tìm hiểu và khai thác các thư viện có sẵn này.

c) Sản phẩm: Thiết lập thư viện cho chương trình.

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

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

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

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

Hoạt động 2: Tìm hiểu về cấu trúc danh sách liên kết

a) Mục tiêu: HS làm quen và biết cách làm việc với mô hình danh sách liên kết.

b) Nội dung: 

- Nhiệm vụ 1. Mô hình danh sách liên kết: GV nêu nhiệm vụ, nhóm HS đọc hiểu thông tin mục 2 trang 139 - 141 SGK, thảo luận thực hiện nhiệm vụ được giao.

- Nhiệm vụ 2. Lập trình cấu trúc danh sách liên kết trên Python: Nhóm HS thực hiện lập trình, cài đặt cấu trúc danh sách liên kết trên Python và các hàm tương ứng.

c) Sản phẩm: Cấu trúc danh sách liên kết.

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

HOẠT ĐỘNG CỦA GV VÀ HSSẢN PHẨM DỰ KIẾNNLS

Bước 1: GV chuyển giao nhiệm vụ:

- GV tổ chức cho HS tiếp tục hoạt động nhóm và giao nhiệm vụ:

+ Nhiệm vụ 1. Mô hình danh sách liên kết: Nhóm HS thực hiện Hoạt động 2 tr.139 SGK:

Sử dụng AI tìm hiểu cấu trúc dữ liệu của danh sách liên kết và các thao tác dữ liệu cơ bản trên danh sách liên kết.

+ Nhiệm vụ 2. Lập trình cấu trúc danh sách liên kết trên Python: Nhóm HS thực hiện lập trình, cài đặt cấu trúc danh sách liên kết trên Python và các hàm tương ứng.

- Sau khi hoạt động hình thành kiến thức, GV yêu cầu HS trả lời câu hỏi Củng cố tr.142 SGK:

1. Đoạn chương trình sau thực hiện công việc gì?


from LinkedList import *

L = LL()

insert(L,10)

insert(L,20)

show(L)


2. Viết đoạn chương trình ngắn sử dụng thư viện LinkedList để thiết lập một danh sách liên kết L và bổ sung các tên "Bình", "Hoa", "Hà" vào danh sách này. 

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

- HS sử dụng AI tìm hiểu kiến thức.

- HS thảo luận nhóm và thực hiện nhiệm vụ được giao.

- GV quan sát, hướng dẫn (nếu cần).

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

- HS đọc kết quả từ AI, đối chiếu với SGK và rút ra kết luận.

- GV mời 1 - 2 nhóm trình bày kết quả (Toàn bộ chương trình - Dưới hoạt động).

- HS xung phong trả lời câu hỏi củng cố:

1. Chương trình thực hiện các công việc sau:

+ Tạo một danh sách liên kết rỗng

+ Bổ sung các phân tử có khóa 10, 20 vào danh sách

+ In danh sách ra màn hình 

2. Cần thực hiện các lệnh sau:

L = LL()

insert(L,"Bình")

insert(L,"Hoa")

insert(L,"Hà"

show(L)

- Các nhóm khác nhận xét, bổ sung cho nhóm bạn.

Bước 4: Đánh giá kết quả thực hiện: 

- GV nhận xét, đánh giá kết quả thảo luận của HS.

- GV chú ý thêm về cách thiết lập cấu trúc danh sách liên kết (Linked List) trong Python:

+ Mô hình danh sách liên kết tổng quát được mô tả trong sơ đồ sau:

kenhhoctap

+ Để thiết lập danh sách liên kết chúng ta cần tạo hai cấu trúc (lớp) chính là cấu trúc LL và Node.

Cấu trúc Node:

class Node:

   def _init­_(self,key):

    self.key = key

    self.next = None

Cấu trúc LL:

class LL:

   def_init_(self):

   self.head = None

+ Lệnh sau sẽ tạo một danh sách rỗng: L = LL()

+ Danh sách L trên là rỗng vì đầu của danh sách chỉ vào None (L.head = None).

+ Để tạo một Node có khóa, ví dụ 10, chúng ta thực hiện lệnh:

x = Node(10)

+ Sau đó sẽ đặt node này vào vị trí đầu tiên của L bằng lệnh sau:

L.head = x

- GV tổng kết và chốt kiến thức.

2. Cấu trúc danh sách liên kết

- Mỗi danh sách liên kết sẽ bao gồm hai cấu trúc dữ liệu:

+ Cấu trúc Node mô tả các phần tử độc lập của danh sách. Tối thiểu mỗi node cần có thông tin dữ liệu key (khóa) và thuộc tính next dùng để kết nối sang phần tử tiếp theo trong danh sách.

+ Cấu trúc LL (Linked list) sẽ có thông tin head (đầu) sẽ luôn chỉ vào node đầu tiên của danh sách liên kết.

kenhhoctap

- Một số lệnh, thao tác chính với kiểu dữ liệu danh sách liên kết:

+ Khởi tạo một danh sách liên kết mới.

+ Bổ sung một phần tử với khóa k cho trước vào danh sách.

+ Tìm kiếm phần tử có khóa k trong danh sách cho trước.

+ Xóa phần tử có khóa k trong danh sách.

- Thiết lập một số hàm là các thao tác chuẩn trên dữ liệu danh sách liên kết.

1. Hàm insert(L,k) sẽ bổ sung (chèn) node với khóa k vào đầu của danh sách L.

kenhhoctap

Chương trình như sau:


1 def insert(L,k):

2     node = Node(k)

3     node.next = L.head

4     L.head = node


2. Hàm delete_first(L) sẽ xóa node đầu tiên của danh sách (nếu danh sách không rỗng).

kenhhoctap

Chương trình như sau:


1 def delete_first(L,k):

2     if  L.head != None:

3        L.head = L.head.next


3. Hàm tìm kiếm phần tử có khóa k trong danh sách L. Nếu tìm thấy sẽ trả về phần tử (node) tương ứng, nếu không tìm thấy trả về None.

Việc tìm kiếm bắt đầu từ node đầu tiên của danh sách (dòng 2). Lần lượt duyệt theo từng phàn tử của danh sách cho đến khi nào tìm thấy phần tử có khóa k hoặc đi đến cuối danh sách thì dừng (các lệnh dòng 3,4).


1 def search(L,k):

2     x = L.head

3     while  x != None and x.key != k:

4         x = x.next

5     return  x


4. Hàm xóa phần tử có khóa k trong danh sách L.

- Nếu phần tử cần tìm là node đầu tiên của danh sách thì cách xóa giống hàm delete_first().

- Trong trường hợp tổng quát cần duyệt để tìm phần tử của danh sách có khóa k. Trong quá trình tìm luôn lưu trữ biến z là node trước của biến y cần xóa (lệnh x.next = y.next).

kenhhoctap

kenhhoctap

5. Hàm show(L) có tính năng hiển thị toàn bộ thông tin của danh sách liên kết.


1 def show(L):

2     x = L.head

3     while  x != None:

4         print(x.key, end = " ")

5         x = x.next

6     print()


- Toàn bộ thư viện chuẩn của cấu trúc danh sách liên kết (Đính kèm dưới hoạt động)

- Một số ví dụ thiết lập cấu trúc dữ liệu Linked List:

a) Thiết lập một danh sách rỗng

L = LL()

b) Thiết lập một danh sách bao gồm hai node có khóa là 5, 2.

L = LL()

insert(L,5)

insert(L,2)

c) Thiết lập một danh sách bao gồm các phần tử lấy từ dãy A cho trước

A = [5,2,8,10,0,3]

L = LL()

for k in A:

     insert(L,k)

Kết luận: 

* Danh sách liên kết là cấu trúc dữ liệu bao gồm:

- Cấu trúc node mô tả các phần tử của danh sách. Mỗi node sẽ có dữ liệu khoá (key) là thông tin chính và thông tin next để kết nối sang phần tử tiếp theo của danh sách.

- Cấu trúc head là đầu của mỗi danh sách liên kết. Head luôn chỉ vào node đầu tiên của danh sách.

- Node cuối cùng của danh sách sẽ có thông tin next = None (dữ liệu rỗng).

* Có thể thiết lập các hàm tìm kiếm, bổ sung hoặc xóa thông tin trên danh sách liên kết.

- 6.2.NC1b: HS sử dụng công cụ AI để tra cứu kiến thức lập trình chuyên sâu.

- 1.1.NC1a: HS phân biệt sự khác nhau căn bản giữa "Mảng" và "Danh sách liên kết", qua đó hiểu cơ chế quản lý bộ nhớ của máy tính.

- 5.2.NC1b: HS sử dụng môi trường lập trình (IDE) để cài đặt thuật toán thao tác trên danh sách liên kết.

Toàn bộ thư viện chuẩn của cấu trúc danh sách liên kết được mô tả như sau:

LinkedList.py


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

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

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

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

a) Mục tiêu: HS củng cố kiến thức về phương pháp làm mịn dần trong thiết kế chương trình.

b) Nội dung: HS trả lời câu hỏi trắc nghiệm và hoàn thành bài tập phần Luyện tập SGK trang 131.

c) Sản phẩm học tập: HS trả lời câu hỏi về phương pháp làm mịn dần trong thiết kế chương trình.

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

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

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

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

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

a) Mục tiêu: HS thực hiện làm bài tập Vận dụng để nắm vững kiến thức.

b) Nội dung: HS vận dụng kiến thức đã học và hiểu biết của bản thân để làm bài tập Vận dụng trang 142 SGK.

c) Sản phẩm: Câu trả lời nội dung Vận dụng.

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

Bước 1: GV chuyển giao nhiệm vụ

- GV yêu cầu HS hoạt động cặp đôi hoàn thành bài tập phần Vận dụng trang 142 SGK.

Bài 1. Cho trước một danh sách liên kết L. Viết một hàm đếm số lượng phần tử của danh sách liên kết này.

Bài 2. Viết hàm delete_last(L) có chức năng xóa phần tử cuối cùng của danh sách liên kết L.

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

- HS vận dụng kiến thức đã học để làm bài tập phần Vận dụng

- GV điều hành, quan sát, hỗ trợ.

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

- HS trình bày kết quả.

Kết quả:

Bài 1: Hàm đếm số phần tử của danh sách liên kết L.

1        def len(L):

2                 k = 0

3                 x = L.head

4                 while x != None:

5                           x = x.next

6                           k = k + 1

7                 return k

Bài 2: Hàm xóa phần tử cuối cùng của danh sách L.

1        def delete_last(L):

2                 if L.head != None:

3                           y = L.head

4                           x = L.head

5                           while x.next != None:

6                                    y = x

7                                    x = x.next

8                           y.next = None

Bước 4: Đánh giá kết quả thực hiện

- GV nhận xét, đánh giá, đưa ra một vài ý mà HS còn thiếu, chốt đáp án.

- GV tổng kết tiết học.

[3.4.NC1a: HS viết hàm theo yêu cầu.]

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

  • Ghi nhớ kiến thức trong bài. 
  • Hoàn thành các bài tập trong SBT.
  • Chuẩn bị bài mới Bài 31 – Thực hành thiết lập thư viện chương trình.

=> Giáo án Khoa học máy tính 11 kết nối Bài 30: Thiết lập thư viện cho chương trình

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 Tin học 11 Khoa học máy tính Kết nối tri thức cả năm - Tại đây

Tài liệu khác

Tài liệu của bạn

Tài liệu mới cập nhật

Tài liệu môn khác

Chat hỗ trợ
Chat ngay