12+ Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 30: Thiết Lập Thư Viện Cho Chương Trình

Đề 01

Đề 02

Đề 03

Đề 04

Đề 05

Đề 06

Đề 07

Đề 08

Đề 09

Đề 10

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 01 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Mục đích chính của việc sử dụng các thư viện (libraries) trong lập trình là gì?

  • A. Giúp chương trình chạy nhanh hơn đáng kể.
  • B. Bắt buộc phải có để chương trình có thể biên dịch hoặc thông dịch.
  • C. Tổ chức và tái sử dụng các đoạn mã (hàm, lớp) đã được viết sẵn.
  • D. Thay thế hoàn toàn việc viết mã từ đầu.

Câu 2: Trong Python, giả sử bạn muốn sử dụng hàm tính căn bậc hai (`sqrt`) từ thư viện `math`. Lệnh nhập thư viện nào sau đây sẽ cho phép bạn gọi hàm này bằng cú pháp `math.sqrt(x)`?

  • A. import math
  • B. from math import sqrt
  • C. import math as m
  • D. from math import *

Câu 3: Nếu bạn chỉ cần sử dụng hàm làm tròn xuống (`floor`) và làm tròn lên (`ceil`) từ thư viện `math`, cách nhập thư viện nào sau đây là hiệu quả nhất về mặt sử dụng bộ nhớ và rõ ràng về nguồn gốc hàm?

  • A. import math
  • B. from math import floor, ceil
  • C. from math import *
  • D. import floor, ceil from math

Câu 4: Giả sử bạn có một mô-đun (`.py` file) tên là `my_utils.py` chứa một hàm tên là `greet(name)`. Để sử dụng hàm `greet` trong một chương trình Python khác nằm trong cùng thư mục, bạn cần thực hiện các bước nào?

  • A. Chỉ cần gọi trực tiếp `greet("Alice")`.
  • B. Sao chép toàn bộ mã nguồn của `greet` vào chương trình hiện tại.
  • C. Đổi tên file `my_utils.py` thành tên chương trình hiện tại.
  • D. Sử dụng lệnh `import my_utils`, sau đó gọi `my_utils.greet("Alice")`.

Câu 5: Khi sử dụng lệnh `from module import *`, điều gì xảy ra với không gian tên (namespace) của chương trình hiện tại?

  • A. Tất cả tên từ mô-đun được đưa trực tiếp vào không gian tên hiện tại.
  • B. Chỉ các tên bắt đầu bằng dấu gạch dưới (_) được nhập.
  • C. Không gian tên của mô-đun được tạo ra và các tên được truy cập thông qua nó.
  • D. Không có tên nào từ mô-đun được đưa vào không gian tên hiện tại.

Câu 6: Bạn đang viết một chương trình và cần sử dụng cả hàm `open` có sẵn trong Python và một hàm `open` khác từ một thư viện tùy chỉnh tên là `file_manager`. Phương pháp nhập thư viện nào sau đây giúp bạn tránh xung đột tên giữa hai hàm `open`?

  • A. from file_manager import *
  • B. from file_manager import open
  • C. import file_manager
  • D. Không có cách nào tránh được xung đột tên trong trường hợp này.

Câu 7: Lợi ích nào sau đây của việc sử dụng thư viện giúp giảm thiểu việc "phát minh lại bánh xe" (reinventing the wheel)?

  • A. Tính tái sử dụng (Reusability).
  • B. Tính bảo mật (Security).
  • C. Tính thẩm mỹ (Aesthetics).
  • D. Tăng tốc độ gõ mã nguồn.

Câu 8: Giả sử bạn nhập thư viện `math` bằng lệnh `import math as m`. Để tính giá trị tuyệt đối của một số thực x bằng hàm `fabs` từ thư viện `math`, bạn sẽ gọi hàm như thế nào?

  • A. math.fabs(x)
  • B. m.fabs(x)
  • C. fabs(x)
  • D. import m.fabs(x)

Câu 9: Trong ngữ cảnh của Bài 30, các hàm như `insert`, `delete_first`, `search`, `show` được sử dụng để thao tác với cấu trúc dữ liệu Danh sách liên kết (Linked List). Việc đóng gói các hàm này vào một mô-đun riêng (ví dụ: `linkedlist_lib.py`) thể hiện rõ nhất nguyên tắc thiết kế chương trình nào?

  • A. Tính mô-đun (Modularity).
  • B. Tính kế thừa (Inheritance).
  • C. Tính đóng gói (Encapsulation) - Lưu ý: Đóng gói thường liên quan đến Class, còn đây là cấp độ mô-đun.
  • D. Tính đa hình (Polymorphism).

Câu 10: Bạn cần tính giá trị của biểu thức `sqrt(16) + floor(5.7)`. Cách nhập thư viện `math` nào sau đây cho phép bạn gọi trực tiếp các hàm `sqrt` và `floor` mà không cần tiền tố `math.`?

  • A. import math
  • B. import math as m
  • C. from math import sqrt, floor
  • D. import sqrt, floor from math

Câu 11: Khi bạn tạo một mô-đun Python tùy chỉnh (ví dụ: `my_module.py`), làm thế nào các chương trình Python khác biết được vị trí của mô-đun này để có thể nhập nó?

  • A. Python tự động tìm kiếm trong toàn bộ hệ thống file.
  • B. Mô-đun phải được đặt trong thư mục cài đặt của Python.
  • C. Bạn phải chỉ định đường dẫn tuyệt đối đến mô-đun trong lệnh `import`.
  • D. Python tìm kiếm trong thư mục hiện tại của chương trình và các thư mục trong biến môi trường `sys.path`.

Câu 12: Giả sử mô-đun `my_math.py` của bạn chứa một hàm `add(a, b)`. Bạn nhập nó bằng `import my_math`. Đoạn mã nào sau đây gọi đúng hàm `add`?

  • A. my_math.add(5, 3)
  • B. add(5, 3)
  • C. my_math::add(5, 3)
  • D. import my_math.add(5, 3)

Câu 13: Điều gì có thể xảy ra khi bạn sử dụng lệnh `from module import *` và mô-đun đó chứa nhiều tên (hàm, biến) giống với tên bạn đã định nghĩa trong chương trình hiện tại?

  • A. Chương trình sẽ báo lỗi cú pháp ngay lập tức.
  • B. Tên trong mô-đun có thể ghi đè lên tên trong chương trình hiện tại hoặc ngược lại, gây ra lỗi logic hoặc hành vi không mong muốn.
  • C. Python sẽ tự động đổi tên các thành phần bị trùng lặp.
  • D. Lệnh `import` sẽ bị bỏ qua nếu phát hiện trùng tên.

Câu 14: Bạn đang phát triển một ứng dụng cần thực hiện nhiều phép tính toán học phức tạp như logarit, hàm mũ, lượng giác. Việc sử dụng thư viện `math` thay vì tự viết lại các hàm này mang lại lợi ích chính nào?

  • A. Làm cho mã nguồn của bạn ngắn hơn.
  • B. Bắt buộc theo quy định của Python.
  • C. Đảm bảo tính chính xác, hiệu quả và độ tin cậy của các phép tính.
  • D. Chỉ đơn giản là cách viết ưa thích của lập trình viên chuyên nghiệp.

Câu 15: Giả sử bạn có một mô-đun tên là `constants.py` chứa biến `PI = 3.14159`. Bạn muốn sử dụng giá trị `PI` trong chương trình chính. Lệnh nhập nào sau đây là phù hợp nhất nếu bạn chỉ cần truy cập biến `PI`?

  • A. import constants.PI
  • B. from constants import PI
  • C. import constants as PI
  • D. from constants import *

Câu 16: Phân tích đoạn mã sau:
```python
import math

def sqrt(x):
return x ** 0.5 # Implement square root manually

print(math.sqrt(25))
print(sqrt(25))
```
Kết quả in ra màn hình sẽ là gì?

  • A. 25.0
    25.0
  • B. Lỗi vì hàm `sqrt` bị định nghĩa lại.
  • C. 5.0
    5.0
  • D. 5
    5

Câu 17: Tại sao việc tổ chức mã nguồn thành các mô-đun (tạo thư viện) lại giúp ích cho quá trình bảo trì và nâng cấp chương trình?

  • A. Mã nguồn trở nên khó đọc hơn.
  • B. Cần phải thay đổi toàn bộ chương trình khi có một mô-đun được cập nhật.
  • C. Các lỗi chỉ xuất hiện trong các mô-đun riêng lẻ và không ảnh hưởng đến chương trình chính.
  • D. Thay đổi hoặc sửa lỗi trong một mô-đun ít có khả năng ảnh hưởng đến các mô-đun khác hoặc chương trình chính.

Câu 18: Giả sử bạn có một mô-đun `geometry.py` với hàm `calculate_area(radius)`. Bạn muốn nhập hàm này và sử dụng nó trực tiếp mà không cần tiền tố `geometry.`. Lệnh nhập nào sau đây là đúng?

  • A. from geometry import calculate_area
  • B. import geometry.calculate_area
  • C. import calculate_area from geometry
  • D. from geometry import *

Câu 19: Trong ví dụ về Danh sách liên kết trong Bài 30, cấu trúc `Node` thường chứa hai thành phần chính là dữ liệu (`key`) và con trỏ (`next`). Nếu các định nghĩa này được đặt trong một mô-đun `linkedlist_module.py`, điều này giúp đóng gói dữ liệu và hành vi (các hàm thao tác trên node/list) lại với nhau ở mức độ nào?

  • A. Đóng gói ở cấp độ hàm đơn lẻ.
  • B. Đóng gói các thành phần liên quan (cấu trúc dữ liệu và hàm) vào một mô-đun.
  • C. Đóng gói toàn bộ chương trình thành một file thực thi duy nhất.
  • D. Không liên quan đến đóng gói.

Câu 20: Xét đoạn mã sau:
```python
import math as m
import random

print(m.pi)
print(random.randint(1, 10))
```
Đoạn mã này có lỗi không? Nếu không, kết quả in ra màn hình sẽ là gì?

  • A. Không lỗi. In ra giá trị của Pi và một số nguyên ngẫu nhiên từ 1 đến 10.
  • B. Lỗi do không thể nhập hai thư viện cùng lúc.
  • C. Lỗi do sử dụng bí danh `m` cho thư viện `math`.
  • D. Lỗi do không thể gọi `randint` từ thư viện `random`.

Câu 21: Bạn được giao nhiệm vụ viết một chương trình phức tạp. Tại sao việc chia nhỏ chương trình thành nhiều mô-đun nhỏ, mỗi mô-đun đảm nhận một chức năng cụ thể, lại được coi là một phương pháp tốt?

  • A. Làm cho chương trình chạy chậm hơn.
  • B. Tăng số lượng file cần quản lý, gây khó khăn.
  • C. Mỗi mô-đun hoạt động độc lập và không thể tương tác với nhau.
  • D. Giúp quản lý độ phức tạp, tăng khả năng tái sử dụng, dễ kiểm thử và làm việc nhóm.

Câu 22: Giả sử bạn có một mô-đun `calculations.py` với hàm `divide(a, b)`. Bạn nhập nó bằng `from calculations import divide`. Nếu bạn cố gắng gọi `calculations.divide(10, 2)`, điều gì sẽ xảy ra?

  • A. Chương trình sẽ báo lỗi `NameError` vì tên `calculations` không tồn tại trong không gian tên hiện tại.
  • B. Hàm `divide` sẽ được gọi thành công.
  • C. Chương trình sẽ báo lỗi cú pháp.
  • D. Python sẽ tự động chuyển đổi cách gọi thành `divide(10, 2)`.

Câu 23: Khi tạo một thư viện riêng trong Python, về cơ bản, bạn đang làm gì?

  • A. Biên dịch mã nguồn của bạn thành một file thực thi độc lập.
  • B. Tổ chức các hàm, biến, lớp liên quan vào một hoặc nhiều file `.py` để có thể nhập và sử dụng ở nơi khác.
  • C. Đăng ký mã nguồn của bạn trên một nền tảng trực tuyến.
  • D. Chuyển đổi mã Python sang ngôn ngữ máy.

Câu 24: Trong ví dụ về Danh sách liên kết, hàm `show(L)` có chức năng hiển thị các phần tử của danh sách. Nếu hàm này được đặt trong mô-đun `linkedlist_ops.py` và bạn nhập nó bằng `import linkedlist_ops`, làm thế nào để hiển thị danh sách `my_list`?

  • A. show(my_list)
  • B. linkedlist_ops::show(my_list)
  • C. linkedlist_ops.show(my_list)
  • D. import linkedlist_ops.show(my_list)

Câu 25: Lợi ích nào sau đây là ít quan trọng nhất khi sử dụng thư viện trong phát triển phần mềm?

  • A. Tăng khả năng tái sử dụng mã.
  • B. Giúp tổ chức mã nguồn một cách rõ ràng hơn.
  • C. Hỗ trợ quá trình bảo trì và sửa lỗi.
  • D. Làm cho mã nguồn của chương trình chính trở nên "đẹp" hơn.

Câu 26: Giả sử bạn có hai mô-đun: `module_a.py` chứa hàm `process()` và `module_b.py` cũng chứa hàm `process()`. Bạn muốn sử dụng cả hai hàm này trong chương trình chính. Cách nhập nào sau đây giúp bạn truy cập cả hai hàm mà không bị lẫn lộn?

  • A. import module_a
    import module_b
  • B. from module_a import process
    from module_b import process
  • C. from module_a import *
    from module_b import *
  • D. import module_a as ma, module_b as mb, ma.process(), mb.process()

Câu 27: Trong Python, đâu là cách phổ biến nhất để tạo một thư viện đơn giản của riêng bạn?

  • A. Sử dụng một công cụ đặc biệt để đóng gói mã nguồn.
  • B. Viết các hàm, biến, hoặc lớp vào một file có đuôi `.py`.
  • C. Lưu mã nguồn vào cơ sở dữ liệu.
  • D. Đăng ký mã nguồn trên Python Package Index (PyPI).

Câu 28: Bạn cần tính giá trị logarit cơ số e của một số (`math.log`) và giá trị Pi (`math.pi`). Cách nhập thư viện `math` nào sau đây là phù hợp nhất nếu bạn muốn gọi chúng bằng tên gốc (`log` và `pi`)?

  • A. import math
  • B. import math as m
  • C. from math import *
  • D. from math import log, pi

Câu 29: Khi sử dụng các hàm từ một thư viện, bạn thường không cần biết chi tiết thuật toán bên trong hàm đó hoạt động như thế nào. Điều này thể hiện nguyên tắc thiết kế nào trong lập trình?

  • A. Trừu tượng hóa (Abstraction).
  • B. Đa hình (Polymorphism).
  • C. Kế thừa (Inheritance).
  • D. Ghi đè (Overriding).

Câu 30: Giả sử bạn đã tạo một mô-đun `my_lib.py` chứa một số hàm hữu ích. Sau đó, bạn mở một file Python mới trong cùng thư mục và viết `import my_lib`. Python sẽ tìm kiếm file `my_lib.py` ở đâu đầu tiên?

  • A. Trong thư mục cài đặt của Python.
  • B. Trong thư mục chứa file Python hiện tại đang chạy.
  • C. Trong thư mục `site-packages` của môi trường Python.
  • D. Python sẽ hỏi người dùng vị trí của file.

1 / 30

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

Tags: Bộ đề 01

Câu 1: Mục đích chính của việc sử dụng các thư viện (libraries) trong lập trình là gì?

2 / 30

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

Tags: Bộ đề 01

Câu 2: Trong Python, giả sử bạn muốn sử dụng hàm tính căn bậc hai (`sqrt`) từ thư viện `math`. Lệnh nhập thư viện nào sau đây sẽ cho phép bạn gọi hàm này bằng cú pháp `math.sqrt(x)`?

3 / 30

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

Tags: Bộ đề 01

Câu 3: Nếu bạn chỉ cần sử dụng hàm làm tròn xuống (`floor`) và làm tròn lên (`ceil`) từ thư viện `math`, cách nhập thư viện nào sau đây là hiệu quả nhất về mặt sử dụng bộ nhớ và rõ ràng về nguồn gốc hàm?

4 / 30

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

Tags: Bộ đề 01

Câu 4: Giả sử bạn có một mô-đun (`.py` file) tên là `my_utils.py` chứa một hàm tên là `greet(name)`. Để sử dụng hàm `greet` trong một chương trình Python khác nằm trong cùng thư mục, bạn cần thực hiện các bước nào?

5 / 30

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

Tags: Bộ đề 01

Câu 5: Khi sử dụng lệnh `from module import *`, điều gì xảy ra với không gian tên (namespace) của chương trình hiện tại?

6 / 30

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

Tags: Bộ đề 01

Câu 6: Bạn đang viết một chương trình và cần sử dụng cả hàm `open` có sẵn trong Python và một hàm `open` khác từ một thư viện tùy chỉnh tên là `file_manager`. Phương pháp nhập thư viện nào sau đây giúp bạn tránh xung đột tên giữa hai hàm `open`?

7 / 30

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

Tags: Bộ đề 01

Câu 7: Lợi ích nào sau đây của việc sử dụng thư viện giúp giảm thiểu việc 'phát minh lại bánh xe' (reinventing the wheel)?

8 / 30

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

Tags: Bộ đề 01

Câu 8: Giả sử bạn nhập thư viện `math` bằng lệnh `import math as m`. Để tính giá trị tuyệt đối của một số thực x bằng hàm `fabs` từ thư viện `math`, bạn sẽ gọi hàm như thế nào?

9 / 30

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

Tags: Bộ đề 01

Câu 9: Trong ngữ cảnh của Bài 30, các hàm như `insert`, `delete_first`, `search`, `show` được sử dụng để thao tác với cấu trúc dữ liệu Danh sách liên kết (Linked List). Việc đóng gói các hàm này vào một mô-đun riêng (ví dụ: `linkedlist_lib.py`) thể hiện rõ nhất nguyên tắc thiết kế chương trình nào?

10 / 30

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

Tags: Bộ đề 01

Câu 10: Bạn cần tính giá trị của biểu thức `sqrt(16) + floor(5.7)`. Cách nhập thư viện `math` nào sau đây cho phép bạn gọi trực tiếp các hàm `sqrt` và `floor` mà không cần tiền tố `math.`?

11 / 30

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

Tags: Bộ đề 01

Câu 11: Khi bạn tạo một mô-đun Python tùy chỉnh (ví dụ: `my_module.py`), làm thế nào các chương trình Python khác biết được vị trí của mô-đun này để có thể nhập nó?

12 / 30

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

Tags: Bộ đề 01

Câu 12: Giả sử mô-đun `my_math.py` của bạn chứa một hàm `add(a, b)`. Bạn nhập nó bằng `import my_math`. Đoạn mã nào sau đây gọi đúng hàm `add`?

13 / 30

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

Tags: Bộ đề 01

Câu 13: Điều gì có thể xảy ra khi bạn sử dụng lệnh `from module import *` và mô-đun đó chứa nhiều tên (hàm, biến) giống với tên bạn đã định nghĩa trong chương trình hiện tại?

14 / 30

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

Tags: Bộ đề 01

Câu 14: Bạn đang phát triển một ứng dụng cần thực hiện nhiều phép tính toán học phức tạp như logarit, hàm mũ, lượng giác. Việc sử dụng thư viện `math` thay vì tự viết lại các hàm này mang lại lợi ích chính nào?

15 / 30

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

Tags: Bộ đề 01

Câu 15: Giả sử bạn có một mô-đun tên là `constants.py` chứa biến `PI = 3.14159`. Bạn muốn sử dụng giá trị `PI` trong chương trình chính. Lệnh nhập nào sau đây là phù hợp nhất nếu bạn chỉ cần truy cập biến `PI`?

16 / 30

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

Tags: Bộ đề 01

Câu 16: Phân tích đoạn mã sau:
```python
import math

def sqrt(x):
return x ** 0.5 # Implement square root manually

print(math.sqrt(25))
print(sqrt(25))
```
Kết quả in ra màn hình sẽ là gì?

17 / 30

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

Tags: Bộ đề 01

Câu 17: Tại sao việc tổ chức mã nguồn thành các mô-đun (tạo thư viện) lại giúp ích cho quá trình bảo trì và nâng cấp chương trình?

18 / 30

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

Tags: Bộ đề 01

Câu 18: Giả sử bạn có một mô-đun `geometry.py` với hàm `calculate_area(radius)`. Bạn muốn nhập hàm này và sử dụng nó trực tiếp mà không cần tiền tố `geometry.`. Lệnh nhập nào sau đây là đúng?

19 / 30

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

Tags: Bộ đề 01

Câu 19: Trong ví dụ về Danh sách liên kết trong Bài 30, cấu trúc `Node` thường chứa hai thành phần chính là dữ liệu (`key`) và con trỏ (`next`). Nếu các định nghĩa này được đặt trong một mô-đun `linkedlist_module.py`, điều này giúp đóng gói dữ liệu và hành vi (các hàm thao tác trên node/list) lại với nhau ở mức độ nào?

20 / 30

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

Tags: Bộ đề 01

Câu 20: Xét đoạn mã sau:
```python
import math as m
import random

print(m.pi)
print(random.randint(1, 10))
```
Đoạn mã này có lỗi không? Nếu không, kết quả in ra màn hình sẽ là gì?

21 / 30

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

Tags: Bộ đề 01

Câu 21: Bạn được giao nhiệm vụ viết một chương trình phức tạp. Tại sao việc chia nhỏ chương trình thành nhiều mô-đun nhỏ, mỗi mô-đun đảm nhận một chức năng cụ thể, lại được coi là một phương pháp tốt?

22 / 30

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

Tags: Bộ đề 01

Câu 22: Giả sử bạn có một mô-đun `calculations.py` với hàm `divide(a, b)`. Bạn nhập nó bằng `from calculations import divide`. Nếu bạn cố gắng gọi `calculations.divide(10, 2)`, điều gì sẽ xảy ra?

23 / 30

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

Tags: Bộ đề 01

Câu 23: Khi tạo một thư viện riêng trong Python, về cơ bản, bạn đang làm gì?

24 / 30

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

Tags: Bộ đề 01

Câu 24: Trong ví dụ về Danh sách liên kết, hàm `show(L)` có chức năng hiển thị các phần tử của danh sách. Nếu hàm này được đặt trong mô-đun `linkedlist_ops.py` và bạn nhập nó bằng `import linkedlist_ops`, làm thế nào để hiển thị danh sách `my_list`?

25 / 30

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

Tags: Bộ đề 01

Câu 25: Lợi ích nào sau đây là *ít quan trọng nhất* khi sử dụng thư viện trong phát triển phần mềm?

26 / 30

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

Tags: Bộ đề 01

Câu 26: Giả sử bạn có hai mô-đun: `module_a.py` chứa hàm `process()` và `module_b.py` cũng chứa hàm `process()`. Bạn muốn sử dụng cả hai hàm này trong chương trình chính. Cách nhập nào sau đây giúp bạn truy cập cả hai hàm mà không bị lẫn lộn?

27 / 30

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

Tags: Bộ đề 01

Câu 27: Trong Python, đâu là cách phổ biến nhất để tạo một thư viện đơn giản của riêng bạn?

28 / 30

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

Tags: Bộ đề 01

Câu 28: Bạn cần tính giá trị logarit cơ số e của một số (`math.log`) và giá trị Pi (`math.pi`). Cách nhập thư viện `math` nào sau đây là phù hợp nhất nếu bạn muốn gọi chúng bằng tên gốc (`log` và `pi`)?

29 / 30

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

Tags: Bộ đề 01

Câu 29: Khi sử dụng các hàm từ một thư viện, bạn thường không cần biết chi tiết thuật toán bên trong hàm đó hoạt động như thế nào. Điều này thể hiện nguyên tắc thiết kế nào trong lập trình?

30 / 30

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

Tags: Bộ đề 01

Câu 30: Giả sử bạn đã tạo một mô-đun `my_lib.py` chứa một số hàm hữu ích. Sau đó, bạn mở một file Python mới trong cùng thư mục và viết `import my_lib`. Python sẽ tìm kiếm file `my_lib.py` ở đâu đầu tiên?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 02 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Mục đích chính của việc sử dụng thư viện trong lập trình là gì?

  • A. Để làm cho chương trình chạy nhanh hơn một cách đáng kể.
  • B. Để bắt buộc lập trình viên tuân theo một cấu trúc mã nhất định.
  • C. Để cung cấp các chức năng có sẵn, giúp tái sử dụng mã và tăng hiệu quả lập trình.
  • D. Để mã hóa chương trình, làm cho mã nguồn khó đọc hơn.

Câu 2: Lợi ích nổi bật nhất của việc sử dụng thư viện trong phát triển phần mềm là gì?

  • A. Tăng cường khả năng tái sử dụng mã nguồn.
  • B. Giảm kích thước tệp chương trình cuối cùng.
  • C. Bảo vệ mã nguồn khỏi bị sao chép.
  • D. Tự động sửa lỗi cú pháp trong mã.

Câu 3: Trong Python, lệnh `import math` thực hiện điều gì?

  • A. Chỉ nhập một vài hàm phổ biến nhất từ thư viện math.
  • B. Nhập toàn bộ module math vào không gian tên hiện tại, cho phép truy cập các thành viên thông qua tiền tố `math.`.
  • C. Nhập toàn bộ module math và tự động đổi tên nó thành `m`.
  • D. Chỉ tải mã nguồn của thư viện math nhưng chưa đưa vào bộ nhớ.

Câu 4: Bạn chỉ cần sử dụng hàm tính căn bậc hai (`sqrt`) từ thư viện `math`. Cú pháp import nào dưới đây là cách tốt nhất để làm điều này, giúp mã rõ ràng và tiết kiệm bộ nhớ hơn nếu thư viện lớn?

  • A. `import math`
  • B. `import math.sqrt`
  • C. `from math import sqrt`
  • D. `from math import *`

Câu 5: Giả sử bạn import hai module `mod1` và `mod2`, cả hai đều có một hàm tên là `process_data()`. Phương pháp import nào giúp bạn dễ dàng phân biệt và gọi đúng hàm từ mỗi module mà không bị xung đột tên?

  • A. Sử dụng `import mod1` và `import mod2`, sau đó gọi `mod1.process_data()` và `mod2.process_data()`.
  • B. Sử dụng `from mod1 import process_data` và `from mod2 import process_data`.
  • C. Sử dụng `from mod1, mod2 import process_data`.
  • D. Sử dụng `import mod1, mod2` và gọi `process_data()`.

Câu 6: Cho đoạn code sau:
```python
import math as m

# Để tính giá trị sin của 0.5 radian, bạn sẽ viết thế nào?
# ... code here ...
```
Chọn dòng code đúng để thay thế `# ... code here ...`.

  • A. `result = math.sin(0.5)`
  • B. `result = sin(0.5)`
  • C. `result = m.math.sin(0.5)`
  • D. `result = m.sin(0.5)`

Câu 7: Lệnh `from module_name import *` nhập tất cả các tên công khai (public names) từ `module_name` vào không gian tên hiện tại. Tại sao phương pháp import này thường không được khuyến khích, đặc biệt trong các dự án lớn?

  • A. Nó làm cho chương trình chạy chậm hơn.
  • B. Nó có thể gây ra xung đột tên (name collisions) với các biến hoặc hàm khác trong chương trình của bạn.
  • C. Nó chỉ hoạt động với các thư viện chuẩn của Python.
  • D. Nó yêu cầu kết nối internet để hoạt động.

Câu 8: Để tạo một thư viện riêng đơn giản trong Python (để các chương trình khác có thể import và sử dụng), bước cơ bản nhất bạn cần làm là gì?

  • A. Viết các hàm hoặc lớp cần thiết vào một tệp có đuôi `.py` và lưu lại.
  • B. Đóng gói các tệp mã nguồn vào một tệp nén (.zip hoặc .rar).
  • C. Đăng ký tên thư viện của bạn trên một kho lưu trữ trực tuyến.
  • D. Biên dịch mã nguồn thành tệp thực thi (.exe).

Câu 9: Giả sử bạn có một tệp tên là `utils.py` chứa một hàm `def greeting(name): return f"Hello, {name}!"`. Trong một tệp khác cùng thư mục, làm thế nào để import và sử dụng hàm `greeting`?

  • A. `import utils.greeting` sau đó gọi `greeting("World")`.
  • B. `import utils` sau đó gọi `utils.greeting("World")`.
  • C. `from utils import *` sau đó gọi `utils.greeting("World")`.
  • D. `import utils` sau đó gọi `greeting("World")`.

Câu 10: Thư viện chuẩn nào của Python cung cấp các hàm và hằng số cho các phép toán nâng cao như căn bậc hai, lũy thừa, hàm lượng giác, logarit và hằng số PI?

  • A. math
  • B. random
  • C. os
  • D. sys

