Lý thuyết Tin học 11 Bài 30 (Kết nối tri thức): Thiết lập thư viện cho chương trình

Tóm tắt lý thuyết Tin học lớp 11 Bài 30: Thiết lập thư viện cho chương trình hay, chi tiết sách Kết nối tri thức sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.

1 2,714 08/08/2026


Lý thuyết Tin học 11 Bài 30: Thiết lập thư viện cho chương trình

A. Lý thuyết Thiết lập thư viện cho chương trình

1. Thiết lập thư viện cho chương trình

a) Một số hàm của thư viện math

- Thư viện math trong Python chứa các hàm chuẩn liên quan đến tính toán toán học như sqrt(), floor() và ceil().

- Để sử dụng thư viện math, có thể dùng lệnh import hoặc from <thư viện> import <các hàm> như sau: import math (đưa toàn bộ thư viên math vào bộ nhớ) hoặc from math import sqrt, floor, ceil (chỉ đưa vào bộ nhớ ba hàm).

- Lệnh import sẽ đưa toàn bộ thư viện vào bộ nhớ, trong khi lệnh from import chỉ đưa vào bộ nhớ các hàm được chỉ định.

b) Tự thiết lập thư viện

- Để thiết lập một thư viện, ta đưa các hàm chuẩn vào một tập chương trình và đặt tên của tệp này chính là tên thư viện muốn lưu trữ. Ví dụ: tập chương trình lib.py đóng vai trò như một thư viện.

- Thư viện này có hai hàm như sau:

 Lý thuyết Tin học 11 Bài 30 (Kết nối tri thức): Thiết lập thư viện cho chương trình (ảnh 1)

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

- Mỗi danh sách liên kết bao gồm hai cấu trúc dữ liệu: Node mô tả các phần tử độc lập của danh sách và cấu trúc LL (linked list) có thông tin head (đầu) luôn chỉ vào node đầu tiên của danh sách liên kết.

- 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 khoá k cho trước vào danh sách.

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

+ Xoá phần tử có khoá k trong danh sách.

- Các hàm thao tác chuẩn trên dữ liệu danh sách liên kết bao gồm:

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

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

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

+ Hàm xoá phần tử có khoá k trong danh sách L. Nếu phần tử cần xoá là node đầu tiên, sử dụng hàm delete_first(). Nếu không, duyệt danh sách và lưu trữ node trước của node cần xoá. Nếu tìm thấy thì sử dụng lệnh x.next = y.next để xoá.

+ 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.

- 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:

 Lý thuyết Tin học 11 Bài 30 (Kết nối tri thức): Thiết lập thư viện cho chương trình (ảnh 1)

Sơ đồ tư duy Thiết lập thư viện cho chương trình

Lý thuyết Tin học 11 Bài 30 (Kết nối tri thức): Thiết lập thư viện cho chương trình (ảnh 1)

B. Bài tập Thiết lập thư viện cho chương trình

Câu 1: Phát biểu nào sau đây đúng về Thư viện các chương trình con chuẩn?

A. Chứa các thủ tục, hàm con chuẩn

B. Chứa các tài liệu huớng dẫn sử dụng ngôn ngữ lập trình

C. Chứa các thông tin thông báo lỗi của ngôn ngữ lập trình

D. Chứa các dữ liệu nhập xuất của chương trình

Câu 2: Trong Pascal, thư viện CRT là nơi chứa các chương trình con liên quan đến việc ...

A. Quản lí và khai thác màn hình, bàn phím của máy tính

B. Khai thác khả năng đồ hoạ của máy tính

C. Làm việc với máy in

D. Tạo thư mục, thiết lập ngày giờ hệ thống,...

Câu 3: Trong Pascal, để gọi thủ tục xóa màn hình, cách gọi nào sau đây là đúng?

A. Clrscr;

B. Clrscr();

C. GotoXY(x,y);

D. Clsrcr;

Câu 4: Trong Pascal, thủ tục nào sau đây dùng để đặt màu cho nền của màn hình?