Câu 11: Cho đoạn code sau:
```python
import math

value = 7.8
result_floor = math.floor(value)
result_ceil = math.ceil(value)

print(f

  • A. Floor: 8.0, Ceil: 7.0
  • B. Floor: 7.8, Ceil: 7.8
  • C. Floor: 8, Ceil: 7
  • D. Floor: 7, Ceil: 8

Câu 12: Khi sử dụng cú pháp `from module import item`, tên của `item` (ví dụ: tên hàm, biến) được đưa trực tiếp vào không gian tên hiện tại của script đang chạy. Điều này mang lại lợi ích gì so với `import module`?

  • A. Có thể gọi `item` trực tiếp mà không cần dùng tiền tố tên module.
  • B. Module được import sẽ chạy nhanh hơn.
  • C. Chỉ nhập được một `item` duy nhất từ module.
  • D. Giúp tránh hoàn toàn xung đột tên.

Câu 13: Bạn cần sử dụng hàm `random()` để tạo số thực ngẫu nhiên từ 0.0 đến 1.0. Cú pháp nào dưới đây là cách đúng để import và sử dụng hàm này từ thư viện `random`?

  • A. `import random.random`, sau đó gọi `random()`.
  • B. `import random`, sau đó gọi `random()`.
  • C. `from random import random`, sau đó gọi `random()`.
  • D. `from random import random`, sau đó gọi `random.random()`.

Câu 14: Thư viện chuẩn nào của Python thường được sử dụng để tương tác với hệ điều hành, ví dụ như làm việc với tệp tin và thư mục, hoặc truy cập các biến môi trường?

  • A. sys
  • B. os
  • C. math
  • D. random

Câu 15: Giả sử bạn cần tính chu vi của một hình tròn với bán kính `r` cho trước, sử dụng hằng số $pi$ từ thư viện `math`. Công thức tính chu vi là $C = 2 times pi times r$. Đoạn code nào sau đây thực hiện đúng việc này?

  • A. ```python
    import math
    r = 5
    chu_vi = 2 * math.pi * r
    print(chu_vi)
    ```
  • B. ```python
    from math import pi
    r = 5
    chu_vi = 2 * pi * math.r
    print(chu_vi)
    ```
  • C. ```python
    import math
    r = 5
    chu_vi = math.2 * math.pi * r
    print(chu_vi)
    ```
  • D. ```python
    from math import *
    r = 5
    chu_vi = 2 * pi * r
    print(chu_vi)
    ```
    (Đáp án 4 đúng về mặt cú pháp nếu chỉ xét dòng tính chu vi, nhưng lựa chọn 1 là cách import tường minh và phổ biến hơn nếu không cần dùng quá nhiều hàm, đồng thời câu hỏi yêu cầu cả đoạn code, và cách gọi `math.pi` trong A là chính xác khi import `math`.) Cập nhật: Phương án 4 cũng hoàn toàn đúng và có thể coi là hợp lý. Tuy nhiên, xét tính tường minh và tránh xung đột tên, phương án 1 thường được ưa chuộng hơn trong nhiều trường hợp. Giữ nguyên đáp án 1 dựa trên tiêu chí "đoạn code nào sau đây thực hiện đúng việc này" và cách gọi tường minh.

Câu 16: Bạn đang viết một chương trình cần thực hiện các phép toán phức tạp. Thay vì tự xây dựng các thuật toán từ đầu, bạn tìm và sử dụng các hàm có sẵn trong thư viện `math`. Hành động này thể hiện rõ nhất lợi ích nào của thư viện?

  • A. Giảm thiểu lỗi cú pháp.
  • B. Tăng tính bảo mật của mã nguồn.
  • C. Tiết kiệm thời gian phát triển và đảm bảo độ tin cậy của các chức năng đã có sẵn.
  • D. Làm cho chương trình dễ dàng chuyển đổi sang ngôn ngữ lập trình khác.

Câu 17: Khi Python thực hiện lệnh `import module_name`, nó sẽ tìm kiếm tệp `module_name.py` (hoặc các định dạng module/package khác) trong một danh sách các đường dẫn. Danh sách các đường dẫn này được lưu trữ trong biến nào của module `sys`?

  • A. `sys.modules`
  • B. `sys.path`
  • C. `sys.argv`
  • D. `sys.version`

Câu 18: Bạn muốn import hàm `pi` từ thư viện `math` nhưng lại muốn sử dụng nó trong code của mình với tên là `PI_VALUE` để dễ phân biệt. Cú pháp import nào cho phép bạn làm điều này?

  • A. `import math.pi as PI_VALUE`
  • B. `import math as PI_VALUE`
  • C. `from math import PI_VALUE = pi`
  • D. `from math import pi as PI_VALUE`

Câu 19: Điều gì sẽ xảy ra nếu bạn viết lệnh `import my_non_existent_module` trong một script Python và chạy nó?

  • A. Chương trình sẽ báo lỗi `ModuleNotFoundError` (hoặc `ImportError`).
  • B. Chương trình sẽ chạy bình thường nhưng không có chức năng của module đó.
  • C. Python sẽ tự động tìm kiếm và tải module đó từ internet.
  • D. Chương trình sẽ tạm dừng và yêu cầu người dùng nhập đường dẫn đến module.

Câu 20: Module `random` trong Python cung cấp nhiều hàm tạo số ngẫu nhiên. Hàm `random.randint(a, b)` có chức năng gì?

  • A. Trả về một số thực ngẫu nhiên trong khoảng [a, b).
  • B. Trả về một số thực ngẫu nhiên trong khoảng [a, b].
  • C. Trả về một số nguyên ngẫu nhiên trong khoảng [a, b].
  • D. Trả về một số nguyên ngẫu nhiên trong khoảng [a, b).

Câu 21: Bạn cần viết code để tạo một thư mục mới trong hệ thống tệp hoặc kiểm tra xem một đường dẫn có phải là tệp hay thư mục hay không. Thư viện chuẩn nào của Python là lựa chọn phù hợp nhất cho các tác vụ này?

  • A. sys
  • B. os
  • C. shutil
  • D. pathlib

Câu 22: Xét về hiệu quả sử dụng bộ nhớ khi bạn chỉ cần dùng rất ít hàm từ một module rất lớn, phương pháp `from module import item` thường được coi là hiệu quả hơn `import module`. Tại sao?

  • A. `from module import item` chỉ nạp các `item` được chỉ định vào bộ nhớ, trong khi `import module` nạp toàn bộ module.
  • B. `from module import item` nạp toàn bộ module nhưng giải phóng bộ nhớ nhanh hơn sau khi dùng.
  • C. `import module` chỉ nạp các `item` cần thiết, còn `from module import item` nạp toàn bộ.
  • D. Hiệu quả bộ nhớ giữa hai cách này là như nhau.

Câu 23: Trong cấu trúc thư viện Python, một "package" là gì và nó khác "module" ở điểm nào?

  • A. Module là một tệp mã nguồn, còn package là một hàm duy nhất.
  • B. Module là tập hợp các package, còn package là một tệp mã nguồn.
  • C. Module chỉ chứa hàm, còn package chứa cả hàm và biến.
  • D. Module là một tệp mã nguồn (.py), còn package là một thư mục chứa các module và có thể cả package con.

Câu 24: Bạn đã tạo một package tên là `my_utilities` và bên trong package này có một module tên là `string_helpers.py` chứa hàm `reverse_string(s)`. Trong script chính, bạn muốn import và sử dụng hàm `reverse_string`. Cú pháp nào dưới đây là đúng?

  • A. `import my_utilities.string_helpers.reverse_string`
  • B. `from my_utilities import string_helpers.reverse_string`
  • C. `from my_utilities.string_helpers import reverse_string`
  • D. `import reverse_string from my_utilities.string_helpers`

Câu 25: Tại sao việc phân chia một chương trình lớn thành nhiều module và sử dụng chúng như các thư viện con lại là một kỹ thuật quan trọng trong phát triển phần mềm?

  • A. Để làm cho chương trình chạy nhanh hơn trên mọi hệ thống.
  • B. Để giảm thiểu việc sử dụng biến toàn cục.
  • C. Để tự động tạo giao diện người dùng cho chương trình.
  • D. Để tổ chức mã nguồn, giúp dễ quản lý, bảo trì và phát triển theo nhóm.

Câu 26: Cho đoạn code sau:
```python
from math import sqrt as can_bac_hai

number = 25
result = can_bac_hai(number)
print(result)
```
Kết quả in ra màn hình là gì?

  • A. 5.0
  • B. 25.0
  • C. Error
  • D. can_bac_hai(25)

Câu 27: Bạn viết code `import math` nhưng khi cố gắng gọi `math.sqr(9)`, Python báo lỗi `AttributeError: module "math" has no attribute "sqr"`. Nguyên nhân phổ biến nhất của lỗi này là gì?

  • A. Thư viện `math` chưa được cài đặt.
  • B. Bạn đã gõ sai tên hàm (`sqr` thay vì `sqrt`).
  • C. Bạn cần sử dụng `from math import sqr` thay vì `import math`.
  • D. Python không hỗ trợ hàm tính căn bậc hai.

Câu 28: Hàm `math.floor(x)` có chức năng làm tròn số thực `x` xuống số nguyên gần nhất nhỏ hơn hoặc bằng `x`. Ví dụ: `math.floor(3.14)` trả về 3. Kết quả của `math.floor(-5.9)` là bao nhiêu?

  • A. -5
  • B. 5
  • C. -6
  • D. 6

Câu 29: Hàm `math.ceil(x)` có chức năng làm tròn số thực `x` lên số nguyên gần nhất lớn hơn hoặc bằng `x`. Ví dụ: `math.ceil(3.14)` trả về 4. Kết quả của `math.ceil(-5.9)` là bao nhiêu?

  • A. -5
  • B. 5
  • C. -6
  • D. 6

Câu 30: Bạn đã viết một bộ các hàm xử lý dữ liệu khách hàng (ví dụ: định dạng tên, kiểm tra email hợp lệ, tính tuổi từ ngày sinh) và muốn sử dụng lại chúng trong nhiều chương trình khác nhau. Cách tốt nhất để tổ chức và tái sử dụng bộ hàm này là gì?

  • A. Copy-paste mã nguồn của các hàm vào đầu mỗi chương trình mới.
  • B. Lưu các hàm này vào một (hoặc nhiều) tệp `.py` riêng biệt và import chúng như một module/package.
  • C. Ghi chú chi tiết cách sử dụng các hàm vào một tệp văn bản.
  • D. Chỉ sử dụng các hàm này trong một chương trình duy nhất để đảm bảo tính nhất quán.

1 / 30

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

Tags: Bộ đề 02

Câu 1: Mục đích chính của việc sử dụng thư viện trong lập trình là gì?

2 / 30

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

Tags: Bộ đề 02

Câu 2: Lợi ích *nổi bật nhất* của việc sử dụng thư viện trong phát triển phần mềm là gì?

3 / 30

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

Tags: Bộ đề 02

Câu 3: Trong Python, lệnh `import math` thực hiện điều gì?

4 / 30

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

Tags: Bộ đề 02

Câu 4: Bạn chỉ cần sử dụng hàm tính căn bậc hai (`sqrt`) từ thư viện `math`. Cú pháp import nào dưới đây là cách tốt nhất để làm điều này, giúp mã rõ ràng và tiết kiệm bộ nhớ hơn nếu thư viện lớn?

5 / 30

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

Tags: Bộ đề 02

Câu 5: Giả sử bạn import hai module `mod1` và `mod2`, cả hai đều có một hàm tên là `process_data()`. Phương pháp import nào giúp bạn dễ dàng phân biệt và gọi đúng hàm từ mỗi module mà không bị xung đột tên?

6 / 30

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

Tags: Bộ đề 02

Câu 6: Cho đoạn code sau:
```python
import math as m

# Để tính giá trị sin của 0.5 radian, bạn sẽ viết thế nào?
# ... code here ...
```
Chọn dòng code đúng để thay thế `# ... code here ...`.

7 / 30

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

Tags: Bộ đề 02

Câu 7: Lệnh `from module_name import *` nhập tất cả các tên công khai (public names) từ `module_name` vào không gian tên hiện tại. Tại sao phương pháp import này thường không được khuyến khích, đặc biệt trong các dự án lớn?

8 / 30

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

Tags: Bộ đề 02

Câu 8: Để tạo một thư viện riêng đơn giản trong Python (để các chương trình khác có thể import và sử dụng), bước cơ bản nhất bạn cần làm là gì?

9 / 30

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

Tags: Bộ đề 02

Câu 9: Giả sử bạn có một tệp tên là `utils.py` chứa một hàm `def greeting(name): return f'Hello, {name}!'`. Trong một tệp khác cùng thư mục, làm thế nào để import và sử dụng hàm `greeting`?

10 / 30

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

Tags: Bộ đề 02

Câu 10: Thư viện chuẩn nào của Python cung cấp các hàm và hằng số cho các phép toán nâng cao như căn bậc hai, lũy thừa, hàm lượng giác, logarit và hằng số PI?

11 / 30

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

Tags: Bộ đề 02

Câu 11: Cho đoạn code sau:
```python
import math

value = 7.8
result_floor = math.floor(value)
result_ceil = math.ceil(value)

print(f"Floor: {result_floor}, Ceil: {result_ceil}")
```
Kết quả in ra màn hình là gì?

12 / 30

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

Tags: Bộ đề 02

Câu 12: Khi sử dụng cú pháp `from module import item`, tên của `item` (ví dụ: tên hàm, biến) được đưa trực tiếp vào không gian tên hiện tại của script đang chạy. Điều này mang lại lợi ích gì so với `import module`?

13 / 30

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

Tags: Bộ đề 02

Câu 13: Bạn cần sử dụng hàm `random()` để tạo số thực ngẫu nhiên từ 0.0 đến 1.0. Cú pháp nào dưới đây là cách đúng để import và sử dụng hàm này từ thư viện `random`?

14 / 30

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

Tags: Bộ đề 02

Câu 14: Thư viện chuẩn nào của Python thường được sử dụng để tương tác với hệ điều hành, ví dụ như làm việc với tệp tin và thư mục, hoặc truy cập các biến môi trường?

15 / 30

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

Tags: Bộ đề 02

Câu 15: Giả sử bạn cần tính chu vi của một hình tròn với bán kính `r` cho trước, sử dụng hằng số $pi$ từ thư viện `math`. Công thức tính chu vi là $C = 2 times pi times r$. Đoạn code nào sau đây thực hiện đúng việc này?

16 / 30

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

Tags: Bộ đề 02

Câu 16: Bạn đang viết một chương trình cần thực hiện các phép toán phức tạp. Thay vì tự xây dựng các thuật toán từ đầu, bạn tìm và sử dụng các hàm có sẵn trong thư viện `math`. Hành động này thể hiện rõ nhất lợi ích nào của thư viện?

17 / 30

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

Tags: Bộ đề 02

Câu 17: Khi Python thực hiện lệnh `import module_name`, nó sẽ tìm kiếm tệp `module_name.py` (hoặc các định dạng module/package khác) trong một danh sách các đường dẫn. Danh sách các đường dẫn này được lưu trữ trong biến nào của module `sys`?

18 / 30

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

Tags: Bộ đề 02

Câu 18: Bạn muốn import hàm `pi` từ thư viện `math` nhưng lại muốn sử dụng nó trong code của mình với tên là `PI_VALUE` để dễ phân biệt. Cú pháp import nào cho phép bạn làm điều này?

19 / 30

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

Tags: Bộ đề 02

Câu 19: Điều gì sẽ xảy ra nếu bạn viết lệnh `import my_non_existent_module` trong một script Python và chạy nó?

20 / 30

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

Tags: Bộ đề 02

Câu 20: Module `random` trong Python cung cấp nhiều hàm tạo số ngẫu nhiên. Hàm `random.randint(a, b)` có chức năng gì?

21 / 30

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

Tags: Bộ đề 02

Câu 21: Bạn cần viết code để tạo một thư mục mới trong hệ thống tệp hoặc kiểm tra xem một đường dẫn có phải là tệp hay thư mục hay không. Thư viện chuẩn nào của Python là lựa chọn phù hợp nhất cho các tác vụ này?

22 / 30

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

Tags: Bộ đề 02

Câu 22: Xét về hiệu quả sử dụng bộ nhớ khi bạn chỉ cần dùng *rất ít* hàm từ một module *rất lớn*, phương pháp `from module import item` thường được coi là hiệu quả hơn `import module`. Tại sao?

23 / 30

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

Tags: Bộ đề 02

Câu 23: Trong cấu trúc thư viện Python, một 'package' là gì và nó khác 'module' ở điểm nào?

24 / 30

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

Tags: Bộ đề 02

Câu 24: Bạn đã tạo một package tên là `my_utilities` và bên trong package này có một module tên là `string_helpers.py` chứa hàm `reverse_string(s)`. Trong script chính, bạn muốn import và sử dụng hàm `reverse_string`. Cú pháp nào dưới đây là đúng?

25 / 30

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

Tags: Bộ đề 02

Câu 25: Tại sao việc phân chia một chương trình lớn thành nhiều module và sử dụng chúng như các thư viện con lại là một kỹ thuật quan trọng trong phát triển phần mềm?

26 / 30

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

Tags: Bộ đề 02

Câu 26: Cho đoạn code sau:
```python
from math import sqrt as can_bac_hai

number = 25
result = can_bac_hai(number)
print(result)
```
Kết quả in ra màn hình là gì?

27 / 30

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

Tags: Bộ đề 02

Câu 27: Bạn viết code `import math` nhưng khi cố gắng gọi `math.sqr(9)`, Python báo lỗi `AttributeError: module 'math' has no attribute 'sqr'`. Nguyên nhân phổ biến nhất của lỗi này là gì?

28 / 30

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

Tags: Bộ đề 02

Câu 28: Hàm `math.floor(x)` có chức năng làm tròn số thực `x` xuống số nguyên gần nhất nhỏ hơn hoặc bằng `x`. Ví dụ: `math.floor(3.14)` trả về 3. Kết quả của `math.floor(-5.9)` là bao nhiêu?

29 / 30

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

Tags: Bộ đề 02

Câu 29: Hàm `math.ceil(x)` có chức năng làm tròn số thực `x` lên số nguyên gần nhất lớn hơn hoặc bằng `x`. Ví dụ: `math.ceil(3.14)` trả về 4. Kết quả của `math.ceil(-5.9)` là bao nhiêu?

30 / 30

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

Tags: Bộ đề 02

Câu 30: Bạn đã viết một bộ các hàm xử lý dữ liệu khách hàng (ví dụ: định dạng tên, kiểm tra email hợp lệ, tính tuổi từ ngày sinh) và muốn sử dụng lại chúng trong nhiều chương trình khác nhau. Cách tốt nhất để tổ chức và tái sử dụng bộ hàm này là gì?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 03 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong lập trình Python, giả sử bạn cần sử dụng hàm `sqrt` để tính căn bậc hai. Thay vì tự viết lại thuật toán, bạn có thể nhập và sử dụng hàm này từ một thư viện chuẩn. Thư viện nào trong Python thường chứa các hàm toán học thông dụng như `sqrt`?

  • A. random
  • B. os
  • C. math
  • D. sys

Câu 2: Bạn đang viết một chương trình và cần sử dụng hàm `sqrt` từ thư viện `math`. Cách nhập thư viện nào sau đây cho phép bạn gọi hàm `sqrt` một cách trực tiếp chỉ bằng tên `sqrt()` mà không cần tiền tố `math.`?

  • A. import math
  • B. from math import sqrt
  • C. import math as m
  • D. from math import *

Câu 3: Xét đoạn mã sau:
```python
import math

result = math.floor(4.7)
print(result)
```
Đoạn mã này sẽ in ra kết quả là bao nhiêu? (Lưu ý: hàm `floor()` làm tròn xuống số nguyên gần nhất).

  • A. 4
  • B. 5
  • C. 4.0
  • D. Báo lỗi

Câu 4: Tại sao việc sử dụng thư viện trong lập trình lại được khuyến khích, đặc biệt đối với các chức năng phổ biến như tính toán toán học hay xử lý chuỗi?

  • A. Chỉ để làm cho mã nguồn ngắn gọn hơn.
  • B. Bắt buộc phải sử dụng thư viện cho mọi chương trình.
  • C. Vì các hàm trong thư viện luôn chạy nhanh hơn mã tự viết.
  • D. Giúp tái sử dụng mã, tiết kiệm thời gian, giảm lỗi và tăng hiệu quả công việc.

Câu 5: Bạn muốn nhập thư viện `math` nhưng muốn gọi nó bằng tên ngắn gọn hơn là `m`. Cú pháp nào sau đây thực hiện được điều đó?

  • A. import math is m
  • B. from math import m
  • C. import math as m
  • D. math import m

Câu 6: Khi bạn sử dụng lệnh `from math import *`, điều gì xảy ra?

  • A. Tất cả các tên (hàm, biến,...) từ thư viện math được nhập trực tiếp vào không gian tên hiện tại.
  • B. Chỉ các hàm phổ biến nhất từ thư viện math được nhập.
  • C. Thư viện math được nhập nhưng bạn vẫn phải dùng tiền tố math.
  • D. Chỉ các hằng số trong thư viện math được nhập.

Câu 7: Xét đoạn mã sau:
```python
from math import sqrt
from cmath import sqrt as csqrt

print(sqrt(9))
print(csqrt(-1))
```
Kết quả của đoạn mã này là gì? (Lưu ý: thư viện `cmath` dùng cho số phức).

  • A. 3.0 và báo lỗi vì căn bậc hai của số âm không được định nghĩa.
  • B. 3.0 và 1j
  • C. Báo lỗi vì hai hàm `sqrt` bị trùng tên.
  • D. 9 và -1

Câu 8: Bạn đang làm việc với một dự án lớn và muốn chia nhỏ mã nguồn thành nhiều tệp Python riêng biệt để dễ quản lý. Mỗi tệp này, khi được sử dụng trong tệp chính, được gọi là gì?

  • A. Module
  • B. Function
  • C. Variable
  • D. Package

Câu 9: Khi sử dụng `import module_name`, làm thế nào để truy cập một hàm `my_function` bên trong `module_name`?

  • A. my_function()
  • B. module_name my_function()
  • C. call module_name.my_function()
  • D. module_name.my_function()

Câu 10: Giả sử bạn có một tệp `my_utils.py` chứa một hàm `def greet(name): print(f"Hello, {name}!")`. Trong một tệp Python khác cùng thư mục, bạn muốn sử dụng hàm `greet`. Cú pháp nhập và gọi hàm nào sau đây là đúng?

  • A. import my_utils; my_utils.greet("World")
  • B. from my_utils import *; my_utils.greet("World")
  • C. include my_utils; greet("World")
  • D. use my_utils; my_utils.greet("World")

Câu 11: Trong trường hợp nào bạn nên cân nhắc sử dụng cú pháp `from module import item1, item2` thay vì `import module`?

  • A. Khi bạn cần sử dụng tất cả các hàm trong module.
  • B. Khi bạn muốn tránh xung đột tên với các hàm khác.
  • C. Khi bạn chỉ cần sử dụng một vài hàm hoặc biến cụ thể từ module và muốn gọi chúng trực tiếp.
  • D. Khi module đó rất nhỏ.

Câu 12: Điều gì có thể xảy ra nếu bạn sử dụng `from module import *` trong một chương trình lớn?

  • A. Chương trình chắc chắn sẽ chạy nhanh hơn.
  • B. Chỉ các hàm bắt đầu bằng dấu gạch dưới `_` được nhập.
  • C. Bạn sẽ không thể sử dụng bất kỳ hàm nào từ module đó.
  • D. Có thể xảy ra xung đột tên nếu các tên trong module trùng với tên trong chương trình hoặc các module khác đã nhập.

Câu 13: Hệ sinh thái Python có một bộ sưu tập lớn các module và gói (package) có sẵn được cài đặt cùng với Python. Bộ sưu tập này được gọi là gì?

  • A. Thư viện chuẩn Python (Python Standard Library)
  • B. Kho lưu trữ PyPI (Python Package Index)
  • C. Môi trường ảo (Virtual Environment)
  • D. Trình quản lý gói (Package Manager)

Câu 14: Giả sử bạn muốn tính giá trị của sin(π/2). Bạn cần sử dụng hàm `sin` và hằng số `pi` từ thư viện `math`. Đoạn mã nào sau đây thực hiện đúng yêu cầu này?

  • A. from math import sin, pi; result = sin(pi / 2)
  • B. import math; result = math.sin(math.pi / 2)
  • C. import math; result = sin(pi / 2)
  • D. from math import *; result = math.sin(math.pi / 2)

Câu 15: Bạn viết một tệp Python tên là `calculations.py` chứa một hàm `add(a, b)` trả về tổng của a và b. Trong một tệp khác, bạn muốn sử dụng hàm này. Bạn đã đặt cả hai tệp trong cùng một thư mục. Lệnh nào sau đây cho phép bạn gọi hàm `add` bằng cách sử dụng `calc.add(5, 3)`?

  • A. from calculations import add as calc
  • B. import calculations as add
  • C. from calculations import calc as add
  • D. import calculations as calc

Câu 16: Khi bạn chạy một chương trình Python sử dụng lệnh `import my_module`, điều gì xảy ra lần đầu tiên lệnh này được thực thi?

  • A. Mã nguồn trong tệp my_module.py được thực thi và một đối tượng module được tạo.
  • B. Chỉ các hàm và biến được định nghĩa trong my_module được nạp vào bộ nhớ.
  • C. Chương trình sẽ tìm kiếm các lỗi cú pháp trong my_module nhưng chưa thực thi.
  • D. Tệp my_module.py bị xóa khỏi ổ đĩa.

Câu 17: Lợi ích chính của việc tổ chức mã nguồn thành các module riêng biệt là gì?

  • A. Làm cho chương trình chạy nhanh hơn.
  • B. Giảm dung lượng tệp chương trình.
  • C. Tăng khả năng tái sử dụng mã và giúp quản lý dự án lớn dễ dàng hơn.
  • D. Bảo vệ mã nguồn khỏi bị sao chép.

Câu 18: Bạn cần sử dụng hàm `ceil` (làm tròn lên) và `floor` (làm tròn xuống) từ thư viện `math`. Cách nhập nào sau đây là hiệu quả nhất nếu bạn chỉ cần hai hàm này?

  • A. import math
  • B. import math as m
  • C. from math import *
  • D. from math import ceil, floor

Câu 19: Xét đoạn mã:
```python
import random

so_ngau_nhien = random.randint(1, 10)
print(so_ngau_nhien)
```
Hàm `randint(a, b)` từ thư viện `random` có chức năng gì?

  • A. Trả về một số thực ngẫu nhiên trong khoảng [a, b).
  • B. Trả về một số thực ngẫu nhiên trong khoảng [a, b].
  • C. Trả về một số nguyên ngẫu nhiên trong khoảng [a, b].
  • D. Chọn ngẫu nhiên một phần tử từ một dãy.

Câu 20: Giả sử bạn có hai module `module_a.py` và `module_b.py`, cả hai đều chứa một hàm tên là `process_data()`. Nếu bạn sử dụng `from module_a import *` và sau đó `from module_b import *`, điều gì sẽ xảy ra khi bạn gọi `process_data()`?

  • A. Chương trình sẽ báo lỗi do trùng tên hàm.
  • B. Hàm process_data() từ module_b sẽ được gọi.
  • C. Hàm process_data() từ module_a sẽ được gọi.
  • D. Cả hai hàm process_data() sẽ được gọi lần lượt.

Câu 21: Bạn cần thực hiện một phép tính yêu cầu độ chính xác cao với các giá trị thập phân, ví dụ như tính toán tài chính. Thư viện chuẩn Python nào cung cấp các công cụ thích hợp cho việc này, khác với `math` vốn làm việc với số dấu phẩy động chuẩn?

  • A. decimal
  • B. fractions
  • C. statistics
  • D. cmath

Câu 22: Khi bạn tạo một tệp Python mới và lưu nó với tên `my_library.py`, tệp này có thể được sử dụng như một module trong các chương trình Python khác. Điều kiện cần để một tệp `.py` hoạt động như một module là gì?

  • A. Nó phải chứa ít nhất một lớp (class).
  • B. Nó phải có một hàm tên là `main()`.
  • C. Nó phải bắt đầu bằng dòng `__module__ = True`.
  • D. Chỉ cần là một tệp chứa mã Python và có đuôi `.py`.

Câu 23: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math`. Bạn muốn tính logarit tự nhiên (logarit cơ số e) của một số. Hàm nào trong thư viện `math` bạn sẽ sử dụng?

  • A. math.log()
  • B. math.ln()
  • C. math.log_e()
  • D. math.natural_log()

Câu 24: Bạn nhận được một đoạn mã sử dụng thư viện `collections` với dòng nhập `from collections import Counter`. Dòng này cho biết điều gì?

  • A. Toàn bộ thư viện collections được nhập vào bộ nhớ.
  • B. Chỉ lớp Counter từ thư viện collections được nhập vào bộ nhớ.
  • C. Thư viện collections được đổi tên thành Counter.
  • D. Lớp Counter được nhập và đổi tên thành collections.

Câu 25: Xét hai cách nhập thư viện `math` sau:
Cách 1: `import math`
Cách 2: `from math import *`
So sánh về việc sử dụng bộ nhớ và khả năng xảy ra xung đột tên, cách nào tiềm ẩn rủi ro hơn trong chương trình lớn và phức tạp?

  • A. Cách 1, vì nó nhập toàn bộ module.
  • B. Cách 2, vì nó nhập tất cả tên trực tiếp vào không gian tên hiện tại.
  • C. Cả hai cách đều có rủi ro như nhau.
  • D. Không có cách nào tiềm ẩn rủi ro.

Câu 26: Bạn cần tính ước số chung lớn nhất (GCD) của hai số nguyên. Thư viện chuẩn nào trong Python cung cấp hàm cho phép thực hiện phép tính này?

  • A. math
  • B. random
  • C. os
  • D. sys

Câu 27: Khi bạn định nghĩa một hàm hoặc một lớp trong một tệp Python (`.py`), bạn đang tạo ra một đơn vị mã có thể tái sử dụng. Đơn vị này, khi được sử dụng bởi các chương trình khác thông qua lệnh `import`, được gọi là gì của chương trình?

  • A. Biến toàn cục
  • B. Hằng số
  • C. Thư viện (hoặc module)
  • D. Đối tượng

Câu 28: Giả sử bạn đang viết một chương trình xử lý tệp và thư mục trên hệ điều hành. Thư viện chuẩn Python nào sẽ là lựa chọn phù hợp nhất để thực hiện các thao tác này (ví dụ: tạo thư mục, liệt kê tệp)?

  • A. math
  • B. random
  • C. sys
  • D. os

Câu 29: Khi bạn sử dụng lệnh `from my_module import my_function`, điều gì xảy ra nếu `my_function` không tồn tại trong `my_module.py`?

  • A. Chương trình sẽ báo lỗi ImportError.
  • B. Hàm my_function sẽ được tạo tự động với nội dung rỗng.
  • C. Lệnh nhập sẽ bị bỏ qua và chương trình tiếp tục chạy.
  • D. Chương trình sẽ tìm kiếm my_function trong các module khác.

Câu 30: Tại sao việc sử dụng các hàm từ thư viện chuẩn (như `math.sqrt`) thường hiệu quả và đáng tin cậy hơn so với việc tự viết lại cùng một chức năng?

  • A. Mã nguồn của thư viện chuẩn ngắn gọn hơn.
  • B. Chỉ có thư viện chuẩn mới có thể truy cập phần cứng máy tính.
  • C. Các hàm đã được tối ưu hóa về hiệu suất và kiểm thử kỹ lưỡng để đảm bảo tính đúng đắn và đáng tin cậy.
  • D. Việc tự viết lại là không thể.

1 / 30

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

Tags: Bộ đề 03

Câu 1: Trong lập trình Python, giả sử bạn cần sử dụng hàm `sqrt` để tính căn bậc hai. Thay vì tự viết lại thuật toán, bạn có thể nhập và sử dụng hàm này từ một thư viện chuẩn. Thư viện nào trong Python thường chứa các hàm toán học thông dụng như `sqrt`?

2 / 30

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

Tags: Bộ đề 03

Câu 2: Bạn đang viết một chương trình và cần sử dụng hàm `sqrt` từ thư viện `math`. Cách nhập thư viện nào sau đây cho phép bạn gọi hàm `sqrt` một cách trực tiếp chỉ bằng tên `sqrt()` mà không cần tiền tố `math.`?

3 / 30

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

Tags: Bộ đề 03

Câu 3: Xét đoạn mã sau:
```python
import math

result = math.floor(4.7)
print(result)
```
Đoạn mã này sẽ in ra kết quả là bao nhiêu? (Lưu ý: hàm `floor()` làm tròn xuống số nguyên gần nhất).

4 / 30

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

Tags: Bộ đề 03

Câu 4: Tại sao việc sử dụng thư viện trong lập trình lại được khuyến khích, đặc biệt đối với các chức năng phổ biến như tính toán toán học hay xử lý chuỗi?

5 / 30

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

Tags: Bộ đề 03

Câu 5: Bạn muốn nhập thư viện `math` nhưng muốn gọi nó bằng tên ngắn gọn hơn là `m`. Cú pháp nào sau đây thực hiện được điều đó?

6 / 30

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

Tags: Bộ đề 03

Câu 6: Khi bạn sử dụng lệnh `from math import *`, điều gì xảy ra?

7 / 30

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

Tags: Bộ đề 03

Câu 7: Xét đoạn mã sau:
```python
from math import sqrt
from cmath import sqrt as csqrt

print(sqrt(9))
print(csqrt(-1))
```
Kết quả của đoạn mã này là gì? (Lưu ý: thư viện `cmath` dùng cho số phức).

8 / 30

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

Tags: Bộ đề 03

Câu 8: Bạn đang làm việc với một dự án lớn và muốn chia nhỏ mã nguồn thành nhiều tệp Python riêng biệt để dễ quản lý. Mỗi tệp này, khi được sử dụng trong tệp chính, được gọi là gì?

9 / 30

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

Tags: Bộ đề 03

Câu 9: Khi sử dụng `import module_name`, làm thế nào để truy cập một hàm `my_function` bên trong `module_name`?

10 / 30

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

Tags: Bộ đề 03

Câu 10: Giả sử bạn có một tệp `my_utils.py` chứa một hàm `def greet(name): print(f'Hello, {name}!')`. Trong một tệp Python khác cùng thư mục, bạn muốn sử dụng hàm `greet`. Cú pháp nhập và gọi hàm nào sau đây là đúng?

11 / 30

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

Tags: Bộ đề 03

Câu 11: Trong trường hợp nào bạn nên cân nhắc sử dụng cú pháp `from module import item1, item2` thay vì `import module`?

12 / 30

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

Tags: Bộ đề 03

Câu 12: Điều gì có thể xảy ra nếu bạn sử dụng `from module import *` trong một chương trình lớn?

13 / 30

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

Tags: Bộ đề 03

Câu 13: Hệ sinh thái Python có một bộ sưu tập lớn các module và gói (package) có sẵn được cài đặt cùng với Python. Bộ sưu tập này được gọi là gì?

14 / 30

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

Tags: Bộ đề 03

Câu 14: Giả sử bạn muốn tính giá trị của sin(π/2). Bạn cần sử dụng hàm `sin` và hằng số `pi` từ thư viện `math`. Đoạn mã nào sau đây thực hiện đúng yêu cầu này?

15 / 30

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

Tags: Bộ đề 03

Câu 15: Bạn viết một tệp Python tên là `calculations.py` chứa một hàm `add(a, b)` trả về tổng của a và b. Trong một tệp khác, bạn muốn sử dụng hàm này. Bạn đã đặt cả hai tệp trong cùng một thư mục. Lệnh nào sau đây cho phép bạn gọi hàm `add` bằng cách sử dụng `calc.add(5, 3)`?

16 / 30

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

Tags: Bộ đề 03

Câu 16: Khi bạn chạy một chương trình Python sử dụng lệnh `import my_module`, điều gì xảy ra lần đầu tiên lệnh này được thực thi?

17 / 30

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

Tags: Bộ đề 03

Câu 17: Lợi ích chính của việc tổ chức mã nguồn thành các module riêng biệt là gì?

18 / 30

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

Tags: Bộ đề 03

Câu 18: Bạn cần sử dụng hàm `ceil` (làm tròn lên) và `floor` (làm tròn xuống) từ thư viện `math`. Cách nhập nào sau đây là hiệu quả nhất nếu bạn chỉ cần hai hàm này?

19 / 30

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

Tags: Bộ đề 03

Câu 19: Xét đoạn mã:
```python
import random

so_ngau_nhien = random.randint(1, 10)
print(so_ngau_nhien)
```
Hàm `randint(a, b)` từ thư viện `random` có chức năng gì?

20 / 30

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

Tags: Bộ đề 03

Câu 20: Giả sử bạn có hai module `module_a.py` và `module_b.py`, cả hai đều chứa một hàm tên là `process_data()`. Nếu bạn sử dụng `from module_a import *` và sau đó `from module_b import *`, điều gì sẽ xảy ra khi bạn gọi `process_data()`?

21 / 30

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

Tags: Bộ đề 03

Câu 21: Bạn cần thực hiện một phép tính yêu cầu độ chính xác cao với các giá trị thập phân, ví dụ như tính toán tài chính. Thư viện chuẩn Python nào cung cấp các công cụ thích hợp cho việc này, khác với `math` vốn làm việc với số dấu phẩy động chuẩn?

22 / 30

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

Tags: Bộ đề 03

Câu 22: Khi bạn tạo một tệp Python mới và lưu nó với tên `my_library.py`, tệp này có thể được sử dụng như một module trong các chương trình Python khác. Điều kiện cần để một tệp `.py` hoạt động như một module là gì?

23 / 30

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

Tags: Bộ đề 03

Câu 23: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math`. Bạn muốn tính logarit tự nhiên (logarit cơ số e) của một số. Hàm nào trong thư viện `math` bạn sẽ sử dụng?

24 / 30

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

Tags: Bộ đề 03

Câu 24: Bạn nhận được một đoạn mã sử dụng thư viện `collections` với dòng nhập `from collections import Counter`. Dòng này cho biết điều gì?

25 / 30

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

Tags: Bộ đề 03

Câu 25: Xét hai cách nhập thư viện `math` sau:
Cách 1: `import math`
Cách 2: `from math import *`
So sánh về việc sử dụng bộ nhớ và khả năng xảy ra xung đột tên, cách nào tiềm ẩn rủi ro hơn trong chương trình lớn và phức tạp?

26 / 30

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

Tags: Bộ đề 03

Câu 26: Bạn cần tính ước số chung lớn nhất (GCD) của hai số nguyên. Thư viện chuẩn nào trong Python cung cấp hàm cho phép thực hiện phép tính này?

27 / 30

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

Tags: Bộ đề 03

Câu 27: Khi bạn định nghĩa một hàm hoặc một lớp trong một tệp Python (`.py`), bạn đang tạo ra một đơn vị mã có thể tái sử dụng. Đơn vị này, khi được sử dụng bởi các chương trình khác thông qua lệnh `import`, được gọi là gì của chương trình?

28 / 30

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

Tags: Bộ đề 03

Câu 28: Giả sử bạn đang viết một chương trình xử lý tệp và thư mục trên hệ điều hành. Thư viện chuẩn Python nào sẽ là lựa chọn phù hợp nhất để thực hiện các thao tác này (ví dụ: tạo thư mục, liệt kê tệp)?

29 / 30

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

Tags: Bộ đề 03

Câu 29: Khi bạn sử dụng lệnh `from my_module import my_function`, điều gì xảy ra nếu `my_function` không tồn tại trong `my_module.py`?

30 / 30

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

Tags: Bộ đề 03

Câu 30: Tại sao việc sử dụng các hàm từ thư viện chuẩn (như `math.sqrt`) thường hiệu quả và đáng tin cậy hơn so với việc tự viết lại cùng một chức năng?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 04 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong lập trình Python, việc tổ chức mã nguồn thành các thư viện (modules) mang lại lợi ích chính nào sau đây?

  • A. Giảm dung lượng bộ nhớ chương trình.
  • B. Tăng khả năng tái sử dụng mã nguồn và tổ chức chương trình hiệu quả hơn.
  • C. Giúp chương trình chạy nhanh hơn đáng kể.
  • D. Bắt buộc để sử dụng bất kỳ hàm nào.

Câu 2: Bạn cần sử dụng hàm `sqrt()` và hằng số `pi` từ thư viện `math` trong Python. Cách nhập (import) nào sau đây là hiệu quả nhất về mặt sử dụng tài nguyên và vẫn cho phép bạn gọi các thành phần này một cách trực tiếp (không cần tiền tố `math.`)?

  • A. `import math`
  • B. `import math as m`
  • C. `from math import sqrt, pi`
  • D. `from math import *`

Câu 3: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math as mt`. Khi đó, để tính giá trị căn bậc hai của một số `x`, cú pháp gọi hàm đúng là gì?

  • A. `math.sqrt(x)`
  • B. `sqrt(x)`
  • C. `mt.sqr(x)`
  • D. `mt.sqrt(x)`

Câu 4: Trong cấu trúc dữ liệu danh sách liên kết (Linked List), mỗi phần tử (node) thường bao gồm những thành phần thông tin cơ bản nào?

  • A. Dữ liệu của phần tử và con trỏ/liên kết đến phần tử tiếp theo.
  • B. Chỉ dữ liệu của phần tử.
  • C. Dữ liệu của phần tử và con trỏ/liên kết đến phần tử trước đó.
  • D. Dữ liệu của phần tử, con trỏ đến phần tử tiếp theo và con trỏ đến phần tử trước đó.

Câu 5: Khi bạn viết một hàm hoặc một lớp trong một tệp Python (`.py`) và lưu nó. Tệp `.py` này có thể được coi là gì để các chương trình Python khác có thể sử dụng lại mã bên trong nó?

  • A. Một tệp thực thi (executable file).
  • B. Một module hoặc thư viện.
  • C. Một tệp dữ liệu.
  • D. Một tệp cấu hình.

Câu 6: Giả sử bạn có một module tên là `my_calculations.py` chứa hàm `add(a, b)` và hàm `subtract(a, b)`. Bạn muốn sử dụng chỉ hàm `add` trong chương trình chính của mình. Lệnh import nào là phù hợp nhất?

  • A. `import my_calculations`
  • B. `import my_calculations.add`
  • C. `from my_calculations import add`
  • D. `from my_calculations import *`

Câu 7: Xét một danh sách liên kết đơn. Để thêm một phần tử mới vào đầu danh sách, bạn cần cập nhật con trỏ `next` của phần tử mới trỏ tới đâu và cập nhật con trỏ `head` của danh sách trỏ tới đâu?

  • A. Con trỏ `next` của phần tử mới trỏ tới node mà `head` hiện tại đang trỏ tới; `head` trỏ tới phần tử mới.
  • B. Con trỏ `next` của phần tử mới trỏ tới `None`; `head` trỏ tới phần tử mới.
  • C. Con trỏ `next` của phần tử mới trỏ tới phần tử cuối cùng hiện tại; `head` không thay đổi.
  • D. `head` trỏ tới phần tử mới; con trỏ `next` của phần tử mới không quan trọng.

Câu 8: Lệnh `from math import *` có ưu điểm là bạn có thể gọi các hàm của thư viện `math` mà không cần tiền tố `math.`. Tuy nhiên, nó có một nhược điểm tiềm ẩn nghiêm trọng là gì?

  • A. Chỉ nhập được một số hàm nhất định từ thư viện.
  • B. Chương trình sẽ chạy chậm hơn đáng kể.
  • C. Không thể sử dụng được các hằng số trong thư viện.
  • D. Có thể gây xung đột tên (name collision) nếu có các hàm cùng tên trong các module khác nhau hoặc trong chương trình chính của bạn.

Câu 9: Giả sử bạn đang viết một chương trình xử lý hình học và cần tính diện tích hình tròn. Bạn biết rằng thư viện `math` có chứa hằng số `pi`. Đoạn mã nào sau đây sử dụng thư viện `math` một cách đúng đắn để tính diện tích hình tròn với bán kính `r`?

  • A. ```python
    import math
    r = 5
    dien_tich = math.pi * r**2
    ```
  • B. ```python
    r = 5
    dien_tich = pi * r**2
    ```
  • C. ```python
    from math import pi
    r = 5
    dien_tich = math.pi * r**2
    ```
  • D. ```python
    import math as p
    r = 5
    dien_tich = p.PI * r**2
    ```

Câu 10: Khi bạn muốn tìm kiếm một phần tử có khóa `k` trong một danh sách liên kết đơn, thao tác cơ bản bạn cần thực hiện là gì?

  • A. Truy cập trực tiếp đến vị trí của phần tử bằng chỉ số (index).
  • B. Duyệt tuần tự từ node đầu tiên (head), kiểm tra dữ liệu của từng node cho đến khi tìm thấy hoặc duyệt hết danh sách.
  • C. Sử dụng phương pháp tìm kiếm nhị phân.
  • D. Thêm phần tử `k` vào danh sách rồi mới tìm kiếm.

Câu 11: Giả sử bạn đã xây dựng một module Python tên là `data_structures.py` chứa định nghĩa lớp `LinkedList` cho danh sách liên kết. Trong một chương trình khác, bạn muốn tạo một đối tượng danh sách liên kết mới. Lệnh import và khởi tạo nào là đúng?

  • A. ```python
    from data_structures import LinkedList
    my_list = LinkedList()
    ```
  • B. ```python
    import data_structures.LinkedList
    my_list = LinkedList()
    ```
  • C. ```python
    import data_structures
    my_list = LinkedList()
    ```
  • D. ```python
    from data_structures import *
    my_list = data_structures.LinkedList()
    ```

Câu 12: Tại sao việc sử dụng các hàm có sẵn trong thư viện chuẩn của Python (như `math`, `random`, `os`,...) thường được khuyến khích hơn là tự viết lại các chức năng tương tự?

  • A. Các hàm trong thư viện chuẩn luôn chạy nhanh hơn mọi hàm tự viết.
  • B. Không thể tự viết lại các hàm tương tự được.
  • C. Các hàm này đã được kiểm thử kỹ lưỡng, tối ưu hóa và đáng tin cậy; giúp tiết kiệm thời gian phát triển.
  • D. Việc tự viết lại là vi phạm bản quyền.

Câu 13: Khi xóa node đầu tiên khỏi một danh sách liên kết đơn không rỗng `L`, bạn cần thực hiện thao tác cập nhật con trỏ `head` như thế nào?

  • A. Gán `L.head = None`.
  • B. Gán `L.head = L.head.next.next`.
  • C. Không cần cập nhật `L.head`, chỉ cần xóa node đầu tiên.
  • D. Gán `L.head = L.head.next`.

Câu 14: Bạn đã viết một module Python tên là `utils.py` chứa một số hàm tiện ích. Để sử dụng tất cả các hàm trong `utils.py` trong chương trình chính và gọi chúng bằng cách thêm tiền tố `utils.` trước tên hàm, lệnh import nào là đúng?

  • A. `import utils`
  • B. `from utils import *`
  • C. `from utils import utils`
  • D. `import utils.*`

Câu 15: Xét đoạn mã Python sau: `import math`. Nếu bạn cố gắng gọi `print(math.sin(math.pi / 2))`, kết quả dự kiến sẽ là bao nhiêu?

  • A. 0.0
  • B. math.sin(math.pi / 2)
  • C. Lỗi, vì cần import `sin` và `pi` cụ thể.
  • D. 1.0 (hoặc một giá trị rất gần 1.0 do sai số dấu phẩy động).

Câu 16: Khi nào thì việc sử dụng lệnh `from ten_thu_vien import *` có thể được chấp nhận hoặc ít gây rủi ro hơn?

  • A. Khi bạn đang làm việc trong một script nhỏ, thử nghiệm nhanh và biết rõ nội dung của module được import.
  • B. Trong các dự án lớn với nhiều module khác nhau.
  • C. Khi module được import có rất nhiều hàm và bạn muốn sử dụng hầu hết chúng.
  • D. Luôn luôn là cách tốt nhất để import.

Câu 17: Giả sử bạn có một danh sách liên kết đơn và muốn xóa một node không phải node đầu tiên. Thao tác cơ bản bạn cần thực hiện là gì để duy trì tính liên kết của danh sách?

  • A. Chỉ cần đặt node cần xóa về `None`.
  • B. Cập nhật con trỏ `next` của node cần xóa trỏ tới `None`.
  • C. Tìm node trước node cần xóa và cập nhật con trỏ `next` của node đó trỏ tới node sau node cần xóa.
  • D. Duyệt lại toàn bộ danh sách và xây dựng lại từ đầu, bỏ qua node cần xóa.

Câu 18: Việc phân chia chương trình lớn thành các module (thư viện) nhỏ hơn có liên quan đến nguyên lý thiết kế chương trình nào?

  • A. Nguyên lý "Don"t Repeat Yourself" (DRY).
  • B. Nguyên lý mô-đun hóa (Modularity).
  • C. Nguyên lý trừu tượng hóa (Abstraction).
  • D. Tất cả các nguyên lý trên đều có liên quan ở mức độ nhất định.

Câu 19: Bạn muốn làm tròn số `3.7` xuống số nguyên gần nhất bằng cách sử dụng thư viện `math`. Lệnh nào sau đây là đúng?

  • A. ```python
    import math
    result = math.floor(3.7)
    ```
  • B. ```python
    import math
    result = math.round(3.7)
    ```
  • C. ```python
    from math import ceil
    result = ceil(3.7)
    ```
  • D. ```python
    import math
    result = math.int(3.7)
    ```

Câu 20: Xét đoạn mã sau:
```python
# file my_module.py
def greet(name):
return f"Hello, {name}"

# file main.py
import my_module
message = my_module.greet("Alice")
print(message)
```
Đoạn mã này minh họa điều gì về việc sử dụng module?

  • A. Cách định nghĩa một lớp trong module.
  • B. Cách sử dụng bí danh khi import.
  • C. Cách định nghĩa một hàm trong module và import/sử dụng nó trong một tệp khác.
  • D. Cách xử lý ngoại lệ khi import module.

Câu 21: Trong ngữ cảnh của danh sách liên kết, con trỏ `head` của danh sách liên kết rỗng sẽ có giá trị là gì trong Python?

  • A. 0
  • B. Một đối tượng Node rỗng.
  • C. Một địa chỉ bộ nhớ ngẫu nhiên.
  • D. `None`.

Câu 22: Giả sử bạn có một hàm `calculate_discount(total, discount_rate)` trong module `pricing.py`. Bạn muốn import hàm này và gọi nó trực tiếp mà không cần tiền tố `pricing.`. Lệnh import và gọi hàm nào là đúng?

  • A. ```python
    import pricing
    discount = calculate_discount(100, 0.1)
    ```
  • B. ```python
    from pricing import calculate_discount
    discount = calculate_discount(100, 0.1)
    ```
  • C. ```python
    import pricing.calculate_discount
    discount = pricing.calculate_discount(100, 0.1)
    ```
  • D. ```python
    from pricing import *
    discount = pricing.calculate_discount(100, 0.1)
    ```

Câu 23: Tại sao việc sử dụng thư viện (module) giúp cải thiện khả năng bảo trì (maintenance) của chương trình?

  • A. Mã nguồn được chia thành các phần độc lập, dễ dàng tìm và sửa lỗi hoặc cập nhật một phần mà không ảnh hưởng lớn đến các phần khác.
  • B. Giúp mã nguồn trở nên phức tạp hơn, khó hiểu hơn.
  • C. Chỉ áp dụng cho các chương trình rất nhỏ.
  • D. Không có mối liên hệ trực tiếp giữa thư viện và bảo trì chương trình.

Câu 24: Trong danh sách liên kết đơn, để hiển thị tất cả các phần tử, bạn cần bắt đầu từ node nào và di chuyển như thế nào?

  • A. Bắt đầu từ node cuối cùng và di chuyển ngược về đầu.
  • B. Bắt đầu từ một node ngẫu nhiên và di chuyển theo cả hai hướng.
  • C. Bắt đầu từ node đầu tiên (head) và di chuyển đến node tiếp theo bằng con trỏ `next` cho đến khi gặp `None`.
  • D. Chỉ cần in ra con trỏ `head`.

Câu 25: Bạn đang phát triển một ứng dụng và nhận thấy có một đoạn mã xử lý dữ liệu được lặp đi lặp lại ở nhiều nơi trong chương trình. Giải pháp tốt nhất để xử lý vấn đề này, tận dụng khái niệm thư viện/module là gì?

  • A. Sao chép và dán đoạn mã đó vào tất cả những nơi cần dùng.
  • B. Viết lại đoạn mã đó dưới dạng một hàm riêng biệt trong cùng một tệp.
  • C. Bỏ qua, vì việc lặp mã không ảnh hưởng lớn.
  • D. Đóng gói đoạn mã xử lý dữ liệu vào một hàm, đặt hàm đó vào một module riêng và import/sử dụng hàm đó ở những nơi cần thiết.

Câu 26: Giả sử bạn muốn tạo một thư viện (module) Python của riêng mình. Bước đầu tiên và cơ bản nhất bạn cần làm là gì?

  • A. Viết các hàm, lớp, hoặc biến bạn muốn đưa vào thư viện vào một tệp Python (`.py`).
  • B. Đăng ký tên thư viện của bạn trên PyPI (Python Package Index).
  • C. Cài đặt một công cụ quản lý gói như `pip`.
  • D. Biên dịch mã nguồn Python thành mã máy.

Câu 27: Khi bạn sử dụng `from math import sqrt`, điều gì xảy ra với các hàm khác trong thư viện `math` (ví dụ: `sin`, `cos`, `floor`,...)?

  • A. Tất cả các hàm khác cũng được nhập vào bộ nhớ nhưng bạn không thể gọi chúng.
  • B. Các hàm khác không được nhập vào bộ nhớ và bạn không thể gọi chúng trực tiếp (trừ khi import lại theo cách khác).
  • C. Các hàm khác tự động được đổi tên.
  • D. Các hàm khác chỉ có thể được gọi sau khi bạn sử dụng hàm `sqrt` ít nhất một lần.

Câu 28: Xét thao tác xóa node cuối cùng khỏi một danh sách liên kết đơn. Tại sao thao tác này lại phức tạp hơn việc xóa node đầu tiên?

  • A. Bạn cần tìm đến node trước node cuối cùng để cập nhật con trỏ `next` của nó thành `None`, điều này đòi hỏi duyệt qua gần hết danh sách.
  • B. Node cuối cùng không có con trỏ `next`.
  • C. Bạn cần cập nhật con trỏ `head`.
  • D. Python tự động xử lý việc xóa node cuối cùng mà không cần code phức tạp.

Câu 29: Bạn đang làm việc với một thư viện do người khác viết. Bạn thấy rằng có một hàm tên là `process_data()` trong module `data_handler`. Cách tốt nhất để sử dụng hàm này mà không gây nhầm lẫn với các hàm cùng tên trong chương trình của bạn là gì?

  • A. Sử dụng `from data_handler import *`.
  • B. Sử dụng `import data_handler` và gọi hàm là `data_handler.process_data()`.
  • C. Sử dụng `from data_handler import process_data` và gọi hàm là `process_data()`.
  • D. Đổi tên hàm `process_data` trong chương trình của bạn.

Câu 30: Tưởng tượng bạn có một danh sách liên kết đơn biểu diễn một hàng đợi. Khi một phần tử mới được thêm vào hàng đợi (enqueue), nó được thêm vào đâu? Khi một phần tử được lấy ra khỏi hàng đợi (dequeue), nó được lấy ra từ đâu?

  • A. Thêm vào cuối, lấy ra từ đầu.
  • B. Thêm vào đầu, lấy ra từ cuối.
  • C. Thêm vào cuối, lấy ra từ cuối.
  • D. Thêm vào đầu, lấy ra từ đầu.

1 / 30

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

Tags: Bộ đề 04

Câu 1: Trong lập trình Python, việc tổ chức mã nguồn thành các thư viện (modules) mang lại lợi ích chính nào sau đây?

2 / 30

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

Tags: Bộ đề 04

Câu 2: Bạn cần sử dụng hàm `sqrt()` và hằng số `pi` từ thư viện `math` trong Python. Cách nhập (import) nào sau đây là hiệu quả nhất về mặt sử dụng tài nguyên và vẫn cho phép bạn gọi các thành phần này một cách trực tiếp (không cần tiền tố `math.`)?

3 / 30

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

Tags: Bộ đề 04

Câu 3: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math as mt`. Khi đó, để tính giá trị căn bậc hai của một số `x`, cú pháp gọi hàm đúng là gì?

4 / 30

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

Tags: Bộ đề 04

Câu 4: Trong cấu trúc dữ liệu danh sách liên kết (Linked List), mỗi phần tử (node) thường bao gồm những thành phần thông tin cơ bản nào?

5 / 30

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

Tags: Bộ đề 04

Câu 5: Khi bạn viết một hàm hoặc một lớp trong một tệp Python (`.py`) và lưu nó. Tệp `.py` này có thể được coi là gì để các chương trình Python khác có thể sử dụng lại mã bên trong nó?

6 / 30

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

Tags: Bộ đề 04

Câu 6: Giả sử bạn có một module tên là `my_calculations.py` chứa hàm `add(a, b)` và hàm `subtract(a, b)`. Bạn muốn sử dụng *chỉ* hàm `add` trong chương trình chính của mình. Lệnh import nào là phù hợp nhất?

7 / 30

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

Tags: Bộ đề 04