A. TextBackground(color);

B. TextColor(color);

C. SetColor(color);

D. GotoXY(x, y);

Câu 5: Trong Pascal, các hàm, thủ tục liên quan đến đồ họa được chứa trong thư viện nào sau đây?

A. GRAPH

B. CRT

C. DOS

D. SYSTEM

Câu 6: Trong một chương trình Pascal, khai báo thư viện phải được đặt ở vị trí nào sau đây?

A. Chỉ sau phần khai báo tên chương trình

B. Sau phần khai báo biến

C. Trong chương trình chính

D. Được đặt tùy ý trong chương trình

Câu 7: Trong một chương trình Pascal, cách khai báo thư viện nào sau đây là đúng?

A. uses crt, graph;

B. uses crt; graph;

C. uses crt graph;

D. Cả 3 cách trên đều đúng.

Câu 8: Trong Pascal, Nếu màn hình đang ở chế độ đồ họa muốn trở về chế độ văn bản thì ta phải gọi thực hiện thủ tục nào sau đây?

A. closegraph;

B. closegraph();

C. close(tep);

D. exit;

Câu 9: Trong chế độ đồ họa của Pascal, muốn di chuyển con trỏ đến vị trí điểm có tọa độ (x,y), ta phải gọi thực hiện thủ tục nào sau đây?

A. MoveTo(x,y)

B. GotoXY(x,y)

C. PutPixel(x,y)

D. LineTo(x,y)

Câu 10: Trong Pascal, thư viện Dos là nơi chứa các thủ tục ...

A. tạo thư mục, thiết lập giờ hệ thống ,...

B. vào, ra mà các chương trình đều dùng tới

C. làm việc với máy in

D. điều khiển các loại bảng mạch đồ họa

Trắc nghiệm Tin học 11 Bài 30: Thiết lập thư viện cho chương trình

Câu 1: Thư viện chương trình là gì?

A. Một tập hợp các tệp mã nguồn độc lập.

B. Một tập hợp các hàm để dùng chung cho nhiều chương trình khác nhau.

C. Một cách tổ chức mã nguồn của một chương trình thành nhiều phần.

D. Một tập hợp các tệp lưu trữ dữ liệu.

Đáp án: B

Giải thích: Thư viện chương trình chứa các hàm hoặc mô-đun độc lập được sử dụng chung cho nhiều chương trình khác, giúp tái sử dụng mã và tiết kiệm thời gian.

Câu 2: Để nhập toàn bộ thư viện math vào bộ nhớ, lệnh nào dưới đây là đúng?

A. import math as m

B. math import

C. import math

D. from math import sqrt, floor, ceil

Đáp án: C

Giải thích: Lệnh import math sẽ đưa toàn bộ thư viện math vào bộ nhớ, cho phép sử dụng tất cả các hàm trong thư viện này.

Câu 3: Trong Python, lệnh from math import sqrt, floor, ceil có nghĩa là gì?

A. Nhập toàn bộ thư viện math vào bộ nhớ.

B. Chỉ nhập ba hàm sqrt, floor, và ceil từ thư viện math.

C. Chỉ sử dụng thư viện math mà không đưa vào bộ nhớ.

D. Nhập thư viện math và đổi tên hàm sqrt thành floor.

Đáp án: B

Giải thích: Lệnh này chỉ đưa ba hàm sqrt, floor, và ceil từ thư viện math vào bộ nhớ, tiết kiệm bộ nhớ và giúp mã ngắn gọn hơn.

Câu 4: Đâu là chức năng chính của cấu trúc Node trong danh sách liên kết?

A. Kết nối đến danh sách liên kết tiếp theo.

B. Lưu trữ phần tử đầu tiên và cuối cùng của danh sách.

C. Mô tả từng phần tử của danh sách, bao gồm dữ liệu và liên kết đến phần tử tiếp theo.

D. Tính toán chiều dài của danh sách.

Đáp án: C