Câu 7: Xét một danh sách liên kết đơn. Để thêm một phần tử mới vào *đầu* danh sách, bạn cần cập nhật con trỏ `next` của phần tử mới trỏ tới đâu và cập nhật con trỏ `head` của danh sách trỏ tới đâu?

8 / 30

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

Tags: Bộ đề 04

Câu 8: Lệnh `from math import *` có ưu điểm là bạn có thể gọi các hàm của thư viện `math` mà không cần tiền tố `math.`. Tuy nhiên, nó có một nhược điểm tiềm ẩn nghiêm trọng là gì?

9 / 30

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

Tags: Bộ đề 04

Câu 9: Giả sử bạn đang viết một chương trình xử lý hình học và cần tính diện tích hình tròn. Bạn biết rằng thư viện `math` có chứa hằng số `pi`. Đoạn mã nào sau đây sử dụng thư viện `math` một cách đúng đắn để tính diện tích hình tròn với bán kính `r`?

10 / 30

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

Tags: Bộ đề 04

Câu 10: Khi bạn muốn tìm kiếm một phần tử có khóa `k` trong một danh sách liên kết đơn, thao tác cơ bản bạn cần thực hiện là gì?

11 / 30

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

Tags: Bộ đề 04

Câu 11: Giả sử bạn đã xây dựng một module Python tên là `data_structures.py` chứa định nghĩa lớp `LinkedList` cho danh sách liên kết. Trong một chương trình khác, bạn muốn tạo một đối tượng danh sách liên kết mới. Lệnh import và khởi tạo nào là đúng?

12 / 30

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

Tags: Bộ đề 04

Câu 12: Tại sao việc sử dụng các hàm có sẵn trong thư viện chuẩn của Python (như `math`, `random`, `os`,...) thường được khuyến khích hơn là tự viết lại các chức năng tương tự?

13 / 30

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

Tags: Bộ đề 04

Câu 13: Khi xóa node *đầu tiên* khỏi một danh sách liên kết đơn không rỗng `L`, bạn cần thực hiện thao tác cập nhật con trỏ `head` như thế nào?

14 / 30

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

Tags: Bộ đề 04

Câu 14: Bạn đã viết một module Python tên là `utils.py` chứa một số hàm tiện ích. Để sử dụng tất cả các hàm trong `utils.py` trong chương trình chính và gọi chúng bằng cách thêm tiền tố `utils.` trước tên hàm, lệnh import nào là đúng?

15 / 30

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

Tags: Bộ đề 04

Câu 15: Xét đoạn mã Python sau: `import math`. Nếu bạn cố gắng gọi `print(math.sin(math.pi / 2))`, kết quả dự kiến sẽ là bao nhiêu?

16 / 30

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

Tags: Bộ đề 04

Câu 16: Khi nào thì việc sử dụng lệnh `from ten_thu_vien import *` có thể được chấp nhận hoặc ít gây rủi ro hơn?

17 / 30

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

Tags: Bộ đề 04

Câu 17: Giả sử bạn có một danh sách liên kết đơn và muốn xóa một node *không phải* node đầu tiên. Thao tác cơ bản bạn cần thực hiện là gì để duy trì tính liên kết của danh sách?

18 / 30

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

Tags: Bộ đề 04

Câu 18: Việc phân chia chương trình lớn thành các module (thư viện) nhỏ hơn có liên quan đến nguyên lý thiết kế chương trình nào?

19 / 30

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

Tags: Bộ đề 04

Câu 19: Bạn muốn làm tròn số `3.7` xuống số nguyên gần nhất bằng cách sử dụng thư viện `math`. Lệnh nào sau đây là đúng?

20 / 30

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

Tags: Bộ đề 04

Câu 20: Xét đoạn mã sau:
```python
# file my_module.py
def greet(name):
return f'Hello, {name}'

# file main.py
import my_module
message = my_module.greet('Alice')
print(message)
```
Đoạn mã này minh họa điều gì về việc sử dụng module?

21 / 30

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

Tags: Bộ đề 04

Câu 21: Trong ngữ cảnh của danh sách liên kết, con trỏ `head` của danh sách liên kết rỗng sẽ có giá trị là gì trong Python?

22 / 30

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

Tags: Bộ đề 04

Câu 22: Giả sử bạn có một hàm `calculate_discount(total, discount_rate)` trong module `pricing.py`. Bạn muốn import hàm này và gọi nó trực tiếp mà không cần tiền tố `pricing.`. Lệnh import và gọi hàm nào là đúng?

23 / 30

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

Tags: Bộ đề 04

Câu 23: Tại sao việc sử dụng thư viện (module) giúp cải thiện khả năng bảo trì (maintenance) của chương trình?

24 / 30

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

Tags: Bộ đề 04

Câu 24: Trong danh sách liên kết đơn, để hiển thị tất cả các phần tử, bạn cần bắt đầu từ node nào và di chuyển như thế nào?

25 / 30

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

Tags: Bộ đề 04

Câu 25: Bạn đang phát triển một ứng dụng và nhận thấy có một đoạn mã xử lý dữ liệu được lặp đi lặp lại ở nhiều nơi trong chương trình. Giải pháp tốt nhất để xử lý vấn đề này, tận dụng khái niệm thư viện/module là gì?

26 / 30

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

Tags: Bộ đề 04

Câu 26: Giả sử bạn muốn tạo một thư viện (module) Python của riêng mình. Bước đầu tiên và cơ bản nhất bạn cần làm là gì?

27 / 30

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

Tags: Bộ đề 04

Câu 27: Khi bạn sử dụng `from math import sqrt`, điều gì xảy ra với các hàm khác trong thư viện `math` (ví dụ: `sin`, `cos`, `floor`,...)?

28 / 30

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

Tags: Bộ đề 04

Câu 28: Xét thao tác xóa node *cuối cùng* khỏi một danh sách liên kết đơn. Tại sao thao tác này lại phức tạp hơn việc xóa node đầu tiên?

29 / 30

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

Tags: Bộ đề 04

Câu 29: Bạn đang làm việc với một thư viện do người khác viết. Bạn thấy rằng có một hàm tên là `process_data()` trong module `data_handler`. Cách tốt nhất để sử dụng hàm này mà không gây nhầm lẫn với các hàm cùng tên trong chương trình của bạn là gì?

30 / 30

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

Tags: Bộ đề 04

Câu 30: Tưởng tượng bạn có một danh sách liên kết đơn biểu diễn một hàng đợi. Khi một phần tử mới được thêm vào hàng đợi (enqueue), nó được thêm vào đâu? Khi một phần tử được lấy ra khỏi hàng đợi (dequeue), nó được lấy ra từ đâu?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 05 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Khi viết một chương trình lớn trong Python, việc chia nhỏ mã nguồn thành các tệp riêng biệt (module) và sử dụng chúng như thư viện mang lại lợi ích chính nào sau đây?

  • A. Giúp chương trình chạy nhanh hơn đáng kể.
  • B. Làm cho mã nguồn khó đọc và khó hiểu hơn.
  • C. Bắt buộc phải viết lại toàn bộ mã nguồn khi cần chỉnh sửa một phần nhỏ.
  • D. Tăng khả năng tái sử dụng mã nguồn và giúp quản lý dự án dễ dàng hơn.

Câu 2: Giả sử bạn có một tệp Python tên là `my_module.py` chứa một hàm tên là `calculate_area(radius)`. Trong một tệp chương trình khác, bạn muốn sử dụng hàm này. Lệnh nhập (import) nào sau đây cho phép bạn gọi hàm bằng cú pháp `my_module.calculate_area(r)`?

  • A. from my_module import calculate_area
  • B. import calculate_area from my_module
  • C. import my_module
  • D. from my_module import *

Câu 3: Xét hai cách nhập thư viện `math` trong Python:
Cách 1: `import math`
Cách 2: `from math import sqrt`
Nhận định nào sau đây là đúng khi sử dụng `sqrt` sau khi nhập theo hai cách trên?

  • A. Cả hai cách đều cho phép gọi hàm bằng `sqrt(x)`.
  • B. Cách 1 gọi là `math.sqrt(x)`, Cách 2 gọi là `sqrt(x)`.
  • C. Cách 1 gọi là `sqrt(x)`, Cách 2 gọi là `math.sqrt(x)`.
  • D. Cả hai cách đều phải gọi hàm bằng `math.sqrt(x)`.

Câu 4: Bạn cần sử dụng hàm `floor` (làm tròn xuống) và `ceil` (làm tròn lên) từ thư viện `math`. Lệnh nhập nào sau đây là hiệu quả nhất nếu bạn chỉ cần hai hàm này và muốn gọi chúng trực tiếp bằng tên (không có tiền tố `math.`)?

  • A. from math import floor, ceil
  • B. import math
  • C. import math.floor, math.ceil
  • D. from math import *

Câu 5: Việc sử dụng lệnh `from module import *` (nhập tất cả) có ưu điểm là mã nguồn gọi hàm/biến từ module sẽ ngắn gọn hơn. Tuy nhiên, nhược điểm tiềm ẩn của cách nhập này là gì?

  • A. Chỉ nhập được các hàm, không nhập được biến.
  • B. Chỉ nhập được các biến, không nhập được hàm.
  • C. Có thể gây xung đột tên (name collision) nếu module chứa tên trùng với tên đã tồn tại trong chương trình chính.
  • D. Làm cho chương trình chạy chậm hơn đáng kể.

Câu 6: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math`. Để tính căn bậc hai của một số `x`, bạn sẽ sử dụng cú pháp nào?

  • A. math.sqrt(x)
  • B. sqrt(x)
  • C. math.sqrt x
  • D. sqrt math(x)

Câu 7: Bạn viết một module Python tên là `utils.py` chứa hàm `is_prime(n)` để kiểm tra số nguyên tố. Trong chương trình chính `main.py`, bạn muốn nhập module này với tên gọi tắt là `u`. Lệnh nhập nào sau đây là đúng?

  • A. import utils as u
  • B. from utils import u
  • C. import u = utils
  • D. import utils as u

Câu 8: Sau khi thực hiện lệnh `from math import pi`, bạn có thể sử dụng giá trị của số Pi bằng cách nào?

  • A. math.pi
  • B. pi
  • C. Pi
  • D. math.Pi

Câu 9: Bạn tạo một tệp `constants.py` chứa dòng code `MY_CONSTANT = 100`. Trong một tệp khác, bạn muốn sử dụng biến `MY_CONSTANT`. Cách nào sau đây là hợp lệ để nhập và sử dụng nó?

  • A. `import constants` rồi dùng `MY_CONSTANT`
  • B. `from constants import MY_CONSTANT` rồi dùng `constants.MY_CONSTANT`
  • C. `from constants import MY_CONSTANT` rồi dùng `MY_CONSTANT`
  • D. Không thể nhập biến từ tệp khác.

Câu 10: Xét đoạn mã sau:
```python
# file my_module.py
def greet(name):
print(f

  • A. In ra màn hình: `Hello, Alice!`
  • B. Báo lỗi vì không tìm thấy hàm `greet`.
  • C. Không in gì cả.
  • D. In ra màn hình: `my_module.greet(

Câu 11: Xét đoạn mã sau:
```python
# file my_module.py
__version__ =

  • A. Báo lỗi vì không thể nhập biến `__version__`.
  • B. In ra màn hình:
    `Module version: 1.0`
    `my_module.__version__`
  • C. In ra màn hình:
    `Module version: 1.0`
    `1.0`
  • D. Chỉ in ra màn hình: `Module version: 1.0`

Câu 12: Bạn đang viết một chương trình xử lý chuỗi và cần sử dụng một số hàm phức tạp mà bạn đã viết trước đó và lưu trong tệp `string_utils.py`. Tệp này chứa các hàm như `reverse_string`, `is_palindrome`. Bạn muốn sử dụng các hàm này trong chương trình chính mà không cần viết lại. Đây là ví dụ điển hình cho việc sử dụng thư viện/module nhằm mục đích gì?

  • A. Tái sử dụng mã nguồn.
  • B. Bảo mật mã nguồn.
  • C. Tăng tốc độ biên dịch.
  • D. Giảm dung lượng tệp chương trình chính.

Câu 13: Trong Python, khi bạn sử dụng lệnh `import some_module`, hệ thống sẽ tìm tệp `some_module.py` ở những vị trí nào?

  • A. Chỉ trong thư mục hiện tại của tệp chương trình đang chạy.
  • B. Chỉ trong thư mục cài đặt Python.
  • C. Chỉ trong các thư mục được liệt kê trong biến môi trường PATH.
  • D. Trong thư mục hiện tại, các thư mục của thư viện chuẩn Python, và các thư mục trong biến môi trường PYTHONPATH.

Câu 14: Giả sử bạn có hai module:
`module_a.py`: Chứa hàm `process_data()`
`module_b.py`: Chứa hàm `process_data()`
Trong chương trình chính, bạn thực hiện:
`from module_a import process_data`
`from module_b import process_data`
Sau đó gọi `process_data()`. Hàm nào sẽ được thực thi?

  • A. Cả hai hàm sẽ được thực thi.
  • B. Hàm `process_data()` từ `module_b.py` sẽ được thực thi (ghi đè).
  • C. Hàm `process_data()` từ `module_a.py` sẽ được thực thi.
  • D. Chương trình sẽ báo lỗi xung đột tên (name collision).

Câu 15: Để tránh xung đột tên như trong Câu 14, bạn có thể sử dụng cách nhập nào sau đây?
```python
# Trong chương trình chính
import module_a
import module_b
# Cách gọi hàm?
```
Cách gọi hàm nào là đúng sau khi nhập như trên?

  • A. module_a.process_data() và module_b.process_data() không còn khả dụng.
  • B. Chỉ có thể gọi `process_data()` và nó sẽ thực thi hàm từ `module_b`.
  • C. Gọi hàm từ module_a bằng `module_a.process_data()` và từ module_b bằng `module_b.process_data()`.
  • D. Chương trình vẫn báo lỗi xung đột tên.

Câu 16: Hoặc, để tránh xung đột tên trong Câu 14 bằng cách sử dụng `from ... import ...` nhưng vẫn muốn gọi trực tiếp bằng tên gốc, bạn có thể làm gì?

  • A. Không thể tránh xung đột tên khi dùng `from ... import ...` nếu tên trùng nhau.
  • B. Sử dụng `from module_a import process_data as process_data_a` và `from module_b import process_data as process_data_b`.
  • C. Chỉ nhập một trong hai module.
  • D. Không có cách nào dùng `from ... import ...` mà vẫn gọi trực tiếp bằng tên gốc nếu tên bị trùng giữa hai module được nhập vào cùng một namespace.

Câu 17: Khi bạn tạo một tệp Python (`.py`) và đặt các hàm, biến vào đó, tệp đó tự động trở thành gì trong ngữ cảnh của Python?

  • A. Một module.
  • B. Một package.
  • C. Một lớp (class).
  • D. Một thư viện chuẩn.

Câu 18: Để nhóm nhiều module có liên quan lại với nhau thành một cấu trúc phân cấp, bạn sử dụng khái niệm gì trong Python?

  • A. Thư viện (Library).
  • B. Module.
  • C. Package.
  • D. Framework.

Câu 19: Giả sử bạn có một package tên là `my_package` chứa một module tên là `data.py`. Module `data.py` này có một hàm tên là `load_config()`. Trong chương trình chính, để nhập và gọi hàm này bằng cú pháp `my_package.data.load_config()`, bạn sẽ sử dụng lệnh nhập nào?

  • A. from my_package.data import load_config
  • B. import my_package.data
  • C. import my_package
  • D. from my_package import data.load_config

Câu 20: Tiếp tục với ví dụ ở Câu 19. Để nhập và gọi hàm `load_config()` trực tiếp bằng tên `load_config()`, bạn sẽ sử dụng lệnh nhập nào?

  • A. from my_package.data import load_config
  • B. import my_package.data.load_config
  • C. from my_package import load_config
  • D. import load_config from my_package.data

Câu 21: Ưu điểm chính của việc sử dụng bí danh (alias) khi nhập module hoặc thành phần từ module (ví dụ: `import math as m` hoặc `from collections import Counter as Ctr`) là gì?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Bắt buộc phải sử dụng bí danh.
  • C. Làm cho tên gốc không còn sử dụng được.
  • D. Giúp rút ngắn tên dài hoặc tránh xung đột tên bằng cách đặt tên mới ngắn gọn/khác biệt.

Câu 22: Khi bạn nhập một module lần đầu tiên trong một chương trình Python, Python thực hiện điều gì?

  • A. Chỉ đọc nội dung của tệp module mà không thực thi.
  • B. Thực thi toàn bộ mã nguồn trong tệp module đó từ trên xuống dưới.
  • C. Chỉ thực thi các hàm hoặc biến được chỉ định trong lệnh import.
  • D. Biên dịch toàn bộ mã module thành mã máy trước khi thực thi chương trình chính.

Câu 23: Điều gì xảy ra nếu bạn cố gắng nhập một module không tồn tại trong các thư mục tìm kiếm của Python?

  • A. Chương trình sẽ chạy nhưng các hàm/biến từ module đó sẽ không hoạt động.
  • B. Python tự động tìm kiếm module đó trên Internet.
  • C. Chương trình sẽ báo lỗi `ModuleNotFoundError`.
  • D. Python sẽ tạo một tệp rỗng với tên module đó.

Câu 24: Giả sử bạn có một module tên là `my_data_structures.py` chứa định nghĩa lớp `Node` và lớp `LinkedList`. Bạn muốn sử dụng lớp `LinkedList` trong chương trình chính. Lệnh nhập nào sau đây là phù hợp nhất nếu bạn muốn gọi lớp này bằng tên đầy đủ (có tiền tố module)?

  • A. import my_data_structures
  • B. from my_data_structures import LinkedList
  • C. from my_data_structures import *
  • D. import LinkedList from my_data_structures

Câu 25: Sau khi nhập theo lệnh `import my_data_structures` (như trong Câu 24), để tạo một đối tượng danh sách liên kết mới, bạn sử dụng cú pháp nào?

  • A. LinkedList()
  • B. new LinkedList()
  • C. my_data_structures.LinkedList.new()
  • D. my_data_structures.LinkedList()

Câu 26: Xét đoạn mã sau:
```python
# file my_math.py
def add(a, b):
return a + b

# file main.py
from my_math import add

result = add(5, 3)
print(result)
```
Kết quả khi chạy `main.py` là gì?

  • A. Báo lỗi vì không có tiền tố `my_math.`
  • B. In ra màn hình: `8`
  • C. In ra màn hình: `add(5, 3)`
  • D. Báo lỗi vì hàm `add` không được định nghĩa.

Câu 27: Khi bạn cài đặt một thư viện bên ngoài (ví dụ: sử dụng pip để cài đặt thư viện `requests`), các tệp của thư viện đó thường được đặt ở đâu để Python có thể tìm thấy khi bạn sử dụng lệnh `import`?

  • A. Trong thư mục `site-packages` thuộc thư mục cài đặt Python hoặc môi trường ảo.
  • B. Luôn trong thư mục hiện tại của chương trình đang chạy.
  • C. Trong thư mục người dùng (ví dụ: Documents).
  • D. Trên Internet và được tải xuống mỗi lần chạy.

Câu 28: Giả sử bạn đang debug một chương trình và nhận được lỗi `AttributeError: module "my_module" has no attribute "my_function"`. Điều này có nghĩa là gì?

  • A. Bạn đã nhập module `my_module` sai cú pháp.
  • B. Module `my_module` không tồn tại.
  • C. Module `my_module` tồn tại, nhưng không chứa hàm hoặc thuộc tính tên là `my_function` hoặc bạn đã nhập sai cách khiến `my_function` không nằm trong namespace có thể truy cập qua `my_module.`.
  • D. Hàm `my_function` yêu cầu đối số đầu vào không hợp lệ.

Câu 29: Bạn có một hàm `process()` trong module `data_processor.py`. Bạn muốn nhập hàm này và sử dụng nó với tên gọi tắt là `dp_process`. Lệnh nhập nào sau đây là đúng?

  • A. import data_processor.process as dp_process
  • B. from data_processor import process as dp_process
  • C. import dp_process = data_processor.process
  • D. from data_processor import process as dp_process

Câu 30: Khi sử dụng các hàm từ một thư viện, ví dụ thư viện `math`, bạn thường không cần quan tâm đến mã nguồn chi tiết bên trong các hàm đó. Điều này thể hiện lợi ích nào của việc sử dụng thư viện?

  • A. Tính trừu tượng và đóng gói (abstraction and encapsulation).
  • B. Tăng tốc độ gõ code.
  • C. Giảm kích thước tệp module.
  • D. Yêu cầu kiến thức chuyên sâu về thuật toán.

1 / 30

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

Tags: Bộ đề 05

Câu 1: Khi viết một chương trình lớn trong Python, việc chia nhỏ mã nguồn thành các tệp riêng biệt (module) và sử dụng chúng như thư viện mang lại lợi ích chính nào sau đây?

2 / 30

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

Tags: Bộ đề 05

Câu 2: Giả sử bạn có một tệp Python tên là `my_module.py` chứa một hàm tên là `calculate_area(radius)`. Trong một tệp chương trình khác, bạn muốn sử dụng hàm này. Lệnh nhập (import) nào sau đây cho phép bạn gọi hàm bằng cú pháp `my_module.calculate_area(r)`?

3 / 30

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

Tags: Bộ đề 05

Câu 3: Xét hai cách nhập thư viện `math` trong Python:
Cách 1: `import math`
Cách 2: `from math import sqrt`
Nhận định nào sau đây là đúng khi sử dụng `sqrt` sau khi nhập theo hai cách trên?

4 / 30

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

Tags: Bộ đề 05

Câu 4: Bạn cần sử dụng hàm `floor` (làm tròn xuống) và `ceil` (làm tròn lên) từ thư viện `math`. Lệnh nhập nào sau đây là hiệu quả nhất nếu bạn chỉ cần hai hàm này và muốn gọi chúng trực tiếp bằng tên (không có tiền tố `math.`)?

5 / 30

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

Tags: Bộ đề 05

Câu 5: Việc sử dụng lệnh `from module import *` (nhập tất cả) có ưu điểm là mã nguồn gọi hàm/biến từ module sẽ ngắn gọn hơn. Tuy nhiên, nhược điểm tiềm ẩn của cách nhập này là gì?

6 / 30

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

Tags: Bộ đề 05

Câu 6: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math`. Để tính căn bậc hai của một số `x`, bạn sẽ sử dụng cú pháp nào?

7 / 30

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

Tags: Bộ đề 05

Câu 7: Bạn viết một module Python tên là `utils.py` chứa hàm `is_prime(n)` để kiểm tra số nguyên tố. Trong chương trình chính `main.py`, bạn muốn nhập module này với tên gọi tắt là `u`. Lệnh nhập nào sau đây là đúng?

8 / 30

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

Tags: Bộ đề 05

Câu 8: Sau khi thực hiện lệnh `from math import pi`, bạn có thể sử dụng giá trị của số Pi bằng cách nào?

9 / 30

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

Tags: Bộ đề 05

Câu 9: Bạn tạo một tệp `constants.py` chứa dòng code `MY_CONSTANT = 100`. Trong một tệp khác, bạn muốn sử dụng biến `MY_CONSTANT`. Cách nào sau đây là hợp lệ để nhập và sử dụng nó?

10 / 30

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

Tags: Bộ đề 05

Câu 10: Xét đoạn mã sau:
```python
# file my_module.py
def greet(name):
print(f"Hello, {name}!")

# file main.py
import my_module

my_module.greet("Alice")
```
Kết quả khi chạy tệp `main.py` là gì?

11 / 30

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

Tags: Bộ đề 05

Câu 11: Xét đoạn mã sau:
```python
# file my_module.py
__version__ = "1.0"

def info():
print(f"Module version: {__version__}")

# file main.py
from my_module import info, __version__

info()
print(__version__)
```
Kết quả khi chạy tệp `main.py` là gì?

12 / 30

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

Tags: Bộ đề 05

Câu 12: Bạn đang viết một chương trình xử lý chuỗi và cần sử dụng một số hàm phức tạp mà bạn đã viết trước đó và lưu trong tệp `string_utils.py`. Tệp này chứa các hàm như `reverse_string`, `is_palindrome`. Bạn muốn sử dụng các hàm này trong chương trình chính mà không cần viết lại. Đây là ví dụ điển hình cho việc sử dụng thư viện/module nhằm mục đích gì?

13 / 30

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

Tags: Bộ đề 05

Câu 13: Trong Python, khi bạn sử dụng lệnh `import some_module`, hệ thống sẽ tìm tệp `some_module.py` ở những vị trí nào?

14 / 30

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

Tags: Bộ đề 05

Câu 14: Giả sử bạn có hai module:
`module_a.py`: Chứa hàm `process_data()`
`module_b.py`: Chứa hàm `process_data()`
Trong chương trình chính, bạn thực hiện:
`from module_a import process_data`
`from module_b import process_data`
Sau đó gọi `process_data()`. Hàm nào sẽ được thực thi?

15 / 30

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

Tags: Bộ đề 05

Câu 15: Để tránh xung đột tên như trong Câu 14, bạn có thể sử dụng cách nhập nào sau đây?
```python
# Trong chương trình chính
import module_a
import module_b
# Cách gọi hàm?
```
Cách gọi hàm nào là đúng sau khi nhập như trên?

16 / 30

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

Tags: Bộ đề 05

Câu 16: Hoặc, để tránh xung đột tên trong Câu 14 bằng cách sử dụng `from ... import ...` nhưng vẫn muốn gọi trực tiếp bằng tên gốc, bạn có thể làm gì?

17 / 30

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

Tags: Bộ đề 05

Câu 17: Khi bạn tạo một tệp Python (`.py`) và đặt các hàm, biến vào đó, tệp đó tự động trở thành gì trong ngữ cảnh của Python?

18 / 30

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

Tags: Bộ đề 05

Câu 18: Để nhóm nhiều module có liên quan lại với nhau thành một cấu trúc phân cấp, bạn sử dụng khái niệm gì trong Python?

19 / 30

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

Tags: Bộ đề 05

Câu 19: Giả sử bạn có một package tên là `my_package` chứa một module tên là `data.py`. Module `data.py` này có một hàm tên là `load_config()`. Trong chương trình chính, để nhập và gọi hàm này bằng cú pháp `my_package.data.load_config()`, bạn sẽ sử dụng lệnh nhập nào?

20 / 30

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

Tags: Bộ đề 05

Câu 20: Tiếp tục với ví dụ ở Câu 19. Để nhập và gọi hàm `load_config()` trực tiếp bằng tên `load_config()`, bạn sẽ sử dụng lệnh nhập nào?

21 / 30

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

Tags: Bộ đề 05

Câu 21: Ưu điểm chính của việc sử dụng bí danh (alias) khi nhập module hoặc thành phần từ module (ví dụ: `import math as m` hoặc `from collections import Counter as Ctr`) là gì?

22 / 30

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

Tags: Bộ đề 05

Câu 22: Khi bạn nhập một module lần đầu tiên trong một chương trình Python, Python thực hiện điều gì?

23 / 30

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

Tags: Bộ đề 05

Câu 23: Điều gì xảy ra nếu bạn cố gắng nhập một module không tồn tại trong các thư mục tìm kiếm của Python?

24 / 30

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

Tags: Bộ đề 05

Câu 24: Giả sử bạn có một module tên là `my_data_structures.py` chứa định nghĩa lớp `Node` và lớp `LinkedList`. Bạn muốn sử dụng lớp `LinkedList` trong chương trình chính. Lệnh nhập nào sau đây là phù hợp nhất nếu bạn muốn gọi lớp này bằng tên đầy đủ (có tiền tố module)?

25 / 30

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

Tags: Bộ đề 05

Câu 25: Sau khi nhập theo lệnh `import my_data_structures` (như trong Câu 24), để tạo một đối tượng danh sách liên kết mới, bạn sử dụng cú pháp nào?

26 / 30

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

Tags: Bộ đề 05

Câu 26: Xét đoạn mã sau:
```python
# file my_math.py
def add(a, b):
return a + b

# file main.py
from my_math import add

result = add(5, 3)
print(result)
```
Kết quả khi chạy `main.py` là gì?

27 / 30

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

Tags: Bộ đề 05

Câu 27: Khi bạn cài đặt một thư viện bên ngoài (ví dụ: sử dụng pip để cài đặt thư viện `requests`), các tệp của thư viện đó thường được đặt ở đâu để Python có thể tìm thấy khi bạn sử dụng lệnh `import`?

28 / 30

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

Tags: Bộ đề 05

Câu 28: Giả sử bạn đang debug một chương trình và nhận được lỗi `AttributeError: module 'my_module' has no attribute 'my_function'`. Điều này có nghĩa là gì?

29 / 30

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

Tags: Bộ đề 05

Câu 29: Bạn có một hàm `process()` trong module `data_processor.py`. Bạn muốn nhập hàm này và sử dụng nó với tên gọi tắt là `dp_process`. Lệnh nhập nào sau đây là đúng?

30 / 30

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

Tags: Bộ đề 05

Câu 30: Khi sử dụng các hàm từ một thư viện, ví dụ thư viện `math`, bạn thường không cần quan tâm đến mã nguồn chi tiết bên trong các hàm đó. Điều này thể hiện lợi ích nào của việc sử dụng thư viện?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 06 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Một lập trình viên đang phát triển một ứng dụng cần thực hiện nhiều phép tính toán học phức tạp như căn bậc hai, lũy thừa, và các hàm lượng giác. Thay vì tự viết lại các thuật toán này, lập trình viên nên làm gì để tiết kiệm thời gian và đảm bảo độ chính xác? Chọn giải pháp phù hợp nhất.

  • A. Viết lại tất cả các thuật toán từ đầu để hiểu rõ nguyên lý hoạt động.
  • B. Tìm kiếm trên mạng các đoạn mã có sẵn và sao chép vào chương trình chính.
  • C. Sử dụng các hàm có sẵn trong thư viện toán học chuẩn của ngôn ngữ lập trình (ví dụ: thư viện `math` trong Python).
  • D. Yêu cầu đồng nghiệp viết riêng các hàm đó và gửi cho mình.

Câu 2: Trong Python, bạn muốn sử dụng hàm tính căn bậc hai. Lệnh nhập thư viện nào dưới đây sẽ cho phép bạn gọi trực tiếp hàm này bằng tên `sqrt()` mà không cần tiền tố của thư viện?

  • A. import math
  • B. import math as m
  • C. from math import *
  • D. from math import sqrt

Câu 3: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math`. Để tính giá trị sin của góc `x` (đơn vị radian), cú pháp gọi hàm đúng là gì?

  • A. sin(x)
  • B. math.sin(x)
  • C. import sin from math
  • D. math(sin(x))

Câu 4: Lệnh nhập thư viện `import math as m` có ý nghĩa gì?

  • A. Nhập toàn bộ thư viện math và đặt bí danh (alias) là `m` để gọi các hàm.
  • B. Chỉ nhập hàm `m` từ thư viện `math`.
  • C. Nhập thư viện `math` và chỉ cho phép sử dụng hàm `m`.
  • D. Đây là cú pháp không hợp lệ trong Python.

Câu 5: Đoạn mã sau sẽ in ra kết quả gì?
```python
import math
print(math.floor(3.7) + math.ceil(3.2))
```

  • A. 6.0
  • B. 7.0
  • C. 7
  • D. 6

Câu 6: Việc sử dụng lệnh `from module import *` để nhập tất cả các tên từ một module vào không gian tên hiện tại tiềm ẩn rủi ro gì?

  • A. Làm chậm quá trình thực thi chương trình.
  • B. Gây xung đột tên (name conflict) nếu có các tên trùng lặp giữa module và chương trình hiện tại hoặc giữa các module khác được nhập theo cách này.
  • C. Chỉ nhập các hàm, không nhập các biến hoặc lớp.
  • D. Không thể sử dụng các hàm đã nhập mà không có tiền tố.

Câu 7: Bạn cần sử dụng hàm `sqrt` và `pow` từ thư viện `math`. Lệnh nhập nào dưới đây hiệu quả nhất nếu bạn chỉ muốn sử dụng hai hàm này và gọi chúng trực tiếp bằng tên?

  • A. import math
  • B. import math as m
  • C. from math import sqrt, pow
  • D. from math import *

Câu 8: Đâu là lợi ích chính của việc tổ chức mã nguồn thành các thư viện (modules)?

  • A. Tăng tính tái sử dụng mã, giúp quản lý dự án lớn dễ dàng hơn, và phân chia công việc hiệu quả.
  • B. Giảm dung lượng bộ nhớ mà chương trình sử dụng.
  • C. Tăng tốc độ thực thi của chương trình.
  • D. Ngăn chặn người khác truy cập vào mã nguồn của bạn.

Câu 9: Bạn có một tệp Python tên là `my_utils.py` chứa một hàm tên là `greet(name)`. Để sử dụng hàm này trong một tệp Python khác nằm cùng thư mục, bạn sẽ nhập nó như thế nào?

  • A. include my_utils
  • B. import my_utils
  • C. from my_utils use greet
  • D. require my_utils

Câu 10: Sau khi thực hiện lệnh `import my_utils` như ở Câu 9, để gọi hàm `greet` với tham số "Alice", cú pháp nào dưới đây là đúng?

  • A. my_utils.greet("Alice")
  • B. greet("Alice")
  • C. my_utils::greet("Alice")
  • D. call my_utils.greet("Alice")

Câu 11: Nếu bạn đã nhập hàm `greet` từ `my_utils.py` bằng lệnh `from my_utils import greet`, cú pháp gọi hàm đúng là gì?

  • A. my_utils.greet("Bob")
  • B. greet("Bob")
  • C. from greet("Bob") in my_utils
  • D. call greet("Bob")

Câu 12: Một dự án phần mềm lớn được chia thành nhiều tệp `.py` nhỏ hơn, mỗi tệp chứa các hàm và lớp liên quan đến một chức năng cụ thể (ví dụ: xử lý dữ liệu, giao diện người dùng, kết nối cơ sở dữ liệu). Cách tiếp cận này minh họa cho nguyên tắc thiết kế chương trình nào?

  • A. Lập trình hướng đối tượng (OOP)
  • B. Lập trình tuyến tính (Linear programming)
  • C. Đệ quy (Recursion)
  • D. Thiết kế theo mô-đun (Modular design)

Câu 13: Khi sử dụng một hàm từ thư viện, điều quan trọng nhất mà lập trình viên cần biết là gì?

  • A. Tên hàm, các tham số cần truyền vào (kiểu dữ liệu và ý nghĩa), và giá trị trả về của hàm.
  • B. Mã nguồn chi tiết bên trong hàm hoạt động như thế nào.
  • C. Người viết ra hàm đó là ai và viết khi nào.
  • D. Dung lượng bộ nhớ mà hàm đó tiêu thụ.

Câu 14: Bạn đang viết một chương trình và cần làm tròn số 4.9 xuống số nguyên gần nhất. Hàm nào trong thư viện `math` của Python thực hiện chức năng này?

  • A. math.round(4.9)
  • B. math.floor(4.9)
  • C. math.ceil(4.9)
  • D. math.int(4.9)

Câu 15: Đoạn mã sau có lỗi không? Nếu có, lỗi ở đâu?
```python
from math import sqrt
import math
print(math.sqrt(16))
```

  • A. Không có lỗi, chương trình sẽ chạy bình thường.
  • B. Lỗi do nhập thư viện `math` hai lần.
  • C. Lỗi do gọi `math.sqrt` sau khi đã nhập `sqrt` trực tiếp.
  • D. Lỗi do không thể nhập cả thư viện và một hàm cụ thể cùng lúc.

Câu 16: Giả sử bạn có một module `constants.py` chứa biến `PI = 3.14159`. Để sử dụng biến `PI` trong chương trình chính sau khi nhập module bằng `import constants`, bạn sẽ truy cập biến này như thế nào?

  • A. PI
  • B. constants::PI
  • C. constants.PI
  • D. get constants.PI

Câu 17: Khi một module được nhập lần đầu tiên trong một chương trình Python, điều gì xảy ra?

  • A. Chỉ các hàm và biến được yêu cầu (nếu dùng `from...import`) được tải vào bộ nhớ.
  • B. Toàn bộ mã trong module đó được thực thi từ trên xuống dưới, và các đối tượng (hàm, biến, lớp) được định nghĩa trong module được tạo ra.
  • C. Python chỉ kiểm tra xem module có tồn tại hay không.
  • D. Module được biên dịch thành mã máy và lưu vào bộ nhớ cache.

Câu 18: Tại sao việc sử dụng thư viện thay vì viết lại mã giúp giảm thiểu lỗi trong chương trình?

  • A. Các thư viện chuẩn hoặc phổ biến thường đã được kiểm thử kỹ lưỡng bởi cộng đồng hoặc nhà phát triển ngôn ngữ.
  • B. Mã trong thư viện luôn ngắn gọn hơn mã tự viết.
  • C. Trình biên dịch/thông dịch bỏ qua các lỗi cú pháp trong mã thư viện.
  • D. Thư viện tự động sửa lỗi trong chương trình của bạn.

Câu 19: Bạn muốn viết một module Python để chứa các hàm xử lý chuỗi thường dùng. Các hàm này sẽ được sử dụng trong nhiều chương trình khác nhau. Bạn nên lưu các hàm này vào đâu?

  • A. Trong tệp chương trình chính nơi bạn sẽ sử dụng chúng.
  • B. Trong một tệp văn bản (.txt) riêng biệt.
  • C. Trong một thư mục tạm thời mà không cần đặt tên cụ thể.
  • D. Trong một tệp Python (.py) riêng biệt với tên mô tả chức năng (ví dụ: `string_utils.py`).

Câu 20: Giả sử bạn có một module `my_module.py` chứa một hàm `calculate(a, b)`. Bạn muốn nhập module này và đặt tên gọi tắt là `mm`. Lệnh nào sau đây thực hiện điều đó?

  • A. import my_module as calculate
  • B. import my_module as mm
  • C. from my_module import mm
  • D. alias my_module to mm

Câu 21: Đoạn mã sau sẽ gây ra lỗi gì?
```python
from math import pi
print(math.pi)
```

  • A. NameError: name "math" is not defined.
  • B. SyntaxError: invalid syntax.
  • C. TypeError: "module" object is not callable.
  • D. Không có lỗi, in ra giá trị của pi.

Câu 22: Lệnh `from math import sqrt as square_root` có ý nghĩa gì?

  • A. Nhập toàn bộ thư viện math và đổi tên nó thành `square_root`.
  • B. Nhập hàm `square_root` từ thư viện `math`.
  • C. Nhập hàm `sqrt` từ thư viện `math` và chỉ cho phép sử dụng nó khi gọi bằng tên `square_root`.
  • D. Nhập hàm `sqrt` từ thư viện `math` và đặt bí danh (alias) là `square_root` để gọi hàm đó.

Câu 23: Giả sử bạn có hai module: `module_a.py` có hàm `process()` và `module_b.py` cũng có hàm `process()`. Nếu bạn nhập cả hai module bằng `from module_a import process` và `from module_b import process` (theo thứ tự đó), khi gọi `process()`, hàm nào sẽ được thực thi?

  • A. Cả hai hàm sẽ được thực thi.
  • B. Hàm `process()` từ `module_b.py` (do được nhập sau cùng).
  • C. Hàm `process()` từ `module_a.py` (do được nhập trước).
  • D. Chương trình sẽ báo lỗi xung đột tên (Name Conflict).

Câu 24: Để tránh xung đột tên như mô tả ở Câu 23 khi nhập các hàm có tên trùng lặp từ các module khác nhau, phương pháp nhập nào thường được khuyến khích sử dụng?

  • A. Sử dụng `import module_name` và gọi hàm bằng `module_name.function_name()`.
  • B. Sử dụng `from module_name import *`.
  • C. Sử dụng `from module_name import function_name`.
  • D. Không có cách nào tránh được xung đột tên trong trường hợp này.

Câu 25: Bạn cần tính giá trị tuyệt đối của một số. Hàm nào trong thư viện chuẩn của Python (không cần nhập thêm thư viện đặc biệt như math) có thể làm điều này?

  • A. math.abs()
  • B. absolute()
  • C. abs.math()
  • D. abs()

Câu 26: Việc sử dụng thư viện giúp tăng khả năng bảo trì (maintenance) chương trình như thế nào?

  • A. Bảo trì tự động được thực hiện bởi trình thông dịch.
  • B. Mã nguồn thư viện không bao giờ cần cập nhật.
  • C. Khi một chức năng cần sửa lỗi hoặc cải tiến, chỉ cần thay đổi mã trong module thư viện tương ứng mà không ảnh hưởng đến các chương trình khác sử dụng nó (miễn là giao diện hàm không đổi).
  • D. Thư viện tự động ghi lại lịch sử thay đổi.

Câu 27: Đoạn mã sau sẽ in ra kết quả gì?
```python
import math
angle_degrees = 90
angle_radians = math.radians(angle_degrees)
print(math.sin(angle_radians))
```

  • A. 1.0
  • B. 0.0
  • C. Error
  • D. Giá trị gần bằng 0.894

Câu 28: Bạn cần sử dụng một hàm được viết bởi người khác và đóng gói thành một module. Bạn không cần biết chi tiết mã bên trong hàm đó hoạt động như thế nào, chỉ cần biết cách gọi nó và kết quả trả về. Đây là một ví dụ về nguyên tắc nào trong lập trình?

  • A. Kế thừa (Inheritance)
  • B. Trừu tượng hóa (Abstraction) và Đóng gói (Encapsulation)
  • C. Đa hình (Polymorphism)
  • D. Ghi đè (Overriding)

Câu 29: Khi bạn tạo một tệp Python (`.py`) mới, nó tự động trở thành một loại đơn vị tổ chức mã nào trong Python, có thể được nhập vào các chương trình khác?

  • A. Một lớp (Class)
  • B. Một hàm (Function)
  • C. Một module (Module)
  • D. Một gói (Package)

Câu 30: Giả sử bạn đã viết một module `geometry.py` chứa hàm `area_circle(radius)` và `area_rectangle(width, height)`. Trong chương trình chính, bạn chỉ cần sử dụng hàm tính diện tích hình tròn. Lệnh nhập nào là phù hợp nhất?

  • A. import geometry
  • B. from geometry import *
  • C. import geometry.area_circle
  • D. from geometry import area_circle

1 / 30

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

Tags: Bộ đề 06

Câu 1: Một lập trình viên đang phát triển một ứng dụng cần thực hiện nhiều phép tính toán học phức tạp như căn bậc hai, lũy thừa, và các hàm lượng giác. Thay vì tự viết lại các thuật toán này, lập trình viên nên làm gì để tiết kiệm thời gian và đảm bảo độ chính xác? Chọn giải pháp phù hợp nhất.

2 / 30

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

Tags: Bộ đề 06

Câu 2: Trong Python, bạn muốn sử dụng hàm tính căn bậc hai. Lệnh nhập thư viện nào dưới đây sẽ cho phép bạn gọi trực tiếp hàm này bằng tên `sqrt()` mà không cần tiền tố của thư viện?

3 / 30

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

Tags: Bộ đề 06

Câu 3: Giả sử bạn đã nhập thư viện `math` bằng lệnh `import math`. Để tính giá trị sin của góc `x` (đơn vị radian), cú pháp gọi hàm đúng là gì?

4 / 30

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

Tags: Bộ đề 06

Câu 4: Lệnh nhập thư viện `import math as m` có ý nghĩa gì?

5 / 30

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

Tags: Bộ đề 06

Câu 5: Đoạn mã sau sẽ in ra kết quả gì?
```python
import math
print(math.floor(3.7) + math.ceil(3.2))
```

6 / 30

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

Tags: Bộ đề 06

Câu 6: Việc sử dụng lệnh `from module import *` để nhập tất cả các tên từ một module vào không gian tên hiện tại tiềm ẩn rủi ro gì?

7 / 30

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

Tags: Bộ đề 06

Câu 7: Bạn cần sử dụng hàm `sqrt` và `pow` từ thư viện `math`. Lệnh nhập nào dưới đây hiệu quả nhất nếu bạn chỉ muốn sử dụng hai hàm này và gọi chúng trực tiếp bằng tên?

8 / 30

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

Tags: Bộ đề 06

Câu 8: Đâu là lợi ích chính của việc tổ chức mã nguồn thành các thư viện (modules)?

9 / 30

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

Tags: Bộ đề 06

Câu 9: Bạn có một tệp Python tên là `my_utils.py` chứa một hàm tên là `greet(name)`. Để sử dụng hàm này trong một tệp Python khác nằm cùng thư mục, bạn sẽ nhập nó như thế nào?

10 / 30

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

Tags: Bộ đề 06

Câu 10: Sau khi thực hiện lệnh `import my_utils` như ở Câu 9, để gọi hàm `greet` với tham số 'Alice', cú pháp nào dưới đây là đúng?

11 / 30

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

Tags: Bộ đề 06

Câu 11: Nếu bạn đã nhập hàm `greet` từ `my_utils.py` bằng lệnh `from my_utils import greet`, cú pháp gọi hàm đúng là gì?

12 / 30

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

Tags: Bộ đề 06

Câu 12: Một dự án phần mềm lớn được chia thành nhiều tệp `.py` nhỏ hơn, mỗi tệp chứa các hàm và lớp liên quan đến một chức năng cụ thể (ví dụ: xử lý dữ liệu, giao diện người dùng, kết nối cơ sở dữ liệu). Cách tiếp cận này minh họa cho nguyên tắc thiết kế chương trình nào?

13 / 30

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

Tags: Bộ đề 06

Câu 13: Khi sử dụng một hàm từ thư viện, điều quan trọng nhất mà lập trình viên cần biết là gì?

14 / 30

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

Tags: Bộ đề 06

Câu 14: Bạn đang viết một chương trình và cần làm tròn số 4.9 xuống số nguyên gần nhất. Hàm nào trong thư viện `math` của Python thực hiện chức năng này?

15 / 30

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

Tags: Bộ đề 06

Câu 15: Đoạn mã sau có lỗi không? Nếu có, lỗi ở đâu?
```python
from math import sqrt
import math
print(math.sqrt(16))
```

16 / 30

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

Tags: Bộ đề 06

Câu 16: Giả sử bạn có một module `constants.py` chứa biến `PI = 3.14159`. Để sử dụng biến `PI` trong chương trình chính sau khi nhập module bằng `import constants`, bạn sẽ truy cập biến này như thế nào?

17 / 30

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

Tags: Bộ đề 06

Câu 17: Khi một module được nhập lần đầu tiên trong một chương trình Python, điều gì xảy ra?

18 / 30

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

Tags: Bộ đề 06

Câu 18: Tại sao việc sử dụng thư viện thay vì viết lại mã giúp giảm thiểu lỗi trong chương trình?

19 / 30

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

Tags: Bộ đề 06

Câu 19: Bạn muốn viết một module Python để chứa các hàm xử lý chuỗi thường dùng. Các hàm này sẽ được sử dụng trong nhiều chương trình khác nhau. Bạn nên lưu các hàm này vào đâu?

20 / 30

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

Tags: Bộ đề 06

Câu 20: Giả sử bạn có một module `my_module.py` chứa một hàm `calculate(a, b)`. Bạn muốn nhập module này và đặt tên gọi tắt là `mm`. Lệnh nào sau đây thực hiện điều đó?

21 / 30

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

Tags: Bộ đề 06

Câu 21: Đoạn mã sau sẽ gây ra lỗi gì?
```python
from math import pi
print(math.pi)
```

22 / 30

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

Tags: Bộ đề 06

Câu 22: Lệnh `from math import sqrt as square_root` có ý nghĩa gì?

23 / 30

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

Tags: Bộ đề 06

Câu 23: Giả sử bạn có hai module: `module_a.py` có hàm `process()` và `module_b.py` cũng có hàm `process()`. Nếu bạn nhập cả hai module bằng `from module_a import process` và `from module_b import process` (theo thứ tự đó), khi gọi `process()`, hàm nào sẽ được thực thi?

24 / 30

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

Tags: Bộ đề 06

Câu 24: Để tránh xung đột tên như mô tả ở Câu 23 khi nhập các hàm có tên trùng lặp từ các module khác nhau, phương pháp nhập nào thường được khuyến khích sử dụng?

25 / 30

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

Tags: Bộ đề 06

Câu 25: Bạn cần tính giá trị tuyệt đối của một số. Hàm nào trong thư viện chuẩn của Python (không cần nhập thêm thư viện đặc biệt như math) có thể làm điều này?

26 / 30

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

Tags: Bộ đề 06

Câu 26: Việc sử dụng thư viện giúp tăng khả năng bảo trì (maintenance) chương trình như thế nào?

27 / 30

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

Tags: Bộ đề 06

Câu 27: Đoạn mã sau sẽ in ra kết quả gì?
```python
import math
angle_degrees = 90
angle_radians = math.radians(angle_degrees)
print(math.sin(angle_radians))
```

28 / 30

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

Tags: Bộ đề 06

Câu 28: Bạn cần sử dụng một hàm được viết bởi người khác và đóng gói thành một module. Bạn không cần biết chi tiết mã bên trong hàm đó hoạt động như thế nào, chỉ cần biết cách gọi nó và kết quả trả về. Đây là một ví dụ về nguyên tắc nào trong lập trình?

29 / 30

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

Tags: Bộ đề 06

Câu 29: Khi bạn tạo một tệp Python (`.py`) mới, nó tự động trở thành một loại đơn vị tổ chức mã nào trong Python, có thể được nhập vào các chương trình khác?

30 / 30

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

Tags: Bộ đề 06

Câu 30: Giả sử bạn đã viết một module `geometry.py` chứa hàm `area_circle(radius)` và `area_rectangle(width, height)`. Trong chương trình chính, bạn chỉ cần sử dụng hàm tính diện tích hình tròn. Lệnh nhập nào là phù hợp nhất?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 07 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong lập trình, khái niệm "thư viện" (library) hoặc "mô-đun" (module) đóng vai trò quan trọng. Chức năng cốt lõi nhất của việc sử dụng thư viện là gì?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Bảo vệ mã nguồn khỏi bị sao chép.
  • C. Cung cấp các chức năng có sẵn để tái sử dụng trong nhiều chương trình.
  • D. Chỉ dùng để quản lý các tập tin dữ liệu.

Câu 2: Bạn đang viết một chương trình Python cần sử dụng hàm tính căn bậc hai (`sqrt`) từ thư viện chuẩn `math`. Lệnh `import` nào sau đây là phù hợp và cách gọi hàm `sqrt` nào là đúng sau khi import?

  • A. `from math import sqrt` và gọi `math.sqrt(16)`
  • B. `import math` và gọi `math.sqrt(16)`
  • C. `import sqrt from math` và gọi `sqrt(16)`
  • D. `from math import *` và gọi `math.sqrt(16)`

Câu 3: Khi sử dụng lệnh `from my_module import my_function`, điều gì xảy ra với không gian tên (namespace) của chương trình hiện tại so với lệnh `import my_module`?

  • A. Chỉ tên `my_function` được thêm vào không gian tên hiện tại, không phải toàn bộ tên `my_module`.
  • B. Toàn bộ nội dung của `my_module` được thêm vào không gian tên hiện tại.
  • C. Không có gì được thêm vào không gian tên hiện tại cho đến khi hàm được gọi.
  • D. Tên `my_module` và `my_function` đều được thêm vào không gian tên hiện tại.

Câu 4: Bạn đã viết một tệp Python tên là `utils.py` chứa một hàm `def greet(name): print(f"Hello, {name}!")`. Trong một tệp Python khác, làm thế nào để gọi hàm `greet` từ `utils.py`?

  • A. Sao chép toàn bộ mã hàm `greet` từ `utils.py` vào tệp hiện tại.
  • B. Chạy tệp `utils.py` trước, sau đó gọi `greet("World")` trong tệp hiện tại.
  • C. Sử dụng lệnh `include utils.py` và gọi `greet("World")`.
  • D. Sử dụng lệnh `import utils` và gọi `utils.greet("World")`.

Câu 5: Lệnh `from my_module import *` có ưu điểm và nhược điểm gì so với các lệnh import khác như `import my_module` hoặc `from my_module import specific_item`?

  • A. Ưu điểm: Mã ngắn gọn hơn. Nhược điểm: Có thể gây xung đột tên và khó xác định nguồn gốc của các thành phần.
  • B. Ưu điểm: Tăng tốc độ thực thi chương trình. Nhược điểm: Tăng dung lượng bộ nhớ sử dụng.
  • C. Ưu điểm: Chỉ nhập các thành phần cần thiết. Nhược điểm: Phải liệt kê rõ ràng từng thành phần.
  • D. Ưu điểm: Dễ dàng gỡ lỗi. Nhược điểm: Không thể sử dụng alias.

Câu 6: Bạn đang sử dụng một thư viện có tên rất dài là `statistical_analysis_toolkit`. Để làm cho mã nguồn dễ đọc và ngắn gọn hơn khi gọi các hàm từ thư viện này, bạn nên sử dụng cú pháp import nào?

  • A. `from statistical_analysis_toolkit import *`
  • B. `from statistical_analysis_toolkit import some_function`
  • C. `import statistical_analysis_toolkit as sat`
  • D. `include statistical_analysis_toolkit`

Câu 7: Giả sử bạn có một mô-đun tên là `data_structures.py` chứa định nghĩa của một lớp `LinkedList` và các phương thức thao tác với danh sách liên kết đó (như `insert_head`, `delete_tail`, `find_node`). Để tạo một đối tượng danh sách liên kết mới và thêm một phần tử vào đầu danh sách trong một chương trình khác, bạn sẽ làm như thế nào?

  • A. `from data_structures import LinkedList, insert_head` sau đó `my_list = LinkedList()` và `insert_head(my_list, value)`.
  • B. `import data_structures.LinkedList, data_structures.insert_head` sau đó `my_list = data_structures.LinkedList()` và `data_structures.insert_head(my_list, value)`.
  • C. `import data_structures` sau đó `my_list = data_structures.LinkedList()` và `my_list.insert_head(value)`.
  • D. Không thể sử dụng các hàm/lớp từ một tệp Python khác theo cách này.

Câu 8: Khi bạn sử dụng `import math` trong Python, điều gì xảy ra với bộ nhớ của chương trình?

  • A. Chỉ một số hàm phổ biến nhất từ thư viện math được tải vào bộ nhớ.
  • B. Toàn bộ nội dung của thư viện math (tất cả hàm, hằng số, v.v.) được tải vào bộ nhớ.
  • C. Không có gì từ thư viện math được tải vào bộ nhớ cho đến khi một hàm cụ thể được gọi.
  • D. Chỉ các tên của các hàm trong math được tải vào bộ nhớ, không phải mã thực thi của chúng.

Câu 9: Bạn gặp lỗi `NameError: name "sin" is not defined` khi cố gắng sử dụng hàm `sin()` trong chương trình của mình. Giả sử bạn muốn sử dụng hàm sin từ thư viện `math`. Nguyên nhân có thể là gì và cách khắc phục?

  • A. Thư viện `math` chưa được cài đặt. Cần cài đặt bằng `pip install math`.
  • B. Hàm `sin` không tồn tại trong thư viện `math`. Cần tìm hàm khác.
  • C. Thư viện `math` chưa được import hoặc được import không đúng cách (ví dụ: chỉ `import math` nhưng lại gọi `sin()`). Cần thêm `from math import sin` hoặc gọi `math.sin()`.
  • D. Biến `sin` đã được sử dụng cho mục đích khác trước đó. Cần đổi tên biến.

Câu 10: Tại sao việc tổ chức mã nguồn thành các mô-đun (tạo thư viện riêng) lại giúp ích cho việc cộng tác làm việc nhóm trong dự án phần mềm?

  • A. Vì mỗi thành viên chỉ cần viết một mô-đun duy nhất.
  • B. Vì mã nguồn trong mô-đun sẽ tự động gỡ lỗi.
  • C. Vì tất cả các mô-đun phải được viết bởi cùng một người.
  • D. Vì các thành viên có thể làm việc độc lập trên các mô-đun khác nhau và dễ dàng tích hợp lại.

Câu 11: Bạn đang sử dụng một thư viện xử lý ảnh tùy chỉnh có tên `image_utils`. Thư viện này có một hàm tên là `apply_filter(image, filter_type)`. Bạn đã import nó bằng lệnh `import image_utils`. Để áp dụng bộ lọc "blur" cho ảnh `my_image`, bạn sẽ viết lệnh nào?

  • A. `apply_filter(my_image, "blur")`
  • B. `image_utils.apply_filter(my_image, "blur")`
  • C. `from image_utils import apply_filter(my_image, "blur")`
  • D. `image_utils.apply_filter("blur", my_image)`

Câu 12: Xét đoạn mã sau:
```python
# File: my_config.py
DEBUG_MODE = True
DATABASE_URL = "localhost"

# File: main_app.py
import my_config

if my_config.DEBUG_MODE:
print("Ứng dụng đang chạy ở chế độ debug.")
print(f"Kết nối cơ sở dữ liệu tại: {my_config.DATABASE_URL}")
```
Đoạn mã này minh họa cho việc sử dụng mô-đun như thế nào?

  • A. Sử dụng mô-đun để định nghĩa các hàm phức tạp.
  • B. Sử dụng mô-đun để tạo giao diện người dùng.
  • C. Sử dụng mô-đun để lưu trữ các cài đặt hoặc hằng số cấu hình.
  • D. Sử dụng mô-đun để xử lý lỗi.

Câu 13: Bạn muốn import hàm `log10` từ thư viện `math` và muốn gọi nó chỉ bằng tên `lg`. Cú pháp nào sau đây cho phép làm điều đó?

  • A. `import math.log10 as lg`
  • B. `import math as lg.log10`
  • C. `from math import log10, lg`
  • D. `from math import log10 as lg`

Câu 14: Điều gì xảy ra nếu bạn cố gắng import một mô-đun Python mà không tồn tại (chưa được cài đặt hoặc tệp không đúng đường dẫn)?

  • A. Chương trình sẽ báo lỗi `ModuleNotFoundError` và dừng lại.
  • B. Chương trình sẽ tự động tìm và tải mô-đun từ internet.
  • C. Chương trình sẽ chạy nhưng các hàm từ mô-đun đó sẽ không hoạt động.
  • D. Trình thông dịch Python sẽ yêu cầu bạn nhập đường dẫn đến mô-đun.

Câu 15: Bạn có một tệp Python tên `my_module.py`. Khi bạn chạy tệp này trực tiếp từ dòng lệnh (`python my_module.py`), biến đặc biệt `__name__` trong tệp đó sẽ có giá trị là gì?

  • A. Tên của tệp, tức là `"my_module.py"`
  • B. Tên của mô-đun, tức là `"my_module"`
  • C. Chuỗi đặc biệt `"__main__"`
  • D. `None`

Câu 16: Giả sử bạn đang phát triển một ứng dụng quản lý sinh viên. Bạn cần thực hiện các thao tác như thêm sinh viên, xóa sinh viên, tìm kiếm sinh viên dựa trên mã số. Để tổ chức mã nguồn một cách hiệu quả và dễ tái sử dụng, bạn nên làm gì với các hàm thực hiện các thao tác này?

  • A. Viết tất cả các hàm này vào tệp chính của ứng dụng.
  • B. Nhóm các hàm này vào một hoặc nhiều mô-đun riêng biệt (tệp `.py`) và import chúng khi cần.
  • C. Lưu các hàm này trong một tệp văn bản và sao chép dán khi cần sử dụng.
  • D. Định nghĩa lại các hàm này mỗi khi cần sử dụng ở một phần khác của chương trình.

Câu 17: Thư viện chuẩn Python (Python Standard Library) là gì?

  • A. Một bộ sưu tập các thư viện do người dùng tự viết và chia sẻ.
  • B. Các thư viện chỉ dùng để phát triển ứng dụng web.
  • C. Các thư viện phải được mua bản quyền để sử dụng.
  • D. Tập hợp các mô-đun được cài đặt sẵn khi bạn cài đặt Python, cung cấp các chức năng phổ biến.

Câu 18: Tại sao việc sử dụng thư viện thay vì tự viết lại tất cả các chức năng từ đầu lại quan trọng trong phát triển phần mềm chuyên nghiệp?

  • A. Tiết kiệm thời gian phát triển, tận dụng mã đã được kiểm thử, giảm thiểu lỗi và tăng hiệu quả.
  • B. Giúp mã nguồn trở nên phức tạp hơn để người khác khó hiểu.
  • C. Chỉ áp dụng cho các dự án nhỏ.
  • D. Bắt buộc phải trả phí để sử dụng các chức năng.

Câu 19: Giả sử bạn có một mô-đun `calculations.py` chứa hàm `add(a, b)` và `subtract(a, b)`. Bạn muốn import cả hai hàm này nhưng muốn gọi hàm `add` bằng tên `tong` và hàm `subtract` bằng tên `hieu`. Cú pháp import nào đúng?

  • A. `import calculations.add as tong, calculations.subtract as hieu`
  • B. `from calculations import (add as tong, subtract as hieu)`
  • C. `from calculations import add as tong, subtract as hieu`
  • D. `import calculations as tong, hieu`

Câu 20: Trong mô hình danh sách liên kết được sử dụng làm ví dụ trong bài học để minh họa việc đóng gói cấu trúc dữ liệu và thao tác vào mô-đun, mỗi "node" (nút) thường chứa những thành phần thông tin cơ bản nào?

  • A. Dữ liệu của phần tử và con trỏ (tham chiếu) đến phần tử tiếp theo.
  • B. Dữ liệu của phần tử và con trỏ đến phần tử đầu tiên của danh sách.
  • C. Chỉ chứa dữ liệu của phần tử.
  • D. Con trỏ đến phần tử đầu tiên và con trỏ đến phần tử cuối cùng.

Câu 21: Giả sử trong mô-đun `my_list_lib` có hàm `delete_first(list_obj)` để xóa phần tử đầu tiên của danh sách liên kết. Nếu bạn gọi hàm này trên một danh sách rỗng, điều gì có khả năng xảy ra nhất nếu hàm được viết để xử lý trường hợp này?

  • A. Chương trình sẽ báo lỗi `IndexError`.
  • B. Chương trình sẽ báo lỗi `KeyError`.
  • C. Hàm sẽ không thực hiện thao tác xóa nào và có thể trả về một giá trị chỉ báo lỗi hoặc không làm gì cả.
  • D. Hàm sẽ xóa toàn bộ chương trình.

Câu 22: Bạn đang sử dụng một thư viện xử lý số liệu thống kê `stats_toolkit` được import bằng `import stats_toolkit as st`. Thư viện này có hàm `calculate_average(data_list)`. Nếu bạn có một danh sách số `my_data = [10, 20, 30]`, lệnh nào tính trung bình của danh sách này?

  • A. `stats_toolkit.calculate_average(my_data)`
  • B. `calculate_average(my_data)`
  • C. `st.calculate_average([10, 20, 30])`
  • D. `st.calculate_average(my_data)`

Câu 23: Bạn muốn tạo một thư viện Python đơn giản của riêng mình chứa một hàm duy nhất là `is_prime(number)` kiểm tra số nguyên tố. Bạn sẽ làm gì đầu tiên?

  • A. Cài đặt một công cụ tạo thư viện đặc biệt.
  • B. Tạo một tệp Python mới (ví dụ: `prime_utils.py`) và định nghĩa hàm `is_prime` trong đó.
  • C. Đăng ký tên thư viện của bạn trên PyPI (Python Package Index).
  • D. Viết mã nguồn của hàm `is_prime` trực tiếp trong trình thông dịch Python.

Câu 24: Lợi ích của việc đóng gói các chức năng liên quan vào một mô-đun (thư viện) là gì? Chọn phát biểu đúng nhất.

  • A. Tăng tính tổ chức, dễ bảo trì, tái sử dụng và giảm sự phức tạp của mã nguồn chính.
  • B. Bắt buộc phải sử dụng các ngôn ngữ lập trình khác ngoài Python.
  • C. Chỉ làm cho mã nguồn chạy chậm hơn.
  • D. Giảm khả năng tìm thấy lỗi trong chương trình.

Câu 25: Trong Python, khi bạn import một mô-đun lần đầu tiên trong một phiên làm việc, điều gì xảy ra?

  • A. Chỉ tên của mô-đun được ghi nhớ.
  • B. Tất cả các hàm trong mô-đun được thực thi ngay lập tức.
  • C. Python bỏ qua lệnh import nếu mô-đun chưa được sử dụng.
  • D. Mã nguồn của mô-đun được thực thi và đối tượng mô-đun được tạo trong bộ nhớ.

Câu 26: Giả sử bạn có một mô-đun `geometry.py` chứa hàm `circle_area(radius)` và `rectangle_area(width, height)`. Bạn chỉ cần sử dụng hàm `circle_area` trong chương trình của mình. Lệnh import nào là tốt nhất để sử dụng trong trường hợp này về mặt hiệu quả và rõ ràng?

  • A. `import geometry`
  • B. `from geometry import circle_area`
  • C. `from geometry import *`
  • D. `import geometry as g`

Câu 27: Bạn phát hiện một lỗi trong hàm `process_data` của mô-đun `data_processor.py` mà bạn đã viết. Hàm này đang được sử dụng trong 10 tệp chương trình khác nhau. Bạn nên sửa lỗi ở đâu để đảm bảo tất cả các chương trình sử dụng hàm này đều được cập nhật?

  • A. Sửa lỗi trực tiếp trong tệp nguồn `data_processor.py`.
  • B. Sửa lỗi trong mỗi tệp chương trình gọi hàm `process_data`.
  • C. Tạo một hàm mới với tên khác và sử dụng hàm mới đó.
  • D. Không cần sửa lỗi, vì các chương trình khác nhau sẽ xử lý lỗi theo cách riêng.

Câu 28: Trong mô hình danh sách liên kết được giới thiệu, thao tác "tìm kiếm một phần tử theo khóa (key)" thường được thực hiện bằng cách nào?

  • A. Truy cập trực tiếp đến phần tử bằng chỉ số (index).
  • B. Duyệt qua danh sách từ đầu đến cuối, so sánh khóa của từng node với khóa cần tìm.
  • C. Sử dụng thuật toán tìm kiếm nhị phân.
  • D. Chỉ có thể tìm kiếm phần tử đầu tiên hoặc cuối cùng.

Câu 29: Giả sử bạn đã import một mô-đun `my_module` và muốn xem danh sách tất cả các tên (hàm, biến, lớp, v.v.) có sẵn trong mô-đun đó. Bạn có thể sử dụng hàm dựng sẵn nào của Python?

  • A. `dir(my_module)`
  • B. `help(my_module)`
  • C. `list(my_module)`
  • D. `info(my_module)`

Câu 30: Việc sử dụng alias khi import (ví dụ: `import numpy as np`) mang lại lợi ích gì chính?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Chỉ import các hàm cần thiết.
  • C. Làm cho mã nguồn ngắn gọn và dễ đọc hơn, đặc biệt với các tên module dài.
  • D. Ngăn chặn xung đột tên với các module khác.

1 / 30

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

Tags: Bộ đề 07

Câu 1: Trong lập trình, khái niệm 'thư viện' (library) hoặc 'mô-đun' (module) đóng vai trò quan trọng. Chức năng cốt lõi nhất của việc sử dụng thư viện là gì?

2 / 30

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

Tags: Bộ đề 07

Câu 2: Bạn đang viết một chương trình Python cần sử dụng hàm tính căn bậc hai (`sqrt`) từ thư viện chuẩn `math`. Lệnh `import` nào sau đây là phù hợp và cách gọi hàm `sqrt` nào là đúng sau khi import?

3 / 30

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

Tags: Bộ đề 07

Câu 3: Khi sử dụng lệnh `from my_module import my_function`, điều gì xảy ra với không gian tên (namespace) của chương trình hiện tại so với lệnh `import my_module`?

4 / 30

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

Tags: Bộ đề 07

Câu 4: Bạn đã viết một tệp Python tên là `utils.py` chứa một hàm `def greet(name): print(f'Hello, {name}!')`. Trong một tệp Python khác, làm thế nào để gọi hàm `greet` từ `utils.py`?

5 / 30

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

Tags: Bộ đề 07

Câu 5: Lệnh `from my_module import *` có ưu điểm và nhược điểm gì so với các lệnh import khác như `import my_module` hoặc `from my_module import specific_item`?

6 / 30

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

Tags: Bộ đề 07

Câu 6: Bạn đang sử dụng một thư viện có tên rất dài là `statistical_analysis_toolkit`. Để làm cho mã nguồn dễ đọc và ngắn gọn hơn khi gọi các hàm từ thư viện này, bạn nên sử dụng cú pháp import nào?

7 / 30

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

Tags: Bộ đề 07

Câu 7: Giả sử bạn có một mô-đun tên là `data_structures.py` chứa định nghĩa của một lớp `LinkedList` và các phương thức thao tác với danh sách liên kết đó (như `insert_head`, `delete_tail`, `find_node`). Để tạo một đối tượng danh sách liên kết mới và thêm một phần tử vào đầu danh sách trong một chương trình khác, bạn sẽ làm như thế nào?

8 / 30

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

Tags: Bộ đề 07

Câu 8: Khi bạn sử dụng `import math` trong Python, điều gì xảy ra với bộ nhớ của chương trình?

9 / 30

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

Tags: Bộ đề 07

Câu 9: Bạn gặp lỗi `NameError: name 'sin' is not defined` khi cố gắng sử dụng hàm `sin()` trong chương trình của mình. Giả sử bạn muốn sử dụng hàm sin từ thư viện `math`. Nguyên nhân có thể là gì và cách khắc phục?

10 / 30

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

Tags: Bộ đề 07

Câu 10: Tại sao việc tổ chức mã nguồn thành các mô-đun (tạo thư viện riêng) lại giúp ích cho việc cộng tác làm việc nhóm trong dự án phần mềm?

11 / 30

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

Tags: Bộ đề 07

Câu 11: Bạn đang sử dụng một thư viện xử lý ảnh tùy chỉnh có tên `image_utils`. Thư viện này có một hàm tên là `apply_filter(image, filter_type)`. Bạn đã import nó bằng lệnh `import image_utils`. Để áp dụng bộ lọc 'blur' cho ảnh `my_image`, bạn sẽ viết lệnh nào?

12 / 30

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

Tags: Bộ đề 07

Câu 12: Xét đoạn mã sau:
```python
# File: my_config.py
DEBUG_MODE = True
DATABASE_URL = 'localhost'

# File: main_app.py
import my_config

if my_config.DEBUG_MODE:
print('Ứng dụng đang chạy ở chế độ debug.')
print(f'Kết nối cơ sở dữ liệu tại: {my_config.DATABASE_URL}')
```
Đoạn mã này minh họa cho việc sử dụng mô-đun như thế nào?

13 / 30

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

Tags: Bộ đề 07

Câu 13: Bạn muốn import hàm `log10` từ thư viện `math` và muốn gọi nó chỉ bằng tên `lg`. Cú pháp nào sau đây cho phép làm điều đó?

14 / 30

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

Tags: Bộ đề 07

Câu 14: Điều gì xảy ra nếu bạn cố gắng import một mô-đun Python mà không tồn tại (chưa được cài đặt hoặc tệp không đúng đường dẫn)?

15 / 30

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

Tags: Bộ đề 07

Câu 15: Bạn có một tệp Python tên `my_module.py`. Khi bạn chạy tệp này trực tiếp từ dòng lệnh (`python my_module.py`), biến đặc biệt `__name__` trong tệp đó sẽ có giá trị là gì?

16 / 30

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

Tags: Bộ đề 07

Câu 16: Giả sử bạn đang phát triển một ứng dụng quản lý sinh viên. Bạn cần thực hiện các thao tác như thêm sinh viên, xóa sinh viên, tìm kiếm sinh viên dựa trên mã số. Để tổ chức mã nguồn một cách hiệu quả và dễ tái sử dụng, bạn nên làm gì với các hàm thực hiện các thao tác này?

17 / 30

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

Tags: Bộ đề 07

Câu 17: Thư viện chuẩn Python (Python Standard Library) là gì?

18 / 30

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

Tags: Bộ đề 07

Câu 18: Tại sao việc sử dụng thư viện thay vì tự viết lại tất cả các chức năng từ đầu lại quan trọng trong phát triển phần mềm chuyên nghiệp?

19 / 30

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

Tags: Bộ đề 07

Câu 19: Giả sử bạn có một mô-đun `calculations.py` chứa hàm `add(a, b)` và `subtract(a, b)`. Bạn muốn import cả hai hàm này nhưng muốn gọi hàm `add` bằng tên `tong` và hàm `subtract` bằng tên `hieu`. Cú pháp import nào đúng?

20 / 30

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

Tags: Bộ đề 07

Câu 20: Trong mô hình danh sách liên kết được sử dụng làm ví dụ trong bài học để minh họa việc đóng gói cấu trúc dữ liệu và thao tác vào mô-đun, mỗi 'node' (nút) thường chứa những thành phần thông tin cơ bản nào?

21 / 30

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

Tags: Bộ đề 07

Câu 21: Giả sử trong mô-đun `my_list_lib` có hàm `delete_first(list_obj)` để xóa phần tử đầu tiên của danh sách liên kết. Nếu bạn gọi hàm này trên một danh sách rỗng, điều gì có khả năng xảy ra nhất nếu hàm được viết để xử lý trường hợp này?

22 / 30

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

Tags: Bộ đề 07

Câu 22: Bạn đang sử dụng một thư viện xử lý số liệu thống kê `stats_toolkit` được import bằng `import stats_toolkit as st`. Thư viện này có hàm `calculate_average(data_list)`. Nếu bạn có một danh sách số `my_data = [10, 20, 30]`, lệnh nào tính trung bình của danh sách này?

23 / 30

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

Tags: Bộ đề 07

Câu 23: Bạn muốn tạo một thư viện Python đơn giản của riêng mình chứa một hàm duy nhất là `is_prime(number)` kiểm tra số nguyên tố. Bạn sẽ làm gì đầu tiên?

24 / 30

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

Tags: Bộ đề 07

Câu 24: Lợi ích của việc đóng gói các chức năng liên quan vào một mô-đun (thư viện) là gì? Chọn phát biểu *đúng nhất*.

25 / 30

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

Tags: Bộ đề 07

Câu 25: Trong Python, khi bạn import một mô-đun lần đầu tiên trong một phiên làm việc, điều gì xảy ra?

26 / 30

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

Tags: Bộ đề 07

Câu 26: Giả sử bạn có một mô-đun `geometry.py` chứa hàm `circle_area(radius)` và `rectangle_area(width, height)`. Bạn chỉ cần sử dụng hàm `circle_area` trong chương trình của mình. Lệnh import nào là *tốt nhất* để sử dụng trong trường hợp này về mặt hiệu quả và rõ ràng?

27 / 30

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

Tags: Bộ đề 07

Câu 27: Bạn phát hiện một lỗi trong hàm `process_data` của mô-đun `data_processor.py` mà bạn đã viết. Hàm này đang được sử dụng trong 10 tệp chương trình khác nhau. Bạn nên sửa lỗi ở đâu để đảm bảo tất cả các chương trình sử dụng hàm này đều được cập nhật?

28 / 30

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

Tags: Bộ đề 07

Câu 28: Trong mô hình danh sách liên kết được giới thiệu, thao tác 'tìm kiếm một phần tử theo khóa (key)' thường được thực hiện bằng cách nào?

29 / 30

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

Tags: Bộ đề 07

Câu 29: Giả sử bạn đã import một mô-đun `my_module` và muốn xem danh sách tất cả các tên (hàm, biến, lớp, v.v.) có sẵn trong mô-đun đó. Bạn có thể sử dụng hàm dựng sẵn nào của Python?

30 / 30

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

Tags: Bộ đề 07

Câu 30: Việc sử dụng alias khi import (ví dụ: `import numpy as np`) mang lại lợi ích gì chính?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 08 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Giả sử bạn đang viết một chương trình Python cần tính căn bậc hai và làm tròn số xuống. Thay vì tự viết lại các hàm này, việc sử dụng thư viện chuẩn `math` mang lại lợi ích chính nào?

  • A. Làm cho chương trình chạy nhanh hơn đáng kể.
  • B. Tái sử dụng mã nguồn đã được kiểm thử, giúp tiết kiệm thời gian và giảm lỗi.
  • C. Giảm kích thước tệp mã nguồn của chương trình.
  • D. Bắt buộc phải dùng thư viện chuẩn cho các phép toán cơ bản.

Câu 2: Bạn muốn sử dụng hàm `sqrt` từ thư viện `math` trong chương trình của mình. Lệnh `import` nào sau đây là cách phổ biến nhất và được khuyến khích để làm điều này, đồng thời tránh xung đột tên gọi nếu có hàm `sqrt` khác trong chương trình của bạn?

  • A. `import math` sau đó gọi `math.sqrt(...)`
  • B. `from math import sqrt` sau đó gọi `sqrt(...)`
  • C. `import math as m` sau đó gọi `m.sqrt(...)`
  • D. `import * from math` sau đó gọi `sqrt(...)`

Câu 3: Xem đoạn mã sau:
```python
from math import floor, ceil

x = 4.7
y = -2.3

print(floor(x) + ceil(y))
```
Kết quả hiển thị trên màn hình là gì?

  • A. 2.0
  • B. 3
  • C. 2
  • D. 1.0

Câu 4: Bạn cần sử dụng hàm `sin` và `cos` từ thư viện `math`, nhưng muốn gọi chúng ngắn gọn hơn là `sin` và `cos` (không cần tiền tố `math.`). Lệnh `import` nào phù hợp nhất?

  • A. `import math`
  • B. `import math as m`
  • C. `from math import sin, cos`
  • D. `from math import *`

Câu 5: Khi sử dụng lệnh `from ten_thu_vien import *`, điều gì có thể xảy ra nếu chương trình của bạn đã có một hàm hoặc biến cùng tên với một phần tử trong thư viện?

  • A. Chương trình sẽ báo lỗi cú pháp ngay lập tức.
  • B. Chương trình sẽ tự động đổi tên phần tử trong thư viện để tránh xung đột.
  • C. Phần tử trong thư viện sẽ bị bỏ qua và không được nhập vào bộ nhớ.
  • D. Có thể xảy ra xung đột tên (name collision), khiến chương trình sử dụng nhầm phần tử.

Câu 6: Giả sử bạn đã tạo một tệp Python tên là `my_utils.py` chứa các hàm hữu ích. Trong một tệp Python khác cùng thư mục, làm thế nào để bạn có thể gọi một hàm tên là `process_data` từ tệp `my_utils.py`?

  • A. Chỉ cần gọi `process_data()`
  • B. Sử dụng `import my_utils` sau đó gọi `my_utils.process_data()`
  • C. Sử dụng `from my_utils import process_data` sau đó gọi `my_utils.process_data()`
  • D. Sử dụng `include my_utils` sau đó gọi `process_data()`

Câu 7: Mục đích chính của việc sử dụng bí danh (alias) khi nhập thư viện, ví dụ: `import math as m`, là gì?

  • A. Giúp mã nguồn ngắn gọn hơn khi sử dụng các thành phần của thư viện, đặc biệt với tên thư viện dài.
  • B. Tăng tốc độ thực thi chương trình.
  • C. Chỉ nhập một phần nhỏ của thư viện để tiết kiệm bộ nhớ.
  • D. Bảo vệ mã nguồn của thư viện khỏi bị thay đổi.

Câu 8: Bạn cần tính giá trị arcsin (sin nghịch đảo) của một số. Hàm nào từ thư viện `math` của Python bạn sẽ sử dụng?

  • A. math.sin()
  • B. math.asin()
  • C. math.arcsin()
  • D. math.inverse_sin()

Câu 9: Khi bạn chạy một chương trình Python và gặp lỗi `NameError: name "..." is not defined`, nguyên nhân phổ biến liên quan đến thư viện là gì?

  • A. Thư viện bạn muốn sử dụng không tồn tại trên hệ thống.
  • B. Bạn đã nhập toàn bộ thư viện bằng `import *`.
  • C. Bạn đã sử dụng tên hàm/biến từ thư viện mà chưa nhập thư viện hoặc nhập sai cách.
  • D. Chương trình của bạn quá dài.

Câu 10: Xem xét đoạn mã sau:
```python
import math

radius = 5
area = math.pi * radius**2

print(f

  • A. Một hằng số được định nghĩa sẵn trong thư viện `math`.
  • B. Một hàm tính toán giá trị Pi.
  • C. Tên của thư viện `math`.
  • D. Một biến được người dùng định nghĩa trước đó.

Câu 11: Giả sử bạn cần sử dụng hàm `log10` (logarit cơ số 10) từ thư viện `math`. Cách nhập nào sau đây giúp bạn gọi hàm này trực tiếp bằng tên `log10` mà không cần tiền tố `math.`?

  • A. `import math`
  • B. `from math import log10`
  • C. `import math.log10`
  • D. `from math import * as log10`

Câu 12: Trong ví dụ về cấu trúc dữ liệu Danh sách liên kết trong bài học, mỗi "node" (nút) thường bao gồm những thành phần cơ bản nào để lưu trữ dữ liệu và duy trì cấu trúc liên kết?

  • A. Chỉ có dữ liệu (data).
  • B. Dữ liệu (data) và chỉ số vị trí (index).
  • C. Chỉ có con trỏ (pointer) đến node tiếp theo.
  • D. Dữ liệu (data) và con trỏ (pointer) đến node tiếp theo.

Câu 13: Giả sử bạn có một danh sách liên kết `L` và muốn thêm một phần tử mới có giá trị `vào_dau` vào vị trí đầu tiên của danh sách. Thao tác này trong cấu trúc danh sách liên kết thường đòi hỏi những bước logic nào?

  • A. Tìm node cuối cùng, cập nhật con trỏ của nó trỏ đến node mới.
  • B. Tìm node ở vị trí cần chèn, cập nhật con trỏ của node trước đó và node mới.
  • C. Tạo node mới, đặt con trỏ của node mới trỏ đến node đầu tiên hiện tại, cập nhật con trỏ đầu danh sách (head) trỏ đến node mới.
  • D. Chỉ cần cập nhật con trỏ đầu danh sách (head) trỏ đến node mới.

Câu 14: Xét thao tác xóa phần tử đầu tiên trong một danh sách liên kết không rỗng. Bước quan trọng nhất để đảm bảo danh sách vẫn hợp lệ sau khi xóa là gì?

  • A. Cập nhật con trỏ đầu danh sách (head) trỏ đến node thứ hai (node tiếp theo của node đầu tiên cũ).
  • B. Tìm node cuối cùng và cập nhật con trỏ của nó.
  • C. Tìm node cần xóa và đặt con trỏ của node trước đó trỏ qua nó.
  • D. Đặt con trỏ của node đầu tiên cũ thành `None`.

Câu 15: Tại sao việc tổ chức mã nguồn thành các thư viện (module) lại quan trọng trong phát triển phần mềm quy mô lớn?

  • A. Vì Python bắt buộc phải sử dụng thư viện cho mọi chức năng.
  • B. Chỉ để làm cho mã nguồn trông chuyên nghiệp hơn.
  • C. Để mã nguồn không thể bị sao chép.
  • D. Giúp quản lý, bảo trì mã dễ dàng hơn, tăng khả năng tái sử dụng và cho phép làm việc nhóm hiệu quả.

Câu 16: Bạn đã nhập thư viện `math` bằng lệnh `import math`. Bây giờ, bạn muốn tính logarit tự nhiên (cơ số e) của một số `x`. Cách gọi hàm đúng là gì?

  • A. log(x)
  • B. math.log_e(x)
  • C. math.log(x)
  • D. ln(x)

Câu 17: Xem xét đoạn mã sau:
```python
import math as toan_hoc

ket_qua = toan_hoc.pow(2, 3)

print(ket_qua)
```
Kết quả hiển thị trên màn hình là gì?

  • A. 8.0
  • B. 6
  • C. 8
  • D. Lỗi do sử dụng bí danh.

Câu 18: Giả sử bạn đang xây dựng một chương trình xử lý chuỗi và muốn tạo một mô-đun riêng tên là `string_utils.py` chứa các hàm như `dao_nguoc_chuoi`, `dem_ky_tu`. Để sử dụng các hàm này trong tệp chương trình chính, bạn cần làm gì?

  • A. Sao chép toàn bộ mã nguồn từ `string_utils.py` vào tệp chương trình chính.
  • B. Không cần làm gì, Python tự động nhận diện các tệp .py trong cùng thư mục.
  • C. Chỉ cần khai báo tên mô-đun ở đầu tệp chương trình chính.
  • D. Sử dụng lệnh `import string_utils` hoặc `from string_utils import ...` trong tệp chương trình chính.

Câu 19: Lệnh `from math import *` có nhược điểm gì so với `import math` khi sử dụng trong chương trình lớn?

  • A. Nó làm chương trình chạy chậm hơn.
  • B. Dễ gây xung đột tên gọi (name collision) với các biến hoặc hàm đã tồn tại trong chương trình.
  • C. Không thể sử dụng được tất cả các hàm trong thư viện.
  • D. Yêu cầu phải viết tiền tố tên thư viện khi gọi hàm.

Câu 20: Xem xét một danh sách liên kết được biểu diễn bằng các node nối tiếp nhau. Để tìm kiếm một phần tử có giá trị cụ thể trong danh sách này, bạn thường phải thực hiện thao tác nào?

  • A. Truy cập trực tiếp vào vị trí của phần tử (như mảng).
  • B. Sắp xếp lại danh sách trước khi tìm kiếm.
  • C. Duyệt qua từng node từ đầu danh sách cho đến khi tìm thấy phần tử hoặc hết danh sách.
  • D. Tính toán vị trí của phần tử dựa trên giá trị của nó.

Câu 21: Giả sử bạn đã nhập một hàm từ thư viện bằng lệnh `from ten_thu_vien import ten_ham`. Sau đó, bạn muốn sử dụng hàm này. Cách gọi hàm đúng là gì?

  • A. Gọi trực tiếp `ten_ham(...)`
  • B. Gọi `ten_thu_vien.ten_ham(...)`
  • C. Gọi `import.ten_ham(...)`
  • D. Gọi `from.ten_ham(...)`

Câu 22: Khi nào thì việc sử dụng lệnh `from ten_thu_vien import ten_ham_cu_the` có lợi thế hơn so với `import ten_thu_vien`?

  • A. Khi bạn muốn sử dụng tất cả các hàm trong thư viện.
  • B. Khi tên thư viện rất ngắn.
  • C. Khi bạn muốn tạo bí danh cho thư viện.
  • D. Khi bạn chỉ cần sử dụng một hoặc vài hàm cụ thể từ thư viện và muốn gọi chúng trực tiếp bằng tên hàm.

Câu 23: Xem đoạn mã sau:
```python
import math

def sqrt(x):
return x * x

print(math.sqrt(16))
print(sqrt(4))
```
Kết quả của hai lệnh `print` là gì?

  • A. 4.0
    4.0
  • B. 4.0
    16
  • C. 16
    4.0
  • D. Lỗi do định nghĩa lại hàm `sqrt`.

Câu 24: Giả sử bạn cần tính giá trị hoán vị P(n, k) = n! / (n-k)!. Hàm nào trong thư viện `math` của Python có thể giúp bạn thực hiện phép tính này một cách hiệu quả?

  • A. math.factorial()
  • B. math.comb()
  • C. math.perm()
  • D. math.gcd()

Câu 25: Khi bạn phát triển một tập hợp các hàm liên quan đến nhau cho một dự án, việc đóng gói chúng vào một tệp `.py` riêng biệt để sử dụng như một mô-đun/thư viện mang lại lợi ích gì về cấu trúc dự án?

  • A. Tổ chức mã nguồn rõ ràng, dễ quản lý và tìm kiếm.
  • B. Giảm số lượng dòng mã trong toàn bộ dự án.
  • C. Bắt buộc phải sử dụng lập trình hướng đối tượng.
  • D. Ngăn chặn người khác xem mã nguồn của bạn.

Câu 26: Trong cấu trúc danh sách liên kết, con trỏ `head` (hoặc `dau`) có vai trò gì?

  • A. Lưu trữ số lượng phần tử trong danh sách.
  • B. Trỏ đến node đầu tiên của danh sách.
  • C. Trỏ đến node cuối cùng của danh sách.
  • D. Lưu trữ giá trị của phần tử đầu tiên.

Câu 27: Giả sử bạn muốn tính giá trị của 2 mũ 8. Bạn có thể sử dụng hàm `pow` từ thư viện `math`. Cách gọi hàm nào sau đây là đúng?

  • A. math.pow(8, 2)
  • B. pow(2, 8)
  • C. math.pow(2, 8)
  • D. math.power(2, 8)

Câu 28: Lợi ích của việc sử dụng các hàm được cung cấp sẵn trong thư viện chuẩn của Python (như `math`, `random`, v.v.) so với việc tự viết các hàm tương tự là gì?

  • A. Các hàm thư viện chuẩn thường được tối ưu hóa về hiệu suất và độ chính xác, và đã được kiểm thử kỹ lưỡng.
  • B. Các hàm thư viện chuẩn luôn ngắn gọn hơn mã tự viết.
  • C. Chỉ có thể sử dụng các hàm thư viện chuẩn trong môi trường phát triển chuyên nghiệp.
  • D. Các hàm thư viện chuẩn tự động xử lý lỗi mà không cần người dùng can thiệp.

Câu 29: Khi bạn thực hiện `from ten_thu_vien import ten_ham`, điều gì xảy ra với các hàm hoặc biến khác trong `ten_thu_vien` mà bạn không nhập?

  • A. Chúng cũng được nhập vào bộ nhớ nhưng không thể truy cập trực tiếp bằng tên.
  • B. Chúng không được nhập vào không gian tên hiện tại của chương trình và không thể sử dụng trực tiếp bằng tên của chúng.
  • C. Chúng bị xóa khỏi thư viện gốc.
  • D. Chúng tự động được gán bí danh.

Câu 30: Giả sử bạn đang làm việc với một danh sách liên kết và cần chèn một phần tử mới vào cuối danh sách. Thao tác này đòi hỏi bạn phải làm gì?

  • A. Chỉ cần cập nhật con trỏ `head`.
  • B. Tìm node đầu tiên và cập nhật con trỏ `next` của nó.
  • C. Duyệt đến node cuối cùng hiện tại, tạo node mới, và cập nhật con trỏ `next` của node cuối cùng đó trỏ đến node mới.
  • D. Sắp xếp lại danh sách.

1 / 30

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

Tags: Bộ đề 08

Câu 1: Giả sử bạn đang viết một chương trình Python cần tính căn bậc hai và làm tròn số xuống. Thay vì tự viết lại các hàm này, việc sử dụng thư viện chuẩn `math` mang lại lợi ích chính nào?

2 / 30

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

Tags: Bộ đề 08

Câu 2: Bạn muốn sử dụng hàm `sqrt` từ thư viện `math` trong chương trình của mình. Lệnh `import` nào sau đây là cách phổ biến nhất và được khuyến khích để làm điều này, đồng thời tránh xung đột tên gọi nếu có hàm `sqrt` khác trong chương trình của bạn?

3 / 30

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

Tags: Bộ đề 08

Câu 3: Xem đoạn mã sau:
```python
from math import floor, ceil

x = 4.7
y = -2.3

print(floor(x) + ceil(y))
```
Kết quả hiển thị trên màn hình là gì?

4 / 30

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

Tags: Bộ đề 08

Câu 4: Bạn cần sử dụng hàm `sin` và `cos` từ thư viện `math`, nhưng muốn gọi chúng ngắn gọn hơn là `sin` và `cos` (không cần tiền tố `math.`). Lệnh `import` nào phù hợp nhất?

5 / 30

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

Tags: Bộ đề 08

Câu 5: Khi sử dụng lệnh `from ten_thu_vien import *`, điều gì có thể xảy ra nếu chương trình của bạn đã có một hàm hoặc biến cùng tên với một phần tử trong thư viện?

6 / 30

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

Tags: Bộ đề 08

Câu 6: Giả sử bạn đã tạo một tệp Python tên là `my_utils.py` chứa các hàm hữu ích. Trong một tệp Python khác cùng thư mục, làm thế nào để bạn có thể gọi một hàm tên là `process_data` từ tệp `my_utils.py`?

7 / 30

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

Tags: Bộ đề 08

Câu 7: Mục đích chính của việc sử dụng bí danh (alias) khi nhập thư viện, ví dụ: `import math as m`, là gì?

8 / 30

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

Tags: Bộ đề 08

Câu 8: Bạn cần tính giá trị arcsin (sin nghịch đảo) của một số. Hàm nào từ thư viện `math` của Python bạn sẽ sử dụng?

9 / 30

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

Tags: Bộ đề 08

Câu 9: Khi bạn chạy một chương trình Python và gặp lỗi `NameError: name '...' is not defined`, nguyên nhân phổ biến liên quan đến thư viện là gì?

10 / 30

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

Tags: Bộ đề 08

Câu 10: Xem xét đoạn mã sau:
```python
import math

radius = 5
area = math.pi * radius**2

print(f"Dien tich hinh tron: {area:.2f}")
```
Thuộc tính `math.pi` được sử dụng ở đây là gì?

11 / 30

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

Tags: Bộ đề 08

Câu 11: Giả sử bạn cần sử dụng hàm `log10` (logarit cơ số 10) từ thư viện `math`. Cách nhập nào sau đây giúp bạn gọi hàm này trực tiếp bằng tên `log10` mà không cần tiền tố `math.`?

12 / 30

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

Tags: Bộ đề 08

Câu 12: Trong ví dụ về cấu trúc dữ liệu Danh sách liên kết trong bài học, mỗi 'node' (nút) thường bao gồm những thành phần cơ bản nào để lưu trữ dữ liệu và duy trì cấu trúc liên kết?

13 / 30

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

Tags: Bộ đề 08

Câu 13: Giả sử bạn có một danh sách liên kết `L` và muốn thêm một phần tử mới có giá trị `vào_dau` vào vị trí đầu tiên của danh sách. Thao tác này trong cấu trúc danh sách liên kết thường đòi hỏi những bước logic nào?

14 / 30

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

Tags: Bộ đề 08

Câu 14: Xét thao tác xóa phần tử đầu tiên trong một danh sách liên kết không rỗng. Bước quan trọng nhất để đảm bảo danh sách vẫn hợp lệ sau khi xóa là gì?

15 / 30

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

Tags: Bộ đề 08

Câu 15: Tại sao việc tổ chức mã nguồn thành các thư viện (module) lại quan trọng trong phát triển phần mềm quy mô lớn?

16 / 30

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

Tags: Bộ đề 08

Câu 16: Bạn đã nhập thư viện `math` bằng lệnh `import math`. Bây giờ, bạn muốn tính logarit tự nhiên (cơ số e) của một số `x`. Cách gọi hàm đúng là gì?

17 / 30

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

Tags: Bộ đề 08

Câu 17: Xem xét đoạn mã sau:
```python
import math as toan_hoc

ket_qua = toan_hoc.pow(2, 3)

print(ket_qua)
```
Kết quả hiển thị trên màn hình là gì?

18 / 30

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

Tags: Bộ đề 08

Câu 18: Giả sử bạn đang xây dựng một chương trình xử lý chuỗi và muốn tạo một mô-đun riêng tên là `string_utils.py` chứa các hàm như `dao_nguoc_chuoi`, `dem_ky_tu`. Để sử dụng các hàm này trong t??p chương trình chính, bạn cần làm gì?

19 / 30

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

Tags: Bộ đề 08

Câu 19: Lệnh `from math import *` có nhược điểm gì so với `import math` khi sử dụng trong chương trình lớn?

20 / 30

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

Tags: Bộ đề 08

Câu 20: Xem xét một danh sách liên kết được biểu diễn bằng các node nối tiếp nhau. Để tìm kiếm một phần tử có giá trị cụ thể trong danh sách này, bạn thường phải thực hiện thao tác nào?

21 / 30

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

Tags: Bộ đề 08

Câu 21: Giả sử bạn đã nhập một hàm từ thư viện bằng lệnh `from ten_thu_vien import ten_ham`. Sau đó, bạn muốn sử dụng hàm này. Cách gọi hàm đúng là gì?

22 / 30

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

Tags: Bộ đề 08

Câu 22: Khi nào thì việc sử dụng lệnh `from ten_thu_vien import ten_ham_cu_the` có lợi thế hơn so với `import ten_thu_vien`?

23 / 30

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

Tags: Bộ đề 08

Câu 23: Xem đoạn mã sau:
```python
import math

def sqrt(x):
return x * x

print(math.sqrt(16))
print(sqrt(4))
```
Kết quả của hai lệnh `print` là gì?

24 / 30

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

Tags: Bộ đề 08

Câu 24: Giả sử bạn cần tính giá trị hoán vị P(n, k) = n! / (n-k)!. Hàm nào trong thư viện `math` của Python có thể giúp bạn thực hiện phép tính này một cách hiệu quả?

25 / 30

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

Tags: Bộ đề 08

Câu 25: Khi bạn phát triển một tập hợp các hàm liên quan đến nhau cho một dự án, việc đóng gói chúng vào một tệp `.py` riêng biệt để sử dụng như một mô-đun/thư viện mang lại lợi ích gì về cấu trúc dự án?

26 / 30

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

Tags: Bộ đề 08

Câu 26: Trong cấu trúc danh sách liên kết, con trỏ `head` (hoặc `dau`) có vai trò gì?

27 / 30

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

Tags: Bộ đề 08

Câu 27: Giả sử bạn muốn tính giá trị của 2 mũ 8. Bạn có thể sử dụng hàm `pow` từ thư viện `math`. Cách gọi hàm nào sau đây là đúng?

28 / 30

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

Tags: Bộ đề 08

Câu 28: Lợi ích của việc sử dụng các hàm được cung cấp sẵn trong thư viện chuẩn của Python (như `math`, `random`, v.v.) so với việc tự viết các hàm tương tự là gì?

29 / 30

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

Tags: Bộ đề 08

Câu 29: Khi bạn thực hiện `from ten_thu_vien import ten_ham`, điều gì xảy ra với các hàm hoặc biến khác trong `ten_thu_vien` mà bạn không nhập?

30 / 30

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

Tags: Bộ đề 08

Câu 30: Giả sử bạn đang làm việc với một danh sách liên kết và cần chèn một phần tử mới vào cuối danh sách. Thao tác này đòi hỏi bạn phải làm gì?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 09 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Trong lập trình Python, mục đích chính của việc sử dụng thư viện (library) là gì?

  • A. Để làm cho mã nguồn dài hơn và phức tạp hơn.
  • B. Để chỉ sử dụng được các hàm toán học.
  • C. Để tái sử dụng các đoạn mã đã viết sẵn, tiết kiệm thời gian và công sức.
  • D. Để bắt buộc người lập trình phải viết lại các chức năng cơ bản.

Câu 2: Giả sử bạn cần sử dụng hàm `sqrt` (căn bậc hai) từ thư viện `math` trong Python. Lệnh `import math` sẽ ảnh hưởng đến cách bạn gọi hàm `sqrt` như thế nào?

  • A. Bạn sẽ gọi hàm bằng cách sử dụng `math.sqrt()`.
  • B. Bạn sẽ gọi hàm bằng cách sử dụng `sqrt()`.
  • C. Bạn sẽ gọi hàm bằng cách sử dụng `math.sqrt` (không có dấu ngoặc).
  • D. Bạn không thể gọi hàm `sqrt` sau khi dùng lệnh `import math`.

Câu 3: Lệnh `from math import floor` trong Python có ý nghĩa gì?

  • A. Nhập toàn bộ thư viện `math` vào bộ nhớ.
  • B. Chỉ nhập riêng hàm `floor` từ thư viện `math` vào bộ nhớ.
  • C. Đổi tên thư viện `math` thành `floor`.
  • D. Kiểm tra xem hàm `floor` có tồn tại trong thư viện `math` không.

Câu 4: Sau khi thực hiện lệnh `from math import ceil`, bạn muốn làm tròn số `3.14` lên số nguyên gần nhất. Lệnh gọi hàm nào sau đây là đúng?

  • A. math.ceil(3.14)
  • B. ceil(math.3.14)
  • C. ceil(3.14)
  • D. floor(3.14)

Câu 5: Xét đoạn mã sau:
```python
import math as m
ket_qua = m.sqrt(16)
print(ket_qua)
```
Đoạn mã này sẽ in ra kết quả gì?

  • A. math.sqrt(16)
  • B. m.sqrt(16)
  • C. 16
  • D. 4.0

Câu 6: Khi nào thì việc sử dụng lệnh `from import ` (chỉ nhập một phần) có lợi hơn so với `import ` (nhập toàn bộ)?

  • A. Khi bạn chỉ cần sử dụng một hoặc rất ít chức năng từ thư viện lớn, giúp tiết kiệm bộ nhớ và tránh xung đột tên.
  • B. Khi bạn cần sử dụng tất cả các chức năng của thư viện.
  • C. Khi bạn muốn gọi các hàm bằng cách thêm tiền tố tên thư viện (`module.item()`).
  • D. Khi thư viện đó không có tên.

Câu 7: Giả sử bạn đã tạo một tệp Python có tên `hinhhoc.py` chứa một hàm tính diện tích hình tròn là `dien_tich_hinh_tron(ban_kinh)`. Để sử dụng hàm này trong một tệp Python khác nằm cùng thư mục, bạn sẽ viết lệnh nhập thư viện như thế nào?

  • A. import hinhhoc.py
  • B. import hinhhoc
  • C. from hinhhoc import *
  • D. cả B và C đều đúng

Câu 8: Tiếp theo Câu 7, sau khi đã nhập thư viện `hinhhoc` bằng lệnh `import hinhhoc`, làm thế nào bạn gọi hàm `dien_tich_hinh_tron` để tính diện tích hình tròn bán kính 5?

  • A. dien_tich_hinh_tron(5)
  • B. hinhhoc.py.dien_tich_hinh_tron(5)
  • C. import hinhhoc.dien_tich_hinh_tron(5)
  • D. hinhhoc.dien_tich_hinh_tron(5)

Câu 9: Trong ngữ cảnh của cấu trúc dữ liệu Danh sách Liên kết được trình bày trong bài học (giả sử được đóng gói trong một thư viện/module), mỗi "node" (nút) thường chứa những thông tin cơ bản nào?

  • A. Dữ liệu của phần tử và con trỏ (tham chiếu) đến node tiếp theo.
  • B. Chỉ dữ liệu của phần tử.
  • C. Chỉ con trỏ đến node tiếp theo.
  • D. Kích thước của danh sách liên kết.

Câu 10: Giả sử có một module tên `linkedlist_lib` cung cấp các hàm xử lý danh sách liên kết. Hàm `insert(L, k)` được mô tả là thêm một phần tử mới với khóa `k` vào đầu danh sách liên kết `L`. Nếu danh sách `L` ban đầu rỗng, sau khi gọi `linkedlist_lib.insert(L, 10)`, trạng thái của `L` sẽ như thế nào?

  • A. Danh sách vẫn rỗng.
  • B. Danh sách chứa phần tử 10 ở cuối.
  • C. Danh sách chứa duy nhất một phần tử có khóa 10, và phần tử này là cả đầu và cuối danh sách.
  • D. Chương trình sẽ báo lỗi vì danh sách rỗng.

Câu 11: Vẫn với module `linkedlist_lib` như ở Câu 10, hàm `delete_first(L)` được mô tả là xóa phần tử đầu tiên của danh sách `L`. Nếu danh sách `L` hiện tại là `[5, 10, 15]` (5 là phần tử đầu tiên), sau khi gọi `linkedlist_lib.delete_first(L)`, danh sách `L` sẽ trở thành:

  • A. [10, 15]
  • B. [5, 10]
  • C. [15]
  • D. Danh sách rỗng.

Câu 12: Hàm `search(L, k)` trong module `linkedlist_lib` (như mô tả trong bài học) có chức năng tìm kiếm phần tử có khóa `k` trong danh sách `L`. Nếu danh sách `L` là `[20, 30, 40]` và bạn gọi `linkedlist_lib.search(L, 30)`, hàm này sẽ trả về giá trị gì (giả sử nó trả về node đầu tiên tìm được hoặc None)?

  • A. Giá trị `True` hoặc `False` tùy thuộc vào việc tìm thấy hay không.
  • B. Đối tượng node chứa giá trị 30 (hoặc một tham chiếu đến nó).
  • C. Chỉ số (vị trí) của phần tử 30 trong danh sách.
  • D. Giá trị 30.

Câu 13: Lợi ích của việc tổ chức mã nguồn thành các module (tệp .py riêng biệt) và sử dụng chúng như thư viện là gì?

  • A. Giảm khả năng tái sử dụng mã.
  • B. Làm cho chương trình chạy chậm hơn.
  • C. Chỉ áp dụng cho các chương trình rất nhỏ.
  • D. Tăng tính tổ chức, dễ bảo trì, dễ tái sử dụng và chia sẻ mã nguồn.

Câu 14: Khi bạn sử dụng lệnh `import `, Python sẽ thực hiện việc gì lần đầu tiên gặp lệnh này trong chương trình?

  • A. Tìm kiếm tệp `.py`, biên dịch (nếu cần) và thực thi mã trong tệp đó.
  • B. Chỉ kiểm tra xem tệp `.py` có tồn tại hay không mà không thực thi mã.
  • C. Tải toàn bộ nội dung của tệp `.py` vào một biến duy nhất.
  • D. Báo lỗi ngay lập tức vì cú pháp sai.

Câu 15: Xét đoạn mã:
```python
from math import sqrt
from cmath import sqrt as csqrt # cmath cho số phức

print(sqrt(9))
print(csqrt(-9))
```
Đoạn mã này chứng minh điều gì về việc nhập các đối tượng từ thư viện?

  • A. Không thể nhập các hàm có cùng tên từ các thư viện khác nhau.
  • B. Có thể nhập các hàm có cùng tên từ các thư viện khác nhau bằng cách sử dụng alias (bí danh).
  • C. Hàm `sqrt` từ thư viện `cmath` sẽ ghi đè hàm `sqrt` từ thư viện `math`.
  • D. Chương trình sẽ báo lỗi do xung đột tên hàm `sqrt`.

Câu 16: Giả sử bạn đang viết một chương trình xử lý dữ liệu hình học và cần tính khoảng cách giữa hai điểm trong mặt phẳng 2D. Thư viện chuẩn nào của Python có khả năng chứa các hàm hữu ích cho việc này (ví dụ: tính căn bậc hai)?

  • A. `math`
  • B. `random`
  • C. `os`
  • D. `sys`

Câu 17: Bạn muốn viết một chương trình mô phỏng việc rút thăm ngẫu nhiên. Thư viện chuẩn nào của Python bạn sẽ cần nhập để tạo ra các số hoặc lựa chọn ngẫu nhiên?

  • A. `math`
  • B. `datetime`
  • C. `json`
  • D. `random`

Câu 18: Trong một dự án lớn, việc chia chương trình thành nhiều module (tệp .py) tương ứng với các chức năng khác nhau (ví dụ: module xử lý dữ liệu, module giao diện người dùng, module tính toán) thể hiện nguyên tắc thiết kế nào?

  • A. Tập trung hóa (Centralization).
  • B. Mô đun hóa (Modularization).
  • C. Đóng gói dữ liệu (Data Encapsulation).
  • D. Kế thừa (Inheritance).

Câu 19: Giả sử bạn có một danh sách liên kết `L` đang chứa các phần tử `[A, B, C]` theo thứ tự đó (A là đầu danh sách). Nếu bạn gọi hàm `linkedlist_lib.insert(L, "D")` (thêm vào đầu), danh sách `L` sẽ trở thành:

  • A. [D, A, B, C]
  • B. [A, B, C, D]
  • C. [A, D, B, C]
  • D. [D, C, B, A]

Câu 20: Tiếp theo Câu 19, danh sách `L` hiện là `[D, A, B, C]`. Nếu bạn gọi hàm `linkedlist_lib.delete_first(L)` hai lần liên tiếp, danh sách `L` cuối cùng sẽ là:

  • A. [B, C]
  • B. [D, A]
  • C. [C]
  • D. [B, C]

Câu 21: Điều gì xảy ra nếu bạn cố gắng sử dụng một hàm hoặc biến từ một thư viện mà bạn chưa nhập (import) vào chương trình Python của mình?

  • A. Chương trình sẽ tự động tìm và nhập thư viện đó.
  • B. Hàm/biến đó sẽ hoạt động bình thường nếu nó là hàm chuẩn của Python.
  • C. Chương trình sẽ báo lỗi `NameError`.
  • D. Chương trình sẽ chạy nhưng không thực hiện được chức năng của hàm/biến đó.

Câu 22: Giả sử bạn cần tính giá trị sin của một góc đo bằng radian. Bạn sẽ sử dụng hàm nào từ thư viện `math`?

  • A. `math.sin()`
  • B. `math.cos()`
  • C. `math.tan()`
  • D. `math.sqrt()`

Câu 23: Trong Python, một tệp `.py` chứa các định nghĩa hàm, lớp và biến có thể được xem như là gì khi được sử dụng trong một chương trình khác?

  • A. Một đối tượng (Object).
  • B. Một module (Module).
  • C. Một gói (Package).
  • D. Một lớp (Class).

Câu 24: Khi sử dụng cú pháp `from import *`, điều gì có thể xảy ra nếu bạn nhập từ nhiều module khác nhau có chứa các đối tượng (hàm, biến) trùng tên?

  • A. Python sẽ tự động đổi tên các đối tượng trùng lặp.
  • B. Chương trình sẽ báo lỗi cú pháp ngay khi biên dịch.
  • C. Các đối tượng trùng tên sẽ được cộng gộp chức năng lại với nhau.
  • D. Các đối tượng được nhập sau sẽ ghi đè lên các đối tượng có cùng tên được nhập trước, gây ra xung đột tên không mong muốn.

Câu 25: Xét đoạn mã:
```python
import math
import random

r = math.sqrt(25)
n = random.randint(1, 10)

print(f

  • A. Chương trình có thể nhập và sử dụng các hàm từ nhiều thư viện khác nhau cùng lúc.
  • B. Chỉ có thể nhập và sử dụng một thư viện tại một thời điểm.
  • C. Các hàm từ các thư viện khác nhau không thể được sử dụng trong cùng một đoạn mã.
  • D. Việc nhập nhiều thư viện sẽ luôn gây ra lỗi xung đột tên.

Câu 26: Giả sử module `linkedlist_lib` có hàm `show(L)` để hiển thị nội dung danh sách `L`. Nếu danh sách `L` hiện tại là rỗng, khi gọi `linkedlist_lib.show(L)`, kết quả hiển thị dự kiến sẽ là gì?

  • A. Báo lỗi.
  • B. Không hiển thị gì cả hoặc hiển thị một thông báo rỗng (tùy thuộc cài đặt cụ thể của hàm show, nhưng không báo lỗi).
  • C. Hiển thị giá trị `None`.
  • D. Hiển thị `[None]`.

Câu 27: Tại sao việc sử dụng các thư viện chuẩn (như `math`, `random`, v.v.) lại được khuyến khích hơn là tự viết lại các chức năng tương đương?

  • A. Vì mã trong thư viện chuẩn thường ngắn hơn mã tự viết.
  • B. Vì chỉ có thư viện chuẩn mới có thể thực hiện các phép toán phức tạp.
  • C. Vì mã trong thư viện chuẩn luôn chứa lỗi.
  • D. Vì mã trong thư viện chuẩn đã được kiểm thử kỹ lưỡng, tối ưu về hiệu suất và đáng tin cậy.

Câu 28: Trong mô hình danh sách liên kết, khi bạn muốn thêm một phần tử mới vào đầu danh sách, thao tác chính liên quan đến việc cập nhật con trỏ (tham chiếu) nào?

  • A. Con trỏ `head` của danh sách và con trỏ `next` của node mới.
  • B. Con trỏ `tail` của danh sách.
  • C. Con trỏ `next` của node cuối cùng hiện tại.
  • D. Không cần cập nhật con trỏ nào cả.

Câu 29: Bạn cần tính giá trị tuyệt đối của một số. Thư viện nào sau đây không cần thiết cho mục đích này vì Python có hàm tích hợp sẵn (`abs()`)?

  • A. `math` (chứa `math.fabs` cho số thực)
  • B. `cmath` (chứa `cmath.polar`, `cmath.phase` có liên quan đến giá trị tuyệt đối của số phức)
  • C. `random`
  • D. Cả A và B đều có thể chứa hàm liên quan, nhưng C chắc chắn không.

Câu 30: Khi một chương trình Python trở nên quá lớn và phức tạp, việc chia nó thành nhiều tệp module và nhập chúng lại với nhau giúp ích gì cho quá trình phát triển?

  • A. Làm tăng kích thước tệp chương trình cuối cùng.
  • B. Làm cho việc tìm lỗi khó khăn hơn.
  • C. Bắt buộc phải làm việc một mình trên toàn bộ dự án.
  • D. Cho phép nhiều lập trình viên làm việc độc lập trên các phần khác nhau của chương trình cùng lúc.

1 / 30

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

Tags: Bộ đề 09

Câu 1: Trong lập trình Python, mục đích chính của việc sử dụng thư viện (library) là gì?

2 / 30

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

Tags: Bộ đề 09

Câu 2: Giả sử bạn cần sử dụng hàm `sqrt` (căn bậc hai) từ thư viện `math` trong Python. Lệnh `import math` sẽ ảnh hưởng đến cách bạn gọi hàm `sqrt` như thế nào?

3 / 30

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

Tags: Bộ đề 09

Câu 3: Lệnh `from math import floor` trong Python có ý nghĩa gì?

4 / 30

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

Tags: Bộ đề 09

Câu 4: Sau khi thực hiện lệnh `from math import ceil`, bạn muốn làm tròn số `3.14` lên số nguyên gần nhất. Lệnh gọi hàm nào sau đây là đúng?

5 / 30

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

Tags: Bộ đề 09

Câu 5: Xét đoạn mã sau:
```python
import math as m
ket_qua = m.sqrt(16)
print(ket_qua)
```
Đoạn mã này sẽ in ra kết quả gì?

6 / 30

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

Tags: Bộ đề 09

Câu 6: Khi nào thì việc sử dụng lệnh `from import ` (chỉ nhập một phần) có lợi hơn so với `import ` (nhập toàn bộ)?

7 / 30

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

Tags: Bộ đề 09

Câu 7: Giả sử bạn đã tạo một tệp Python có tên `hinhhoc.py` chứa một hàm tính diện tích hình tròn là `dien_tich_hinh_tron(ban_kinh)`. Để sử dụng hàm này trong một tệp Python khác nằm cùng thư mục, bạn sẽ viết lệnh nhập thư viện như thế nào?

8 / 30

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

Tags: Bộ đề 09

Câu 8: Tiếp theo Câu 7, sau khi đã nhập thư viện `hinhhoc` bằng lệnh `import hinhhoc`, làm thế nào bạn gọi hàm `dien_tich_hinh_tron` để tính diện tích hình tròn bán kính 5?

9 / 30

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

Tags: Bộ đề 09

Câu 9: Trong ngữ cảnh của cấu trúc dữ liệu Danh sách Liên kết được trình bày trong bài học (giả sử được đóng gói trong một thư viện/module), mỗi 'node' (nút) thường chứa những thông tin cơ bản nào?

10 / 30

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

Tags: Bộ đề 09

Câu 10: Giả sử có một module tên `linkedlist_lib` cung cấp các hàm xử lý danh sách liên kết. Hàm `insert(L, k)` được mô tả là thêm một phần tử mới với khóa `k` vào *đầu* danh sách liên kết `L`. Nếu danh sách `L` ban đầu rỗng, sau khi gọi `linkedlist_lib.insert(L, 10)`, trạng thái của `L` sẽ như thế nào?

11 / 30

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

Tags: Bộ đề 09

Câu 11: Vẫn với module `linkedlist_lib` như ở Câu 10, hàm `delete_first(L)` được mô tả là xóa phần tử đầu tiên của danh sách `L`. Nếu danh sách `L` hiện tại là `[5, 10, 15]` (5 là phần tử đầu tiên), sau khi gọi `linkedlist_lib.delete_first(L)`, danh sách `L` sẽ trở thành:

12 / 30

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

Tags: Bộ đề 09

Câu 12: Hàm `search(L, k)` trong module `linkedlist_lib` (như mô tả trong bài học) có chức năng tìm kiếm phần tử có khóa `k` trong danh sách `L`. Nếu danh sách `L` là `[20, 30, 40]` và bạn gọi `linkedlist_lib.search(L, 30)`, hàm này sẽ trả về giá trị gì (giả sử nó trả về node đầu tiên tìm được hoặc None)?

13 / 30

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

Tags: Bộ đề 09

Câu 13: Lợi ích của việc tổ chức mã nguồn thành các module (tệp .py riêng biệt) và sử dụng chúng như thư viện là gì?

14 / 30

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

Tags: Bộ đề 09

Câu 14: Khi bạn sử dụng lệnh `import `, Python sẽ thực hiện việc gì lần đầu tiên gặp lệnh này trong chương trình?

15 / 30

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

Tags: Bộ đề 09

Câu 15: Xét đoạn mã:
```python
from math import sqrt
from cmath import sqrt as csqrt # cmath cho số phức

print(sqrt(9))
print(csqrt(-9))
```
Đoạn mã này chứng minh điều gì về việc nhập các đối tượng từ thư viện?

16 / 30

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

Tags: Bộ đề 09

Câu 16: Giả sử bạn đang viết một chương trình xử lý dữ liệu hình học và cần tính khoảng cách giữa hai điểm trong mặt phẳng 2D. Thư viện chuẩn nào của Python có khả năng chứa các hàm hữu ích cho việc này (ví dụ: tính căn bậc hai)?

17 / 30

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

Tags: Bộ đề 09

Câu 17: Bạn muốn viết một chương trình mô phỏng việc rút thăm ngẫu nhiên. Thư viện chuẩn nào của Python bạn sẽ cần nhập để tạo ra các số hoặc lựa chọn ngẫu nhiên?

18 / 30

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

Tags: Bộ đề 09

Câu 18: Trong một dự án lớn, việc chia chương trình thành nhiều module (tệp .py) tương ứng với các chức năng khác nhau (ví dụ: module xử lý dữ liệu, module giao diện người dùng, module tính toán) thể hiện nguyên tắc thiết kế nào?

19 / 30

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

Tags: Bộ đề 09

Câu 19: Giả sử bạn có một danh sách liên kết `L` đang chứa các phần tử `[A, B, C]` theo thứ tự đó (A là đầu danh sách). Nếu bạn gọi hàm `linkedlist_lib.insert(L, 'D')` (thêm vào đầu), danh sách `L` sẽ trở thành:

20 / 30

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

Tags: Bộ đề 09

Câu 20: Tiếp theo Câu 19, danh sách `L` hiện là `[D, A, B, C]`. Nếu bạn gọi hàm `linkedlist_lib.delete_first(L)` hai lần liên tiếp, danh sách `L` cuối cùng sẽ là:

21 / 30

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

Tags: Bộ đề 09

Câu 21: Điều gì xảy ra nếu bạn cố gắng sử dụng một hàm hoặc biến từ một thư viện mà bạn chưa nhập (import) vào chương trình Python của mình?

22 / 30

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

Tags: Bộ đề 09

Câu 22: Giả sử bạn cần tính giá trị sin của một góc đo bằng radian. Bạn sẽ sử dụng hàm nào từ thư viện `math`?

23 / 30

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

Tags: Bộ đề 09

Câu 23: Trong Python, một tệp `.py` chứa các định nghĩa hàm, lớp và biến có thể được xem như là gì khi được sử dụng trong một chương trình khác?

24 / 30

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

Tags: Bộ đề 09

Câu 24: Khi sử dụng cú pháp `from import *`, điều gì có thể xảy ra nếu bạn nhập từ nhiều module khác nhau có chứa các đối tượng (hàm, biến) trùng tên?

25 / 30

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

Tags: Bộ đề 09

Câu 25: Xét đoạn mã:
```python
import math
import random

r = math.sqrt(25)
n = random.randint(1, 10)

print(f"{r} - {n}")
```
Đoạn mã này minh họa cho khả năng sử dụng đồng thời các chức năng từ các thư viện khác nhau như thế nào?

26 / 30

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

Tags: Bộ đề 09

Câu 26: Giả sử module `linkedlist_lib` có hàm `show(L)` để hiển thị nội dung danh sách `L`. Nếu danh sách `L` hiện tại là rỗng, khi gọi `linkedlist_lib.show(L)`, kết quả hiển thị dự kiến sẽ là gì?

27 / 30

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

Tags: Bộ đề 09

Câu 27: Tại sao việc sử dụng các thư viện chuẩn (như `math`, `random`, v.v.) lại được khuyến khích hơn là tự viết lại các chức năng tương đương?

28 / 30

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

Tags: Bộ đề 09

Câu 28: Trong mô hình danh sách liên kết, khi bạn muốn thêm một phần tử mới vào đầu danh sách, thao tác chính liên quan đến việc cập nhật con trỏ (tham chiếu) nào?

29 / 30

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

Tags: Bộ đề 09

Câu 29: Bạn cần tính giá trị tuyệt đối của một số. Thư viện nào sau đây *không* cần thiết cho mục đích này vì Python có hàm tích hợp sẵn (`abs()`)?

30 / 30

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

Tags: Bộ đề 09

Câu 30: Khi một chương trình Python trở nên quá lớn và phức tạp, việc chia nó thành nhiều tệp module và nhập chúng lại với nhau giúp ích gì cho quá trình phát triển?

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


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

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 30: Thiết lập thư viện cho chương trình - Đề 10 được xây dựng với nhiều câu hỏi chất lượng, sát với nội dung chương trình học, giúp bạn dễ dàng ôn tập và kiểm tra kiến thức hiệu quả. Hãy cùng bắt đầu làm bài tập trắc nghiệm ngay để nâng cao hiểu biết và chuẩn bị tốt cho kỳ thi sắp tới!

Câu 1: Khái niệm "thư viện chương trình" trong lập trình Python mô tả chính xác điều gì?

  • A. Một phần mềm độc lập có giao diện đồ họa.
  • B. Một tập hợp các tệp dữ liệu được sử dụng bởi chương trình.
  • C. Một tập hợp các mô-đun (tệp mã nguồn) chứa các hàm, lớp, hoặc biến được thiết kế để sử dụng lại trong nhiều chương trình khác nhau.
  • D. Một công cụ để dịch mã nguồn thành mã máy.

Câu 2: Lợi ích cốt lõi nhất của việc sử dụng thư viện trong quá trình phát triển phần mềm là gì?

  • A. Tăng tính tái sử dụng mã nguồn, tiết kiệm thời gian và công sức lập trình.
  • B. Giúp chương trình chạy nhanh hơn đáng kể.
  • C. Bảo vệ mã nguồn khỏi bị người khác sao chép.
  • D. Tự động sửa lỗi chính tả trong mã nguồn.

Câu 3: Để nhập toàn bộ thư viện chuẩn `math` vào chương trình Python, bạn sử dụng cú pháp nào sau đây?

  • A. include math
  • B. import math
  • C. using math
  • D. from math import *

Câu 4: Sau khi thực hiện lệnh `import math`, bạn muốn gọi hàm tính căn bậc hai là `sqrt`. Cú pháp gọi hàm đúng là gì?

  • A. sqrt(16)
  • B. math.sqrt 16
  • C. call math.sqrt(16)
  • D. math.sqrt(16)

Câu 5: Khi chỉ cần sử dụng một hoặc vài hàm cụ thể từ một thư viện lớn (ví dụ: chỉ cần `sqrt` và `floor` từ `math`), phương pháp nhập nào sau đây là hiệu quả nhất về mặt sử dụng bộ nhớ và quản lý không gian tên?

  • A. import math
  • B. import math as m
  • C. from math import sqrt, floor
  • D. from math import *

Câu 6: Bạn cần tính giá trị sin(pi/2) và làm tròn số 3.14 về số nguyên gần nhất. Cú pháp nhập thư viện `math` nào sau đây cho phép bạn gọi trực tiếp các hàm `sin`, `pi`, và `round` (hàm `round` là hàm built-in, không cần nhập từ math)?

  • A. import math
  • B. from math import sin, pi
  • C. import math.sin, math.pi
  • D. from math import *

Câu 7: Trong Python, một "mô-đun" (module) cơ bản nhất thường là gì?

  • A. Một tệp tin mã nguồn Python (.py) chứa các định nghĩa hàm, lớp, biến.
  • B. Một thư mục chứa nhiều tệp tin Python.
  • C. Một chương trình Python hoàn chỉnh có thể chạy độc lập.
  • D. Một đoạn mã được viết bằng ngôn ngữ khác.

Câu 8: Bạn có một tệp tin `my_utils.py` chứa các hàm tiện ích. Để sử dụng các hàm này trong một tệp tin Python khác nằm cùng thư mục, bạn sử dụng lệnh nào?

  • A. include my_utils.py
  • B. require my_utils
  • C. import my_utils
  • D. use my_utils.py

Câu 9: Bạn muốn nhập thư viện `long_name_library` nhưng muốn gọi nó bằng một tên ngắn gọn hơn là `lnl` để mã nguồn dễ đọc hơn. Cú pháp nào sau đây đúng?

  • A. import long_name_library as lnl
  • B. import lnl = long_name_library
  • C. as lnl import long_name_library
  • D. from long_name_library import lnl

Câu 10: Lệnh `from module_name import *` có ý nghĩa gì trong Python?

  • A. Nhập mô-đun `module_name` và đổi tên nó thành `*`.
  • B. Nhập tất cả các định nghĩa công khai (hàm, lớp, biến) từ `module_name` trực tiếp vào không gian tên hiện tại.
  • C. Chỉ nhập các hàm từ mô-đun `module_name`.
  • D. Xóa tất cả nội dung trong mô-đun `module_name`.

Câu 11: Bạn có một mô-đun tên là `stats.py` chứa một hàm `calculate_average(data_list)`. Sau khi nhập mô-đun bằng lệnh `import stats`, bạn muốn gọi hàm này với dữ liệu `[10, 20, 30]`. Cú pháp gọi đúng là gì?

  • A. stats.calculate_average([10, 20, 30])
  • B. calculate_average([10, 20, 30])
  • C. stats.calculate_average([10, 20, 30]).py
  • D. call stats.calculate_average([10, 20, 30])

Câu 12: Vẫn với mô-đun `stats.py` và hàm `calculate_average`, nếu bạn nhập hàm bằng lệnh `from stats import calculate_average`, cú pháp gọi hàm đúng là gì?

  • A. stats.calculate_average([10, 20, 30])
  • B. from stats calculate_average([10, 20, 30])
  • C. import calculate_average([10, 20, 30])
  • D. calculate_average([10, 20, 30])

Câu 13: Một dự án phần mềm lớn được chia thành nhiều tệp tin `.py` riêng biệt (các mô-đun) thay vì viết tất cả mã vào một tệp duy nhất. Việc chia nhỏ này mang lại lợi ích chính nào trong quá trình phát triển và bảo trì?

  • A. Làm cho chương trình chạy nhanh hơn trên mọi hệ điều hành.
  • B. Tăng tính mô-đun hóa, giúp mã dễ quản lý, kiểm thử, gỡ lỗi và cho phép làm việc nhóm hiệu quả hơn.
  • C. Tự động tạo giao diện người dùng đồ họa cho chương trình.
  • D. Giảm kích thước tổng thể của mã nguồn.

Câu 14: Bạn có một thư mục tên là `my_package` chứa tệp tin `utils.py`. Để thư mục `my_package` được công nhận là một gói (package) trong Python và có thể nhập các mô-đun bên trong nó, cần có tệp tin đặc biệt nào trong thư mục `my_package`?

  • A. package.txt
  • B. main.py
  • C. __init__.py
  • D. config.ini

Câu 15: Giả sử bạn có cấu trúc thư mục: `project/my_package/module_a.py`. Để nhập mô-đun `module_a` từ một tệp tin Python nằm trong thư mục `project`, cú pháp nào là đúng?

  • A. import my_package.module_a
  • B. import module_a from my_package
  • C. from project.my_package import module_a
  • D. import my_package/module_a

Câu 16: Vẫn với cấu trúc thư mục và tệp tin như Câu 15, nếu `module_a.py` chứa một hàm `process_data()`, làm thế nào để nhập chỉ hàm `process_data` và gọi nó trực tiếp?

  • A. import my_package.module_a.process_data
  • B. from my_package.module_a import process_data
  • C. from module_a import process_data in my_package
  • D. import process_data from my_package.module_a

Câu 17: Khi sử dụng lệnh `from module import *`, rủi ro tiềm ẩn lớn nhất liên quan đến không gian tên (namespace) là gì?

  • A. Không thể truy cập bất kỳ hàm nào từ mô-đun.
  • B. Chương trình sẽ chạy chậm hơn đáng kể.
  • C. Mô-đun sẽ bị xóa khỏi hệ thống sau khi chương trình kết thúc.
  • D. Có thể xảy ra xung đột tên nếu mô-đun và chương trình chính có các tên biến/hàm trùng nhau.

Câu 18: Giả sử bạn đang viết một chương trình và cần sử dụng hàm `randint` từ thư viện `random`. Bạn quyết định nhập nó bằng lệnh `from random import randint`. Khi đó, bạn gọi hàm `randint` như thế nào?

  • A. randint(a, b)
  • B. random.randint(a, b)
  • C. import.randint(a, b)
  • D. random.randint a b

Câu 19: Bạn muốn sử dụng thư viện `numpy` (một thư viện tính toán khoa học lớn) nhưng chỉ cần dùng hàm `array` và `zeros`. Phương pháp nhập nào sau đây giúp tối ưu hiệu suất khởi động chương trình và sử dụng bộ nhớ?

  • A. import numpy
  • B. import numpy as np
  • C. from numpy import array, zeros
  • D. import numpy.array, numpy.zeros

Câu 20: Khi Python thực hiện lệnh `import module_name`, nó tìm kiếm tệp `module_name.py` theo thứ tự ưu tiên nào?

  • A. Chỉ trong thư mục cài đặt Python.
  • B. Chỉ trong thư mục hiện tại của chương trình.
  • C. Chỉ trong các thư mục được liệt kê trong biến môi trường PATH.
  • D. Trong thư mục hiện tại của chương trình, sau đó trong các thư mục được cấu hình trong `sys.path` (bao gồm thư mục cài đặt Python và các thư mục gói).

Câu 21: Việc tổ chức mã nguồn thành các mô-đun riêng biệt, mỗi mô-đun chịu trách nhiệm cho một phần chức năng cụ thể, được gọi là gì?

  • A. Lập trình mô-đun hóa (Modular programming).
  • B. Lập trình hướng đối tượng (Object-oriented programming).
  • C. Lập trình tuyến tính (Linear programming).
  • D. Lập trình chức năng (Functional programming).

Câu 22: Giả sử bạn tạo một mô-đun `geometry.py` chứa hàm `calculate_area(radius)`. Trong một tệp khác, bạn nhập nó bằng `import geometry`. Để sử dụng hàm này, bạn cần làm gì?

  • A. Chỉ cần gọi `calculate_area(r)`.
  • B. Gọi `geometry.calculate_area(r)`.
  • C. Sao chép mã nguồn của hàm vào tệp hiện tại.
  • D. Đổi tên tệp `geometry.py` thành tên chương trình hiện tại.

Câu 23: Bạn có một mô-đun `config.py` chứa các biến cấu hình như `DB_HOST`, `DB_USER`. Phương pháp nhập nào sau đây giúp bạn truy cập trực tiếp các biến này bằng tên của chúng (`DB_HOST`, `DB_USER`) thay vì thông qua tên mô-đun (`config.DB_HOST`)?

  • A. import config
  • B. import config as cfg
  • C. call config
  • D. from config import DB_HOST, DB_USER

Câu 24: Khi nào thì việc sử dụng lệnh `import module_name as alias` là hữu ích nhất?

  • A. Khi mô-đun chỉ chứa một hàm duy nhất.
  • B. Khi bạn không muốn sử dụng bất kỳ thứ gì từ mô-đun đó.
  • C. Khi tên mô-đun gốc quá dài hoặc bạn muốn tránh xung đột tên với một đối tượng khác có cùng tên trong chương trình.
  • D. Khi bạn muốn chương trình dừng lại và hỏi người dùng có muốn nhập mô-đun không.

Câu 25: Giả sử bạn đang xây dựng một ứng dụng quản lý sinh viên. Bạn quyết định tạo một mô-đun `student_manager.py` để chứa tất cả các hàm và lớp liên quan đến việc quản lý sinh viên (thêm, xóa, tìm kiếm). Việc này thể hiện nguyên tắc thiết kế nào?

  • A. Phân tách trách nhiệm (Separation of Concerns).
  • B. Đóng gói dữ liệu (Data Encapsulation).
  • C. Kế thừa (Inheritance).
  • D. Đa hình (Polymorphism).

Câu 26: Bạn có hai mô-đun: `module_a` có hàm `process()` và `module_b` cũng có hàm `process()`. Nếu bạn sử dụng `from module_a import *` và sau đó `from module_b import *` trong cùng một tệp, điều gì sẽ xảy ra khi bạn gọi `process()`?

  • A. Chương trình sẽ báo lỗi cú pháp ngay lập tức.
  • B. Cả hai hàm `process()` từ cả hai mô-đun sẽ được gọi cùng lúc.
  • C. Hàm `process()` từ mô-đun được nhập sau cùng (`module_b`) sẽ ghi đè và được gọi.
  • D. Chương trình sẽ yêu cầu bạn chọn hàm `process()` nào để gọi.

Câu 27: Trong Python, thư viện chuẩn (Standard Library) là gì?

  • A. Một tập hợp lớn các mô-đun đi kèm với quá trình cài đặt Python, cung cấp các chức năng thông dụng mà không cần cài đặt thêm.
  • B. Thư viện duy nhất được phép sử dụng trong Python.
  • C. Tập hợp các thư viện do người dùng tự viết.
  • D. Một công cụ để quản lý các thư viện bên ngoài.

Câu 28: Giả sử bạn cần sử dụng hằng số `pi` và hàm `degrees` từ thư viện `math`. Cú pháp nhập nào sau đây là không hợp lệ?

  • A. import math
  • B. import math.pi, math.degrees
  • C. from math import pi, degrees
  • D. from math import *

Câu 29: Bạn đang phát triển một ứng dụng và nhận thấy mình thường xuyên thực hiện các phép tính thống kê như tính trung bình, độ lệch chuẩn. Thay vì viết lại mã mỗi lần, bạn nên làm gì để quản lý và tái sử dụng hiệu quả các chức năng này?

  • A. Lưu các công thức vào tệp văn bản để tham khảo.
  • B. Viết chú thích chi tiết cho mỗi lần thực hiện phép tính.
  • C. Tạo một mô-đun (hoặc gói) chứa các hàm thống kê này và nhập nó vào các chương trình cần sử dụng.
  • D. Sử dụng tính năng sao chép/dán mã nguồn khi cần.

Câu 30: Việc sử dụng thư viện chuẩn `math` thay vì tự viết các hàm toán học cơ bản (như `sqrt`, `sin`) mang lại lợi ích quan trọng nào về độ tin cậy và hiệu suất?

  • A. Tăng kích thước tệp chương trình.
  • B. Đảm bảo tính chính xác và hiệu quả cao do các hàm trong thư viện chuẩn đã được tối ưu và kiểm thử kỹ lưỡng.
  • C. Yêu cầu kết nối internet để sử dụng các hàm.
  • D. Làm cho mã nguồn khó đọc hơn.

1 / 30

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

Tags: Bộ đề 10

Câu 1: Khái niệm 'thư viện chương trình' trong lập trình Python mô tả chính xác điều gì?

2 / 30

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

Tags: Bộ đề 10

Câu 2: Lợi ích cốt lõi nhất của việc sử dụng thư viện trong quá trình phát triển phần mềm là gì?

3 / 30

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

Tags: Bộ đề 10

Câu 3: Để nhập toàn bộ thư viện chuẩn `math` vào chương trình Python, bạn sử dụng cú pháp nào sau đây?

4 / 30

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

Tags: Bộ đề 10

Câu 4: Sau khi thực hiện lệnh `import math`, bạn muốn gọi hàm tính căn bậc hai là `sqrt`. Cú pháp gọi hàm đúng là gì?

5 / 30

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

Tags: Bộ đề 10

Câu 5: Khi chỉ cần sử dụng một hoặc vài hàm cụ thể từ một thư viện lớn (ví dụ: chỉ cần `sqrt` và `floor` từ `math`), phương pháp nhập nào sau đây là hiệu quả nhất về mặt sử dụng bộ nhớ và quản lý không gian tên?

6 / 30

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

Tags: Bộ đề 10

Câu 6: Bạn cần tính giá trị sin(pi/2) và làm tròn số 3.14 về số nguyên gần nhất. Cú pháp nhập thư viện `math` nào sau đây cho phép bạn gọi trực tiếp các hàm `sin`, `pi`, và `round` (hàm `round` là hàm built-in, không cần nhập từ math)?

7 / 30

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

Tags: Bộ đề 10

Câu 7: Trong Python, một 'mô-đun' (module) cơ bản nhất thường là gì?

8 / 30

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

Tags: Bộ đề 10

Câu 8: Bạn có một tệp tin `my_utils.py` chứa các hàm tiện ích. Để sử dụng các hàm này trong một tệp tin Python khác nằm cùng thư mục, bạn sử dụng lệnh nào?

9 / 30

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

Tags: Bộ đề 10

Câu 9: Bạn muốn nhập thư viện `long_name_library` nhưng muốn gọi nó bằng một tên ngắn gọn hơn là `lnl` để mã nguồn dễ đọc hơn. Cú pháp nào sau đây đúng?

10 / 30

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

Tags: Bộ đề 10

Câu 10: Lệnh `from module_name import *` có ý nghĩa gì trong Python?

11 / 30

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

Tags: Bộ đề 10

Câu 11: Bạn có một mô-đun tên là `stats.py` chứa một hàm `calculate_average(data_list)`. Sau khi nhập mô-đun bằng lệnh `import stats`, bạn muốn gọi hàm này với dữ liệu `[10, 20, 30]`. Cú pháp gọi đúng là gì?

12 / 30

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

Tags: Bộ đề 10

Câu 12: Vẫn với mô-đun `stats.py` và hàm `calculate_average`, nếu bạn nhập hàm bằng lệnh `from stats import calculate_average`, cú pháp gọi hàm đúng là gì?

13 / 30

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

Tags: Bộ đề 10

Câu 13: Một dự án phần mềm lớn được chia thành nhiều tệp tin `.py` riêng biệt (các mô-đun) thay vì viết tất cả mã vào một tệp duy nhất. Việc chia nhỏ này mang lại lợi ích chính nào trong quá trình phát triển và bảo trì?

14 / 30

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

Tags: Bộ đề 10

Câu 14: Bạn có một thư mục tên là `my_package` chứa tệp tin `utils.py`. Để thư mục `my_package` được công nhận là một gói (package) trong Python và có thể nhập các mô-đun bên trong nó, cần có tệp tin đặc biệt nào trong thư mục `my_package`?

15 / 30

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

Tags: Bộ đề 10

Câu 15: Giả sử bạn có cấu trúc thư mục: `project/my_package/module_a.py`. Để nhập mô-đun `module_a` từ một tệp tin Python nằm trong thư mục `project`, cú pháp nào là đúng?

16 / 30

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

Tags: Bộ đề 10

Câu 16: Vẫn với cấu trúc thư mục và tệp tin như Câu 15, nếu `module_a.py` chứa một hàm `process_data()`, làm thế nào để nhập *chỉ* hàm `process_data` và gọi nó trực tiếp?

17 / 30

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

Tags: Bộ đề 10

Câu 17: Khi sử dụng lệnh `from module import *`, rủi ro tiềm ẩn lớn nhất liên quan đến không gian tên (namespace) là gì?

18 / 30

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

Tags: Bộ đề 10

Câu 18: Giả sử bạn đang viết một chương trình và cần sử dụng hàm `randint` từ thư viện `random`. Bạn quyết định nhập nó bằng lệnh `from random import randint`. Khi đó, bạn gọi hàm `randint` như thế nào?

19 / 30

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

Tags: Bộ đề 10

Câu 19: Bạn muốn sử dụng thư viện `numpy` (một thư viện tính toán khoa học lớn) nhưng chỉ cần dùng hàm `array` và `zeros`. Phương pháp nhập nào sau đây giúp tối ưu hiệu suất khởi động chương trình và sử dụng bộ nhớ?

20 / 30

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

Tags: Bộ đề 10

Câu 20: Khi Python thực hiện lệnh `import module_name`, nó tìm kiếm tệp `module_name.py` theo thứ tự ưu tiên nào?

21 / 30

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

Tags: Bộ đề 10

Câu 21: Việc tổ chức mã nguồn thành các mô-đun riêng biệt, mỗi mô-đun chịu trách nhiệm cho một phần chức năng cụ thể, được gọi là gì?

22 / 30

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

Tags: Bộ đề 10

Câu 22: Giả sử bạn tạo một mô-đun `geometry.py` chứa hàm `calculate_area(radius)`. Trong một tệp khác, bạn nhập nó bằng `import geometry`. Để sử dụng hàm này, bạn cần làm gì?

23 / 30

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

Tags: Bộ đề 10

Câu 23: Bạn có một mô-đun `config.py` chứa các biến cấu hình như `DB_HOST`, `DB_USER`. Phương pháp nhập nào sau đây giúp bạn truy cập trực tiếp các biến này bằng tên của chúng (`DB_HOST`, `DB_USER`) thay vì thông qua tên mô-đun (`config.DB_HOST`)?

24 / 30

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

Tags: Bộ đề 10

Câu 24: Khi nào thì việc sử dụng lệnh `import module_name as alias` là hữu ích nhất?

25 / 30

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

Tags: Bộ đề 10

Câu 25: Giả sử bạn đang xây dựng một ứng dụng quản lý sinh viên. Bạn quyết định tạo một mô-đun `student_manager.py` để chứa tất cả các hàm và lớp liên quan đến việc quản lý sinh viên (thêm, xóa, tìm kiếm). Việc này thể hiện nguyên tắc thiết kế nào?

26 / 30

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

Tags: Bộ đề 10

Câu 26: Bạn có hai mô-đun: `module_a` có hàm `process()` và `module_b` cũng có hàm `process()`. Nếu bạn sử dụng `from module_a import *` và sau đó `from module_b import *` trong cùng một tệp, điều gì sẽ xảy ra khi bạn gọi `process()`?

27 / 30

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

Tags: Bộ đề 10

Câu 27: Trong Python, thư viện chuẩn (Standard Library) là gì?

28 / 30

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

Tags: Bộ đề 10

Câu 28: Giả sử bạn cần sử dụng hằng số `pi` và hàm `degrees` từ thư viện `math`. Cú pháp nhập nào sau đây là *không* hợp lệ?

29 / 30

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

Tags: Bộ đề 10

Câu 29: Bạn đang phát triển một ứng dụng và nhận thấy mình thường xuyên thực hiện các phép tính thống kê như tính trung bình, độ lệch chuẩn. Thay vì viết lại mã mỗi lần, bạn nên làm gì để quản lý và tái sử dụng hiệu quả các chức năng này?

30 / 30

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

Tags: Bộ đề 10

Câu 30: Việc sử dụng thư viện chuẩn `math` thay vì tự viết các hàm toán học cơ bản (như `sqrt`, `sin`) mang lại lợi ích quan trọng nào về độ tin cậy và hiệu suất?

Viết một bình luận