Giải thích: Node là cấu trúc mô tả từng phần tử trong danh sách liên kết, bao gồm dữ liệu (key) và thông tin kết nối đến phần tử tiếp theo (next).

Câu 5: Hàm insert(L, k) có chức năng gì trong danh sách liên kết?

A. Thêm một phần tử vào cuối danh sách liên kết L.

B. Xóa phần tử đầu tiên của danh sách L.

C. Thêm một phần tử mới với khóa k vào đầu danh sách L.

D. Hiển thị toàn bộ phần tử của danh sách L.

Đáp án: C

Giải thích: Hàm insert(L, k) chèn một phần tử mới với khóa k vào đầu danh sách L, tức là cập nhật con trỏ head của danh sách để trỏ đến phần tử mới.

Câu 6: Lệnh nào sau đây sẽ xóa phần tử đầu tiên của danh sách liên kết L?

A. delete_first(L)

B. delete_last(L)

C. remove(L, 1)

D. del_first(L)

Đáp án: A

Giải thích: Hàm delete_first(L) sẽ xóa phần tử đầu tiên của danh sách L bằng cách cập nhật head trỏ đến phần tử tiếp theo của danh sách.

Câu 7: Lệnh nào dưới đây sẽ khởi tạo một danh sách liên kết mới?

A. new L()

B. L = LinkedList()

C. L = LL()

D. initialize L

Đáp án: C

Giải thích: LL() là cấu trúc trong ví dụ dùng để tạo danh sách liên kết mới với thuộc tính head ban đầu là None.

Câu 8: Hàm search(L, k) có chức năng gì trong danh sách liên kết L?

A. Tìm kiếm và xóa phần tử đầu tiên có khóa k.

B. Tìm kiếm và trả về phần tử đầu tiên có khóa k.

C. Tìm kiếm tất cả các phần tử có khóa k.

D. Thêm phần tử mới với khóa k vào cuối danh sách L.

Đáp án: B

Giải thích: Hàm search(L, k) sẽ duyệt qua danh sách L để tìm phần tử đầu tiên có khóa k và trả về phần tử này nếu tìm thấy, hoặc None nếu không tìm thấy.

Câu 9: Trong danh sách liên kết, lệnh delete_last(L) có chức năng gì?

A. Xóa phần tử đầu tiên của danh sách L.

B. Xóa phần tử cuối cùng của danh sách L.

C. Xóa tất cả các phần tử có khóa k trong danh sách L.

D. Xóa phần tử giữa của danh sách L.

Đáp án: B

Giải thích: Lệnh delete_last(L) có chức năng xóa phần tử cuối cùng của danh sách L bằng cách duyệt đến node cuối cùng và cập nhật con trỏ của node trước đó trỏ đến None.

Câu 10: Trong danh sách liên kết, làm thế nào để hiển thị toàn bộ phần tử của danh sách L?

A. Sử dụng hàm show_all(L)

B. Sử dụng hàm print(L)

C. Sử dụng hàm show(L)

D. Sử dụng hàm display(L)

Đáp án: C

Giải thích: Hàm show(L) sẽ duyệt qua toàn bộ danh sách L, in ra dữ liệu key của từng node và chuyển con trỏ sang node tiếp theo, cho đến khi kết thúc danh sách.

PHẦN II. Câu trắc nghiệm đúng sai. Thí sinh trả lời từ câu 1 đến câu 2. Trong mỗi ý a), b), c), d) ở mỗi câu, thí sinh chọn đúng hoặc sai

Câu 1: Khi sử dụng thư viện math trong Python, nếu chỉ muốn đưa vào bộ nhớ các hàm sqrt, floor, và ceil, bạn có thể sử dụng cú pháp nào?

a) import math.sqrt, math.floor, math.ceil

b) from math import sqrt, floor, ceil

c) import math(sqrt, floor, ceil)

d) math.import(sqrt, floor, ceil)

a) Sai. Cú pháp này không hợp lệ trong Python. Thư viện math không cho phép sử dụng trực tiếp các hàm theo kiểu import math.sqrt, math.floor, math.ceil.

b) Đúng. Đây là cú pháp chính xác khi muốn chỉ định một số hàm từ thư viện math để tiết kiệm bộ nhớ.

c) Sai. import math(sqrt, floor, ceil) không phải là cú pháp hợp lệ trong Python. Hàm import không thể nhận các tham số theo cách này.

d) Sai. math.import(sqrt, floor, ceil) không phải là cú pháp hợp lệ trong Python vì thư viện math không có hàm import.

Câu 2: Trong cấu trúc dữ liệu danh sách liên kết, nếu muốn xoá node đầu tiên của danh sách liên kết L, bạn có thể sử dụng hàm nào?

a) delete_first(L)

b) insert(L, 0)

c) search(L, None)

d) show(L)

a) Đúng. delete_first(L) là hàm dùng để xoá node đầu tiên của danh sách liên kết nếu danh sách không rỗng.

b) Sai. insert(L, 0) chỉ có tác dụng chèn một node mới với khoá 0 vào đầu danh sách, không xoá node nào.

c) Sai. search(L, None) là hàm tìm kiếm node có khoá None trong danh sách L, không có tác dụng xoá node.

d) Sai. show(L) chỉ hiển thị các phần tử trong danh sách, không thực hiện xoá phần tử nào.

PHẦN III. Câu trả lời ngắn. Thí sinh trả lời từ câu 1 đến câu 3

Câu 1: Tại sao cần thiết lập thư viện cho chương trình?

Đáp án: Thư viện giúp tổ chức các hàm và đoạn mã thành các mô-đun độc lập để sử dụng lại trong nhiều chương trình. Điều này giúp tăng cường tính tái sử dụng và giúp lập trình viên tiết kiệm thời gian, tránh lặp lại mã nguồn.

Giải thích: Sử dụng thư viện giúp dễ dàng bảo trì, nâng cấp chương trình vì các hàm được lưu trữ tại một nơi và có thể cập nhật hoặc cải tiến khi cần mà không phải sửa đổi từng chương trình sử dụng.

Câu 2: Ý nghĩa của việc sử dụng các hàm trong thư viện chuẩn như math trong Python là gì?

Đáp án: Các hàm trong thư viện chuẩn math cung cấp các chức năng toán học thường dùng như căn bậc hai, làm tròn số, và các hàm lượng giác, giúp lập trình viên không phải tự viết lại các thuật toán phức tạp này.

Giải thích: Thư viện chuẩn math của Python giúp tối ưu hóa và tăng hiệu suất chương trình bằng cách cung cấp các hàm toán học tối ưu đã được kiểm nghiệm, giúp dễ dàng tính toán chính xác hơn

Câu 3: Để tạo một thư viện riêng trong Python, người dùng cần thực hiện các bước nào?

Đáp án: Để tạo một thư viện riêng, người dùng có thể viết các hàm cần thiết vào một tệp Python và lưu tệp đó dưới dạng mô-đun, rồi sử dụng lệnh import để sử dụng thư viện này trong các chương trình khác

Giải thích: Tạo thư viện riêng cho phép người dùng lưu trữ các hàm hoặc chức năng tự viết và dễ dàng tái sử dụng chúng trong nhiều chương trình khác, đồng thời giúp quản lý mã hiệu quả hơn khi cần nâng cấp hay bảo trì.

Xem thêm các bài lý thuyết Tin học 11 sách Kết nối tri thức hay, chi tiết tại:

Lý thuyết Bài 21: Các thuật toán sắp xếp đơn giản

Lý thuyết Bài 23: Kiểm thử và đánh giá chương trình

Lý thuyết Bài 24: Đánh giá độ phức tạp thời gian thuật toán

Lý thuyết Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình

Lý thuyết Bài 28: Thiết kế chương trình theo Mô đun

Xem thêm tài liệu Tin học lớp 11:

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

Giải SBT Tin học 11 Bài 30: Thiết lập thư viện cho chương trình

1 2,714 08/08/2026


Xem thêm các chương trình khác: