12+ Đề Trắc Nghiệm Tin Học 11 (Kết Nối Tri Thức) Bài 31: Thực Hành Thiết Lập Thư Viện 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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Bạn đang phát triển một ứng dụng cần tính toán liên tục chu vi và diện tích của hình tròn ở nhiều nơi trong mã nguồn. Việc đóng gói các hàm tính toán này vào một thư viện (module) riêng biệt mang lại lợi ích chính nào?

  • A. Giảm đáng kể kích thước tệp mã nguồn chính.
  • B. Tăng tốc độ thực thi của chương trình.
  • C. Bảo vệ mã nguồn khỏi bị sao chép.
  • D. Tái sử dụng (reusability) mã nguồn hiệu quả hơn.

Câu 2: Để tạo một thư viện đơn giản trong Python, bạn cần thực hiện bước cơ bản nào?

  • A. Tạo một tệp tin Python (.py) chứa các hàm hoặc lớp mong muốn.
  • B. Sử dụng lệnh `pip install` để đăng ký thư viện.
  • C. Biên dịch mã nguồn thành tệp nhị phân (.dll hoặc .so).
  • D. Đóng gói thư viện thành tệp tin nén (.zip hoặc .tar.gz).

Câu 3: Bạn đã tạo một thư viện tên là `hinh_hoc.py` chứa hàm `tinh_dien_tich_vuong(canh)`. Trong một tệp `main.py` khác, bạn muốn sử dụng hàm này. Lệnh import nào sau đây cho phép bạn gọi hàm bằng cách viết `hinh_hoc.tinh_dien_tich_vuong(5)`?

  • A. `from hinh_hoc import tinh_dien_tich_vuong`
  • B. `import hinh_hoc`
  • C. `from hinh_hoc import *`
  • D. `import hinh_hoc as hh`

Câu 4: Vẫn với thư viện `hinh_hoc.py` và hàm `tinh_dien_tich_vuong(canh)`. Lệnh import nào sau đây cho phép bạn gọi hàm chỉ bằng cách viết `tinh_dien_tich_vuong(5)` trong tệp `main.py`?

  • A. `from hinh_hoc import tinh_dien_tich_vuong`
  • B. `import hinh_hoc`
  • C. `import hinh_hoc as hh`
  • D. `import hinh_hoc.tinh_dien_tich_vuong`

Câu 5: Bạn đang sử dụng thư viện `hinh_tron` (từ ví dụ trong bài học) và đã import nó bằng lệnh `import hinh_tron`. Để tính chu vi của hình tròn có bán kính `r = 10`, bạn sẽ sử dụng lệnh gọi hàm nào?

  • A. `tinhChuVi(10)`
  • B. `hinh_tron.chuVi(10)`
  • C. `hinh_tron.tinhChuVi(10)`
  • D. `chuVi = hinh_tron.tinhChuVi(r=10)`

Câu 6: Thư viện `cong_thuc_ly` trong bài học có hàm `machSongSong(dsDienTro)` để tính điện trở tương đương. Giả sử hàm này được thiết kế để trả về giá trị đặc biệt (ví dụ: -1) nếu danh sách điện trở chứa giá trị không hợp lệ (<= 0). Một người dùng gọi hàm này với `cong_thuc_ly.machSongSong([15, 0, 25])`. Dựa trên thiết kế xử lý lỗi điển hình, kết quả trả về có khả năng cao nhất là gì?

  • A. -1
  • B. 40
  • C. 0
  • D. Một ngoại lệ (error) sẽ xảy ra.

Câu 7: Trong thư viện `cong_thuc_ly`, hàm `machNoiTiep(dsDienTro)` tính điện trở tương đương của mạch nối tiếp. Công thức vật lý để tính điện trở tương đương của mạch nối tiếp là gì?

  • A. Tổng nghịch đảo của các điện trở.
  • B. Tích của các điện trở.
  • C. Nghịch đảo của tổng nghịch đảo các điện trở.
  • D. Tổng các giá trị điện trở thành phần.

Câu 8: Hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa` được dùng để tính nguyên tử khối trung bình. Tham số `dsNtk` là danh sách nguyên tử khối của các đồng vị, và `dstyLe` là danh sách tỷ lệ phần trăm tương ứng. Điều kiện nào sau đây chắc chắn dẫn đến kết quả tính toán sai hoặc lỗi nếu hàm không có cơ chế kiểm tra đầu vào đầy đủ?

  • A. Tổng các tỷ lệ phần trăm khác 100%.
  • B. Số lượng phần tử trong `dsNtk` và `dstyLe` không bằng nhau.
  • C. Một giá trị nguyên tử khối là số thực.
  • D. Một giá trị tỷ lệ phần trăm là 0.

Câu 9: Bạn cần tính nguyên tử khối trung bình của Neon, có 3 đồng vị: Ne-20 (90.48%), Ne-21 (0.27%), Ne-22 (9.25%). Sử dụng thư viện `cong_thuc_hoa` với hàm `tinhNtkTB(dsNtk, dstyLe)`, bạn sẽ truyền dữ liệu vào hàm như thế nào cho đúng?

  • A. `tinhNtkTB([20, 21, 22], [90.48, 0.27, 9.25, 100])`
  • B. `tinhNtkTB([90.48, 0.27, 9.25], [20, 21, 22])`
  • C. `tinhNtkTB([20, 21, 22], [90.48, 0.27, 9.25])`
  • D. `tinhNtkTB([20+21+22], [90.48+0.27+9.25])`

Câu 10: Thư viện `my_math` trong bài học được tạo ra với mục đích gì?

  • A. Chứa hằng số toán học (ví dụ: PI) để sử dụng trong các tính toán khác.
  • B. Thay thế hoàn toàn thư viện `math` có sẵn của Python.
  • C. Thực hiện các phép tính phức tạp mà thư viện `math` không có.
  • D. Quản lý danh sách các phép toán đã thực hiện.

Câu 11: Giả sử bạn đã tạo một thư viện tên là `utils.py` chứa hàm `kiem_tra_so_nguyen_duong(so)`. Trong một chương trình khác, bạn muốn sử dụng hàm này và đặt tên viết tắt cho thư viện là `ut`. Lệnh import và cách gọi hàm nào sau đây là đúng?

  • A. `import utils as ut` và gọi `utils.kiem_tra_so_nguyen_duong(10)`
  • B. `import utils as ut` và gọi `ut.kiem_tra_so_nguyen_duong(10)`
  • C. `from utils import kiem_tra_so_nguyen_duong as ut` và gọi `ut.kiem_tra_so_nguyen_duong(10)`
  • D. `from utils import * as ut` và gọi `ut.kiem_tra_so_nguyen_duong(10)`

Câu 12: Khi sử dụng cú pháp `from module_name import *`, điều gì có thể xảy ra nếu bạn import từ nhiều module khác nhau cùng một lúc?

  • A. Chương trình sẽ luôn chạy nhanh hơn.
  • B. Các hàm được import sẽ tự động đổi tên để tránh xung đột.
  • C. Có thể xảy ra xung đột tên (name collision) nếu các module có cùng tên hàm hoặc biến.
  • D. Bạn không thể import nhiều module cùng lúc bằng cú pháp này.

Câu 13: Bạn đang viết một chương trình xử lý dữ liệu hóa học và cần tính toán nguyên tử khối trung bình của nhiều nguyên tố. Thay vì viết lại mã tính toán mỗi lần, bạn quyết định tạo thư viện `cong_thuc_hoa.py`. Hành động này thể hiện rõ nhất nguyên tắc thiết kế phần mềm nào?

  • A. Nguyên tắc KISS (Keep It Simple, Stupid).
  • B. Nguyên tắc DRY (Don"t Repeat Yourself).
  • C. Nguyên tắc YAGNI (You Aren"t Gonna Need It).
  • D. Nguyên tắc SOLID.

Câu 14: Giả sử hàm `machSongSong(dsDienTro)` trong thư viện `cong_thuc_ly` trả về tổng nghịch đảo của các điện trở rồi lấy nghịch đảo của tổng đó. Nếu danh sách `dsDienTro` là `[2, 3, 6]`, kết quả trả về sẽ là bao nhiêu?

  • A. 1.0
  • B. 11.0
  • C. 0.5
  • D. Không thể tính vì thiếu thông tin.

Câu 15: Khi thiết kế một hàm trong thư viện, việc kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: bán kính hình tròn phải dương, giá trị điện trở phải lớn hơn 0) là quan trọng vì:

  • A. Giúp hàm chạy nhanh hơn.
  • B. Làm cho mã nguồn ngắn gọn hơn.
  • C. Đảm bảo hàm hoạt động chính xác với các giá trị hợp lệ và xử lý các trường hợp không hợp lệ một cách có kiểm soát.
  • D. Bắt buộc theo quy định của ngôn ngữ lập trình Python.

Câu 16: Bạn đang sử dụng thư viện `phuong_trinh` chứa hàm `phuongTrinhBac2(a, b, c)` để giải phương trình bậc hai. Bạn nhận được thông báo lỗi `NameError: name "phuongTrinhBac2" is not defined`. Nguyên nhân phổ biến nhất gây ra lỗi này là gì?

  • A. Các hệ số a, b, c không phải là số.
  • B. Phương trình bậc hai không có nghiệm thực.
  • C. Tệp thư viện `phuong_trinh.py` không tồn tại.
  • D. Hàm `phuongTrinhBac2` chưa được import đúng cách hoặc chưa được gọi với tiền tố thư viện phù hợp (nếu import theo kiểu `import phuong_trinh`).

Câu 17: Thư viện `quan_ly_cd` có thể bao gồm các hàm như `nhapDL()`, `timBai(tieu_de)`, `inTT()`. Chức năng cốt lõi mà thư viện này hướng tới là gì?

  • A. Tính toán các công thức vật lý.
  • B. Thao tác (nhập, tìm kiếm, hiển thị) dữ liệu liên quan đến danh sách bài hát.
  • C. Giải các loại phương trình toán học.
  • D. Vẽ các hình học cơ bản.

Câu 18: Bạn cần viết một chương trình để tính diện tích của 100 hình tròn khác nhau. Mỗi lần tính diện tích, bạn cần sử dụng công thức πr². Nếu không sử dụng thư viện, bạn sẽ phải viết lại công thức này 100 lần hoặc gọi một hàm tính diện tích được định nghĩa trực tiếp trong mã chính. Sử dụng thư viện `hinh_tron` với hàm `tinhDienTich` giúp giải quyết vấn đề này như thế nào?

  • A. Bạn chỉ cần viết công thức tính diện tích một lần trong thư viện, sau đó gọi hàm `tinhDienTich` 100 lần từ chương trình chính.
  • B. Việc tính toán sẽ được thực hiện song song, giúp tiết kiệm thời gian.
  • C. Thư viện tự động tìm và tính diện tích cho tất cả các hình tròn trong chương trình.
  • D. Thư viện sẽ lưu trữ kết quả của 100 lần tính toán này một cách tự động.

Câu 19: Khi phát triển thư viện, việc thêm các dòng chú thích (comment) vào mã nguồn có ý nghĩa quan trọng nhất là gì?

  • A. Giúp trình biên dịch (interpreter) hiểu mã tốt hơn.
  • B. Làm cho mã nguồn chạy nhanh hơn.
  • C. Giúp người dùng (hoặc lập trình viên khác) dễ dàng hiểu chức năng, tham số và cách sử dụng các hàm trong thư viện.
  • D. Ngăn chặn mã nguồn bị chỉnh sửa trái phép.

Câu 20: Bạn đang viết một chương trình yêu cầu nhập bán kính hình tròn từ người dùng. Giá trị nhập vào có thể là số âm hoặc 0. Nếu bạn sử dụng hàm `tinhChuVi(r)` từ thư viện `hinh_tron` mà hàm này không kiểm tra tính hợp lệ của `r` (chỉ áp dụng công thức 2πr), điều gì có khả năng xảy ra?

  • A. Chương trình sẽ báo lỗi cú pháp.
  • B. Hàm sẽ tính toán và trả về một giá trị chu vi không có ý nghĩa trong thực tế (âm hoặc 0).
  • C. Chương trình sẽ tự động làm tròn bán kính về giá trị dương nhỏ nhất.
  • D. Hàm sẽ tự động chuyển đổi số âm thành số dương trước khi tính toán.

Câu 21: Giả sử bạn muốn cập nhật thư viện `cong_thuc_ly` để hàm `machSongSong` không chỉ trả về -1 khi có lỗi mà còn in ra một thông báo cụ thể về loại lỗi (ví dụ: "Lỗi: Giá trị điện trở không hợp lệ"). Việc thêm thông báo lỗi giúp ích gì cho người sử dụng thư viện?

  • A. Giúp hàm chạy nhanh hơn trong trường hợp có lỗi.
  • B. Làm cho thư viện trở nên an toàn hơn trước các cuộc tấn công mạng.
  • C. Giảm kích thước của thư viện.
  • D. Giúp người dùng dễ dàng xác định nguyên nhân gây ra lỗi khi sử dụng hàm.

Câu 22: Bạn đã tạo một thư viện `phep_tinh.py` với hàm `tinh_tong(a, b)`. Sau đó, bạn tạo một tệp `main.py` và viết `import phep_tinh`. Dòng code nào sau đây sẽ gọi đúng hàm `tinh_tong` và in kết quả?

  • A. `print(tinh_tong(5, 3))`
  • B. `print(phep_tinh.tinh_tong(5, 3))`
  • C. `print(phep_tinh.tinh_tong a, b)`
  • D. `from phep_tinh import *; print(tinh_tong(5, 3))`

Câu 23: Trong Python, khi bạn tạo một tệp `.py`, tệp đó có thể được xem như một __________. Việc nhóm nhiều tệp `.py` vào một thư mục và thêm tệp `__init__.py` (có thể trống) sẽ biến thư mục đó thành một _________.

  • A. module, package
  • B. package, module
  • C. thư viện, module
  • D. package, thư viện

Câu 24: Bạn muốn sử dụng hằng số PI từ thư viện `math` của Python trong thư viện `hinh_tron` của mình. Lệnh import nào sau đây là cách phổ biến và rõ ràng nhất để làm điều này bên trong tệp `hinh_tron.py`?

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

Câu 25: Bạn đang làm việc với một dự án lớn và cần tổ chức mã nguồn một cách khoa học. Bạn có các module riêng cho xử lý toán học (`toan.py`), xử lý văn bản (`vanban.py`), và xử lý cơ sở dữ liệu (`csdl.py`). Cách tốt nhất để nhóm các module này lại thành một đơn vị logic duy nhất là gì?

  • A. Ghép nội dung của tất cả các tệp `.py` vào một tệp duy nhất.
  • B. Đặt tất cả các tệp `.py` vào cùng một thư mục mà không làm gì thêm.
  • C. Tạo một thư mục mới, đặt tất cả các tệp `.py` vào thư mục đó, và thêm một tệp `__init__.py` vào cùng thư mục.
  • D. Nén tất cả các tệp `.py` thành một tệp zip.

Câu 26: Một ưu điểm của việc sử dụng `from module import ten_thanh_phan` so với `import module` là gì?

  • A. Luôn tránh được xung đột tên.
  • B. Giúp chương trình chạy nhanh hơn.
  • C. Import toàn bộ nội dung của module.
  • D. Cho phép gọi trực tiếp các thành phần được import mà không cần sử dụng tiền tố tên module.

Câu 27: Bạn đang debug một chương trình sử dụng hàm `tinhDienTich` từ thư viện `hinh_tron`. Chương trình chạy được nhưng kết quả diện tích luôn bằng 0. Bạn kiểm tra mã nguồn của thư viện và thấy dòng `return math.pi * r * 0`. Lỗi này thuộc loại nào?

  • A. Lỗi cú pháp (Syntax Error).
  • B. Lỗi logic (Logic Error).
  • C. Lỗi thời gian chạy (Runtime Error).
  • D. Lỗi import (Import Error).

Câu 28: Trong bài thực hành, thư viện `cong_thuc_hoa` sử dụng danh sách để lưu trữ nguyên tử khối và tỷ lệ. Nếu người dùng truyền vào danh sách tỷ lệ mà tổng các giá trị không phải là 100%, kết quả tính nguyên tử khối trung bình sẽ như thế nào (giả sử hàm không kiểm tra tổng này)?

  • A. Hàm vẫn tính toán và trả về một giá trị, nhưng giá trị đó không phải là nguyên tử khối trung bình chính xác theo định nghĩa hóa học.
  • B. Chương trình sẽ tự động chuẩn hóa tổng tỷ lệ về 100% trước khi tính.
  • C. Hàm sẽ báo lỗi vì tổng tỷ lệ không bằng 100%.
  • D. Kết quả trả về sẽ luôn là 0.

Câu 29: Bạn đang sử dụng hàm `phuongTrinhBac2(a, b, c)` từ thư viện `phuong_trinh`. Nếu bạn truyền vào `a=0, b=2, c=-4`, hàm này sẽ giải phương trình nào và kết quả có thể là gì?

  • A. Phương trình bậc hai vô nghiệm.
  • B. Phương trình bậc hai có nghiệm kép x = 2.
  • C. Phương trình bậc nhất 2x - 4 = 0 với nghiệm x = 2.
  • D. Hàm sẽ báo lỗi vì hệ số a bằng 0.

Câu 30: Xét hàm `nhapDL()` trong thư viện `quan_ly_cd` (giả định nó trả về một cấu trúc dữ liệu chứa các bài hát). Nếu bạn gọi hàm này trong chương trình chính, mục đích chính của việc gọi hàm này là gì?

  • A. Hiển thị thông tin về đĩa CD hiện có.
  • B. Tìm kiếm một bài hát cụ thể trong đĩa CD.
  • C. Lưu trữ thông tin đĩa CD vào tệp.
  • D. Thu thập thông tin về các bài hát mới để thêm vào bộ sưu tập CD.

1 / 30

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

Tags: Bộ đề 01

Câu 1: Bạn đang phát triển một ứng dụng cần tính toán liên tục chu vi và diện tích của hình tròn ở nhiều nơi trong mã nguồn. Việc đóng gói các hàm tính toán này vào một thư viện (module) riêng biệt 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 31: Thực hành thiết lập thư viện chương trình

Tags: Bộ đề 01

Câu 2: Để tạo một thư viện đơn giản trong Python, bạn cần thực hiện bước cơ bản nào?

3 / 30

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

Tags: Bộ đề 01

Câu 3: Bạn đã tạo một thư viện tên là `hinh_hoc.py` chứa hàm `tinh_dien_tich_vuong(canh)`. Trong một tệp `main.py` khác, bạn muốn sử dụng hàm này. Lệnh import nào sau đây cho phép bạn gọi hàm bằng cách viết `hinh_hoc.tinh_dien_tich_vuong(5)`?

4 / 30

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

Tags: Bộ đề 01

Câu 4: Vẫn với thư viện `hinh_hoc.py` và hàm `tinh_dien_tich_vuong(canh)`. Lệnh import nào sau đây cho phép bạn gọi hàm chỉ bằng cách viết `tinh_dien_tich_vuong(5)` trong tệp `main.py`?

5 / 30

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

Tags: Bộ đề 01

Câu 5: Bạn đang sử dụng thư viện `hinh_tron` (từ ví dụ trong bài học) và đã import nó bằng lệnh `import hinh_tron`. Để tính chu vi của hình tròn có bán kính `r = 10`, bạn sẽ sử dụng lệnh gọi hàm nào?

6 / 30

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

Tags: Bộ đề 01

Câu 6: Thư viện `cong_thuc_ly` trong bài học có hàm `machSongSong(dsDienTro)` để tính điện trở tương đương. Giả sử hàm này được thiết kế để trả về giá trị đặc biệt (ví dụ: -1) nếu danh sách điện trở chứa giá trị không hợp lệ (<= 0). Một người dùng gọi hàm này với `cong_thuc_ly.machSongSong([15, 0, 25])`. Dựa trên thiết kế xử lý lỗi điển hình, kết quả trả về có khả năng cao nhất là gì?

7 / 30

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

Tags: Bộ đề 01

Câu 7: Trong thư viện `cong_thuc_ly`, hàm `machNoiTiep(dsDienTro)` tính điện trở tương đương của mạch nối tiếp. Công thức vật lý để tính điện trở tương đương của mạch nối tiếp là gì?

8 / 30

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

Tags: Bộ đề 01

Câu 8: Hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa` được dùng để tính nguyên tử khối trung bình. Tham số `dsNtk` là danh sách nguyên tử khối của các đồng vị, và `dstyLe` là danh sách tỷ lệ phần trăm tương ứng. Điều kiện nào sau đây *chắc chắn* dẫn đến kết quả tính toán sai hoặc lỗi nếu hàm không có cơ chế kiểm tra đầu vào đầy đủ?

9 / 30

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

Tags: Bộ đề 01

Câu 9: Bạn cần tính nguyên tử khối trung bình của Neon, có 3 đồng vị: Ne-20 (90.48%), Ne-21 (0.27%), Ne-22 (9.25%). Sử dụng thư viện `cong_thuc_hoa` với hàm `tinhNtkTB(dsNtk, dstyLe)`, bạn sẽ truyền dữ liệu vào hàm như thế nào cho đúng?

10 / 30

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

Tags: Bộ đề 01

Câu 10: Thư viện `my_math` trong bài học được tạo ra với mục đích gì?

11 / 30

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

Tags: Bộ đề 01

Câu 11: Giả sử bạn đã tạo một thư viện tên là `utils.py` chứa hàm `kiem_tra_so_nguyen_duong(so)`. Trong một chương trình khác, bạn muốn sử dụng hàm này và đặt tên viết tắt cho thư viện là `ut`. Lệnh import và cách gọi hàm nào sau đây là đúng?

12 / 30

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

Tags: Bộ đề 01

Câu 12: Khi sử dụng cú pháp `from module_name import *`, điều gì có thể xảy ra nếu bạn import từ nhiều module khác nhau cùng một lúc?

13 / 30

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

Tags: Bộ đề 01

Câu 13: Bạn đang viết một chương trình xử lý dữ liệu hóa học và cần tính toán nguyên tử khối trung bình của nhiều nguyên tố. Thay vì viết lại mã tính toán mỗi lần, bạn quyết định tạo thư viện `cong_thuc_hoa.py`. Hành động này thể hiện rõ nhất nguyên tắc thiết kế phần mềm nào?

14 / 30

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

Tags: Bộ đề 01

Câu 14: Giả sử hàm `machSongSong(dsDienTro)` trong thư viện `cong_thuc_ly` trả về tổng nghịch đảo của các điện trở rồi lấy nghịch đảo của tổng đó. Nếu danh sách `dsDienTro` là `[2, 3, 6]`, kết quả trả về sẽ là bao nhiêu?

15 / 30

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

Tags: Bộ đề 01

Câu 15: Khi thiết kế một hàm trong thư viện, việc kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: bán kính hình tròn phải dương, giá trị điện trở phải lớn hơn 0) là quan trọng vì:

16 / 30

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

Tags: Bộ đề 01

Câu 16: Bạn đang sử dụng thư viện `phuong_trinh` chứa hàm `phuongTrinhBac2(a, b, c)` để giải phương trình bậc hai. Bạn nhận được thông báo lỗi `NameError: name 'phuongTrinhBac2' is not defined`. Nguyên nhân phổ biến nhất gây ra lỗi này là gì?

17 / 30

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

Tags: Bộ đề 01

Câu 17: Thư viện `quan_ly_cd` có thể bao gồm các hàm như `nhapDL()`, `timBai(tieu_de)`, `inTT()`. Chức năng cốt lõi mà thư viện này hướng tới là gì?

18 / 30

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

Tags: Bộ đề 01

Câu 18: Bạn cần viết một chương trình để tính diện tích của 100 hình tròn khác nhau. Mỗi lần tính diện tích, bạn cần sử dụng công thức πr². Nếu không sử dụng thư viện, bạn sẽ phải viết lại công thức này 100 lần hoặc gọi một hàm tính diện tích được định nghĩa trực tiếp trong mã chính. Sử dụng thư viện `hinh_tron` với hàm `tinhDienTich` giúp giải quyết vấn đề này như thế nào?

19 / 30

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

Tags: Bộ đề 01

Câu 19: Khi phát triển thư viện, việc thêm các dòng chú thích (comment) vào mã nguồn có ý nghĩa quan trọng nhất là gì?

20 / 30

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

Tags: Bộ đề 01

Câu 20: Bạn đang viết một chương trình yêu cầu nhập bán kính hình tròn từ người dùng. Giá trị nhập vào có thể là số âm hoặc 0. Nếu bạn sử dụng hàm `tinhChuVi(r)` từ thư viện `hinh_tron` mà hàm này không kiểm tra tính hợp lệ của `r` (chỉ áp dụng công thức 2πr), điều gì có khả năng xảy ra?

21 / 30

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

Tags: Bộ đề 01

Câu 21: Giả sử bạn muốn cập nhật thư viện `cong_thuc_ly` để hàm `machSongSong` không chỉ trả về -1 khi có lỗi mà còn in ra một thông báo cụ thể về loại lỗi (ví dụ: 'Lỗi: Giá trị điện trở không hợp lệ'). Việc thêm thông báo lỗi giúp ích gì cho người sử dụng thư viện?

22 / 30

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

Tags: Bộ đề 01

Câu 22: Bạn đã tạo một thư viện `phep_tinh.py` với hàm `tinh_tong(a, b)`. Sau đó, bạn tạo một tệp `main.py` và viết `import phep_tinh`. Dòng code nào sau đây sẽ gọi đúng hàm `tinh_tong` và in kết quả?

23 / 30

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

Tags: Bộ đề 01

Câu 23: Trong Python, khi bạn tạo một tệp `.py`, tệp đó có thể được xem như một __________. Việc nhóm nhiều tệp `.py` vào một thư mục và thêm tệp `__init__.py` (có thể trống) sẽ biến thư mục đó thành một _________.

24 / 30

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

Tags: Bộ đề 01

Câu 24: Bạn muốn sử dụng hằng số PI từ thư viện `math` của Python trong thư viện `hinh_tron` của mình. Lệnh import nào sau đây là cách phổ biến và rõ ràng nhất để làm điều này bên trong tệp `hinh_tron.py`?

25 / 30

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

Tags: Bộ đề 01

Câu 25: Bạn đang làm việc với một dự án lớn và cần tổ chức mã nguồn một cách khoa học. Bạn có các module riêng cho xử lý toán học (`toan.py`), xử lý văn bản (`vanban.py`), và xử lý cơ sở dữ liệu (`csdl.py`). Cách tốt nhất để nhóm các module này lại thành một đơn vị logic duy nhất là gì?

26 / 30

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

Tags: Bộ đề 01

Câu 26: Một ưu điểm của việc sử dụng `from module import ten_thanh_phan` so với `import module` là gì?

27 / 30

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

Tags: Bộ đề 01

Câu 27: Bạn đang debug một chương trình sử dụng hàm `tinhDienTich` từ thư viện `hinh_tron`. Chương trình chạy được nhưng kết quả diện tích luôn bằng 0. Bạn kiểm tra mã nguồn của thư viện và thấy dòng `return math.pi * r * 0`. Lỗi này thuộc loại nào?

28 / 30

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

Tags: Bộ đề 01

Câu 28: Trong bài thực hành, thư viện `cong_thuc_hoa` sử dụng danh sách để lưu trữ nguyên tử khối và tỷ lệ. Nếu người dùng truyền vào danh sách tỷ lệ mà tổng các giá trị không phải là 100%, kết quả tính nguyên tử khối trung bình sẽ như thế nào (giả sử hàm không kiểm tra tổng này)?

29 / 30

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

Tags: Bộ đề 01

Câu 29: Bạn đang sử dụng hàm `phuongTrinhBac2(a, b, c)` từ thư viện `phuong_trinh`. Nếu bạn truyền vào `a=0, b=2, c=-4`, hàm này sẽ giải phương trình nào và kết quả có thể là gì?

30 / 30

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

Tags: Bộ đề 01

Câu 30: Xét hàm `nhapDL()` trong thư viện `quan_ly_cd` (giả định nó trả về một cấu trúc dữ liệu chứa các bài hát). Nếu bạn gọi hàm này trong chương trình chính, mục đích chính của việc gọi 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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Trong lập trình Python, mục đích chính của việc tổ chức mã nguồn thành các module (thư viện chương trình) là gì?

  • A. Để giảm dung lượng bộ nhớ mà chương trình sử dụng.
  • B. Để mã nguồn chỉ chạy được trên một hệ điều hành cụ thể.
  • C. Để nhóm các hàm, biến, lớp có liên quan và tăng khả năng tái sử dụng mã nguồn.
  • D. Để ẩn mã nguồn chi tiết khỏi người dùng cuối.

Câu 2: Giả sử bạn có một tệp tin `hinhhoc.py` chứa hàm `tinhDienTichHinhVuong(canh)`. Trong một tệp tin `main.py` khác, bạn muốn sử dụng hàm này. Lệnh import nào sau đây là đúng cú pháp để nhập toàn bộ module `hinhhoc`?

  • A. include hinhhoc;
  • B. import hinhhoc
  • C. from hinhhoc import *
  • D. use module hinhhoc;

Câu 3: Sau khi thực hiện lệnh `import hinhhoc` trong `main.py` (với `hinhhoc.py` chứa hàm `tinhDienTichHinhVuong`), bạn sẽ gọi hàm `tinhDienTichHinhVuong` như thế nào?

  • A. tinhDienTichHinhVuong(5)
  • B. hinhhoc::tinhDienTichHinhVuong(5)
  • C. call tinhDienTichHinhVuong(5)
  • D. hinhhoc.tinhDienTichHinhVuong(5)

Câu 4: Bạn muốn nhập chỉ một hàm cụ thể là `tinhChuVi` từ module `hinh_tron`. Lệnh import nào sau đây là phù hợp nhất để bạn có thể gọi trực tiếp hàm `tinhChuVi` mà không cần dùng tiền tố tên module?

  • A. from hinh_tron import tinhChuVi
  • B. import hinh_tron.tinhChuVi
  • C. import tinhChuVi from hinh_tron
  • D. from hinh_tron import *

Câu 5: Giả sử module `cong_thuc_ly.py` chứa hàm `machSongSong(dien_tro_list)` để tính điện trở tương đương của mạch song song. Hàm này được thiết kế để trả về -1 nếu có bất kỳ giá trị điện trở nào trong danh sách `dien_tro_list` không hợp lệ (ví dụ: <= 0). Nếu bạn gọi `cong_thuc_ly.machSongSong([10, 5, -2, 8])`, kết quả trả về sẽ là bao nhiêu?

  • A. Kết quả tính toán điện trở tương đương bình thường (một số dương)
  • B. Báo lỗi cú pháp (SyntaxError)
  • C. -1
  • D. Báo lỗi giá trị (ValueError)

Câu 6: Bạn có một module `my_utils.py` chứa một biến hằng số `MAX_VALUE = 1000`. Trong một chương trình khác, bạn sử dụng lệnh `import my_utils`. Để in giá trị của hằng số `MAX_VALUE`, bạn sẽ viết lệnh nào?

  • A. print(my_utils.MAX_VALUE)
  • B. print(MAX_VALUE)
  • C. print(my_utils::MAX_VALUE)
  • D. print(my_utils->MAX_VALUE)

Câu 7: Lệnh `from module_name import *` có ưu điểm gì khi sử dụng?

  • A. Chỉ nhập các hàm, bỏ qua các biến và lớp.
  • B. Giúp chương trình chạy nhanh hơn đáng kể.
  • C. Tự động cài đặt module nếu nó chưa tồn tại.
  • D. Cho phép gọi trực tiếp tất cả các thành phần của module mà không cần dùng tiền tố tên module.

Câu 8: Nhược điểm tiềm ẩn của việc sử dụng lệnh `from module_name import *` là gì?

  • A. Chỉ nhập được các hàm không có tham số.
  • B. Có thể gây xung đột tên (name clash) nếu các module khác cũng có đối tượng cùng tên.
  • C. Bắt buộc phải cài đặt module đó bằng pip trước khi sử dụng.
  • D. Chỉ hoạt động với các module do người dùng tự tạo, không dùng được với module chuẩn của Python.

Câu 9: Để tránh gõ tên module dài dòng mỗi khi truy cập thành phần của nó, bạn có thể sử dụng bí danh (alias). Nếu bạn nhập module `cong_thuc_hoa` bằng lệnh `import cong_thuc_hoa as cth`, bạn sẽ gọi hàm `tinhNtkTB` như thế nào?

  • A. cong_thuc_hoa.tinhNtkTB(...)
  • B. tinhNtkTB(...)
  • C. cth.tinhNtkTB(...)
  • D. cth::tinhNtkTB(...)

Câu 10: Khi bạn tạo một tệp tin Python (`.py`) và lưu nó, tệp tin đó có thể được coi là gì trong bối cảnh lập trình Python?

  • A. Một module.
  • B. Một package.
  • C. Một thư mục (directory).
  • D. Một lớp (class).

Câu 11: Giả sử bạn có module `phep_tinh.py` như sau:
```python
def cong(a, b):
return a + b

PI = 3.14
```
Trong tệp tin `main.py`, bạn viết:
```python
import phep_tinh

ket_qua = phep_tinh.cong(10, 20)
print(phep_tinh.PI)
```
Chương trình này sẽ in ra kết quả nào?

  • A. 30
    3.14
  • B. 30
    3.14
  • C. Báo lỗi vì không thể truy cập PI.
  • D. Chỉ in ra 30.

Câu 12: Điều gì xảy ra nếu bạn cố gắng import một module không tồn tại trên hệ thống hoặc không nằm trong đường dẫn tìm kiếm của Python?

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

Câu 13: Giả sử bạn có module `my_constants.py` chỉ chứa các biến hằng số như `GIA_TOC_TT = 9.81`, `HANG_SO_PL = 6.626e-34`. Lợi ích của việc tạo một module riêng chỉ để chứa các hằng số là gì?

  • A. Tập trung các hằng số vào một nơi duy nhất, dễ quản lý và tái sử dụng.
  • B. Ngăn chặn việc thay đổi giá trị của các hằng số trong chương trình chính.
  • C. Giúp các hằng số có thể được truy cập trực tiếp mà không cần import.
  • D. Làm cho chương trình chính không cần bất kỳ biến nào.

Câu 14: Trong module `cong_thuc_ly.py`, hàm `machNoiTiep(dsDienTro)` tính tổng điện trở của mạch nối tiếp. Theo ngữ cảnh bài học, hàm này được thiết kế để kiểm tra dữ liệu đầu vào. Điều gì có thể xảy ra nếu danh sách `dsDienTro` chứa một giá trị không hợp lệ (ví dụ: số âm hoặc 0)?

  • A. Hàm sẽ tự động bỏ qua giá trị không hợp lệ đó và tính tổng các giá trị còn lại.
  • B. Python sẽ tự động chuyển đổi giá trị không hợp lệ thành 0 hoặc dương.
  • C. Chương trình sẽ báo lỗi chia cho không (ZeroDivisionError).
  • D. Hàm có thể trả về một giá trị đặc biệt (ví dụ: -1) để báo hiệu lỗi dữ liệu không hợp lệ.

Câu 15: Bạn có một module `my_math.py` chứa định nghĩa hằng số `PI = 3.14159`. Trong chương trình chính, bạn muốn sử dụng hằng số này và cả hàm `sqrt` từ module chuẩn `math`. Bạn cần thực hiện các lệnh import nào?

  • A. import my_math
    import math
  • B. from my_math import PI
    import math.sqrt
  • C. import my_math, math.sqrt

Câu 16: Khi bạn chạy trực tiếp một tệp tin Python (`.py`), giá trị của biến đặc biệt `__name__` trong tệp tin đó là gì?

  • A. `
  • B. Tên của tệp tin (ví dụ: `
  • C. `None`
  • D. Một chuỗi ngẫu nhiên.

Câu 17: Nếu một tệp tin Python (`my_module.py`) được import vào một tệp tin khác (`main.py`), giá trị của biến đặc biệt `__name__` bên trong `my_module.py` (khi nó đang được import) là gì?

  • A. `
  • B. Tên của module (ví dụ: `
  • C. Tên của tệp tin đang import nó (`
  • D. `None`

Câu 18: Đoạn mã `if __name__ ==

  • A. Để khai báo các biến toàn cục (global variables).
  • B. Để định nghĩa các hàm chính của module.
  • C. Để bắt buộc module phải được chạy trực tiếp chứ không cho phép import.
  • D. Để chứa các mã lệnh chỉ chạy khi tệp tin được thực thi trực tiếp, không chạy khi được import.

Câu 19: Giả sử bạn có một module `phuong_trinh.py` với hàm `phuongTrinhBac2(a, b, c)` để giải phương trình bậc hai. Bạn đã import module này vào chương trình chính. Nếu bạn gọi hàm với các tham số `a=1, b=-3, c=2`, hàm này có khả năng thực hiện công việc gì dựa trên tên và ngữ cảnh bài học?

  • A. Chỉ kiểm tra xem các hệ số a, b, c có hợp lệ không.
  • B. Tính toán và in ra nghiệm của phương trình x^2 - 3x + 2 = 0.
  • C. Tìm giá trị nhỏ nhất của biểu thức ax^2 + bx + c.
  • D. Vẽ đồ thị của hàm số y = ax^2 + bx + c.

Câu 20: Bạn đang phát triển một ứng dụng quản lý sách. Bạn có các chức năng liên quan đến xử lý dữ liệu sách (thêm, xóa, tìm kiếm) và các chức năng liên quan đến giao diện người dùng (hiển thị danh sách, nhập liệu). Cách tốt nhất để tổ chức mã nguồn là gì?

  • A. Viết tất cả mã nguồn vào một tệp tin duy nhất để dễ dàng tìm kiếm.
  • B. Chia mã nguồn thành nhiều tệp tin nhỏ ngẫu nhiên mà không theo chủ đề.
  • C. Tạo các module riêng biệt cho các nhóm chức năng khác nhau (ví dụ: module `data_handler.py`, module `gui.py`).
  • D. Chỉ sử dụng các thư viện có sẵn của Python, không tự tạo module.

Câu 21: Điều gì sẽ xảy ra nếu trong module `my_module.py` bạn có một biến `counter = 0` và trong `main.py` bạn import `my_module` và sau đó thay đổi giá trị của biến này bằng `my_module.counter = 10`?

  • A. Giá trị của `my_module.counter` trong `main.py` sẽ được thay đổi thành 10.
  • B. Python sẽ báo lỗi vì không được phép thay đổi biến trong module đã import.
  • C. Một biến `counter` mới sẽ được tạo trong `main.py` với giá trị 10, biến trong module vẫn là 0.
  • D. Chỉ có thể đọc giá trị của biến, không thể thay đổi.

Câu 22: Trong module `calculations.py`, bạn có các hàm `add`, `subtract`, `multiply`, `divide`. Nếu bạn chỉ cần sử dụng hàm `add` và `divide` trong chương trình chính, phương pháp import nào sau đây là hiệu quả và rõ ràng nhất?

  • A. import calculations
  • B. from calculations import *
  • C. from calculations import add, divide
  • D. import calculations.add, calculations.divide

Câu 23: Việc sử dụng các thư viện chuẩn có sẵn của Python (như `math`, `random`, `os`, etc.) mang lại lợi ích gì?

  • A. Giúp lập trình viên tiết kiệm thời gian và công sức bằng cách cung cấp các chức năng có sẵn, đã được kiểm thử.
  • B. Làm cho mã nguồn của bạn trở nên khó hiểu hơn đối với người khác.
  • C. Bắt buộc chương trình phải kết nối internet để hoạt động.
  • D. Chỉ có thể sử dụng các hàm toán học cơ bản nhất.

Câu 24: Giả sử bạn có module `quan_ly_cd.py` với hàm `nhapDL()` dùng để nhập thông tin bài hát và trả về danh sách. Trong chương trình chính, bạn viết `import quan_ly_cd`. Sau đó, bạn muốn gọi hàm `nhapDL()` và lưu kết quả vào biến `danh_sach_bai_hat`. Lệnh gọi hàm nào là đúng?

  • A. danh_sach_bai_hat = nhapDL()
  • B. danh_sach_bai_hat = quan_ly_cd.nhapDL()
  • C. danh_sach_bai_hat = quan_ly_cd::nhapDL()
  • D. call quan_ly_cd.nhapDL() to danh_sach_bai_hat

Câu 25: Khi sử dụng lệnh `from module_name import function_name`, bạn đang đưa `function_name` vào không gian tên (namespace) nào?

  • A. Không gian tên hiện tại của chương trình/module đang thực hiện lệnh import.
  • B. Không gian tên toàn cục (global namespace) của hệ thống.
  • C. Không gian tên riêng của module gốc (`module_name`).
  • D. Một không gian tên tạm thời chỉ tồn tại trong quá trình import.

Câu 26: Bạn có một module `hinhhoc.py` với hàm `tinhChuVi(r)` và `tinhDienTich(r)` sử dụng `math.pi`. Nếu bạn tạo một module `my_math.py` với `PI = 3.14159` và muốn `hinhhoc.py` sử dụng `my_math.PI` thay vì `math.pi`, bạn cần chỉnh sửa gì trong `hinhhoc.py`?

  • A. Xóa dòng `import math` và không làm gì khác.
  • B. Giữ nguyên `import math` và thêm `import my_math`, Python sẽ tự động ưu tiên `my_math.PI`.
  • C. Thay thế `import math` bằng `import my_math` và thay thế tất cả `math.pi` bằng `my_math.PI`.
  • D. Thêm `from my_math import PI` và thay thế tất cả `math.pi` bằng `PI`.

Câu 27: Khi tạo một module Python (.py), bạn nên tránh đặt các mã lệnh thực thi chính (ví dụ: các dòng code chạy trực tiếp để kiểm thử hoặc hiển thị kết quả) ở cấp độ cao nhất của tệp tin. Thay vào đó, nên đặt chúng trong khối `if __name__ ==

  • A. Để mã nguồn được biên dịch thành bytecode nhanh hơn.
  • B. Để ngăn các mã lệnh thực thi chạy mỗi khi module được import vào chương trình khác.
  • C. Để Python tự động tạo tài liệu (documentation) cho module.
  • D. Để chỉ cho phép module được import mà không thể chạy trực tiếp.

Câu 28: Giả sử bạn có một tệp tin `my_module.py` chỉ chứa dòng lệnh `print(

  • A. In ra màn hình:
  • B. Không in ra gì cả.
  • C. Báo lỗi `ImportError`.
  • D. Chương trình sẽ dừng lại chờ người dùng nhập dữ liệu.

Câu 29: Bạn đã tạo một module `my_functions.py` chứa nhiều hàm hữu ích. Trong chương trình chính, bạn muốn sử dụng hàm `process_data` từ module này và đặt cho nó một cái tên ngắn gọn hơn là `pd`. Lệnh import nào sau đây thực hiện được điều đó?

  • A. import my_functions.process_data as pd
  • B. from my_functions import process_data, pd
  • C. import my_functions as pd.process_data
  • D. from my_functions import process_data as pd

Câu 30: Đánh giá tính đúng sai của nhận định sau:

  • A. Đúng, vì với các dự án nhỏ, việc chia file chỉ làm mất thời gian và khó quản lý.
  • B. Sai, vì module hóa giúp cải thiện khả năng tổ chức, tái sử dụng và bảo trì mã nguồn ngay cả với các chương trình nhỏ.
  • C. Đúng, chỉ khi có nhiều người cùng làm việc trên một dự án thì mới cần chia thành module.
  • D. Sai, nhưng chỉ có ý nghĩa khi làm việc với các module chuẩn của Python, không áp dụng cho module tự tạo.

1 / 30

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

Tags: Bộ đề 02

Câu 1: Trong lập trình Python, mục đích chính của việc tổ chức mã nguồn thành các module (thư viện chương trình) là gì?

2 / 30

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

Tags: Bộ đề 02

Câu 2: Giả sử bạn có một tệp tin `hinhhoc.py` chứa hàm `tinhDienTichHinhVuong(canh)`. Trong một tệp tin `main.py` khác, bạn muốn sử dụng hàm này. Lệnh import nào sau đây là đúng cú pháp để nhập toàn bộ module `hinhhoc`?

3 / 30

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

Tags: Bộ đề 02

Câu 3: Sau khi thực hiện lệnh `import hinhhoc` trong `main.py` (với `hinhhoc.py` chứa hàm `tinhDienTichHinhVuong`), bạn sẽ gọi hàm `tinhDienTichHinhVuong` như thế nào?

4 / 30

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

Tags: Bộ đề 02

Câu 4: Bạn muốn nhập chỉ một hàm cụ thể là `tinhChuVi` từ module `hinh_tron`. Lệnh import nào sau đây là phù hợp nhất để bạn có thể gọi trực tiếp hàm `tinhChuVi` mà không cần dùng tiền tố tên module?

5 / 30

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

Tags: Bộ đề 02

Câu 5: Giả sử module `cong_thuc_ly.py` chứa hàm `machSongSong(dien_tro_list)` để tính điện trở tương đương của mạch song song. Hàm này được thiết kế để trả về -1 nếu có bất kỳ giá trị điện trở nào trong danh sách `dien_tro_list` không hợp lệ (ví dụ: <= 0). Nếu bạn gọi `cong_thuc_ly.machSongSong([10, 5, -2, 8])`, kết quả trả về sẽ là bao nhiêu?

6 / 30

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

Tags: Bộ đề 02

Câu 6: Bạn có một module `my_utils.py` chứa một biến hằng số `MAX_VALUE = 1000`. Trong một chương trình khác, bạn sử dụng lệnh `import my_utils`. Để in giá trị của hằng số `MAX_VALUE`, bạn sẽ viết lệnh nào?

7 / 30

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

Tags: Bộ đề 02

Câu 7: Lệnh `from module_name import *` có ưu điểm gì khi sử dụng?

8 / 30

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

Tags: Bộ đề 02

Câu 8: Nhược điểm tiềm ẩn của việc sử dụng lệnh `from module_name import *` là gì?

9 / 30

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

Tags: Bộ đề 02

Câu 9: Để tránh gõ tên module dài dòng mỗi khi truy cập thành phần của nó, bạn có thể sử dụng bí danh (alias). Nếu bạn nhập module `cong_thuc_hoa` bằng lệnh `import cong_thuc_hoa as cth`, bạn sẽ gọi hàm `tinhNtkTB` như thế nào?

10 / 30

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

Tags: Bộ đề 02

Câu 10: Khi bạn tạo một tệp tin Python (`.py`) và lưu nó, tệp tin đó có thể được coi là gì trong bối cảnh lập trình Python?

11 / 30

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

Tags: Bộ đề 02

Câu 11: Giả sử bạn có module `phep_tinh.py` như sau:
```python
def cong(a, b):
return a + b

PI = 3.14
```
Trong tệp tin `main.py`, bạn viết:
```python
import phep_tinh

ket_qua = phep_tinh.cong(10, 20)
print(phep_tinh.PI)
```
Chương trình này sẽ in ra kết quả nào?

12 / 30

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

Tags: Bộ đề 02

Câu 12: Điều gì xảy ra nếu bạn cố gắng import một module không tồn tại trên hệ thống hoặc không nằm trong đường dẫn tìm kiếm của Python?

13 / 30

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

Tags: Bộ đề 02

Câu 13: Giả sử bạn có module `my_constants.py` chỉ chứa các biến hằng số như `GIA_TOC_TT = 9.81`, `HANG_SO_PL = 6.626e-34`. Lợi ích của việc tạo một module riêng chỉ để chứa các hằng số là gì?

14 / 30

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

Tags: Bộ đề 02

Câu 14: Trong module `cong_thuc_ly.py`, hàm `machNoiTiep(dsDienTro)` tính tổng điện trở của mạch nối tiếp. Theo ngữ cảnh bài học, hàm này được thiết kế để kiểm tra dữ liệu đầu vào. Điều gì có thể xảy ra nếu danh sách `dsDienTro` chứa một giá trị không hợp lệ (ví dụ: số âm hoặc 0)?

15 / 30

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

Tags: Bộ đề 02

Câu 15: Bạn có một module `my_math.py` chứa định nghĩa hằng số `PI = 3.14159`. Trong chương trình chính, bạn muốn sử dụng hằng số này và cả hàm `sqrt` từ module chuẩn `math`. Bạn cần thực hiện các lệnh import nào?

16 / 30

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

Tags: Bộ đề 02

Câu 16: Khi bạn chạy trực tiếp một tệp tin Python (`.py`), giá trị của biến đặc biệt `__name__` trong tệp tin đó là gì?

17 / 30

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

Tags: Bộ đề 02

Câu 17: Nếu một tệp tin Python (`my_module.py`) được import vào một tệp tin khác (`main.py`), giá trị của biến đặc biệt `__name__` bên trong `my_module.py` (khi nó đang được import) là gì?

18 / 30

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

Tags: Bộ đề 02

Câu 18: Đoạn mã `if __name__ == "__main__":` thường được sử dụng ở cuối các tệp tin module với mục đích gì?

19 / 30

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

Tags: Bộ đề 02

Câu 19: Giả sử bạn có một module `phuong_trinh.py` với hàm `phuongTrinhBac2(a, b, c)` để giải phương trình bậc hai. Bạn đã import module này vào chương trình chính. Nếu bạn gọi hàm với các tham số `a=1, b=-3, c=2`, hàm này có khả năng thực hiện công việc gì dựa trên tên và ngữ cảnh bài học?

20 / 30

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

Tags: Bộ đề 02

Câu 20: Bạn đang phát triển một ứng dụng quản lý sách. Bạn có các chức năng liên quan đến xử lý dữ liệu sách (thêm, xóa, tìm kiếm) và các chức năng liên quan đến giao diện người dùng (hiển thị danh sách, nhập liệu). Cách tốt nhất để tổ chức mã nguồn là gì?

21 / 30

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

Tags: Bộ đề 02

Câu 21: Điều gì sẽ xảy ra nếu trong module `my_module.py` bạn có một biến `counter = 0` và trong `main.py` bạn import `my_module` và sau đó thay đổi giá trị của biến này bằng `my_module.counter = 10`?

22 / 30

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

Tags: Bộ đề 02

Câu 22: Trong module `calculations.py`, bạn có các hàm `add`, `subtract`, `multiply`, `divide`. Nếu bạn chỉ cần sử dụng hàm `add` và `divide` trong chương trình chính, phương pháp import nào sau đây là hiệu quả và rõ ràng nhất?

23 / 30

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

Tags: Bộ đề 02

Câu 23: Việc sử dụng các thư viện chuẩn có sẵn của Python (như `math`, `random`, `os`, etc.) mang lại lợi ích gì?

24 / 30

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

Tags: Bộ đề 02

Câu 24: Giả sử bạn có module `quan_ly_cd.py` với hàm `nhapDL()` dùng để nhập thông tin bài hát và trả về danh sách. Trong chương trình chính, bạn viết `import quan_ly_cd`. Sau đó, bạn muốn gọi hàm `nhapDL()` và lưu kết quả vào biến `danh_sach_bai_hat`. Lệnh gọi hàm nào là đúng?

25 / 30

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

Tags: Bộ đề 02

Câu 25: Khi sử dụng lệnh `from module_name import function_name`, bạn đang đưa `function_name` vào không gian tên (namespace) nào?

26 / 30

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

Tags: Bộ đề 02

Câu 26: Bạn có một module `hinhhoc.py` với hàm `tinhChuVi(r)` và `tinhDienTich(r)` sử dụng `math.pi`. Nếu bạn tạo một module `my_math.py` với `PI = 3.14159` và muốn `hinhhoc.py` sử dụng `my_math.PI` thay vì `math.pi`, bạn cần chỉnh sửa gì trong `hinhhoc.py`?

27 / 30

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

Tags: Bộ đề 02

Câu 27: Khi tạo một module Python (.py), bạn nên tránh đặt các mã lệnh thực thi chính (ví dụ: các dòng code chạy trực tiếp để kiểm thử hoặc hiển thị kết quả) ở cấp độ cao nhất của tệp tin. Thay vào đó, nên đặt chúng trong khối `if __name__ == "__main__":`. Tại sao?

28 / 30

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

Tags: Bộ đề 02

Câu 28: Giả sử bạn có một tệp tin `my_module.py` chỉ chứa dòng lệnh `print("Module my_module đã được nạp!")` ở cấp độ cao nhất. Nếu bạn chạy một tệp tin `main.py` chỉ chứa lệnh `import my_module`, kết quả trên màn hình sẽ là gì?

29 / 30

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

Tags: Bộ đề 02

Câu 29: Bạn đã tạo một module `my_functions.py` chứa nhiều hàm hữu ích. Trong chương trình chính, bạn muốn sử dụng hàm `process_data` từ module này và đặt cho nó một cái tên ngắn gọn hơn là `pd`. Lệnh import nào sau đây thực hiện được điều đó?

30 / 30

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

Tags: Bộ đề 02

Câu 30: Đánh giá tính đúng sai của nhận định sau: "Việc tạo và sử dụng thư viện chương trình (module) chỉ có ý nghĩa khi làm việc với các dự án phần mềm rất lớn và phức tạp."

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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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, mục đích chính của việc thiết lập và sử dụng thư viện (module) là gì?

  • A. Để làm cho chương trình chạy nhanh hơn
  • B. Để bảo mật mã nguồn tốt hơn
  • C. Để tái sử dụng mã nguồn và tổ chức chương trình hiệu quả
  • D. Để chương trình có giao diện đồ họa đẹp hơn

Câu 2: Giả sử bạn đã tạo một tệp Python có tên `geometry.py` chứa các hàm tính toán hình học. Để sử dụng một hàm `calculate_area` từ tệp này trong một tệp Python khác (`main.py`) nằm cùng thư mục, bạn cần viết câu lệnh nào ở đầu tệp `main.py`?

  • A. include geometry
  • B. import geometry
  • C. use geometry
  • D. from geometry include *

Câu 3: Sau khi thực hiện `import geometry` như ở Câu 2, để gọi hàm `calculate_area` từ module `geometry`, bạn sử dụng cú pháp nào?

  • A. calculate_area()
  • B. geometry.calculate_area()
  • C. call geometry.calculate_area()
  • D. geometry.calculate_area(...)

Câu 4: Bạn có một thư viện `utils.py` và chỉ muốn sử dụng duy nhất hàm `process_data` trong đó mà không muốn nhập toàn bộ thư viện. Câu lệnh nhập (import) nào phù hợp nhất?

  • A. from utils import process_data
  • B. import utils.process_data
  • C. import process_data from utils
  • D. use utils.process_data

Câu 5: Khi sử dụng câu lệnh `from module_name import *`, điều gì có thể xảy ra và tại sao cách này thường không được khuyến khích trong các dự án lớn?

  • A. Chương trình sẽ chạy chậm hơn do phải nhập quá nhiều thứ.
  • B. Các hàm được nhập sẽ không hoạt động đúng cách.
  • C. Có thể gây ra xung đột tên (name collision) nếu có các đối tượng cùng tên ở nơi khác.
  • D. Bạn không thể truy cập các hàm bằng cách sử dụng tên module làm tiền tố.

Câu 6: Cho đoạn mã trong tệp `hinh_tron.py` như sau (giả định có import math):
```python
def tinhChuVi(r):
return 2 * math.pi * r

def tinhDienTich(r):
return math.pi * r * r
```
Trong tệp `main.py`, bạn viết:
```python
import hinh_tron
ban_kinh = 10
dien_tich = hinh_tron.tinhDienTich(ban_kinh)
print(dien_tich)
```
Kết quả in ra màn hình sẽ là giá trị nào sau đây (làm tròn)?

  • A. 62.83
  • B. 314.16
  • C. 100
  • D. Lỗi chương trình

Câu 7: Xem xét hàm `machSongSong` trong thư viện `cong_thuc_ly` (dựa trên mô tả trong bài), hàm này được thiết kế để trả về giá trị `-1` khi nào?

  • A. Khi danh sách điện trở đầu vào chứa ít nhất một giá trị nhỏ hơn hoặc bằng 0.
  • B. Khi tổng điện trở tương đương tính được nhỏ hơn 0.
  • C. Khi danh sách điện trở đầu vào là rỗng.
  • D. Khi tất cả các giá trị điện trở đều bằng 0.

Câu 8: Giả sử hàm `machNoiTiep` trong thư viện `cong_thuc_ly` tính tổng các điện trở trong danh sách. Nếu bạn gọi `cong_thuc_ly.machNoiTiep([10, 20, 30])`, kết quả trả về sẽ là bao nhiêu?

  • A. 60.0
  • B. 0.0167
  • C. -1
  • D. 60

Câu 9: Hàm `tinhNtkTB` trong thư viện `cong_thuc_hoa` tính nguyên tử khối trung bình dựa trên danh sách nguyên tử khối và danh sách tỉ lệ phần trăm. Điều kiện nào sau đây khiến hàm này (theo mô tả trong bài) trả về giá trị 0?

  • A. Khi tổng các tỉ lệ phần trăm khác 100.
  • B. Khi số lượng phần tử trong danh sách nguyên tử khối và danh sách tỉ lệ không bằng nhau.
  • C. Khi tất cả các nguyên tử khối đều bằng 0.
  • D. Khi tổng nguyên tử khối trung bình tính được nhỏ hơn 0.

Câu 10: Bạn muốn tính nguyên tử khối trung bình của nguyên tố X có hai đồng vị: đồng vị A có nguyên tử khối 35 với tỉ lệ 75%, đồng vị B có nguyên tử khối 37 với tỉ lệ 25%. Sử dụng hàm `tinhNtkTB` từ thư viện `cong_thuc_hoa`, bạn sẽ gọi hàm với tham số nào?

  • A. tinhNtkTB(35, 37, 75, 25)
  • B. tinhNtkTB([35, 75], [37, 25])
  • C. tinhNtkTB([35, 37], [75, 25])
  • D. tinhNtkTB(35, 75, 37, 25)

Câu 11: Giả sử bạn đã nhập thư viện `phuong_trinh` chứa hàm `phuongTrinhBac2(a, b, c)` để giải phương trình bậc hai `ax^2 + bx + c = 0`. Để giải phương trình `2x^2 - 5x + 3 = 0`, bạn sẽ viết câu lệnh gọi hàm như thế nào?

  • A. phuong_trinh.phuongTrinhBac2(2, -5, 3)
  • B. phuong_trinh.phuongTrinhBac2(-5, 2, 3)
  • C. phuongTrinhBac2(2, -5, 3)
  • D. phuong_trinh.giai(2, -5, 3)

Câu 12: Một trong những lý do chính để đóng gói các chức năng liên quan vào một thư viện thay vì viết tất cả mã trong một tệp duy nhất là gì?

  • A. Để làm cho chương trình khởi động nhanh hơn.
  • B. Để dễ dàng quản lý, bảo trì và mở rộng mã nguồn.
  • C. Để giảm dung lượng tệp chương trình.
  • D. Để ngăn chặn người khác xem mã nguồn của bạn.

Câu 13: Bạn đang viết một chương trình cần sử dụng hằng số PI. Thư viện chuẩn nào của Python chứa hằng số này với độ chính xác cao?

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

Câu 14: Giả sử bạn đã viết một thư viện `my_calculations.py` và muốn sử dụng nó trong `main.py`. Nếu `my_calculations.py` không nằm trong cùng thư mục với `main.py` cũng như không nằm trong các đường dẫn mà Python mặc định tìm kiếm module, điều gì sẽ xảy ra khi bạn chạy `main.py` với lệnh `import my_calculations`?

  • A. Python sẽ báo lỗi `ModuleNotFoundError`.
  • B. Python sẽ tự động tìm kiếm trên internet để tải thư viện.
  • C. Chương trình sẽ chạy nhưng các hàm trong thư viện sẽ không hoạt động.
  • D. Python sẽ yêu cầu bạn nhập đường dẫn đến thư viện.

Câu 15: Khi một hàm trong thư viện được thiết kế để trả về một giá trị đặc biệt (ví dụ: -1, 0 hoặc None) để báo hiệu lỗi hoặc dữ liệu không hợp lệ, người lập trình sử dụng thư viện đó cần làm gì sau khi gọi hàm?

  • A. Bỏ qua giá trị trả về vì lỗi sẽ được xử lý tự động.
  • B. Kiểm tra giá trị trả về của hàm để phát hiện và xử lý trường hợp lỗi/dữ liệu không hợp lệ.
  • C. Ngừng chương trình ngay lập tức nếu giá trị trả về khác giá trị mong đợi.
  • D. In thông báo lỗi ra màn hình và tiếp tục chạy chương trình.

Câu 16: Giả sử bạn đã tạo thư viện `my_shapes.py` và muốn sử dụng hàm `calculate_perimeter` từ đó, nhưng bạn muốn gọi nó bằng tên `calc_chuvi` trong mã của mình để thuận tiện. Câu lệnh nhập nào cho phép làm điều này?

  • A. import my_shapes.calculate_perimeter as calc_chuvi
  • B. from my_shapes import calculate_perimeter, rename as calc_chuvi
  • C. from my_shapes import calculate_perimeter as calc_chuvi
  • D. import my_shapes as calc_chuvi.calculate_perimeter

Câu 17: Bạn có một tệp `data_processing.py` chứa nhiều hàm. Trong tệp `main.py`, bạn chỉ cần sử dụng hàm `load_data` và `save_data`. Cách nhập nào sau đây là hiệu quả nhất về mặt không gian tên (namespace) và rõ ràng về mục đích?

  • A. from data_processing import load_data, save_data
  • B. import data_processing
  • C. from data_processing import *
  • D. import data_processing as dp

Câu 18: Khi bạn chạy một tệp Python (ví dụ `my_script.py`), Python sẽ tự động thêm thư mục nào vào danh sách các đường dẫn tìm kiếm module (`sys.path`)?

  • A. Thư mục chứa cài đặt Python.
  • B. Thư mục chứa tệp `my_script.py` đang được chạy.
  • C. Thư mục "site-packages" của Python.
  • D. Thư mục gốc của hệ thống (ví dụ: C: hoặc /).

Câu 19: Xét hàm `machSongSong` từ thư viện `cong_thuc_ly`. Nếu bạn gọi hàm này với danh sách rỗng `[]`, điều gì sẽ xảy ra với logic tính tổng nghịch đảo và lấy nghịch đảo của tổng đó? (Giả sử hàm không kiểm tra danh sách rỗng mà chỉ thực hiện tính toán thông thường).

  • A. Hàm sẽ trả về 0.
  • B. Hàm sẽ trả về -1.
  • C. Hàm sẽ trả về một số rất lớn.
  • D. Chương trình sẽ gặp lỗi `ZeroDivisionError`.

Câu 20: Bạn đã nhập một thư viện bằng lệnh `import my_library`. Để xem danh sách tất cả các hàm, biến và lớp có sẵn trong `my_library`, bạn có thể sử dụng hàm dựng sẵn nào của Python?

  • A. dir(my_library)
  • B. help(my_library)
  • C. list(my_library)
  • D. info(my_library)

Câu 21: Giả sử bạn có một thư viện `geometry.py` với hàm `calculate_area(radius)`. Bạn viết một script `main.py` nhập và sử dụng hàm này. Sau đó, bạn chỉnh sửa mã trong `geometry.py` (ví dụ: thay đổi công thức tính). Khi bạn chạy lại `main.py`, liệu nó có sử dụng ngay mã đã chỉnh sửa trong `geometry.py` không? Tại sao?

  • A. Có, vì Python luôn tải lại thư viện mỗi khi nó được sử dụng.
  • B. Không, vì Python chỉ nhập một module một lần trong một phiên chạy để tối ưu hiệu suất.
  • C. Chỉ khi bạn thêm câu lệnh `reload(geometry)`.
  • D. Chỉ khi tệp `geometry.py` có dung lượng nhỏ hơn.

Câu 22: Bạn cần viết một chương trình tính diện tích nhiều hình tròn với bán kính khác nhau. Việc đóng gói hàm tính diện tích vào một thư viện riêng biệt và nhập nó vào chương trình chính mang lại lợi ích rõ rệt nào so với việc viết lại mã tính diện tích mỗi lần cần dùng?

  • A. Giúp tránh lặp lại mã nguồn, làm cho chương trình ngắn gọn và dễ bảo trì hơn.
  • B. Tự động xử lý các trường hợp bán kính âm.
  • C. Làm cho giao diện người dùng đẹp mắt hơn.
  • D. Bắt buộc người dùng nhập bán kính bằng số nguyên.

Câu 23: Giả sử thư viện `quan_ly_cd` (dựa trên mô tả trong bài) sử dụng một cấu trúc dữ liệu (ví dụ: LinkedList) để lưu trữ các bài hát. Khi bạn sử dụng hàm `nhapDL()` để thêm bài hát, bạn không cần quan tâm cấu trúc dữ liệu đó được cài đặt như thế nào bên trong thư viện. Đây là một ví dụ về nguyên tắc nào trong lập trình?

  • A. Đa hình (Polymorphism)
  • B. Kế thừa (Inheritance)
  • C. Đệ quy (Recursion)
  • D. Trừu tượng hóa (Abstraction) hoặc Đóng gói (Encapsulation)

Câu 24: Bạn đang phát triển một thư viện cho các phép tính vật lý và cần một hàm tính lực hấp dẫn giữa hai vật thể. Hàm này cần nhận khối lượng của hai vật thể (`m1`, `m2`) và khoảng cách giữa chúng (`r`). Công thức là `F = G * m1 * m2 / r^2`, trong đó G là hằng số hấp dẫn. Bạn nên đặt hàm này trong tệp `.py` nào và đặt tên hàm như thế nào để dễ dàng tái sử dụng?

  • A. physics.py, hàm calculate_gravity_force(m1, m2, r)
  • B. main_program.py, hàm tinh_luc()
  • C. constants.py, biến GRAVITY_FORCE
  • D. utils.txt, ghi công thức vào đó

Câu 25: Khi thiết kế một hàm trong thư viện, đặc biệt là các hàm thực hiện tính toán dựa trên đầu vào, điều quan trọng là phải xem xét việc xử lý các trường hợp đầu vào không hợp lệ (ví dụ: bán kính âm, điện trở âm). Tại sao việc xử lý này nên được thực hiện bên trong hàm của thư viện thay vì để người dùng thư viện tự kiểm tra trước khi gọi hàm?

  • A. Để làm cho mã nguồn của thư viện phức tạp hơn.
  • B. Để ép buộc người dùng phải đọc tài liệu hướng dẫn.
  • C. Để đảm bảo tính đúng đắn và mạnh mẽ của hàm, giảm thiểu lỗi ở phía người sử dụng thư viện.
  • D. Để tăng tốc độ thực thi của hàm.

Câu 26: Trong thư viện `cong_thuc_ly`, hàm `machSongSong` tính điện trở tương đương của mạch song song. Công thức tính là nghịch đảo của tổng các nghịch đảo của các điện trở thành phần. Nếu danh sách điện trở là `[R1, R2, ..., Rn]`, tổng nghịch đảo là `1/R1 + 1/R2 + ... + 1/Rn`. Điện trở tương đương sẽ là `1 / (1/R1 + ... + 1/Rn)`. Giả sử bạn gọi `cong_thuc_ly.machSongSong([20, 30])`, kết quả (nếu không có lỗi) sẽ là bao nhiêu?

  • A. 50
  • B. 0.0833
  • C. 10
  • D. 12

Câu 27: Bạn đang làm việc nhóm và một thành viên đã viết một số hàm hữu ích trong tệp `helper_functions.py`. Thành viên khác đang viết chương trình chính trong `main.py` và cần sử dụng các hàm đó. Việc chia sẻ tệp `helper_functions.py` và hướng dẫn thành viên kia cách nhập nó vào `main.py` thể hiện rõ lợi ích nào của việc sử dụng thư viện?

  • A. Giảm thời gian chạy chương trình.
  • B. Tăng cường khả năng làm việc nhóm và chia sẻ mã nguồn.
  • C. Tự động tạo tài liệu hướng dẫn sử dụng.
  • D. Bảo vệ mã nguồn khỏi bị sao chép.

Câu 28: Khi bạn tạo một thư viện Python (một tệp `.py` chứa các hàm và biến), tên của tệp (không bao gồm `.py`) sẽ trở thành gì khi bạn nhập nó vào chương trình khác?

  • A. Tên của module.
  • B. Tên của hàm đầu tiên trong tệp.
  • C. Một chuỗi ngẫu nhiên.
  • D. Tên của người tạo tệp.

Câu 29: Bạn có một thư viện `stats.py` với hàm `calculate_average(data_list)`. Bạn sử dụng lệnh `from stats import calculate_average`. Sau đó, bạn muốn gọi hàm này. Cú pháp nào sau đây là đúng?

  • A. stats.calculate_average([1, 2, 3])
  • B. stats.calculate_average.call([1, 2, 3])
  • C. calculate_average([1, 2, 3])
  • D. call calculate_average([1, 2, 3])

Câu 30: Giả sử thư viện `my_math` trong bài chỉ chứa định nghĩa hằng số `PI = 3.14159`. Nếu bạn nhập nó bằng `import my_math`, làm thế nào để truy cập giá trị của PI?

  • A. PI
  • B. my_math.PI
  • C. my_math.get_PI()
  • D. get(my_math.PI)

1 / 30

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

Tags: Bộ đề 03

Câu 1: Trong lập trình Python, mục đích chính của việc thiết lập và sử dụng thư viện (module) là gì?

2 / 30

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

Tags: Bộ đề 03

Câu 2: Giả sử bạn đã tạo một tệp Python có tên `geometry.py` chứa các hàm tính toán hình học. Để sử dụng một hàm `calculate_area` từ tệp này trong một tệp Python khác (`main.py`) nằm cùng thư mục, bạn cần viết câu lệnh nào ở đầu tệp `main.py`?

3 / 30

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

Tags: Bộ đề 03

Câu 3: Sau khi thực hiện `import geometry` như ở Câu 2, để gọi hàm `calculate_area` từ module `geometry`, bạn sử dụng cú pháp nào?

4 / 30

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

Tags: Bộ đề 03

Câu 4: Bạn có một thư viện `utils.py` và chỉ muốn sử dụng duy nhất hàm `process_data` trong đó mà không muốn nhập toàn bộ thư viện. Câu lệnh nhập (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 31: Thực hành thiết lập thư viện chương trình

Tags: Bộ đề 03

Câu 5: Khi sử dụng câu lệnh `from module_name import *`, điều gì có thể xảy ra và tại sao cách này thường không được khuyến khích trong các dự án lớn?

6 / 30

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

Tags: Bộ đề 03

Câu 6: Cho đoạn mã trong tệp `hinh_tron.py` như sau (giả định có import math):
```python
def tinhChuVi(r):
return 2 * math.pi * r

def tinhDienTich(r):
return math.pi * r * r
```
Trong tệp `main.py`, bạn viết:
```python
import hinh_tron
ban_kinh = 10
dien_tich = hinh_tron.tinhDienTich(ban_kinh)
print(dien_tich)
```
Kết quả in ra màn hình sẽ là giá trị nào sau đây (làm tròn)?

7 / 30

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

Tags: Bộ đề 03

Câu 7: Xem xét hàm `machSongSong` trong thư viện `cong_thuc_ly` (dựa trên mô tả trong bài), hàm này được thiết kế để trả về giá trị `-1` khi nào?

8 / 30

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

Tags: Bộ đề 03

Câu 8: Giả sử hàm `machNoiTiep` trong thư viện `cong_thuc_ly` tính tổng các điện trở trong danh sách. Nếu bạn gọi `cong_thuc_ly.machNoiTiep([10, 20, 30])`, kết quả trả về sẽ là bao nhiêu?

9 / 30

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

Tags: Bộ đề 03

Câu 9: Hàm `tinhNtkTB` trong thư viện `cong_thuc_hoa` tính nguyên tử khối trung bình dựa trên danh sách nguyên tử khối và danh sách tỉ lệ phần trăm. Điều kiện nào sau đây khiến hàm này (theo mô tả trong bài) trả về giá trị 0?

10 / 30

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

Tags: Bộ đề 03

Câu 10: Bạn muốn tính nguyên tử khối trung bình của nguyên tố X có hai đồng vị: đồng vị A có nguyên tử khối 35 với tỉ lệ 75%, đồng vị B có nguyên tử khối 37 với tỉ lệ 25%. Sử dụng hàm `tinhNtkTB` từ thư viện `cong_thuc_hoa`, bạn sẽ gọi hàm với tham số nào?

11 / 30

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

Tags: Bộ đề 03

Câu 11: Giả sử bạn đã nhập thư viện `phuong_trinh` chứa hàm `phuongTrinhBac2(a, b, c)` để giải phương trình bậc hai `ax^2 + bx + c = 0`. Để giải phương trình `2x^2 - 5x + 3 = 0`, bạn sẽ viết câu lệnh gọi hàm như thế nào?

12 / 30

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

Tags: Bộ đề 03

Câu 12: Một trong những lý do chính để đóng gói các chức năng liên quan vào một thư viện thay vì viết tất cả mã trong một tệp duy nhất là gì?

13 / 30

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

Tags: Bộ đề 03

Câu 13: Bạn đang viết một chương trình cần sử dụng hằng số PI. Thư viện chuẩn nào của Python chứa hằng số này với độ chính xác cao?

14 / 30

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

Tags: Bộ đề 03

Câu 14: Giả sử bạn đã viết một thư viện `my_calculations.py` và muốn sử dụng nó trong `main.py`. Nếu `my_calculations.py` không nằm trong cùng thư mục với `main.py` cũng như không nằm trong các đường dẫn mà Python mặc định tìm kiếm module, điều gì sẽ xảy ra khi bạn chạy `main.py` với lệnh `import my_calculations`?

15 / 30

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

Tags: Bộ đề 03

Câu 15: Khi một hàm trong thư viện được thiết kế để trả về một giá trị đặc biệt (ví dụ: -1, 0 hoặc None) để báo hiệu lỗi hoặc dữ liệu không hợp lệ, người lập trình sử dụng thư viện đó cần làm gì sau khi gọi hàm?

16 / 30

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

Tags: Bộ đề 03

Câu 16: Giả sử bạn đã tạo thư viện `my_shapes.py` và muốn sử dụng hàm `calculate_perimeter` từ đó, nhưng bạn muốn gọi nó bằng tên `calc_chuvi` trong mã của mình để thuận tiện. Câu lệnh nhập nào cho phép làm điều này?

17 / 30

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

Tags: Bộ đề 03

Câu 17: Bạn có một tệp `data_processing.py` chứa nhiều hàm. Trong tệp `main.py`, bạn chỉ cần sử dụng hàm `load_data` và `save_data`. Cách nhập nào sau đây là hiệu quả nhất về mặt không gian tên (namespace) và rõ ràng về mục đích?

18 / 30

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

Tags: Bộ đề 03

Câu 18: Khi bạn chạy một tệp Python (ví dụ `my_script.py`), Python sẽ tự động thêm thư mục nào vào danh sách các đường dẫn tìm kiếm module (`sys.path`)?

19 / 30

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

Tags: Bộ đề 03

Câu 19: Xét hàm `machSongSong` từ thư viện `cong_thuc_ly`. Nếu bạn gọi hàm này với danh sách rỗng `[]`, điều gì sẽ xảy ra với logic tính tổng nghịch đảo và lấy nghịch đảo của tổng đó? (Giả sử hàm không kiểm tra danh sách rỗng mà chỉ thực hiện tính toán thông thường).

20 / 30

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

Tags: Bộ đề 03

Câu 20: Bạn đã nhập một thư viện bằng lệnh `import my_library`. Để xem danh sách tất cả các hàm, biến và lớp có sẵn trong `my_library`, bạn có thể sử dụng hàm dựng sẵn nào của Python?

21 / 30

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

Tags: Bộ đề 03

Câu 21: Giả sử bạn có một thư viện `geometry.py` với hàm `calculate_area(radius)`. Bạn viết một script `main.py` nhập và sử dụng hàm này. Sau đó, bạn chỉnh sửa mã trong `geometry.py` (ví dụ: thay đổi công thức tính). Khi bạn chạy lại `main.py`, liệu nó có sử dụng ngay mã đã chỉnh sửa trong `geometry.py` không? Tại sao?

22 / 30

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

Tags: Bộ đề 03

Câu 22: Bạn cần viết một chương trình tính diện tích nhiều hình tròn với bán kính khác nhau. Việc đóng gói hàm tính diện tích vào một thư viện riêng biệt và nhập nó vào chương trình chính mang lại lợi ích rõ rệt nào so với việc viết lại mã tính diện tích mỗi lần cần dùng?

23 / 30

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

Tags: Bộ đề 03

Câu 23: Giả sử thư viện `quan_ly_cd` (dựa trên mô tả trong bài) sử dụng một cấu trúc dữ liệu (ví dụ: LinkedList) để lưu trữ các bài hát. Khi bạn sử dụng hàm `nhapDL()` để thêm bài hát, bạn không cần quan tâm cấu trúc dữ liệu đó được cài đặt như thế nào bên trong thư viện. Đây là một ví dụ về nguyên tắc nào trong lập trình?

24 / 30

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

Tags: Bộ đề 03

Câu 24: Bạn đang phát triển một thư viện cho các phép tính vật lý và cần một hàm tính lực hấp dẫn giữa hai vật thể. Hàm này cần nhận khối lượng của hai vật thể (`m1`, `m2`) và khoảng cách giữa chúng (`r`). Công thức là `F = G * m1 * m2 / r^2`, trong đó G là hằng số hấp dẫn. Bạn nên đặt hàm này trong tệp `.py` nào và đặt tên hàm như thế nào để dễ dàng tái sử dụng?

25 / 30

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

Tags: Bộ đề 03

Câu 25: Khi thiết kế một hàm trong thư viện, đặc biệt là các hàm thực hiện tính toán dựa trên đầu vào, điều quan trọng là phải xem xét việc xử lý các trường hợp đầu vào không hợp lệ (ví dụ: bán kính âm, điện trở âm). Tại sao việc xử lý này nên được thực hiện *bên trong* hàm của thư viện thay vì để người dùng thư viện tự kiểm tra trước khi gọi hàm?

26 / 30

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

Tags: Bộ đề 03

Câu 26: Trong thư viện `cong_thuc_ly`, hàm `machSongSong` tính điện trở tương đương của mạch song song. Công thức tính là nghịch đảo của tổng các nghịch đảo của các điện trở thành phần. Nếu danh sách điện trở là `[R1, R2, ..., Rn]`, tổng nghịch đảo là `1/R1 + 1/R2 + ... + 1/Rn`. Điện trở tương đương sẽ là `1 / (1/R1 + ... + 1/Rn)`. Giả sử bạn gọi `cong_thuc_ly.machSongSong([20, 30])`, kết quả (nếu không có lỗi) sẽ là bao nhiêu?

27 / 30

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

Tags: Bộ đề 03

Câu 27: Bạn đang làm việc nhóm và một thành viên đã viết một số hàm hữu ích trong tệp `helper_functions.py`. Thành viên khác đang viết chương trình chính trong `main.py` và cần sử dụng các hàm đó. Việc chia sẻ tệp `helper_functions.py` và hướng dẫn thành viên kia cách nhập nó vào `main.py` thể hiện rõ lợi ích nào của việc sử dụng thư viện?

28 / 30

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

Tags: Bộ đề 03

Câu 28: Khi bạn tạo một thư viện Python (một tệp `.py` chứa các hàm và biến), tên của tệp (không bao gồm `.py`) sẽ trở thành gì khi bạn nhập nó vào chương trình khác?

29 / 30

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

Tags: Bộ đề 03

Câu 29: Bạn có một thư viện `stats.py` với hàm `calculate_average(data_list)`. Bạn sử dụng lệnh `from stats import calculate_average`. Sau đó, bạn muốn gọi hàm này. Cú phá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 31: Thực hành thiết lập thư viện chương trình

Tags: Bộ đề 03

Câu 30: Giả sử thư viện `my_math` trong bài chỉ chứa định nghĩa hằng số `PI = 3.14159`. Nếu bạn nhập nó bằng `import my_math`, làm thế nào để truy cập giá trị của PI?

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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Giả sử bạn đã tạo một tệp Python tên là `hinh_hoc.py` chứa hàm `tinh_dien_tich_hinh_vuong(canh)`. Để sử dụng hàm này trong một tệp chương trình khác (`main.py`) cùng thư mục, dòng lệnh import nào sau đây là đúng và hiệu quả nhất nếu bạn chỉ cần dùng duy nhất hàm đó?

  • A. import hinh_hoc
  • B. from hinh_hoc import tinh_dien_tich_hinh_vuong
  • C. import hinh_hoc.tinh_dien_tich_hinh_vuong
  • D. from hinh_hoc import *

Câu 2: Vẫn với thư viện `hinh_hoc.py` và hàm `tinh_dien_tich_hinh_vuong(canh)`, nếu bạn sử dụng lệnh `import hinh_hoc` trong `main.py`, bạn sẽ gọi hàm tính diện tích hình vuông như thế nào?

  • A. tinh_dien_tich_hinh_vuong(a)
  • B. hinh_hoc.tinh_dien_tich_hinh_vuong a
  • C. hinh_hoc.tinh_dien_tich_hinh_vuong(a)
  • D. hinh_hoc::tinh_dien_tich_hinh_vuong(a)

Câu 3: Bạn đang xây dựng một thư viện xử lý chuỗi `xu_ly_chuoi.py`. Bạn muốn thêm một hàm `dao_nguoc(s)` nhận vào một chuỗi `s` và trả về chuỗi đảo ngược của nó. Đoạn code nào sau đây định nghĩa đúng hàm này?

  • A. def dao_nguoc(s):
    return s[::-1]
  • B. function dao_nguoc(s):
    return reverse(s)
  • C. def dao_nguoc(s):
    print(s[::-1])
  • D. def dao_nguoc s:
    return s.reverse()

Câu 4: Lợi ích chính của việc tổ chức code thành các thư viện (modules) trong Python là gì?

  • A. Giúp chương trình chạy nhanh hơn đáng kể.
  • B. Giảm thiểu hoàn toàn lỗi cú pháp trong code.
  • C. Chỉ cho phép sử dụng các hàm đã được định nghĩa sẵn.
  • D. Tăng khả năng tái sử dụng code, giúp chương trình dễ quản lý và phát triển hơn.

Câu 5: Bạn tạo một thư viện `phan_tich_du_lieu.py` chứa hàm `tinh_trung_binh(danh_sach_so)`. Hàm này nhận một danh sách các số và trả về giá trị trung bình của chúng. Nếu danh sách rỗng, hàm nên trả về giá trị đặc biệt để báo hiệu lỗi hoặc trường hợp không hợp lệ. Giá trị nào sau đây là lựa chọn hợp lý nhất để báo hiệu trường hợp danh sách rỗng?

  • A. 0
  • B. 1
  • C. None
  • D. Một chuỗi thông báo lỗi (ví dụ: "Danh sach rong")

Câu 6: Trong thư viện `cong_thuc_ly.py` có hàm `machSongSong(dsDienTro)`. Hàm này được thiết kế để tính điện trở tương đương của mạch song song từ danh sách điện trở. Dựa trên nguyên tắc vật lý, hàm cần kiểm tra điều kiện nào đối với các giá trị trong `dsDienTro` trước khi thực hiện tính toán?

  • A. Tất cả các giá trị điện trở phải lớn hơn 0.
  • B. Tất cả các giá trị điện trở phải là số nguyên.
  • C. Tổng các giá trị điện trở phải lớn hơn 0.
  • D. Số lượng điện trở trong danh sách phải lớn hơn 1.

Câu 7: Bạn đã import một thư viện tùy chỉnh tên là `tien_ich` bằng lệnh `import tien_ich`. Trong thư viện này có một hàm tên là `kiem_tra_so_nguyen_to(n)`. Bạn muốn gọi hàm này với đối số `17`. Dòng code nào sau đây thực hiện đúng việc gọi hàm và lưu kết quả vào biến `ket_qua`?

  • A. ket_qua = kiem_tra_so_nguyen_to(17)
  • B. ket_qua = tien_ich.kiem_tra_so_nguyen_to 17
  • C. ket_qua = tien_ich::kiem_tra_so_nguyen_to(17)
  • D. ket_qua = tien_ich.kiem_tra_so_nguyen_to(17)

Câu 8: Một hàm trong thư viện của bạn được định nghĩa là `def xu_ly_du_lieu(data, mode="default"):`. Khi gọi hàm này từ một chương trình khác, cách gọi nào sau đây sẽ sử dụng giá trị mặc định cho tham số `mode`?

  • A. xu_ly_du_lieu(my_data)
  • B. xu_ly_du_lieu(my_data, "default")
  • C. xu_ly_du_lieu(my_data, mode="default")
  • D. xu_ly_du_lieu(data=my_data)

Câu 9: Bạn đã tạo một thư viện `phan_tich_hoa.py` với hàm `tinh_ntk_tb(ds_ntk, ds_ty_le)`. Hàm này tính nguyên tử khối trung bình dựa trên danh sách nguyên tử khối và danh sách tỷ lệ phần trăm. Để đảm bảo tính đúng đắn, hàm cần kiểm tra điều kiện nào liên quan đến hai danh sách đầu vào?

  • A. Tổng các giá trị trong `ds_ty_le` phải bằng 100.
  • B. Số lượng phần tử trong `ds_ntk` và `ds_ty_le` phải bằng nhau.
  • C. Tất cả các giá trị trong cả hai danh sách phải là số dương.
  • D. Không cần kiểm tra gì, hàm sẽ tự xử lý.

Câu 10: Trong `main.py`, bạn sử dụng lệnh `from my_math import PI`. Sau đó, bạn muốn tính diện tích hình tròn với bán kính `r = 5`. Công thức tính diện tích hình tròn là $pi r^2$. Dòng code nào sau đây sử dụng hằng số PI đã import để tính diện tích đúng?

  • A. dien_tich = my_math.PI * r ** 2
  • B. dien_tich = PI * 2 * r
  • C. dien_tich = PI * r ** 2
  • D. dien_tich = my_math.tinhDienTich(r)

Câu 11: Khi tạo một thư viện, việc thêm các dòng chú thích (comment) giải thích chức năng của từng hàm, tham số và giá trị trả về có ý nghĩa quan trọng như thế nào?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Bắt buộc phải có để chương trình biên dịch được.
  • C. Không có ý nghĩa gì đối với hoạt động của thư viện.
  • D. Giúp người khác (hoặc chính bạn sau này) dễ dàng hiểu và sử dụng thư viện một cách hiệu quả.

Câu 12: Bạn có một tệp `tien_ich_hinh_hoc.py` chứa hàm `chu_vi_tam_giac(a, b, c)`. Bạn muốn sử dụng hàm này trong tệp `chuong_trinh_chinh.py`. Lệnh import nào sau đây sẽ cho phép bạn gọi hàm này trực tiếp bằng tên `chu_vi_tam_giac(...)`?

  • A. from tien_ich_hinh_hoc import chu_vi_tam_giac
  • B. import tien_ich_hinh_hoc
  • C. import tien_ich_hinh_hoc.chu_vi_tam_giac
  • D. from tien_ich_hinh_hoc import *

Câu 13: Một thư viện `validator.py` có hàm `kiem_tra_email(email_string)`. Hàm này trả về `True` nếu chuỗi là email hợp lệ, `False` nếu ngược lại. Bạn cần kiểm tra xem chuỗi `info@example.com` có phải email hợp lệ không. Đoạn code nào sau đây thực hiện đúng việc này?

  • A. if validator.kiem_tra_email("info@example.com"):
    print("Hop le")
  • B. import validator
    if validator.kiem_tra_email("info@example.com"):
    print("Hop le")
  • C. from validator import *
    if kiem_tra_email("info@example.com") == "True":
    print("Hop le")
  • D. from validator import kiem_tra_email
    kiem_tra_email("info@example.com")
    print("Hop le")

Câu 14: Bạn tạo một thư viện `don_vi_doi.py` chứa hàm `doi_c_sang_f(do_c)` để đổi nhiệt độ từ Celsius sang Fahrenheit theo công thức $F = C imes 1.8 + 32$. Hàm này nhận vào một số thực `do_c` và trả về số thực `do_f`. Nếu người dùng nhập một giá trị không hợp lệ (ví dụ: chuỗi "abc"), hàm nên xử lý như thế nào để chương trình gọi không bị lỗi?

  • A. Để chương trình tự động báo lỗi.
  • B. In ra màn hình thông báo lỗi và tiếp tục chạy.
  • C. Trả về giá trị 0.
  • D. Sử dụng khối `try-except` để bắt lỗi chuyển đổi kiểu dữ liệu hoặc kiểm tra kiểu dữ liệu đầu vào và trả về một giá trị đặc biệt (ví dụ: `None`) hoặc raise exception.

Câu 15: Giả sử bạn có một thư viện `my_library.py` và trong đó có định nghĩa biến toàn cục `VERSION = "1.0"`. Nếu bạn import thư viện này trong `main.py` bằng lệnh `import my_library`, bạn sẽ truy cập giá trị của biến `VERSION` như thế nào?

  • A. VERSION
  • B. my_library.VERSION()
  • C. my_library.VERSION
  • D. my_library::VERSION

Câu 16: Khi sử dụng lệnh `from module_name import *`, điều gì sẽ xảy ra?

  • A. Tất cả các tên (hàm, biến, lớp) không bắt đầu bằng dấu gạch dưới `_` từ `module_name` sẽ được import trực tiếp vào không gian tên hiện tại.
  • B. Chỉ các hàm từ `module_name` được import.
  • C. Chỉ các biến từ `module_name` được import.
  • D. Lệnh này sẽ gây lỗi vì không chỉ rõ tên cụ thể.

Câu 17: Tại sao việc sử dụng `from module_name import *` thường không được khuyến khích trong các dự án lớn?

  • A. Làm cho chương trình chạy chậm hơn.
  • B. Có thể gây xung đột tên (name collision) nếu các module khác nhau có cùng tên hàm/biến, làm khó xác định nguồn gốc của đối tượng.
  • C. Không thể truy cập được các hàm trong module đó.
  • D. Chỉ hoạt động với các module tiêu chuẩn của Python.

Câu 18: Bạn cần tạo một hàm trong thư viện của mình để tính giai thừa của một số nguyên dương `n`. Hàm này nên trả về giá trị gì nếu `n` là số âm hoặc không phải số nguyên?

  • A. Trả về 0.
  • B. Trả về 1.
  • C. Trả về một giá trị đặc biệt (ví dụ: `None`, -1) hoặc raise exception để báo hiệu lỗi đầu vào.
  • D. In ra màn hình thông báo lỗi và trả về kết quả tính toán sai.

Câu 19: Bạn viết một hàm `kiem_tra_nam_nhuan(nam)` trong thư viện `lich.py`. Hàm này trả về `True` nếu `nam` là năm nhuận, `False` nếu ngược lại. Bạn muốn sử dụng hàm này và đặt cho nó một tên khác là `la_nam_nhuan` trong chương trình chính của mình. Lệnh import nào sau đây thực hiện được điều đó?

  • A. import lich as la_nam_nhuan
  • B. from lich import kiem_tra_nam_nhuan as la_nam_nhuan
  • C. import lich.kiem_tra_nam_nhuan as la_nam_nhuan
  • D. from lich import kiem_tra_nam_nhuan as la_nam_nhuan

Câu 20: Xét đoạn code sau trong `my_module.py`:
```python
MY_CONSTANT = 100

def my_function(x):
return x * MY_CONSTANT
```
Trong một tệp khác, bạn sử dụng `import my_module`. Sau đó, bạn muốn gọi `my_function` với đối số 5 và truy cập `MY_CONSTANT`. Dòng code nào sau đây là đúng?

  • A. result = my_module.my_function(5)
    print(my_module.MY_CONSTANT)
  • B. result = my_function(5)
    print(MY_CONSTANT)
  • C. result = my_module::my_function(5)
    print(my_module::MY_CONSTANT)
  • D. result = my_module.my_function(5)
    print(MY_constant)

Câu 21: Khi thiết kế các hàm trong một thư viện, nguyên tắc "chia để trị" (divide and conquer) thể hiện như thế nào?

  • A. Mỗi hàm trong thư viện nên làm nhiều việc khác nhau để tiết kiệm số lượng hàm.
  • B. Mỗi hàm nên tập trung giải quyết một nhiệm vụ cụ thể, phức tạp có thể được chia nhỏ thành các hàm đơn giản hơn.
  • C. Thư viện chỉ nên chứa các hàm rất đơn giản, không giải quyết vấn đề lớn.
  • D. Chỉ áp dụng cho các bài toán tính toán số học phức tạp.

Câu 22: Giả sử thư viện `cong_thuc_ly.py` có hàm `machNoiTiep(dsDienTro)` và bạn gọi nó với `dsDienTro = [10, -5, 20]`. Nếu hàm được viết đúng để kiểm tra dữ liệu không hợp lệ, kết quả trả về có khả năng cao nhất là gì?

  • A. 25 (tổng 10+20)
  • B. 10 (bỏ qua số âm)
  • C. Không thể dự đoán vì sẽ gây lỗi chương trình.
  • D. Một giá trị đặc biệt như -1 hoặc None để báo hiệu lỗi dữ liệu đầu vào.

Câu 23: Bạn muốn tạo một thư viện để quản lý danh sách sinh viên. Mỗi sinh viên có các thuộc tính như `ma_sv`, `ten`, `diem_trung_binh`. Dạng cấu trúc dữ liệu nào trong Python là phù hợp nhất để lưu trữ thông tin của một sinh viên trong thư viện này?

  • A. List (Danh sách)
  • B. Tuple (Bộ)
  • C. Dictionary (Từ điển) hoặc Class (Lớp)
  • D. Set (Tập hợp)

Câu 24: Khi sử dụng thư viện `math` trong Python, bạn thường dùng lệnh `import math`. Nếu bạn chỉ cần dùng hằng số PI, bạn có thể dùng `from math import pi`. Lợi ích của cách import thứ hai là gì so với cách thứ nhất?

  • A. Cho phép gọi PI trực tiếp mà không cần tiền tố `math.`, code ngắn gọn hơn.
  • B. Giúp chương trình chạy nhanh hơn.
  • C. Import được nhiều hằng số hơn.
  • D. Ngăn chặn xung đột tên với các biến khác.

Câu 25: Bạn có một tệp `utils.py` và muốn sử dụng nó như một thư viện. Để chạy thử các hàm trong `utils.py` trực tiếp từ tệp này mà không ảnh hưởng khi nó được import như một module, bạn thường đặt code kiểm thử vào khối lệnh nào?

  • A. if __name__ == "utils":
  • B. if __name__ == "__main__":
  • C. if __main__ == "__name__":
  • D. if utils.__name__ == "__main__":

Câu 26: Bạn đang viết một hàm trong thư viện để tính khoảng cách giữa hai điểm trong mặt phẳng 2D, nhận vào tọa độ $(x_1, y_1)$ và $(x_2, y_2)$. Hàm nên trả về giá trị gì?

  • A. Một số thực (float) biểu diễn khoảng cách.
  • B. Hai số nguyên (int) biểu diễn khoảng cách theo trục x và y.
  • C. Một tuple chứa hai giá trị tọa độ.
  • D. Một chuỗi mô tả khoảng cách.

Câu 27: Mục đích chính của việc đóng gói (encapsulation) các chức năng liên quan vào một module (thư viện) là gì?

  • A. Làm cho code dài hơn nhưng an toàn hơn.
  • B. Giúp người dùng cuối dễ dàng thay đổi chi tiết cài đặt bên trong hàm.
  • C. Ẩn đi chi tiết cài đặt phức tạp, chỉ phơi bày giao diện (các hàm) để người dùng sử dụng, giúp code dễ bảo trì và thay đổi.
  • D. Ngăn không cho người khác sử dụng code của bạn.

Câu 28: Bạn muốn tạo một hàm `generate_random_password(length)` trong thư viện `bao_mat.py`. Hàm này nhận độ dài mật khẩu và trả về một chuỗi mật khẩu ngẫu nhiên. Bạn cần sử dụng các ký tự ngẫu nhiên. Thư viện chuẩn nào của Python sẽ hữu ích nhất cho việc này?

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

Câu 29: Trong thư viện `quan_ly_cd.py` (ví dụ từ Data Training), giả sử có hàm `nhapDL()` để nhập thông tin bài hát. Hàm này có khả năng trả về một cấu trúc dữ liệu chứa danh sách các bài hát đã nhập. Nếu bạn gọi hàm này và lưu kết quả vào biến `danh_sach_bai_hat`, biến này sẽ chứa gì?

  • A. Một danh sách (list) hoặc cấu trúc tương đương chứa các đối tượng bài hát.
  • B. Tổng số bài hát đã nhập.
  • C. Tên của đĩa CD.
  • D. Luôn trả về giá trị True hoặc False.

Câu 30: Bạn đang phát triển một ứng dụng và nhận thấy mình thường xuyên phải thực hiện một chuỗi các thao tác phức tạp trên cơ sở dữ liệu. Việc tạo một thư viện riêng chứa các hàm cho các thao tác này là một ý tưởng tốt vì lý do nào sau đây?

  • A. Giúp chương trình chạy nhanh hơn do code được tối ưu hóa tự động.
  • B. Bắt buộc phải làm vậy theo quy tắc của Python.
  • C. Chỉ để làm cho dự án trông chuyên nghiệp hơn.
  • D. Giúp tái sử dụng code xử lý CSDL ở nhiều nơi trong ứng dụng hoặc các ứng dụng khác, làm cho code chính gọn gàng và dễ đọc hơn.

1 / 30

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

Tags: Bộ đề 04

Câu 1: Giả sử bạn đã tạo một tệp Python tên là `hinh_hoc.py` chứa hàm `tinh_dien_tich_hinh_vuong(canh)`. Để sử dụng hàm này trong một tệp chương trình khác (`main.py`) cùng thư mục, dòng lệnh import nào sau đây là đúng và hiệu quả nhất nếu bạn chỉ cần dùng duy nhất hàm đó?

2 / 30

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

Tags: Bộ đề 04

Câu 2: Vẫn với thư viện `hinh_hoc.py` và hàm `tinh_dien_tich_hinh_vuong(canh)`, nếu bạn sử dụng lệnh `import hinh_hoc` trong `main.py`, bạn sẽ gọi hàm tính diện tích hình vuông như thế nào?

3 / 30

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

Tags: Bộ đề 04

Câu 3: Bạn đang xây dựng một thư viện xử lý chuỗi `xu_ly_chuoi.py`. Bạn muốn thêm một hàm `dao_nguoc(s)` nhận vào một chuỗi `s` và trả về chuỗi đảo ngược của nó. Đoạn code nào sau đây định nghĩa đúng hàm này?

4 / 30

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

Tags: Bộ đề 04

Câu 4: Lợi ích chính của việc tổ chức code thành các thư viện (modules) trong Python là gì?

5 / 30

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

Tags: Bộ đề 04

Câu 5: Bạn tạo một thư viện `phan_tich_du_lieu.py` chứa hàm `tinh_trung_binh(danh_sach_so)`. Hàm này nhận một danh sách các số và trả về giá trị trung bình của chúng. Nếu danh sách rỗng, hàm nên trả về giá trị đặc biệt để báo hiệu lỗi hoặc trường hợp không hợp lệ. Giá trị nào sau đây là lựa chọn hợp lý nhất để báo hiệu trường hợp danh sách rỗng?

6 / 30

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

Tags: Bộ đề 04

Câu 6: Trong thư viện `cong_thuc_ly.py` có hàm `machSongSong(dsDienTro)`. Hàm này được thiết kế để tính điện trở tương đương của mạch song song từ danh sách điện trở. Dựa trên nguyên tắc vật lý, hàm cần kiểm tra điều kiện nào đối với các giá trị trong `dsDienTro` trước khi thực hiện tính toán?

7 / 30

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

Tags: Bộ đề 04

Câu 7: Bạn đã import một thư viện tùy chỉnh tên là `tien_ich` bằng lệnh `import tien_ich`. Trong thư viện này có một hàm tên là `kiem_tra_so_nguyen_to(n)`. Bạn muốn gọi hàm này với đối số `17`. Dòng code nào sau đây thực hiện đúng việc gọi hàm và lưu kết quả vào biến `ket_qua`?

8 / 30

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

Tags: Bộ đề 04

Câu 8: Một hàm trong thư viện của bạn được định nghĩa là `def xu_ly_du_lieu(data, mode='default'):`. Khi gọi hàm này từ một chương trình khác, cách gọi nào sau đây sẽ sử dụng giá trị mặc định cho tham số `mode`?

9 / 30

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

Tags: Bộ đề 04

Câu 9: Bạn đã tạo một thư viện `phan_tich_hoa.py` với hàm `tinh_ntk_tb(ds_ntk, ds_ty_le)`. Hàm này tính nguyên tử khối trung bình dựa trên danh sách nguyên tử khối và danh sách tỷ lệ phần trăm. Để đảm bảo tính đúng đắn, hàm cần kiểm tra điều kiện nào liên quan đến hai danh sách đầu vào?

10 / 30

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

Tags: Bộ đề 04

Câu 10: Trong `main.py`, bạn sử dụng lệnh `from my_math import PI`. Sau đó, bạn muốn tính diện tích hình tròn với bán kính `r = 5`. Công thức tính diện tích hình tròn là $pi r^2$. Dòng code nào sau đây sử dụng hằng số PI đã import để tính diện tích đúng?

11 / 30

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

Tags: Bộ đề 04

Câu 11: Khi tạo một thư viện, việc thêm các dòng chú thích (comment) giải thích chức năng của từng hàm, tham số và giá trị trả về có ý nghĩa quan trọng như thế nào?

12 / 30

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

Tags: Bộ đề 04

Câu 12: Bạn có một tệp `tien_ich_hinh_hoc.py` chứa hàm `chu_vi_tam_giac(a, b, c)`. Bạn muốn sử dụng hàm này trong tệp `chuong_trinh_chinh.py`. Lệnh import nào sau đây sẽ cho phép bạn gọi hàm này trực tiếp bằng tên `chu_vi_tam_giac(...)`?

13 / 30

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

Tags: Bộ đề 04

Câu 13: Một thư viện `validator.py` có hàm `kiem_tra_email(email_string)`. Hàm này trả về `True` nếu chuỗi là email hợp lệ, `False` nếu ngược lại. Bạn cần kiểm tra xem chuỗi `info@example.com` có phải email hợp lệ không. Đoạn code nào sau đây thực hiện đúng việc này?

14 / 30

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

Tags: Bộ đề 04

Câu 14: Bạn tạo một thư viện `don_vi_doi.py` chứa hàm `doi_c_sang_f(do_c)` để đổi nhiệt độ từ Celsius sang Fahrenheit theo công thức $F = C imes 1.8 + 32$. Hàm này nhận vào một số thực `do_c` và trả về số thực `do_f`. Nếu người dùng nhập một giá trị không hợp lệ (ví dụ: chuỗi 'abc'), hàm nên xử lý như thế nào để chương trình gọi không bị lỗi?

15 / 30

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

Tags: Bộ đề 04

Câu 15: Giả sử bạn có một thư viện `my_library.py` và trong đó có định nghĩa biến toàn cục `VERSION = '1.0'`. Nếu bạn import thư viện này trong `main.py` bằng lệnh `import my_library`, bạn sẽ truy cập giá trị của biến `VERSION` như thế nào?

16 / 30

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

Tags: Bộ đề 04

Câu 16: Khi sử dụng lệnh `from module_name import *`, điều gì sẽ xảy ra?

17 / 30

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

Tags: Bộ đề 04

Câu 17: Tại sao việc sử dụng `from module_name import *` thường không được khuyến khích trong các dự án lớn?

18 / 30

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

Tags: Bộ đề 04

Câu 18: Bạn cần tạo một hàm trong thư viện của mình để tính giai thừa của một số nguyên dương `n`. Hàm này nên trả về giá trị gì nếu `n` là số âm hoặc không phải số nguyên?

19 / 30

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

Tags: Bộ đề 04

Câu 19: Bạn viết một hàm `kiem_tra_nam_nhuan(nam)` trong thư viện `lich.py`. Hàm này trả về `True` nếu `nam` là năm nhuận, `False` nếu ngược lại. Bạn muốn sử dụng hàm này và đặt cho nó một tên khác là `la_nam_nhuan` trong chương trình chính của mình. Lệnh import nào sau đây thực hiện được điều đó?

20 / 30

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

Tags: Bộ đề 04

Câu 20: Xét đoạn code sau trong `my_module.py`:
```python
MY_CONSTANT = 100

def my_function(x):
return x * MY_CONSTANT
```
Trong một tệp khác, bạn sử dụng `import my_module`. Sau đó, bạn muốn gọi `my_function` với đối số 5 và truy cập `MY_CONSTANT`. Dòng code nào sau đây là đúng?

21 / 30

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

Tags: Bộ đề 04

Câu 21: Khi thiết kế các hàm trong một thư viện, nguyên tắc 'chia để trị' (divide and conquer) thể hiện như thế nào?

22 / 30

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

Tags: Bộ đề 04

Câu 22: Giả sử thư viện `cong_thuc_ly.py` có hàm `machNoiTiep(dsDienTro)` và bạn gọi nó với `dsDienTro = [10, -5, 20]`. Nếu hàm được viết đúng để kiểm tra dữ liệu không hợp lệ, kết quả trả về có khả năng cao nhất là gì?

23 / 30

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

Tags: Bộ đề 04

Câu 23: Bạn muốn tạo một thư viện để quản lý danh sách sinh viên. Mỗi sinh viên có các thuộc tính như `ma_sv`, `ten`, `diem_trung_binh`. Dạng cấu trúc dữ liệu nào trong Python là phù hợp nhất để lưu trữ thông tin của một sinh viên trong thư viện này?

24 / 30

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

Tags: Bộ đề 04

Câu 24: Khi sử dụng thư viện `math` trong Python, bạn thường dùng lệnh `import math`. Nếu bạn chỉ cần dùng hằng số PI, bạn có thể dùng `from math import pi`. Lợi ích của cách import thứ hai là gì so với cách thứ nhất?

25 / 30

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

Tags: Bộ đề 04

Câu 25: Bạn có một tệp `utils.py` và muốn sử dụng nó như một thư viện. Để chạy thử các hàm trong `utils.py` trực tiếp từ tệp này mà không ảnh hưởng khi nó được import như một module, bạn thường đặt code kiểm thử vào khối lệnh nào?

26 / 30

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

Tags: Bộ đề 04

Câu 26: Bạn đang viết một hàm trong thư viện để tính khoảng cách giữa hai điểm trong mặt phẳng 2D, nhận vào tọa độ $(x_1, y_1)$ và $(x_2, y_2)$. Hàm nên trả về giá trị gì?

27 / 30

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

Tags: Bộ đề 04

Câu 27: Mục đích chính của việc đóng gói (encapsulation) các chức năng liên quan vào một module (thư viện) là gì?

28 / 30

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

Tags: Bộ đề 04

Câu 28: Bạn muốn tạo một hàm `generate_random_password(length)` trong thư viện `bao_mat.py`. Hàm này nhận độ dài mật khẩu và trả về một chuỗi mật khẩu ngẫu nhiên. Bạn cần sử dụng các ký tự ngẫu nhiên. Thư viện chuẩn nào của Python sẽ hữu ích nhất cho việc này?

29 / 30

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

Tags: Bộ đề 04

Câu 29: Trong thư viện `quan_ly_cd.py` (ví dụ từ Data Training), giả sử có hàm `nhapDL()` để nhập thông tin bài hát. Hàm này có khả năng trả về một cấu trúc dữ liệu chứa danh sách các bài hát đã nhập. Nếu bạn gọi hàm này và lưu kết quả vào biến `danh_sach_bai_hat`, biến này sẽ chứa gì?

30 / 30

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

Tags: Bộ đề 04

Câu 30: Bạn đang phát triển một ứng dụng và nhận thấy mình thường xuyên phải thực hiện một chuỗi các thao tác phức tạp trên cơ sở dữ liệu. Việc tạo một thư viện riêng chứa các hàm cho các thao tác này là một ý tưởng tốt vì lý do nào sau đây?

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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Mục đích chính của việc tổ chức mã nguồn thành các thư viện (library) trong lập trình là gì?

  • A. Giúp chương trình chạy nhanh hơn.
  • B. Làm cho mã nguồn dài hơn để dễ quản lý.
  • C. Tăng khả năng tái sử dụng (reusability) mã nguồn và tổ chức chương trình một cách logic.
  • D. Bắt buộc phải làm theo quy định của ngôn ngữ lập trình.

Câu 2: Giả sử bạn đã tạo một tệp `my_geometry.py` chứa các hàm tính toán hình học. Để sử dụng hàm `calculate_area_circle` từ tệp này trong một tệp chương trình khác (`main.py`), bạn cần làm gì đầu tiên trong `main.py`?

  • A. Sử dụng câu lệnh `import my_geometry`.
  • B. Sao chép toàn bộ mã nguồn từ `my_geometry.py` sang `main.py`.
  • C. Đổi tên tệp `my_geometry.py` thành `my_geometry.txt`.
  • D. Gọi trực tiếp hàm `calculate_area_circle()`.

Câu 3: Cho đoạn mã trong tệp `utils.py`:
```python
PI = 3.14159
def circle_circumference(r):
return 2 * PI * r
```
Trong tệp `main.py`, bạn muốn sử dụng chỉ hàm `circle_circumference`. Câu lệnh import nào sau đây là phù hợp nhất?

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

Câu 4: Nếu bạn import một hàm từ thư viện bằng câu lệnh `from library_name import function_name`, thì khi gọi hàm đó trong chương trình chính, cú pháp nào là đúng?

  • A. library_name.function_name(...)
  • B. library_name::function_name(...)
  • C. function_name(...)
  • D. call function_name from library_name(...)

Câu 5: Giả sử thư viện `hinh_tron` từ bài học được import đầy đủ bằng `import hinh_tron`. Để tính diện tích hình tròn có bán kính `r = 10`, câu lệnh nào sau đây là đúng?

  • A. tinhDienTich(10)
  • B. hinh_tron.chuVi(10)
  • C. hinh_tron::tinhDienTich(10)
  • D. hinh_tron.tinhDienTich(10)

Câu 6: Trong thư viện `cong_thuc_ly`, hàm `machSongSong` được thiết kế để tính điện trở tương đương của mạch song song. Hàm này trả về giá trị `-1` nếu danh sách điện trở đầu vào chứa giá trị không hợp lệ (<= 0). Việc kiểm tra và trả về giá trị đặc biệt này thể hiện nguyên tắc lập trình nào?

  • A. Xử lý lỗi và kiểm tra dữ liệu đầu vào (Input validation and error handling).
  • B. Tối ưu hóa tốc độ tính toán.
  • C. Sử dụng đệ quy trong hàm.
  • D. Đóng gói (Encapsulation) dữ liệu.

Câu 7: Thư viện `cong_thuc_ly` có hai hàm `machNoiTiep` và `machSongSong`. Hàm `machNoiTiep` tính tổng các giá trị điện trở trong danh sách đầu vào, trong khi `machSongSong` tính nghịch đảo của tổng các nghịch đảo. Sự khác biệt trong công thức tính toán này phản ánh điều gì?

  • A. Sự khác biệt về ngôn ngữ lập trình được sử dụng.
  • B. Một trong hai hàm bị lỗi.
  • C. Hai hàm này thực chất tính cùng một đại lượng nhưng theo cách khác nhau.
  • D. Sự khác biệt về bản chất vật lý của hai loại mạch điện trở (nối tiếp và song song).

Câu 8: Hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa` tính nguyên tử khối trung bình. Hàm này kiểm tra xem độ dài của hai danh sách `dsNtk` (nguyên tử khối đồng vị) và `dstyLe` (tỷ lệ phần trăm) có bằng nhau không. Nếu không bằng, nó trả về 0. Tại sao việc kiểm tra độ dài bằng nhau lại quan trọng đối với hàm này?

  • A. Để đảm bảo rằng tất cả các đồng vị đều có nguyên tử khối dương.
  • B. Để mỗi nguyên tử khối đồng vị có một tỷ lệ phần trăm tương ứng duy nhất, đảm bảo tính toán chính xác.
  • C. Để tránh chia cho số 0 trong phép tính.
  • D. Để làm cho hàm phức tạp hơn.

Câu 9: Bạn đang phát triển một ứng dụng cần giải nhiều phương trình bậc hai khác nhau. Việc sử dụng hàm `phuongTrinhBac2(a, b, c)` từ thư viện `phuong_trinh` (nếu có) thay vì viết lại mã giải phương trình mỗi lần thể hiện rõ lợi ích nào của thư viện?

  • A. Tái sử dụng mã (Code reusability).
  • B. Giảm dung lượng bộ nhớ sử dụng.
  • C. Tăng tính bảo mật của chương trình.
  • D. Làm cho chương trình khó hiểu hơn.

Câu 10: Giả sử thư viện `my_math` chỉ chứa định nghĩa hằng số `PI = 3.14159`. Một lập trình viên có thể chọn sử dụng `my_math.PI` thay vì `math.pi` (từ thư viện `math`). Lý do nào sau đây có thể là nguyên nhân cho lựa chọn này trong một số trường hợp đơn giản?

  • A. Giá trị `my_math.PI` luôn chính xác hơn `math.pi`.
  • B. Thư viện `my_math` tự động được import vào mọi chương trình.
  • C. Tránh phải import toàn bộ thư viện `math` nếu chỉ cần dùng hằng số PI.
  • D. Thư viện `my_math` cung cấp nhiều hàm toán học hơn `math`.

Câu 11: Xét hàm `machNoiTiep(dsDienTro)` trong `cong_thuc_ly`. Nếu danh sách `dsDienTro` là `[10, 20, 30]`, kết quả trả về của hàm này sẽ là bao nhiêu?

  • A. -1
  • B. 60
  • C. 1/60
  • D. Kết quả không xác định vì thiếu thông tin.

Câu 12: Xét hàm `machSongSong(dsDienTro)` trong `cong_thuc_ly`. Nếu danh sách `dsDienTro` là `[10, 10]`, kết quả trả về của hàm này sẽ là bao nhiêu? (Công thức: R_ss = 1 / (1/R1 + 1/R2 + ...))

  • A. 5.0
  • B. 20.0
  • C. 0.2
  • D. -1

Câu 13: Xét hàm `tinhNtkTB(dsNtk, dstyLe)` trong `cong_thuc_hoa`. Nếu gọi hàm với `dsNtk = [12, 14]` và `dstyLe = [90, 10]`, kết quả trả về sẽ là bao nhiêu? (Công thức: NTK_TB = Sum(NTK_i * TyLe_i) / 100)

  • A. 13.0
  • B. 26.0
  • C. 12.2
  • D. 0

Câu 14: Trong ví dụ về quản lý đĩa CD (`quan_ly_cd`), giả sử hàm `nhapDL()` đã được gọi và trả về một đối tượng đĩa CD. Để hiển thị thông tin về đĩa CD đó, bạn sẽ gọi hàm nào tiếp theo?

  • A. inTT()
  • B. addBai()
  • C. timBai()
  • D. nhapDL() một lần nữa.

Câu 15: Nếu bạn cố gắng gọi một hàm từ một thư viện mà chưa được import vào chương trình hiện tại, điều gì sẽ xảy ra trong hầu hết các ngôn ngữ lập trình?

  • A. Chương trình sẽ tự động tìm và import thư viện đó.
  • B. Hàm sẽ được thực thi nhưng không trả về kết quả.
  • C. Chương trình sẽ chạy bình thường nhưng có cảnh báo.
  • D. Chương trình sẽ báo lỗi (ví dụ: NameError trong Python) và dừng lại.

Câu 16: Khi thiết kế một hàm cho thư viện, việc định nghĩa rõ ràng các tham số đầu vào (input parameters) và giá trị trả về (return value) là rất quan trọng vì:

  • A. Giúp hàm chạy nhanh hơn.
  • B. Giúp người sử dụng thư viện biết cách sử dụng hàm một cách chính xác mà không cần hiểu chi tiết bên trong.
  • C. Làm cho mã nguồn của hàm ngắn gọn hơn.
  • D. Bắt buộc đối với mọi hàm trong thư viện.

Câu 17: Giả sử bạn cần thêm một hàm mới vào thư viện `hinh_tron` để tính chu vi hình vuông. Hàm này cần nhận tham số là độ dài cạnh hình vuông. Bạn sẽ định nghĩa hàm này như thế nào trong tệp `hinh_tron.py`?

  • A. def tinhChuViHinhVuong():
  • B. def tinhChuViHinhVuong(canh, duongcheo):
  • C. def tinhChuViHinhVuong(canh):
  • D. def tinhChuViHinhVuong(canh, dienTich):

Câu 18: Một thư viện được coi là "đóng gói" (encapsulated) tốt khi:

  • A. Mã nguồn của nó rất dài và phức tạp.
  • B. Người sử dụng chỉ cần biết giao diện (tên hàm, tham số, kết quả trả về) mà không cần quan tâm chi tiết cách hàm hoạt động bên trong.
  • C. Nó sử dụng nhiều biến toàn cục (global variables).
  • D. Tất cả các hàm đều có cùng tên.

Câu 19: Trong Python, khi bạn `import my_module`, mã nguồn trong `my_module.py` sẽ được thực thi. Điều gì xảy ra nếu bạn import cùng một module nhiều lần trong cùng một chương trình?

  • A. Mã nguồn của module sẽ được thực thi lại mỗi lần import.
  • B. Chương trình sẽ báo lỗi vì trùng lặp import.
  • C. Chỉ lần import đầu tiên được thực hiện, các lần sau bị bỏ qua một cách im lặng.
  • D. Chỉ lần import đầu tiên thực sự tải và thực thi module, các lần sau chỉ trả về đối tượng module đã tồn tại.

Câu 20: Xét hàm `phuongTrinhBac2(a, b, c)` trong thư viện `phuong_trinh`. Hàm này có nhiệm vụ giải phương trình `ax^2 + bx + c = 0`. Nếu bạn gọi hàm này với `a=0`, điều gì có thể xảy ra dựa trên bản chất của phương trình bậc hai?

  • A. Hàm cần xử lý trường hợp đặc biệt vì nó trở thành phương trình bậc nhất.
  • B. Hàm sẽ tự động chuyển đổi về phương trình bậc hai ảo.
  • C. Hàm sẽ báo lỗi chia cho 0.
  • D. Hàm sẽ trả về nghiệm là 0.

Câu 21: Bạn đã tạo một thư viện `my_calculations.py` chứa các hàm toán học phức tạp. Để kiểm tra xem các hàm này có hoạt động đúng với các giá trị đầu vào khác nhau hay không, cách tốt nhất để thực hiện việc này là gì?

  • A. Chỉ cần nhìn vào mã nguồn và kiểm tra bằng mắt.
  • B. Viết các đoạn mã kiểm thử (test cases) gọi các hàm của thư viện với dữ liệu đầu vào mẫu và kiểm tra kết quả trả về.
  • C. Import thư viện vào một chương trình lớn và hy vọng nó hoạt động.
  • D. Chia sẻ thư viện cho người khác dùng thử và chờ phản hồi.

Câu 22: Trong ví dụ về quản lý đĩa CD (`quan_ly_cd`), việc sử dụng một cấu trúc dữ liệu như LinkedList (như gợi ý trong bài) để lưu trữ danh sách bài hát cho thấy thư viện có thể không chỉ chứa các hàm tính toán mà còn có thể quản lý các _______.

  • A. Biến toàn cục.
  • B. Thuật toán sắp xếp.
  • C. Đối tượng dữ liệu hoặc cấu trúc dữ liệu phức tạp.
  • D. Các câu lệnh in ra màn hình.

Câu 23: Khi phát triển phần mềm theo nhóm, việc chia nhỏ chương trình thành các module (thư viện) nhỏ hơn mang lại lợi ích gì cho quá trình làm việc nhóm?

  • A. Các thành viên trong nhóm có thể làm việc độc lập trên các module khác nhau cùng lúc.
  • B. Bắt buộc mọi người phải sử dụng cùng một phong cách lập trình.
  • C. Làm giảm số lượng dòng mã tổng cộng.
  • D. Giúp tìm ra lỗi nhanh hơn bằng cách giới thiệu lỗi mới.

Câu 24: Một hàm trong thư viện được thiết kế để nhận một danh sách số và trả về giá trị lớn nhất. Nếu danh sách đầu vào là rỗng, hàm nên xử lý như thế nào để tránh lỗi hoặc trả về kết quả có ý nghĩa?

  • A. Luôn trả về 0.
  • B. Luôn báo lỗi và dừng chương trình.
  • C. Tự động tạo một danh sách ngẫu nhiên để xử lý.
  • D. Kiểm tra danh sách rỗng và trả về một giá trị đặc biệt (ví dụ: None) hoặc báo lỗi có ý nghĩa (ví dụ: ValueError).

Câu 25: Giả sử bạn đã chỉnh sửa một hàm trong tệp thư viện `my_library.py`. Trong tệp `main.py` đang sử dụng thư viện này (đã import trước đó), bạn cần làm gì để chương trình `main.py` sử dụng phiên bản hàm đã chỉnh sửa?

  • A. Chạy lại tệp `main.py` để nó import lại phiên bản mới của thư viện.
  • B. Chỉ cần lưu tệp `my_library.py` là chương trình `main.py` tự cập nhật.
  • C. Sử dụng câu lệnh `reload(my_library)` (trong môi trường phát triển nhất định).
  • D. Không cần làm gì cả, chương trình sẽ tự động sử dụng phiên bản mới.

Câu 26: Đoạn mã nào sau đây thể hiện cách import và sử dụng hằng số PI từ thư viện `math` chuẩn của Python để tính chu vi hình tròn với bán kính `r`?

  • A. import math
    chu_vi = 2 * 3.14159 * r
  • B. from math import pi
    chu_vi = 2 * PI * r
  • C. import math
    chu_vi = 2 * math.pi * r
  • D. from math import PI
    chu_vi = 2 * PI * r

Câu 27: Bạn đang viết một thư viện chứa các hàm xử lý chuỗi. Một hàm có tên `reverse_string(text)` nhận một chuỗi và trả về chuỗi đảo ngược. Nếu người dùng gọi hàm này với đầu vào không phải là chuỗi (ví dụ: một số), cách xử lý nào sau đây là tốt nhất cho thư viện của bạn?

  • A. Cố gắng ép kiểu dữ liệu sang chuỗi và xử lý.
  • B. Bỏ qua đầu vào và trả về chuỗi rỗng.
  • C. Chương trình tự dừng với lỗi không rõ ràng.
  • D. Kiểm tra kiểu dữ liệu đầu vào và báo lỗi rõ ràng (ví dụ: TypeError) nếu sai kiểu.

Câu 28: Đoạn mã nào sau đây sử dụng hàm `machNoiTiep` từ thư viện `cong_thuc_ly` (đã import) để tính tổng điện trở của ba điện trở 5 Ohm, 10 Ohm, và 15 Ohm mắc nối tiếp?

  • A. tong_r = cong_thuc_ly.machNoiTiep(5, 10, 15)
  • B. tong_r = cong_thuc_ly.machNoiTiep([5, 10, 15])
  • C. tong_r = machNoiTiep(5, 10, 15) from cong_thuc_ly
  • D. tong_r = cong_thuc_ly.machNoiTiep({5, 10, 15})

Câu 29: Trong Python, khối lệnh nằm dưới `if __name__ ==

  • A. Khi tệp đó được chạy trực tiếp (ví dụ: `python ten_tep.py`).
  • B. Khi tệp đó được import như một module vào tệp khác.
  • C. Luôn luôn được thực thi khi chương trình bắt đầu.
  • D. Không bao giờ được thực thi.

Câu 30: Việc sử dụng các hàm như `addBai`, `timBai`, `inTT` trong ví dụ `quan_ly_cd` để tương tác với dữ liệu (danh sách bài hát) minh họa cho việc thư viện giúp ________ các thao tác phức tạp trên dữ liệu.

  • A. Làm chậm lại.
  • B. Giấu đi hoàn toàn.
  • C. Đóng gói (encapsulate) và cung cấp giao diện sử dụng đơn giản hơn.
  • D. Nhân đôi.

1 / 30

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

Tags: Bộ đề 05

Câu 1: Mục đích chính của việc tổ chức mã nguồn thành các thư viện (library) 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 31: Thực hành thiết lập thư viện chương trình

Tags: Bộ đề 05

Câu 2: Giả sử bạn đã tạo một tệp `my_geometry.py` chứa các hàm tính toán hình học. Để sử dụng hàm `calculate_area_circle` từ tệp này trong một tệp chương trình khác (`main.py`), bạn cần làm gì đầu tiên trong `main.py`?

3 / 30

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

Tags: Bộ đề 05

Câu 3: Cho đoạn mã trong tệp `utils.py`:
```python
PI = 3.14159
def circle_circumference(r):
return 2 * PI * r
```
Trong tệp `main.py`, bạn muốn sử dụng *chỉ* hàm `circle_circumference`. Câu lệnh import nào sau đây là phù hợp nhất?

4 / 30

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

Tags: Bộ đề 05

Câu 4: Nếu bạn import một hàm từ thư viện bằng câu lệnh `from library_name import function_name`, thì khi gọi hàm đó trong chương trình chính, cú pháp nào là đúng?

5 / 30

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

Tags: Bộ đề 05

Câu 5: Giả sử thư viện `hinh_tron` từ bài học được import đầy đủ bằng `import hinh_tron`. Để tính diện tích hình tròn có bán kính `r = 10`, câu lệnh nào sau đây là đúng?

6 / 30

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

Tags: Bộ đề 05

Câu 6: Trong thư viện `cong_thuc_ly`, hàm `machSongSong` được thiết kế để tính điện trở tương đương của mạch song song. Hàm này trả về giá trị `-1` nếu danh sách điện trở đầu vào chứa giá trị không hợp lệ (<= 0). Việc kiểm tra và trả về giá trị đặc biệt này thể hiện nguyên tắc lập trình nào?

7 / 30

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

Tags: Bộ đề 05

Câu 7: Thư viện `cong_thuc_ly` có hai hàm `machNoiTiep` và `machSongSong`. Hàm `machNoiTiep` tính tổng các giá trị điện trở trong danh sách đầu vào, trong khi `machSongSong` tính nghịch đảo của tổng các nghịch đảo. Sự khác biệt trong công thức tính toán này phản ánh điều gì?

8 / 30

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

Tags: Bộ đề 05

Câu 8: Hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa` tính nguyên tử khối trung bình. Hàm này kiểm tra xem độ dài của hai danh sách `dsNtk` (nguyên tử khối đồng vị) và `dstyLe` (tỷ lệ phần trăm) có bằng nhau không. Nếu không bằng, nó trả về 0. Tại sao việc kiểm tra độ dài bằng nhau lại quan trọng đối với hàm này?

9 / 30

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

Tags: Bộ đề 05

Câu 9: Bạn đang phát triển một ứng dụng cần giải nhiều phương trình bậc hai khác nhau. Việc sử dụng hàm `phuongTrinhBac2(a, b, c)` từ thư viện `phuong_trinh` (nếu có) thay vì viết lại mã giải phương trình mỗi lần thể hiện rõ lợi ích nào của thư viện?

10 / 30

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

Tags: Bộ đề 05

Câu 10: Giả sử thư viện `my_math` chỉ chứa định nghĩa hằng số `PI = 3.14159`. Một lập trình viên có thể chọn sử dụng `my_math.PI` thay vì `math.pi` (từ thư viện `math`). Lý do nào sau đây *có thể* là nguyên nhân cho lựa chọn này trong một số trường hợp đơn giản?

11 / 30

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

Tags: Bộ đề 05

Câu 11: Xét hàm `machNoiTiep(dsDienTro)` trong `cong_thuc_ly`. Nếu danh sách `dsDienTro` là `[10, 20, 30]`, kết quả trả về của hàm này sẽ là bao nhiêu?

12 / 30

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

Tags: Bộ đề 05

Câu 12: Xét hàm `machSongSong(dsDienTro)` trong `cong_thuc_ly`. Nếu danh sách `dsDienTro` là `[10, 10]`, kết quả trả về của hàm này sẽ là bao nhiêu? (Công thức: R_ss = 1 / (1/R1 + 1/R2 + ...))

13 / 30

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

Tags: Bộ đề 05

Câu 13: Xét hàm `tinhNtkTB(dsNtk, dstyLe)` trong `cong_thuc_hoa`. Nếu gọi hàm với `dsNtk = [12, 14]` và `dstyLe = [90, 10]`, kết quả trả về sẽ là bao nhiêu? (Công thức: NTK_TB = Sum(NTK_i * TyLe_i) / 100)

14 / 30

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

Tags: Bộ đề 05

Câu 14: Trong ví dụ về quản lý đĩa CD (`quan_ly_cd`), giả sử hàm `nhapDL()` đã được gọi và trả về một đối tượng đĩa CD. Để hiển thị thông tin về đĩa CD đó, bạn sẽ gọi hàm nào tiếp theo?

15 / 30

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

Tags: Bộ đề 05

Câu 15: Nếu bạn cố gắng gọi một hàm từ một thư viện mà chưa được import vào chương trình hiện tại, điều gì sẽ xảy ra trong hầu hết các ngôn ngữ lập trình?

16 / 30

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

Tags: Bộ đề 05

Câu 16: Khi thiết kế một hàm cho thư viện, việc định nghĩa rõ ràng các tham số đầu vào (input parameters) và giá trị trả về (return value) là rất quan trọng vì:

17 / 30

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

Tags: Bộ đề 05

Câu 17: Giả sử bạn cần thêm một hàm mới vào thư viện `hinh_tron` để tính chu vi hình vuông. Hàm này cần nhận tham số là độ dài cạnh hình vuông. Bạn sẽ định nghĩa hàm này như thế nào trong tệp `hinh_tron.py`?

18 / 30

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

Tags: Bộ đề 05

Câu 18: Một thư viện được coi là 'đóng gói' (encapsulated) tốt khi:

19 / 30

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

Tags: Bộ đề 05

Câu 19: Trong Python, khi bạn `import my_module`, mã nguồn trong `my_module.py` sẽ được thực thi. Điều gì xảy ra nếu bạn import cùng một module nhiều lần trong cùng một chương trình?

20 / 30

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

Tags: Bộ đề 05

Câu 20: Xét hàm `phuongTrinhBac2(a, b, c)` trong thư viện `phuong_trinh`. Hàm này có nhiệm vụ giải phương trình `ax^2 + bx + c = 0`. Nếu bạn gọi hàm này với `a=0`, điều gì có thể xảy ra dựa trên bản chất của phương trình bậc hai?

21 / 30

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

Tags: Bộ đề 05

Câu 21: Bạn đã tạo một thư viện `my_calculations.py` chứa các hàm toán học phức tạp. Để kiểm tra xem các hàm này có hoạt động đúng với các giá trị đầu vào khác nhau hay không, cách tốt nhất để thực hiện việc này là gì?

22 / 30

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

Tags: Bộ đề 05

Câu 22: Trong ví dụ về quản lý đĩa CD (`quan_ly_cd`), việc sử dụng một cấu trúc dữ liệu như LinkedList (như gợi ý trong bài) để lưu trữ danh sách bài hát cho thấy thư viện có thể không chỉ chứa các hàm tính toán mà còn có thể quản lý các _______.

23 / 30

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

Tags: Bộ đề 05

Câu 23: Khi phát triển phần mềm theo nhóm, việc chia nhỏ chương trình thành các module (thư viện) nhỏ hơn mang lại lợi ích gì cho quá trình làm việc nhóm?

24 / 30

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

Tags: Bộ đề 05

Câu 24: Một hàm trong thư viện được thiết kế để nhận một danh sách số và trả về giá trị lớn nhất. Nếu danh sách đầu vào là rỗng, hàm nên xử lý như thế nào để tránh lỗi hoặc trả về kết quả có ý nghĩa?

25 / 30

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

Tags: Bộ đề 05

Câu 25: Giả sử bạn đã chỉnh sửa một hàm trong tệp thư viện `my_library.py`. Trong tệp `main.py` đang sử dụng thư viện này (đã import trước đó), bạn cần làm gì để chương trình `main.py` sử dụng phiên bản hàm đã chỉnh sửa?

26 / 30

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

Tags: Bộ đề 05

Câu 26: Đoạn mã nào sau đây thể hiện cách import và sử dụng hằng số PI từ thư viện `math` chuẩn của Python để tính chu vi hình tròn với bán kính `r`?

27 / 30

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

Tags: Bộ đề 05

Câu 27: Bạn đang viết một thư viện chứa các hàm xử lý chuỗi. Một hàm có tên `reverse_string(text)` nhận một chuỗi và trả về chuỗi đảo ngược. Nếu người dùng gọi hàm này với đầu vào không phải là chuỗi (ví dụ: một số), cách xử lý nào sau đây là tốt nhất cho thư viện của bạn?

28 / 30

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

Tags: Bộ đề 05

Câu 28: Đoạn mã nào sau đây sử dụng hàm `machNoiTiep` từ thư viện `cong_thuc_ly` (đã import) để tính tổng điện trở của ba điện trở 5 Ohm, 10 Ohm, và 15 Ohm mắc nối tiếp?

29 / 30

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

Tags: Bộ đề 05

Câu 29: Trong Python, khối lệnh nằm dưới `if __name__ == "__main__":` trong một tệp `.py` sẽ được thực thi khi nào?

30 / 30

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

Tags: Bộ đề 05

Câu 30: Việc sử dụng các hàm như `addBai`, `timBai`, `inTT` trong ví dụ `quan_ly_cd` để tương tác với dữ liệu (danh sách bài hát) minh họa cho việc thư viện giúp ________ các thao tác phức tạp trên dữ liệ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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Trong lập trình Python, một tệp `.py` chứa các hàm, biến và lớp được thiết kế để sử dụng lại trong các chương trình khác được gọi là gì?

  • A. Tệp thực thi
  • B. Chương trình chính
  • C. Tệp cấu hình
  • D. Thư viện (module)

Câu 2: Giả sử bạn có một thư viện tên là `geometry.py` chứa hàm `calculate_area_rectangle(length, width)`. Câu lệnh Python nào sau đây dùng để nhập toàn bộ thư viện này vào chương trình chính để sử dụng hàm đó?

  • A. import geometry
  • B. from geometry import *
  • C. include geometry
  • D. use geometry

Câu 3: Sau khi đã nhập thư viện `geometry` như ở Câu 2 bằng lệnh `import geometry`, bạn sẽ gọi hàm `calculate_area_rectangle` như thế nào để tính diện tích hình chữ nhật có chiều dài 10 và chiều rộng 5?

  • A. calculate_area_rectangle(10, 5)
  • B. geometry.calculate_area_rectangle(10, 5)
  • C. geometry.calculate_area_rectangle(10, 5)
  • D. geometry::calculate_area_rectangle(10, 5)

Câu 4: Nếu bạn chỉ muốn sử dụng duy nhất hàm `calculate_area_rectangle` từ thư viện `geometry` mà không cần nhập toàn bộ thư viện, bạn sẽ sử dụng câu lệnh nhập nào?

  • A. import geometry.calculate_area_rectangle
  • B. from geometry import calculate_area_rectangle
  • C. include geometry.calculate_area_rectangle
  • D. import calculate_area_rectangle from geometry

Câu 5: Khi sử dụng lệnh `from geometry import calculate_area_rectangle`, bạn sẽ gọi hàm `calculate_area_rectangle` như thế nào trong chương trình chính?

  • A. calculate_area_rectangle(10, 5)
  • B. geometry.calculate_area_rectangle(10, 5)
  • C. geometry::calculate_area_rectangle(10, 5)
  • D. g.calculate_area_rectangle(10, 5)

Câu 6: Trong thư viện `hinh_tron` của Bài 31, hàm `tinhChuVi(r)` được định nghĩa. Giả sử bạn đã nhập thư viện này. Đoạn code nào sau đây không đúng cú pháp để tính chu vi hình tròn bán kính `R`?

  • A. import hinh_tron
    chu_vi = hinh_tron.tinhChuVi(R)
  • B. from hinh_tron import tinhChuVi
    chu_vi = tinhChuVi(R)
  • C. import hinh_tron as ht
    chu_vi = ht.tinhChuVi(R)
  • D. from hinh_tron import *
    chu_vi = hinh_tron.tinhChuVi(R)

Câu 7: Xét thư viện `cong_thuc_ly` với hàm `machSongSong(dsDienTro)` nhận một danh sách các giá trị điện trở. Hàm này được thiết kế để trả về -1 nếu danh sách chứa giá trị không hợp lệ (điện trở <= 0). Điều này thể hiện khía cạnh nào trong thiết kế thư viện?

  • A. Tối ưu hóa hiệu suất tính toán
  • B. Sử dụng biến toàn cục
  • C. Xử lý và thông báo lỗi dữ liệu đầu vào
  • D. Tương tác trực tiếp với người dùng

Câu 8: Trong thư viện `cong_thuc_ly`, hàm `machNoiTiep(dsDienTro)` tính tổng các giá trị trong danh sách `dsDienTro`. Nếu bạn gọi hàm này với `machNoiTiep([10, 20, 30])`, kết quả trả về sẽ là bao nhiêu?

  • A. 60
  • B. 10
  • C. -1
  • D. [10, 20, 30]

Câu 9: Hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa` tính nguyên tử khối trung bình. Hàm này kiểm tra xem độ dài của hai danh sách `dsNtk` và `dstyLe` có bằng nhau không. Nếu không bằng nhau, hàm trả về 0. Tại sao việc kiểm tra độ dài danh sách lại quan trọng trong trường hợp này?

  • A. Để đảm bảo các giá trị nguyên tử khối đều dương.
  • B. Để tránh lỗi chia cho 0.
  • C. Để đảm bảo tổng các tỉ lệ bằng 100.
  • D. Vì mỗi nguyên tử khối phải có một tỉ lệ tương ứng để tính trung bình.

Câu 10: Giả sử thư viện `cong_thuc_hoa` có hàm `tinhNtkTB` hoạt động đúng. Để tính nguyên tử khối trung bình của Neon, với các đồng vị Ne-20 (90.48%) và Ne-22 (9.25%), bạn sẽ gọi hàm như thế nào?

  • A. tinhNtkTB([20, 22], [90.48, 9.25])
  • B. cong_thuc_hoa.tinhNtkTB([20, 22], [90.48, 9.25]) (sau khi import cong_thuc_hoa)
  • C. cong_thuc_hoa.tinhNtkTB(20, 90.48, 22, 9.25)
  • D. tinhNtkTB(20.9048, 22.0925)

Câu 11: Thư viện `my_math` được tạo trong bài thực hành chỉ chứa hằng số `PI`. Mục đích của việc tạo thư viện đơn giản như vậy, thay vì dùng `math.pi`, có thể là gì?

  • A. Minh họa cách tạo và sử dụng thư viện tùy chỉnh.
  • B. Cung cấp giá trị PI chính xác hơn `math.pi`.
  • C. Giảm dung lượng bộ nhớ chương trình.
  • D. Tăng tốc độ tính toán liên quan đến PI.

Câu 12: Thư viện `phuong_trinh` chứa hàm `phuongTrinhBac2(a, b, c)` để giải phương trình $ax^2 + bx + c = 0$. Nếu bạn gọi hàm này với các tham số (1, -3, 2), hàm sẽ xử lý phương trình nào?

  • A. $x^2 + 3x - 2 = 0$
  • B. $x^2 + 2x - 3 = 0$
  • C. $x^2 - 3x + 2 = 0$
  • D. $2x^2 - 3x + 1 = 0$

Câu 13: Giả sử hàm `phuongTrinhBac2(a, b, c)` in ra nghiệm. Nếu bạn gọi `phuongTrinhBac2(1, -2, 1)`, đầu ra (nghiệm) có thể là gì?

  • A. Vô nghiệm
  • B. Nghiệm kép x = 1.0
  • C. Hai nghiệm phân biệt x1 = 1.0, x2 = 1.0
  • D. Nghiệm kép x = -1.0

Câu 14: Trong nhiệm vụ về quản lý đĩa CD, thư viện `quan_ly_cd` có thể đã sử dụng cấu trúc dữ liệu nào để lưu trữ danh sách các bài hát một cách hiệu quả, cho phép thêm và duyệt theo thứ tự?

  • A. Danh sách liên kết (Linked List)
  • B. Cây nhị phân (Binary Tree)
  • C. Bảng băm (Hash Table)
  • D. Hàng đợi ưu tiên (Priority Queue)

Câu 15: Chức năng chính của hàm `nhapDL()` trong thư viện `quan_ly_cd` (dựa trên mô tả trong bài) là gì?

  • A. Tìm kiếm thông tin bài hát.
  • B. In ra thông tin tất cả bài hát.
  • C. Nhập thông tin các bài hát và tạo danh sách.
  • D. Xóa một bài hát khỏi danh sách.

Câu 16: Việc chia chương trình thành các thư viện (module) nhỏ hơn mang lại lợi ích chính nào trong phát triển phần mềm?

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

Câu 17: Trong Python, khi bạn tạo một tệp `my_module.py` và muốn nó hoạt động như một thư viện, bạn cần đặt tệp này ở đâu để các chương trình khác có thể nhập nó thành công?

  • A. Trong cùng thư mục với chương trình đang chạy hoặc trong các thư mục mà Python tìm kiếm thư viện (ví dụ: site-packages).
  • B. Bất kỳ thư mục nào trên máy tính.
  • C. Trong thư mục gốc của hệ điều hành.
  • D. Chỉ trong thư mục cài đặt Python.

Câu 18: Xét hàm `tinhChuVi(r)` trong `hinh_tron.py`. Nếu hàm này được viết là `def tinhChuVi(r): return 2 * math.pi * r` mà không có dòng `import math` ở đầu tệp `hinh_tron.py`, điều gì sẽ xảy ra khi bạn cố gắng sử dụng thư viện `hinh_tron` trong một chương trình khác?

  • A. Chương trình sẽ chạy bình thường vì `math` là thư viện có sẵn.
  • B. Sẽ xảy ra lỗi `NameError` khi hàm `tinhChuVi` được gọi vì `math` chưa được định nghĩa trong `hinh_tron.py`.
  • C. Sẽ xảy ra lỗi cú pháp khi biên dịch.
  • D. Hàm sẽ trả về giá trị không chính xác.

Câu 19: Khi thiết kế một hàm trong thư viện, việc sử dụng các tham số (arguments) và giá trị trả về (return value) thay vì in trực tiếp kết quả có lợi ích gì?

  • A. Chỉ làm cho mã nguồn ngắn gọn hơn.
  • B. Giúp hàm chạy nhanh hơn.
  • C. Bắt buộc người dùng phải nhập dữ liệu từ bàn phím.
  • D. Tăng tính linh hoạt và khả năng tái sử dụng của hàm trong các ngữ cảnh khác nhau.

Câu 20: Giả sử bạn muốn mở rộng thư viện `cong_thuc_ly` để thêm hàm tính công suất ($P = I^2 imes R$). Hàm mới này có thể có chữ ký (signature) như thế nào?

  • A. def tinhCongSuat(I, R):
  • B. def tinhCongSuat():
  • C. def congSuat(P):
  • D. def tinhCongSuat(I_squared_R):

Câu 21: Trong thư viện `phuong_trinh`, hàm `phuongTrinhBac2` cần xử lý trường hợp đặc biệt nào khi hệ số `a = 0`?

  • A. Phương trình trở thành vô nghiệm.
  • B. Phương trình trở thành phương trình bậc ba.
  • C. Phương trình trở thành phương trình bậc nhất.
  • D. Hàm sẽ báo lỗi cú pháp.

Câu 22: Lợi ích của việc sử dụng docstrings (chuỗi tài liệu) ngay sau dòng định nghĩa hàm trong các thư viện là gì?

  • A. Giúp hàm chạy nhanh hơn.
  • B. Là cách duy nhất để truyền tham số cho hàm.
  • C. Tự động sửa lỗi cú pháp trong hàm.
  • D. Cung cấp tài liệu mô tả chức năng của hàm, giúp người khác (hoặc chính bạn sau này) dễ hiểu và sử dụng.

Câu 23: Giả sử bạn đã nhập thư viện `cong_thuc_ly` và có danh sách điện trở `resistors = [5, 10, 15]`. Để tính điện trở tương đương của mạch nối tiếp, bạn sẽ viết lệnh nào?

  • A. R_total = cong_thuc_ly.machNoiTiep(resistors)
  • B. R_total = machNoiTiep(resistors)
  • C. R_total = cong_thuc_ly.machSongSong(resistors)
  • D. R_total = resistors.sum()

Câu 24: Trong thư viện `quan_ly_cd`, việc sử dụng cấu trúc dữ liệu Danh sách liên kết (Linked List) để quản lý bài hát trên đĩa CD có thể được ưu tiên hơn danh sách thông thường (list) trong một số trường hợp vì lý do nào sau đây?

  • A. Truy cập ngẫu nhiên các phần tử nhanh hơn.
  • B. Việc thêm hoặc xóa phần tử ở vị trí bất kỳ (không phải cuối) có thể hiệu quả hơn.
  • C. Tiết kiệm bộ nhớ hơn đáng kể so với danh sách thông thường.
  • D. Duyệt qua các phần tử theo chỉ mục nhanh hơn.

Câu 25: Khi bạn đang phát triển một thư viện, việc viết các hàm nhỏ, chỉ thực hiện một nhiệm vụ cụ thể (ví dụ: một hàm tính chu vi, một hàm tính diện tích) thay vì một hàm lớn làm tất cả mọi thứ, tuân thủ nguyên tắc thiết kế nào trong lập trình?

  • A. Nguyên tắc đơn nhiệm (Single Responsibility Principle - SRP)
  • B. Nguyên tắc kế thừa (Inheritance Principle)
  • C. Nguyên tắc đóng gói (Encapsulation Principle)
  • D. Nguyên tắc đa hình (Polymorphism Principle)

Câu 26: Bạn đang viết một chương trình cần tính toán điện trở tương đương của một mạch gồm hai điện trở R1 và R2 mắc song song. Bạn đã nhập thư viện `cong_thuc_ly`. Đoạn code nào sau đây có thể được sử dụng để thực hiện tính toán này, giả sử hàm `machSongSong` nhận danh sách điện trở?

  • A. R1 = 10; R2 = 20; R_eq = cong_thuc_ly.machSongSong(R1, R2)
  • B. R1 = 10; R2 = 20; R_eq = cong_thuc_ly.machSongSong([R1], [R2])
  • C. R1 = 10; R2 = 20; R_eq = cong_thuc_ly.machSongDong([R1, R2])
  • D. R1 = 10; R2 = 20; R_eq = cong_thuc_ly.machSongSong([R1, R2])

Câu 27: Nếu hàm `machSongSong` trong `cong_thuc_ly` trả về -1 khi có điện trở <= 0, làm thế nào bạn có thể xử lý kết quả này trong chương trình chính để thông báo cho người dùng biết có lỗi xảy ra?

  • A. Luôn in kết quả mà không kiểm tra.
  • B. Kiểm tra giá trị trả về: if R_eq == -1: print("Lỗi dữ liệu điện trở")
  • C. Sử dụng vòng lặp để tính lại.
  • D. Chương trình tự động dừng lại khi có lỗi.

Câu 28: Giả sử bạn cần tính diện tích của 10 hình tròn khác nhau. Lợi ích của việc sử dụng hàm `tinhDienTich` từ thư viện `hinh_tron` thay vì viết lại công thức $pi r^2$ mỗi lần là gì?

  • A. Mã nguồn ngắn hơn.
  • B. Dễ dàng thay đổi công thức tính nếu cần (chỉ cần sửa trong thư viện).
  • C. Tránh lặp lại mã nguồn.
  • D. Tất cả các lợi ích trên.

Câu 29: Trong thư viện `phuong_trinh`, hàm `phuongTrinhBac2(a, b, c)` cần tính biệt thức Delta ($Delta = b^2 - 4ac$). Dựa vào giá trị Delta, hàm sẽ xác định số nghiệm của phương trình. Đây là một ví dụ về:

  • A. Phân tích bài toán và áp dụng công thức toán học vào lập trình.
  • B. Sử dụng vòng lặp để lặp qua các giá trị của x.
  • C. Truy cập cơ sở dữ liệu để tìm nghiệm.
  • D. Sử dụng đồ họa để vẽ đồ thị hàm số.

Câu 30: Mục tiêu chính của Bài 31

  • A. Thiết kế giao diện đồ họa người dùng.
  • B. Kết nối và làm việc với cơ sở dữ liệu.
  • C. Phân chia chương trình thành các module có thể tái sử dụng và cách nhập/sử dụng chúng.
  • D. Tối ưu hóa thuật toán để chương trình chạy nhanh nhất.

1 / 30

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

Tags: Bộ đề 06

Câu 1: Trong lập trình Python, một tệp `.py` chứa các hàm, biến và lớp được thiết kế để sử dụng lại trong các chương trình khác được gọi là gì?

2 / 30

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

Tags: Bộ đề 06

Câu 2: Giả sử bạn có một thư viện tên là `geometry.py` chứa hàm `calculate_area_rectangle(length, width)`. Câu lệnh Python nào sau đây dùng để nhập toàn bộ thư viện này vào chương trình chính để sử dụng hàm đó?

3 / 30

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

Tags: Bộ đề 06

Câu 3: Sau khi đã nhập thư viện `geometry` như ở Câu 2 bằng lệnh `import geometry`, bạn sẽ gọi hàm `calculate_area_rectangle` như thế nào để tính diện tích hình chữ nhật có chiều dài 10 và chiều rộng 5?

4 / 30

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

Tags: Bộ đề 06

Câu 4: Nếu bạn chỉ muốn sử dụng duy nhất hàm `calculate_area_rectangle` từ thư viện `geometry` mà không cần nhập toàn bộ thư viện, bạn sẽ sử dụng câu lệnh nhập nào?

5 / 30

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

Tags: Bộ đề 06

Câu 5: Khi sử dụng lệnh `from geometry import calculate_area_rectangle`, bạn sẽ gọi hàm `calculate_area_rectangle` như thế nào trong chương trình chính?

6 / 30

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

Tags: Bộ đề 06

Câu 6: Trong thư viện `hinh_tron` của Bài 31, hàm `tinhChuVi(r)` được định nghĩa. Giả sử bạn đã nhập thư viện này. Đoạn code nào sau đây *không đúng* cú pháp để tính chu vi hình tròn bán kính `R`?

7 / 30

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

Tags: Bộ đề 06

Câu 7: Xét thư viện `cong_thuc_ly` với hàm `machSongSong(dsDienTro)` nhận một danh sách các giá trị điện trở. Hàm này được thiết kế để trả về -1 nếu danh sách chứa giá trị không hợp lệ (điện trở <= 0). Điều này thể hiện khía cạnh nào trong thiết kế thư viện?

8 / 30

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

Tags: Bộ đề 06

Câu 8: Trong thư viện `cong_thuc_ly`, hàm `machNoiTiep(dsDienTro)` tính tổng các giá trị trong danh sách `dsDienTro`. Nếu bạn gọi hàm này với `machNoiTiep([10, 20, 30])`, kết quả trả về sẽ là bao nhiêu?

9 / 30

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

Tags: Bộ đề 06

Câu 9: Hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa` tính nguyên tử khối trung bình. Hàm này kiểm tra xem độ dài của hai danh sách `dsNtk` và `dstyLe` có bằng nhau không. Nếu không bằng nhau, hàm trả về 0. Tại sao việc kiểm tra độ dài danh sách lại quan trọng trong trường hợp này?

10 / 30

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

Tags: Bộ đề 06

Câu 10: Giả sử thư viện `cong_thuc_hoa` có hàm `tinhNtkTB` hoạt động đúng. Để tính nguyên tử khối trung bình của Neon, với các đồng vị Ne-20 (90.48%) và Ne-22 (9.25%), bạn sẽ gọi hàm như thế nào?

11 / 30

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

Tags: Bộ đề 06

Câu 11: Thư viện `my_math` được tạo trong bài thực hành chỉ chứa hằng số `PI`. Mục đích của việc tạo thư viện đơn giản như vậy, thay vì dùng `math.pi`, có thể là gì?

12 / 30

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

Tags: Bộ đề 06

Câu 12: Thư viện `phuong_trinh` chứa hàm `phuongTrinhBac2(a, b, c)` để giải phương trình $ax^2 + bx + c = 0$. Nếu bạn gọi hàm này với các tham số (1, -3, 2), hàm sẽ xử lý phươ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 31: Thực hành thiết lập thư viện chương trình

Tags: Bộ đề 06

Câu 13: Giả sử hàm `phuongTrinhBac2(a, b, c)` in ra nghiệm. Nếu bạn gọi `phuongTrinhBac2(1, -2, 1)`, đầu ra (nghiệm) có thể là gì?

14 / 30

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

Tags: Bộ đề 06

Câu 14: Trong nhiệm vụ về quản lý đĩa CD, thư viện `quan_ly_cd` có thể đã sử dụng cấu trúc dữ liệu nào để lưu trữ danh sách các bài hát một cách hiệu quả, cho phép thêm và duyệt theo thứ tự?

15 / 30

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

Tags: Bộ đề 06

Câu 15: Chức năng chính của hàm `nhapDL()` trong thư viện `quan_ly_cd` (dựa trên mô tả trong bài) là gì?

16 / 30

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

Tags: Bộ đề 06

Câu 16: Việc chia chương trình thành các thư viện (module) nhỏ hơn mang lại lợi ích chính nào trong phát triển phần mềm?

17 / 30

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

Tags: Bộ đề 06

Câu 17: Trong Python, khi bạn tạo một tệp `my_module.py` và muốn nó hoạt động như một thư viện, bạn cần đặt tệp này ở đâu để các chương trình khác có thể nhập nó thành công?

18 / 30

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

Tags: Bộ đề 06

Câu 18: Xét hàm `tinhChuVi(r)` trong `hinh_tron.py`. Nếu hàm này được viết là `def tinhChuVi(r): return 2 * math.pi * r` mà không có dòng `import math` ở đầu tệp `hinh_tron.py`, điều gì sẽ xảy ra khi bạn cố gắng sử dụng thư viện `hinh_tron` trong một chương trình khác?

19 / 30

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

Tags: Bộ đề 06

Câu 19: Khi thiết kế một hàm trong thư viện, việc sử dụng các tham số (arguments) và giá trị trả về (return value) thay vì in trực tiếp kết quả có lợi ích gì?

20 / 30

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

Tags: Bộ đề 06

Câu 20: Giả sử bạn muốn mở rộng thư viện `cong_thuc_ly` để thêm hàm tính công suất ($P = I^2 imes R$). Hàm mới này có thể có chữ ký (signature) như thế nào?

21 / 30

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

Tags: Bộ đề 06

Câu 21: Trong thư viện `phuong_trinh`, hàm `phuongTrinhBac2` cần xử lý trường hợp đặc biệt nào khi hệ số `a = 0`?

22 / 30

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

Tags: Bộ đề 06

Câu 22: Lợi ích của việc sử dụng docstrings (chuỗi tài liệu) ngay sau dòng định nghĩa hàm trong các thư viện là gì?

23 / 30

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

Tags: Bộ đề 06

Câu 23: Giả sử bạn đã nhập thư viện `cong_thuc_ly` và có danh sách điện trở `resistors = [5, 10, 15]`. Để tính điện trở tương đương của mạch nối tiếp, bạn sẽ viết lệnh nào?

24 / 30

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

Tags: Bộ đề 06

Câu 24: Trong thư viện `quan_ly_cd`, việc sử dụng cấu trúc dữ liệu Danh sách liên kết (Linked List) để quản lý bài hát trên đĩa CD có thể được ưu tiên hơn danh sách thông thường (list) trong một số trường hợp vì lý do nào sau đây?

25 / 30

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

Tags: Bộ đề 06

Câu 25: Khi bạn đang phát triển một thư viện, việc viết các hàm nhỏ, chỉ thực hiện một nhiệm vụ cụ thể (ví dụ: một hàm tính chu vi, một hàm tính diện tích) thay vì một hàm lớn làm tất cả mọi thứ, tuân thủ nguyên tắc thiết kế nào trong lập trình?

26 / 30

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

Tags: Bộ đề 06

Câu 26: Bạn đang viết một chương trình cần tính toán điện trở tương đương của một mạch gồm hai điện trở R1 và R2 mắc song song. Bạn đã nhập thư viện `cong_thuc_ly`. Đoạn code nào sau đây *có thể* được sử dụng để thực hiện tính toán này, giả sử hàm `machSongSong` nhận danh sách điện trở?

27 / 30

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

Tags: Bộ đề 06

Câu 27: Nếu hàm `machSongSong` trong `cong_thuc_ly` trả về -1 khi có điện trở <= 0, làm thế nào bạn có thể xử lý kết quả này trong chương trình chính để thông báo cho người dùng biết có lỗi xảy ra?

28 / 30

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

Tags: Bộ đề 06

Câu 28: Giả sử bạn cần tính diện tích của 10 hình tròn khác nhau. Lợi ích của việc sử dụng hàm `tinhDienTich` từ thư viện `hinh_tron` thay vì viết lại công thức $pi r^2$ mỗi lần là gì?

29 / 30

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

Tags: Bộ đề 06

Câu 29: Trong thư viện `phuong_trinh`, hàm `phuongTrinhBac2(a, b, c)` cần tính biệt thức Delta ($Delta = b^2 - 4ac$). Dựa vào giá trị Delta, hàm sẽ xác định số nghiệm của phương trình. Đây là một ví dụ về:

30 / 30

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

Tags: Bộ đề 06

Câu 30: Mục tiêu chính của Bài 31 "Thực hành thiết lập thư viện chương trình" là giúp học sinh hiểu và thực hành kỹ năng nào?

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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Giả sử bạn đã tạo một tệp Python tên là `hinhhoc.py` chứa hàm `tinh_dien_tich_hinh_vuong(canh)`. Để sử dụng hàm này trong một tệp chương trình khác (`main.py`) cùng thư mục, câu lệnh nhập (import) nào sau đây là không đúng cú pháp trong Python?

  • A. import hinhhoc
  • B. from hinhhoc import tinh_dien_tich_hinh_vuong
  • C. import hinhhoc as hh
  • D. use hinhhoc

Câu 2: Bạn có một thư viện tên là `toanlib.py` với nội dung sau:
```python
def cong(a, b):
return a + b

def tru(a, b):
return a - b
```
Trong một tệp khác, bạn viết:
```python
from toanlib import cong
ket_qua = cong(10, 5)
```
Hãy cho biết giá trị của biến `ket_qua` sau khi đoạn mã trên được thực thi.

  • A. Lỗi, vì không import hàm `tru`.
  • B. Lỗi, vì cần import toàn bộ module `toanlib`.
  • C. 15
  • D. 5

Câu 3: Xét thư viện `hinh_tron.py` có hàm `tinhChuVi(r)` tính chu vi hình tròn bán kính `r` và hàm `tinhDienTich(r)` tính diện tích hình tròn. Cả hai hàm đều sử dụng `math.pi`. Nếu trong chương trình chính, bạn chỉ cần tính diện tích, cách nhập module nào sau đây là hiệu quả nhất về mặt tài nguyên và không gian tên (namespace)?

  • A. import hinh_tron
  • B. from hinh_tron import *
  • C. import hinh_tron as ht
  • D. from hinh_tron import tinhDienTich

Câu 4: Thư viện `cong_thuc_ly.py` có hàm `machSongSong(dsDienTro)` tính điện trở tương đương cho mạch song song, trả về -1 nếu bất kỳ giá trị điện trở nào trong danh sách `dsDienTro` <= 0. Nếu bạn gọi hàm này với `cong_thuc_ly.machSongSong([10, -5, 20])`, kết quả trả về sẽ là bao nhiêu và tại sao?

  • A. Một giá trị dương, là điện trở tương đương tính theo công thức mạch song song.
  • B. -1, vì danh sách chứa giá trị điện trở không hợp lệ.
  • C. Lỗi chương trình (exception), vì không thể tính nghịch đảo của số âm.
  • D. 0, vì có giá trị âm trong danh sách.

Câu 5: Mục đích chính của việc đóng gói các hàm liên quan vào một tệp `.py` riêng biệt để tạo thành thư viện (module) là gì?

  • A. Giúp tái sử dụng mã nguồn hiệu quả và làm cho chương trình chính gọn gàng hơn.
  • B. Bắt buộc phải làm như vậy để chương trình Python có thể chạy.
  • C. Làm cho chương trình chạy nhanh hơn.
  • D. Giúp mã nguồn được bảo vệ, không ai có thể xem được nội dung bên trong thư viện.

Câu 6: Cho thư viện `cong_thuc_hoa.py` với hàm `tinhNtkTB(dsNtk, dstyLe)` tính nguyên tử khối trung bình. Hàm này trả về 0 nếu độ dài của hai danh sách `dsNtk` và `dstyLe` không bằng nhau. Điều này thể hiện nguyên tắc xử lý lỗi nào trong thiết kế hàm thư viện?

  • A. Hàm luôn trả về 0 nếu không có đồng vị nào.
  • B. Đây là cách tính nguyên tử khối trung bình khi chỉ có một đồng vị.
  • C. Hàm tự động sửa lỗi dữ liệu đầu vào.
  • D. Một cách báo hiệu dữ liệu đầu vào không hợp lệ hoặc không đủ để tính toán.

Câu 7: Bạn đang phát triển một chương trình và cần tính chu vi của nhiều hình tròn. Thay vì viết công thức `2 * math.pi * r` lặp đi lặp lại, bạn quyết định tạo một thư viện `hinh_tron.py` với hàm `tinhChuVi(r)`. Hành động này minh họa rõ nhất lợi ích nào của việc sử dụng thư viện?

  • A. Tái sử dụng mã nguồn (Code Reusability).
  • B. Tăng tốc độ thực thi chương trình.
  • C. Giảm dung lượng tệp chương trình.
  • D. Bắt buộc phải sử dụng thư viện cho các công thức toán học.

Câu 8: Cho đoạn mã sử dụng thư viện `phuong_trinh.py` có hàm `phuongTrinhBac2(a, b, c)`:
```python
import phuong_trinh
phuong_trinh.phuongTrinhBac2(1, -3, 2)
```
Giả sử hàm `phuongTrinhBac2` hoạt động đúng, đoạn mã này sẽ thực hiện hành động nào?

  • A. Tính giá trị của biểu thức 1x^2 - 3x + 2.
  • B. Giải phương trình bậc hai x^2 - 3x + 2 = 0 và in ra nghiệm của nó.
  • C. Trả về một danh sách chứa các nghiệm của phương trình.
  • D. Kiểm tra xem 1, -3, 2 có phải là nghiệm của một phương trình nào đó không.

Câu 9: Khi thiết kế một hàm trong thư viện để tính toán (ví dụ: tính diện tích, chu vi), việc trả về kết quả dưới dạng số (ví dụ: `float`) thay vì in trực tiếp ra màn hình có lợi ích gì cho người sử dụng thư viện?

  • A. Giúp hàm chạy nhanh hơn.
  • B. Bắt buộc phải làm vậy theo quy tắc của Python.
  • C. Cho phép chương trình gọi hàm linh hoạt xử lý và sử dụng kết quả trả về.
  • D. Làm cho mã nguồn của thư viện ngắn gọn hơn.

Câu 10: Trong thư viện `cong_thuc_ly.py`, hàm `machNoiTiep(dsDienTro)` tính điện trở tương đương của mạch nối tiếp bằng cách tính tổng các giá trị trong danh sách `dsDienTro`. Nếu danh sách này là `[5, 10, 15]`, kết quả trả về sẽ là bao nhiêu?

  • A. 15
  • B. 0
  • C. -1
  • D. 30

Câu 11: Giả sử bạn có thư viện `my_math.py` chỉ chứa định nghĩa hằng số `PI = 3.14159`. Để sử dụng hằng số này trong chương trình chính và gọi nó đơn giản là `PI`, bạn nên nhập module như thế nào?

  • A. import my_math
  • B. from my_math import PI
  • C. import my_math as m
  • D. from my_math import *

Câu 12: Thư viện `quan_ly_cd.py` có hàm `nhapDL()` được mô tả là dùng để nhập thông tin và thêm bài hát vào đĩa CD, trả về một đối tượng (ví dụ: LinkedList) chứa các bài hát. Nếu bạn gọi hàm này trong chương trình chính và gán kết quả cho biến `dia_cd = quan_ly_cd.nhapDL()`, biến `dia_cd` sẽ chứa gì?

  • A. Một số nguyên biểu thị số lượng bài hát.
  • B. Một chuỗi thông báo nhập liệu thành công.
  • C. Một đối tượng (ví dụ: danh sách liên kết) chứa thông tin các bài hát.
  • D. Giá trị `None`, vì hàm chỉ thực hiện hành động nhập liệu.

Câu 13: Khi sử dụng lệnh `import ten_module`, cách truy cập các hàm hoặc biến bên trong `ten_module` là gì?

  • A. ten_module.ten_ham_hoac_bien
  • B. ten_ham_hoac_bien
  • C. gọi trực tiếp ten_ham_hoac_bien()
  • D. ten_module::ten_ham_hoac_bien

Câu 14: Giả sử thư viện `cong_thuc_ly.py` có hàm `machSongSong(dsDienTro)`. Để tính điện trở tương đương của mạch song song với các điện trở 20 Ohm và 30 Ohm, bạn cần chuẩn bị dữ liệu đầu vào cho hàm này như thế nào?

  • A. Truyền trực tiếp các giá trị: `machSongSong(20, 30)`
  • B. Tạo một danh sách chứa các giá trị: `machSongSong([20, 30])`
  • C. Tạo một dictionary: `machSongSong({"R1": 20, "R2": 30})`
  • D. Đọc các giá trị từ tệp văn bản.

Câu 15: Bạn viết một hàm `kiem_tra_so_nguyen_to(n)` trong tệp `kiemtra.py`. Sau đó, trong tệp `main.py`, bạn muốn sử dụng hàm này. Bạn đã viết `from kiemtra import kiem_tra_so_nguyen_to`. Khi gọi hàm, cú pháp nào sau đây là đúng?

  • A. kiemtra.kiem_tra_so_nguyen_to(17)
  • B. kiemtra::kiem_tra_so_nguyen_to(17)
  • C. kiem_tra_so_nguyen_to(17)
  • D. gọi kiem_tra_so_nguyen_to(17)

Câu 16: Giả sử thư viện `cong_thuc_hoa.py` có hàm `tinhNtkTB(dsNtk, dstyLe)`. Công thức tính được mô tả là (text{ntkTB} = sum frac{text{ntk}_i times text{tyLe}_i}{100}). Nếu gọi hàm với `tinhNtkTB([14, 15], [99.6, 0.4])` để tính nguyên tử khối trung bình của Nitơ, kết quả mong đợi sẽ là bao nhiêu?

  • A. 14.004
  • B. 14.5
  • C. 29
  • D. Lỗi, vì tỷ lệ phần trăm chưa được chuẩn hóa.

Câu 17: Khi tạo một thư viện Python, các biến được định nghĩa trực tiếp trong tệp `.py` (bên ngoài các hàm) sẽ được coi là gì khi module đó được nhập vào chương trình khác?

  • A. Biến cục bộ chỉ có thể dùng trong thư viện.
  • B. Không có tác dụng gì.
  • C. Biến chỉ dùng được nếu import bằng `from ... import *`.
  • D. Các biến toàn cục của module, có thể truy cập thông qua tên module.

Câu 18: Bạn cần giải nhiều phương trình bậc hai khác nhau trong chương trình của mình. Thay vì sao chép mã giải phương trình cho mỗi lần cần, bạn sử dụng thư viện `phuong_trinh.py` với hàm `phuongTrinhBac2(a, b, c)`. Việc này giúp bạn tránh được vấn đề nào phổ biến trong lập trình?

  • A. Lặp lại mã nguồn (Code Duplication).
  • B. Lỗi cú pháp (Syntax Error).
  • C. Chương trình chạy quá nhanh.
  • D. Khó đặt tên biến.

Câu 19: Thư viện `hinh_tron.py` chứa hàm `tinhDienTich(r)` sử dụng `math.pi`. Nếu bạn quên dòng `import math` trong tệp `hinh_tron.py`, điều gì sẽ xảy ra khi bạn cố gắng chạy chương trình chính mà nhập và gọi hàm `tinhDienTich`?

  • A. Chương trình vẫn chạy nhưng kết quả tính diện tích sẽ sai.
  • B. Lỗi khi import thư viện `hinh_tron` trong chương trình chính.
  • C. Lỗi `NameError` xảy ra khi hàm `tinhDienTich` được gọi, vì `math` chưa được định nghĩa trong `hinh_tron.py`.
  • D. Chương trình sẽ tự động tìm và import thư viện `math`.

Câu 20: Bạn muốn tạo một bí danh (alias) cho thư viện `cong_thuc_ly` khi nhập vào chương trình chính để gọi các hàm dễ dàng hơn, ví dụ gọi `ly.machNoiTiep(...)` thay vì `cong_thuc_ly.machNoiTiep(...)`. Cú pháp nhập module nào sẽ giúp bạn làm điều này?

  • A. import cong_thuc_ly as ly
  • B. from cong_thuc_ly import ly
  • C. alias ly = cong_thuc_ly
  • D. import ly from cong_thuc_ly

Câu 21: Trong thư viện `cong_thuc_ly.py`, tại sao hàm `machSongSong` lại kiểm tra và trả về -1 nếu có điện trở <= 0 thay vì chỉ tính toán theo công thức 1/R_td = sum(1/R_i)?

  • A. Để làm cho hàm phức tạp hơn.
  • B. Vì giá trị điện trở không thể là số âm hoặc bằng 0 trong thực tế, đây là cách xử lý dữ liệu đầu vào không hợp lệ.
  • C. Vì Python không thể chia cho số âm hoặc số 0.
  • D. Để phân biệt giữa mạch song song và mạch nối tiếp.

Câu 22: Bạn cần viết một chương trình quản lý sách. Bạn tạo một thư viện `quan_ly_sach.py` chứa các hàm như `them_sach(tieu_de, tac_gia)`, `tim_sach(tieu_de)`, `in_danh_sach()`. Hành động này thể hiện nguyên lý thiết kế chương trình nào?

  • A. Tính module hóa (Modularity).
  • B. Tính đa hình (Polymorphism).
  • C. Tính kế thừa (Inheritance).
  • D. Tối ưu hóa bộ nhớ.

Câu 23: Giả sử thư viện `hinh_tron.py` có hàm `tinhChuVi(r)` trả về chu vi. Bạn muốn tính chu vi hình tròn bán kính 5 và lưu kết quả vào biến `c`. Cách gọi hàm nào sau đây là đúng và lưu kết quả vào biến `c`?

  • A. c = tinhChuVi(5)
  • B. hinh_tron.tinhChuVi(c, 5)
  • C. c = hinh_tron.tinhChuVi r=5
  • D. c = hinh_tron.tinhChuVi(5)

Câu 24: Khi bạn viết một thư viện (ví dụ: `my_lib.py`), các dòng mã nằm trực tiếp trong thân tệp (không thuộc về hàm hay lớp nào) sẽ được thực thi khi nào?

  • A. Chỉ khi một trong các hàm trong thư viện được gọi.
  • B. Khi thư viện đó được import vào một chương trình khác hoặc được chạy trực tiếp.
  • C. Chỉ khi chương trình kết thúc.
  • D. Không bao giờ được thực thi.

Câu 25: Giả sử bạn đã tạo thư viện `my_math.py` chỉ chứa hằng số `PI = 3.14159`. Trong chương trình chính, bạn viết `import my_math`. Sau đó, bạn cố gắng in giá trị của PI bằng lệnh `print(PI)`. Điều gì sẽ xảy ra?

  • A. Chương trình in ra giá trị 3.14159.
  • B. Chương trình in ra giá trị của hằng số PI từ thư viện `math` chuẩn của Python.
  • C. Lỗi `NameError`, vì `PI` không được định nghĩa trực tiếp trong chương trình chính.
  • D. Lỗi cú pháp.

Câu 26: Khi nào việc sử dụng `from ten_module import *` là không nên làm?

  • A. Khi module chứa rất nhiều tên và có nguy cơ gây xung đột tên với các tên khác trong chương trình.
  • B. Khi module chỉ chứa một vài hàm đơn giản.
  • C. Khi muốn sử dụng bí danh cho module.
  • D. Khi muốn chương trình chạy nhanh hơn.

Câu 27: Bạn đang làm việc với một thư viện tính toán hóa học và gặp một hàm `tinh_phan_tram_nguyen_to(cong_thuc_hoa_hoc, nguyen_to)`. Hàm này nhận công thức hóa học (chuỗi) và ký hiệu nguyên tố (chuỗi) rồi trả về phần trăm khối lượng của nguyên tố đó trong hợp chất. Để sử dụng hàm này để tính phần trăm khối lượng Oxi trong H2O, bạn cần cung cấp tham số đầu vào như thế nào?

  • A. `tinh_phan_tram_nguyen_to("H", "O")`
  • B. `tinh_phan_tram_nguyen_to("H2O", "O")`
  • C. `tinh_phan_tram_nguyen_to(H2O, O)`
  • D. `tinh_phan_tram_nguyen_to(["H2O", "O"])`

Câu 28: Giả sử bạn đã tạo thư viện `hinh_tron.py` với hàm `tinhDienTich(r)`. Trong chương trình chính, bạn cần tính diện tích hình tròn có bán kính nhập từ bàn phím. Sau khi nhập bán kính vào biến `r_nhap`, bạn sẽ gọi hàm như thế nào (giả sử đã import module đúng cách)?

  • A. dien_tich = hinh_tron.tinhDienTich(r_nhap)
  • B. dien_tich = hinh_tron.tinhDienTich("r_nhap")
  • C. hinh_tron.tinhDienTich(r_nhap, dien_tich)
  • D. hinh_tron.tinhDienTich(r_nhap)

Câu 29: Bạn đang viết một chương trình và nhận thấy cần thực hiện một tập hợp các phép tính phức tạp nhiều lần ở các vị trí khác nhau. Việc nhóm các phép tính này lại thành một hàm và đặt nó vào một thư viện riêng biệt sẽ giúp cải thiện điều gì về mã nguồn của bạn?

  • A. Chỉ giúp chương trình chạy nhanh hơn.
  • B. Chỉ giúp giảm kích thước tệp.
  • C. Cả khả năng đọc hiểu (readability) và khả năng bảo trì (maintainability).
  • D. Không có lợi ích đáng kể nào.

Câu 30: Giả sử thư viện `phuong_trinh.py` có hàm `phuongTrinhBac2(a, b, c)` giải phương trình bậc hai. Nếu bạn gọi hàm này với `phuong_trinh.phuongTrinhBac2(0, 2, -4)`, kết quả xử lý bên trong hàm (nếu được thiết kế tốt) có thể sẽ là gì?

  • A. Gây ra lỗi chia cho 0.
  • B. Nhận biết đây là phương trình bậc nhất (2x - 4 = 0) và giải phương trình bậc nhất.
  • C. Thông báo rằng phương trình vô nghiệm.
  • D. Bỏ qua giá trị a=0 và chỉ xử lý b và c.

1 / 30

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

Tags: Bộ đề 07

Câu 1: Giả sử bạn đã tạo một tệp Python tên là `hinhhoc.py` chứa hàm `tinh_dien_tich_hinh_vuong(canh)`. Để sử dụng hàm này trong một tệp chương trình khác (`main.py`) cùng thư mục, câu lệnh nhập (import) nào sau đây là *không* đúng cú pháp trong Python?

2 / 30

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

Tags: Bộ đề 07

Câu 2: Bạn có một thư viện tên là `toanlib.py` với nội dung sau:
```python
def cong(a, b):
return a + b

def tru(a, b):
return a - b
```
Trong một tệp khác, bạn viết:
```python
from toanlib import cong
ket_qua = cong(10, 5)
```
Hãy cho biết giá trị của biến `ket_qua` sau khi đoạn mã trên được thực thi.

3 / 30

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

Tags: Bộ đề 07

Câu 3: Xét thư viện `hinh_tron.py` có hàm `tinhChuVi(r)` tính chu vi hình tròn bán kính `r` và hàm `tinhDienTich(r)` tính diện tích hình tròn. Cả hai hàm đều sử dụng `math.pi`. Nếu trong chương trình chính, bạn chỉ cần tính diện tích, cách nhập module nào sau đây là *hiệu quả nhất* về mặt tài nguyên và không gian tên (namespace)?

4 / 30

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

Tags: Bộ đề 07

Câu 4: Thư viện `cong_thuc_ly.py` có hàm `machSongSong(dsDienTro)` tính điện trở tương đương cho mạch song song, trả về -1 nếu bất kỳ giá trị điện trở nào trong danh sách `dsDienTro` <= 0. Nếu bạn gọi hàm này với `cong_thuc_ly.machSongSong([10, -5, 20])`, kết quả trả về sẽ là bao nhiêu và tại sao?

5 / 30

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

Tags: Bộ đề 07

Câu 5: Mục đích chính của việc đóng gói các hàm liên quan vào một tệp `.py` riêng biệt để tạo thành thư viện (module) là gì?

6 / 30

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

Tags: Bộ đề 07

Câu 6: Cho thư viện `cong_thuc_hoa.py` với hàm `tinhNtkTB(dsNtk, dstyLe)` tính nguyên tử khối trung bình. Hàm này trả về 0 nếu độ dài của hai danh sách `dsNtk` và `dstyLe` không bằng nhau. Điều này thể hiện nguyên tắc xử lý lỗi nào trong thiết kế hàm thư viện?

7 / 30

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

Tags: Bộ đề 07

Câu 7: Bạn đang phát triển một chương trình và cần tính chu vi của nhiều hình tròn. Thay vì viết công thức `2 * math.pi * r` lặp đi lặp lại, bạn quyết định tạo một thư viện `hinh_tron.py` với hàm `tinhChuVi(r)`. Hành động này minh họa rõ nhất lợi ích nào của việc sử dụng thư viện?

8 / 30

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

Tags: Bộ đề 07

Câu 8: Cho đoạn mã sử dụng thư viện `phuong_trinh.py` có hàm `phuongTrinhBac2(a, b, c)`:
```python
import phuong_trinh
phuong_trinh.phuongTrinhBac2(1, -3, 2)
```
Giả sử hàm `phuongTrinhBac2` hoạt động đúng, đoạn mã này sẽ thực hiện hành động nào?

9 / 30

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

Tags: Bộ đề 07

Câu 9: Khi thiết kế một hàm trong thư viện để tính toán (ví dụ: tính diện tích, chu vi), việc trả về kết quả dưới dạng số (ví dụ: `float`) thay vì in trực tiếp ra màn hình có lợi ích gì cho người sử dụng thư viện?

10 / 30

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

Tags: Bộ đề 07

Câu 10: Trong thư viện `cong_thuc_ly.py`, hàm `machNoiTiep(dsDienTro)` tính điện trở tương đương của mạch nối tiếp bằng cách tính tổng các giá trị trong danh sách `dsDienTro`. Nếu danh sách này là `[5, 10, 15]`, kết quả trả về sẽ là bao nhiêu?

11 / 30

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

Tags: Bộ đề 07

Câu 11: Giả sử bạn có thư viện `my_math.py` chỉ chứa định nghĩa hằng số `PI = 3.14159`. Để sử dụng hằng số này trong chương trình chính và gọi nó đơn giản là `PI`, bạn nên nhập module như thế nào?

12 / 30

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

Tags: Bộ đề 07

Câu 12: Thư viện `quan_ly_cd.py` có hàm `nhapDL()` được mô tả là dùng để nhập thông tin và thêm bài hát vào đĩa CD, trả về một đối tượng (ví dụ: LinkedList) chứa các bài hát. Nếu bạn gọi hàm này trong chương trình chính và gán kết quả cho biến `dia_cd = quan_ly_cd.nhapDL()`, biến `dia_cd` sẽ chứa gì?

13 / 30

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

Tags: Bộ đề 07

Câu 13: Khi sử dụng lệnh `import ten_module`, cách truy cập các hàm hoặc biến bên trong `ten_module` là gì?

14 / 30

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

Tags: Bộ đề 07

Câu 14: Giả sử thư viện `cong_thuc_ly.py` có hàm `machSongSong(dsDienTro)`. Để tính điện trở tương đương của mạch song song với các điện trở 20 Ohm và 30 Ohm, bạn cần chuẩn bị dữ liệu đầu vào cho hàm này như thế nào?

15 / 30

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

Tags: Bộ đề 07

Câu 15: Bạn viết một hàm `kiem_tra_so_nguyen_to(n)` trong tệp `kiemtra.py`. Sau đó, trong tệp `main.py`, bạn muốn sử dụng hàm này. Bạn đã viết `from kiemtra import kiem_tra_so_nguyen_to`. Khi gọi hàm, cú pháp nào sau đây là đúng?

16 / 30

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

Tags: Bộ đề 07

Câu 16: Giả sử thư viện `cong_thuc_hoa.py` có hàm `tinhNtkTB(dsNtk, dstyLe)`. Công thức tính được mô tả là ( ext{ntkTB} = sum frac{ ext{ntk}_i imes ext{tyLe}_i}{100}). Nếu gọi hàm với `tinhNtkTB([14, 15], [99.6, 0.4])` để tính nguyên tử khối trung bình của Nitơ, kết quả mong đợi sẽ là bao nhiêu?

17 / 30

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

Tags: Bộ đề 07

Câu 17: Khi tạo một thư viện Python, các biến được định nghĩa trực tiếp trong tệp `.py` (bên ngoài các hàm) sẽ được coi là gì khi module đó được nhập vào chương trình khác?

18 / 30

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

Tags: Bộ đề 07

Câu 18: Bạn cần giải nhiều phương trình bậc hai khác nhau trong chương trình của mình. Thay vì sao chép mã giải phương trình cho mỗi lần cần, bạn sử dụng thư viện `phuong_trinh.py` với hàm `phuongTrinhBac2(a, b, c)`. Việc này giúp bạn tránh được vấn đề nào phổ biến trong lập trình?

19 / 30

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

Tags: Bộ đề 07

Câu 19: Thư viện `hinh_tron.py` chứa hàm `tinhDienTich(r)` sử dụng `math.pi`. Nếu bạn quên dòng `import math` trong tệp `hinh_tron.py`, điều gì sẽ xảy ra khi bạn cố gắng chạy chương trình chính mà nhập và gọi hàm `tinhDienTich`?

20 / 30

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

Tags: Bộ đề 07

Câu 20: Bạn muốn tạo một bí danh (alias) cho thư viện `cong_thuc_ly` khi nhập vào chương trình chính để gọi các hàm dễ dàng hơn, ví dụ gọi `ly.machNoiTiep(...)` thay vì `cong_thuc_ly.machNoiTiep(...)`. Cú pháp nhập module nào sẽ giúp bạn làm điều này?

21 / 30

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

Tags: Bộ đề 07

Câu 21: Trong thư viện `cong_thuc_ly.py`, tại sao hàm `machSongSong` lại kiểm tra và trả về -1 nếu có điện trở <= 0 thay vì chỉ tính toán theo công thức 1/R_td = sum(1/R_i)?

22 / 30

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

Tags: Bộ đề 07

Câu 22: Bạn cần viết một chương trình quản lý sách. Bạn tạo một thư viện `quan_ly_sach.py` chứa các hàm như `them_sach(tieu_de, tac_gia)`, `tim_sach(tieu_de)`, `in_danh_sach()`. Hành động này thể hiện nguyên lý thiết kế chương trình nào?

23 / 30

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

Tags: Bộ đề 07

Câu 23: Giả sử thư viện `hinh_tron.py` có hàm `tinhChuVi(r)` trả về chu vi. Bạn muốn tính chu vi hình tròn bán kính 5 và lưu kết quả vào biến `c`. Cách gọi hàm nào sau đây là đúng và lưu kết quả vào biến `c`?

24 / 30

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

Tags: Bộ đề 07

Câu 24: Khi bạn viết một thư viện (ví dụ: `my_lib.py`), các dòng mã nằm trực tiếp trong thân tệp (không thuộc về hàm hay lớp nào) sẽ được thực thi khi nào?

25 / 30

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

Tags: Bộ đề 07

Câu 25: Giả sử bạn đã tạo thư viện `my_math.py` chỉ chứa hằng số `PI = 3.14159`. Trong chương trình chính, bạn viết `import my_math`. Sau đó, bạn cố gắng in giá trị của PI bằng lệnh `print(PI)`. Điều gì sẽ xảy ra?

26 / 30

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

Tags: Bộ đề 07

Câu 26: Khi nào việc sử dụng `from ten_module import *` là *không* nên làm?

27 / 30

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

Tags: Bộ đề 07

Câu 27: Bạn đang làm việc với một thư viện tính toán hóa học và gặp một hàm `tinh_phan_tram_nguyen_to(cong_thuc_hoa_hoc, nguyen_to)`. Hàm này nhận công thức hóa học (chuỗi) và ký hiệu nguyên tố (chuỗi) rồi trả về phần trăm khối lượng của nguyên tố đó trong hợp chất. Để sử dụng hàm này để tính phần trăm khối lượng Oxi trong H2O, bạn cần cung cấp tham số đầu vào như thế nào?

28 / 30

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

Tags: Bộ đề 07

Câu 28: Giả sử bạn đã tạo thư viện `hinh_tron.py` với hàm `tinhDienTich(r)`. Trong chương trình chính, bạn cần tính diện tích hình tròn có bán kính nhập từ bàn phím. Sau khi nhập bán kính vào biến `r_nhap`, bạn sẽ gọi hàm như thế nào (giả sử đã import module đúng cách)?

29 / 30

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

Tags: Bộ đề 07

Câu 29: Bạn đang viết một chương trình và nhận thấy cần thực hiện một tập hợp các phép tính phức tạp nhiều lần ở các vị trí khác nhau. Việc nhóm các phép tính này lại thành một hàm và đặt nó vào một thư viện riêng biệt sẽ giúp cải thiện điều gì về mã nguồn của bạn?

30 / 30

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

Tags: Bộ đề 07

Câu 30: Giả sử thư viện `phuong_trinh.py` có hàm `phuongTrinhBac2(a, b, c)` giải phương trình bậc hai. Nếu bạn gọi hàm này với `phuong_trinh.phuongTrinhBac2(0, 2, -4)`, kết quả xử lý bên trong hàm (nếu được thiết kế tốt) có thể sẽ 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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Trong Python, một tệp mã nguồn (`.py`) chứa các định nghĩa hàm, biến, và các câu lệnh khác có thể được sử dụng lại trong các chương trình khác được gọi là gì?

  • A. Lớp (Class)
  • B. Mô-đun (Module)
  • C. Đối tượng (Object)
  • D. Gói (Package)

Câu 2: Bạn đã tạo một tệp `utils.py` chứa hàm `def greet(name): print(f"Hello, {name}!")`. Để sử dụng hàm `greet` trong một tệp khác là `main.py`, dòng lệnh nào sau đây là đúng để nhập toàn bộ mô-đun `utils`?

  • A. include utils
  • B. require utils
  • C. import utils
  • D. load utils

Câu 3: Sau khi thực hiện lệnh `import geometry` (biết rằng `geometry.py` chứa hàm `circle_area(r)`), làm thế nào để gọi hàm `circle_area` với bán kính `r = 5` trong chương trình của bạn?

  • A. call circle_area(5)
  • B. geometry.circle_area(r=5)
  • C. circle_area(5)
  • D. geometry.circle_area(5)

Câu 4: Bạn muốn nhập chỉ một hàm cụ thể là `calculate_average` từ mô-đun `statistics.py`. Dòng lệnh nào sau đây thực hiện điều đó?

  • A. from statistics import calculate_average
  • B. import statistics.calculate_average
  • C. using statistics.calculate_average
  • D. import calculate_average from statistics

Câu 5: Nếu bạn sử dụng lệnh `from physics import series_resistance`, làm thế nào để gọi hàm `series_resistance` với danh sách điện trở `[10, 20, 30]`?

  • A. physics.series_resistance([10, 20, 30])
  • B. series_resistance([10, 20, 30])
  • C. call series_resistance([10, 20, 30])
  • D. statistics.series_resistance([10, 20, 30])

Câu 6: Giả sử mô-đun `constants.py` chứa định nghĩa `PI = 3.14159`. Sau khi thực hiện lệnh `import constants`, làm thế nào để truy cập giá trị của hằng số `PI`?

  • A. constants.PI
  • B. PI
  • C. constants().PI
  • D. get constants.PI

Câu 7: Mô-đun `my_geometry` chứa hàm `area(shape, value)` với tham số `shape` là chuỗi ("circle", "square") và `value` là bán kính hoặc cạnh. Để tính diện tích hình vuông có cạnh bằng 4, bạn sẽ gọi hàm này như thế nào sau khi nhập mô-đun?

  • A. my_geometry.area(4, "square")
  • B. area("square", 4)
  • C. my_geometry.area("square", 4)
  • D. my_geometry.area(value=4, shape="square")

Câu 8: Hàm `parallel_resistance(resistors)` trong thư viện `circuit` được thiết kế để tính điện trở tương đương của mạch song song. Công thức toán học cơ bản mà hàm này cần áp dụng cho một danh sách điện trở `R = [R1, R2, ..., Rn]` là gì?

  • A. R_td = R1 + R2 + ... + Rn
  • B. R_td = (R1 * R2 * ... * Rn) / (R1 + R2 + ... + Rn)
  • C. 1 / R_td = R1 + R2 + ... + Rn
  • D. 1 / R_td = 1/R1 + 1/R2 + ... + 1/Rn

Câu 9: Hàm `average_atomic_mass(masses, percentages)` trong thư viện `chemistry` tính nguyên tử khối trung bình. Nếu hàm nhận danh sách khối lượng `masses = [12, 14]` và danh sách tỷ lệ phần trăm `percentages = [90, 10]`, công thức tính nào sau đây phản ánh đúng logic bên trong hàm?

  • A. (12 + 14) / 2
  • B. (1290 + 1410)
  • C. (1290 + 1410) / 100
  • D. (90 + 10) / (12 + 14)

Câu 10: Một hàm trong thư viện tính toán vật lý trả về giá trị `-1` nếu dữ liệu đầu vào không hợp lệ (ví dụ: điện trở âm hoặc bằng 0). Khi sử dụng hàm này, việc kiểm tra giá trị trả về có bằng `-1` hay không giúp ích gì cho chương trình chính?

  • A. Giúp hàm tự động sửa lỗi dữ liệu đầu vào.
  • B. Cho phép chương trình chính biết rằng phép tính không thành công do dữ liệu không hợp lệ và có hành động xử lý phù hợp (ví dụ: thông báo lỗi cho người dùng).
  • C. Tăng tốc độ thực thi của hàm.
  • D. Tự động in thông báo lỗi chi tiết ra màn hình.

Câu 11: Thư viện `equations.py` chứa hàm `solve_linear(a, b)` để giải phương trình bậc nhất `ax + b = 0`. Hàm này trả về nghiệm `x` nếu có, hoặc một giá trị đặc biệt nếu vô nghiệm hoặc vô số nghiệm. Trường hợp nào sau đây dẫn đến phương trình vô nghiệm?

  • A. a = 0, b = 0
  • B. a = 1, b = 0
  • C. a = 0, b ≠ 0
  • D. a = 1, b = 1

Câu 12: Bạn đang phát triển một chương trình cần tính toán nhiều lần chu vi và diện tích hình tròn. Việc tạo một mô-đun riêng biệt chứa các hàm `tinhChuVi(r)` và `tinhDienTich(r)` mang lại lợi ích chính nào?

  • A. Tăng khả năng tái sử dụng mã nguồn và tổ chức code gọn gàng hơn.
  • B. Giảm dung lượng bộ nhớ chương trình sử dụng.
  • C. Tự động tối ưu hóa tốc độ tính toán.
  • D. Bảo vệ mã nguồn khỏi bị sao chép.

Câu 13: Khi sử dụng lệnh `from module_name import *`, điều gì có thể xảy ra nếu tên hàm hoặc biến trong `module_name` trùng với tên hàm hoặc biến đã có sẵn trong chương trình của bạn?

  • A. Python sẽ báo lỗi cú pháp ngay lập tức.
  • B. Các tên trùng lặp từ mô-đun sẽ bị bỏ qua.
  • C. Chương trình sẽ tự động đổi tên các mục bị trùng.
  • D. Các tên trùng lặp từ mô-đun sẽ ghi đè lên các tên đã có trong chương trình của bạn, có thể gây lỗi không mong muốn (xung đột tên - namespace pollution).

Câu 14: Bạn cần tính điện trở tương đương của một mạch gồm điện trở R1 mắc nối tiếp với mạch song song của R2 và R3. Giả sử thư viện `circuit` có hàm `series_resistance(resistors_list)` và `parallel_resistance(resistors_list)`. Cách tiếp cận nào sau đây là hợp lý để tính toán sử dụng thư viện?

  • A. Gọi trực tiếp `series_resistance([R1, R2, R3])`.
  • B. Tính điện trở tương đương của R2 và R3 song song trước, sau đó tính tổng của R1 và kết quả vừa tính được bằng hàm `series_resistance`.
  • C. Tính tổng R1, R2, R3 rồi dùng hàm `parallel_resistance`.
  • D. Không thể giải bài toán này chỉ với hai hàm đã cho.

Câu 15: Khi thiết kế một hàm cho thư viện, việc xác định rõ các tham số đầu vào (input) và giá trị trả về (output) của hàm là rất quan trọng vì:

  • A. Giúp người sử dụng thư viện hiểu cách dùng hàm mà không cần đọc toàn bộ mã nguồn bên trong và đảm bảo tính đúng đắn khi tích hợp vào chương trình khác.
  • B. Chỉ để làm cho mã nguồn trông chuyên nghiệp hơn.
  • C. Giảm thiểu số lượng tham số cần thiết.
  • D. Tự động tạo tài liệu hướng dẫn sử dụng (documentation).

Câu 16: Bạn gặp lỗi `NameError: name "circle_area" is not defined` khi cố gắng gọi hàm `circle_area(5)`. Nguyên nhân có thể là gì?

  • A. Bạn đã nhập mô-đun chứa hàm `circle_area` bằng lệnh `from module_name import *`.
  • B. Hàm `circle_area` không tồn tại trong mô-đun.
  • C. Bạn đã nhập mô-đun bằng lệnh `import module_name` nhưng lại gọi hàm mà không dùng tiền tố tên mô-đun (`module_name.circle_area`).
  • D. Bạn đã quên định nghĩa hàm `circle_area` trong tệp hiện tại.

Câu 17: Thư viện `my_math` được tạo ra để chứa hằng số PI. Thay vì sử dụng `math.pi` từ thư viện chuẩn `math`, bạn định nghĩa `PI = 3.1415926535` trong `my_math.py`. Khi tính toán diện tích hình tròn, việc sử dụng `my_math.PI` thay cho `math.pi` có thể dẫn đến điều gì?

  • A. Kết quả tính toán có thể kém chính xác hơn do giá trị PI được làm tròn.
  • B. Tốc độ tính toán nhanh hơn.
  • C. Chương trình dễ bị lỗi hơn.
  • D. Không có sự khác biệt đáng kể.

Câu 18: Khi thiết kế hàm `series_resistance(resistors_list)`, việc kiểm tra xem tất cả các giá trị trong `resistors_list` có phải là số dương hay không là một bước xử lý lỗi quan trọng. Nếu phát hiện giá trị không hợp lệ, hàm nên làm gì để báo hiệu cho chương trình gọi?

  • A. Tự động thay thế giá trị không hợp lệ bằng 1.
  • B. Bỏ qua các giá trị không hợp lệ và chỉ tính tổng các giá trị hợp lệ.
  • C. In một thông báo lỗi và tiếp tục tính toán với các giá trị còn lại.
  • D. Trả về một giá trị đặc biệt (ví dụ: -1 hoặc `None`) và/hoặc đưa ra một ngoại lệ (exception) để chương trình gọi xử lý.

Câu 19: Bạn có một thư viện `data_processing.py` với hàm `clean_data(data_list)`. Bạn nhập nó bằng `import data_processing`. Nếu hàm `clean_data` trả về danh sách đã được làm sạch, cú pháp nào sau đây đúng để lấy kết quả sau khi xử lý `my_list`?

  • A. cleaned_list = clean_data(my_list)
  • B. cleaned_list = data_processing.clean_data(data_list=my_list)
  • C. cleaned_list = data_processing.clean_data(my_list)
  • D. data_processing.clean_data(my_list) -> cleaned_list

Câu 20: Lợi ích của việc sử dụng bí danh (alias) khi nhập mô-đun (ví dụ: `import long_module_name as lmn`) là gì?

  • A. Chỉ nhập các hàm cần thiết từ mô-đun.
  • B. Giúp rút ngắn tên mô-đun khi gọi các thành phần bên trong, làm code ngắn gọn và dễ đọc hơn.
  • C. Ngăn chặn xung đột tên (namespace pollution).
  • D. Tăng hiệu suất thực thi chương trình.

Câu 21: Một hàm tính diện tích hình chữ nhật trong thư viện `geometry` có tên là `rectangle_area`. Hàm này cần hai tham số đầu vào là chiều dài và chiều rộng. Kiểu dữ liệu phù hợp nhất cho hai tham số này là gì?

  • A. Số (Integer hoặc Float)
  • B. Chuỗi ký tự (String)
  • C. Danh sách (List)
  • D. Boolean

Câu 22: Bạn muốn tạo một thư viện `my_strings.py` chứa các hàm xử lý chuỗi tùy chỉnh. Hàm đầu tiên bạn định nghĩa là `reverse_string(text)`. Dòng code nào sau đây đúng để bắt đầu định nghĩa hàm này?

  • A. function reverse_string(text):
  • B. define reverse_string(text):
  • C. def reverse_string text:
  • D. def reverse_string(text):

Câu 23: Khi tính nguyên tử khối trung bình bằng hàm `average_atomic_mass(masses, percentages)`, điều kiện nào sau đây là không hợp lệ đối với dữ liệu đầu vào và hàm nên xử lý nó như một lỗi?

  • A. Danh sách `masses` chứa số thập phân.
  • B. Danh sách `percentages` chứa số thập phân.
  • C. Số lượng phần tử trong danh sách `masses` không bằng số lượng phần tử trong danh sách `percentages`.
  • D. Tổng các giá trị trong danh sách `percentages` bằng 100.

Câu 24: Bạn có một mô-đun `converter.py` với hàm `celsius_to_fahrenheit(c)`. Bạn nhập nó bằng `from converter import celsius_to_fahrenheit`. Để chuyển đổi 25 độ C sang độ F, bạn sẽ gọi hàm như thế nào?

  • A. fahrenheit = celsius_to_fahrenheit(25)
  • B. fahrenheit = converter.celsius_to_fahrenheit(25)
  • C. fahrenheit = celsius_to_fahrenheit(c=25)
  • D. call celsius_to_fahrenheit(25)

Câu 25: Tại sao việc thêm các hàm kiểm tra dữ liệu đầu vào (validation) vào bên trong các hàm của thư viện lại là một thực hành tốt?

  • A. Để làm cho thư viện phức tạp hơn.
  • B. Để đảm bảo hàm hoạt động đúng với dữ liệu hợp lệ và cung cấp phản hồi rõ ràng khi dữ liệu không hợp lệ, giúp người dùng thư viện dễ dàng phát hiện và sửa lỗi.
  • C. Giảm số lượng code cần viết ở chương trình chính.
  • D. Tự động sửa các lỗi logic trong chương trình gọi.

Câu 26: Bạn đang tạo một mô-đun `my_stats.py` và muốn định nghĩa một hàm `calculate_mode(data_list)` để tìm mốt (giá trị xuất hiện nhiều nhất) trong danh sách. Hàm này nên trả về kiểu dữ liệu gì?

  • A. Luôn là một số nguyên (Integer).
  • B. Luôn là một số thực (Float).
  • C. Một giá trị Boolean.
  • D. Kiểu dữ liệu của các phần tử trong danh sách đầu vào (có thể là số, chuỗi, v.v.) hoặc một danh sách nếu có nhiều mốt.

Câu 27: Giả sử bạn có một thư viện `sorters.py` với hàm `bubble_sort(numbers_list)` trả về danh sách đã được sắp xếp. Bạn nhập nó bằng `import sorters`. Nếu `my_numbers = [3, 1, 4, 1, 5]`, làm thế nào để lấy danh sách đã sắp xếp?

  • A. sorted_list = sorters.bubble_sort(my_numbers)
  • B. sorted_list = bubble_sort(my_numbers)
  • C. sorters.bubble_sort(my_numbers)
  • D. sorted_list = sorters.bubble_sort([3, 1, 4, 1, 5])

Câu 28: Mô-đun `data_structures.py` chứa định nghĩa cho một cấu trúc dữ liệu (ví dụ: danh sách liên kết - LinkedList) và các hàm thao tác trên nó (ví dụ: `add_item`, `remove_item`). Khi nhập và sử dụng mô-đun này trong chương trình chính, bạn chủ yếu tương tác với gì?

  • A. Chỉ các biến toàn cục.
  • B. Chỉ các câu lệnh in.
  • C. Các hàm và có thể là các lớp/cấu trúc dữ liệu được định nghĩa trong mô-đun.
  • D. Tên tệp của mô-đun.

Câu 29: Bạn viết một hàm `is_positive(number)` trong `validators.py` để kiểm tra xem một số có dương không. Hàm này trả về `True` nếu dương, `False` nếu không. Trong chương trình chính, sau khi nhập, bạn gọi `validators.is_positive(-10)`. Giá trị trả về của lời gọi này là gì?

  • A. True
  • B. False
  • C. None
  • D. -1

Câu 30: Khi bạn sử dụng lệnh `import my_module`, Python sẽ tìm tệp `my_module.py` ở đâu? Chọn phương án đúng nhất.

  • A. Chỉ trong thư mục hiện tại nơi chương trình đang chạy.
  • B. Chỉ trong các thư mục cài đặt Python chuẩn.
  • C. Trong thư mục hiện tại, sau đó trong danh sách các thư mục được chỉ định trong biến môi trường `PYTHONPATH`, và cuối cùng là trong các thư mục cài đặt Python chuẩn.
  • D. Trên internet để tải về nếu chưa có.

1 / 30

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

Tags: Bộ đề 08

Câu 1: Trong Python, một tệp mã nguồn (`.py`) chứa các định nghĩa hàm, biến, và các câu lệnh khác có thể được sử dụng lại trong các chương trình khác được gọi là gì?

2 / 30

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

Tags: Bộ đề 08

Câu 2: Bạn đã tạo một tệp `utils.py` chứa hàm `def greet(name): print(f'Hello, {name}!')`. Để sử dụng hàm `greet` trong một tệp khác là `main.py`, dòng lệnh nào sau đây là đúng để nhập toàn bộ mô-đun `utils`?

3 / 30

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

Tags: Bộ đề 08

Câu 3: Sau khi thực hiện lệnh `import geometry` (biết rằng `geometry.py` chứa hàm `circle_area(r)`), làm thế nào để gọi hàm `circle_area` với bán kính `r = 5` trong chương trình của bạn?

4 / 30

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

Tags: Bộ đề 08

Câu 4: Bạn muốn nhập chỉ một hàm cụ thể là `calculate_average` từ mô-đun `statistics.py`. Dòng lệnh nào sau đây thực hiện điều đó?

5 / 30

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

Tags: Bộ đề 08

Câu 5: Nếu bạn sử dụng lệnh `from physics import series_resistance`, làm thế nào để gọi hàm `series_resistance` với danh sách điện trở `[10, 20, 30]`?

6 / 30

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

Tags: Bộ đề 08

Câu 6: Giả sử mô-đun `constants.py` chứa định nghĩa `PI = 3.14159`. Sau khi thực hiện lệnh `import constants`, làm thế nào để truy cập giá trị của hằng số `PI`?

7 / 30

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

Tags: Bộ đề 08

Câu 7: Mô-đun `my_geometry` chứa hàm `area(shape, value)` với tham số `shape` là chuỗi ('circle', 'square') và `value` là bán kính hoặc cạnh. Để tính diện tích hình vuông có cạnh bằng 4, bạn sẽ gọi hàm này như thế nào sau khi nhập mô-đun?

8 / 30

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

Tags: Bộ đề 08

Câu 8: Hàm `parallel_resistance(resistors)` trong thư viện `circuit` được thiết kế để tính điện trở tương đương của mạch song song. Công thức toán học cơ bản mà hàm này cần áp dụng cho một danh sách điện trở `R = [R1, R2, ..., Rn]` là gì?

9 / 30

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

Tags: Bộ đề 08

Câu 9: Hàm `average_atomic_mass(masses, percentages)` trong thư viện `chemistry` tính nguyên tử khối trung bình. Nếu hàm nhận danh sách khối lượng `masses = [12, 14]` và danh sách tỷ lệ phần trăm `percentages = [90, 10]`, công thức tính nào sau đây phản ánh đúng logic bên trong hàm?

10 / 30

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

Tags: Bộ đề 08

Câu 10: Một hàm trong thư viện tính toán vật lý trả về giá trị `-1` nếu dữ liệu đầu vào không hợp lệ (ví dụ: điện trở âm hoặc bằng 0). Khi sử dụng hàm này, việc kiểm tra giá trị trả về có bằng `-1` hay không giúp ích gì cho chương trình chính?

11 / 30

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

Tags: Bộ đề 08

Câu 11: Thư viện `equations.py` chứa hàm `solve_linear(a, b)` để giải phương trình bậc nhất `ax + b = 0`. Hàm này trả về nghiệm `x` nếu có, hoặc một giá trị đặc biệt nếu vô nghiệm hoặc vô số nghiệm. Trường hợp nào sau đây dẫn đến phương trình vô nghiệm?

12 / 30

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

Tags: Bộ đề 08

Câu 12: Bạn đang phát triển một chương trình cần tính toán nhiều lần chu vi và diện tích hình tròn. Việc tạo một mô-đun riêng biệt chứa các hàm `tinhChuVi(r)` và `tinhDienTich(r)` mang lại lợi ích chính nào?

13 / 30

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

Tags: Bộ đề 08

Câu 13: Khi sử dụng lệnh `from module_name import *`, điều gì có thể xảy ra nếu tên hàm hoặc biến trong `module_name` trùng với tên hàm hoặc biến đã có sẵn trong chương trình của bạn?

14 / 30

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

Tags: Bộ đề 08

Câu 14: Bạn cần tính điện trở tương đương của một mạch gồm điện trở R1 mắc nối tiếp với mạch song song của R2 và R3. Giả sử thư viện `circuit` có hàm `series_resistance(resistors_list)` và `parallel_resistance(resistors_list)`. Cách tiếp cận nào sau đây là hợp lý để tính toán sử dụng thư viện?

15 / 30

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

Tags: Bộ đề 08

Câu 15: Khi thiết kế một hàm cho thư viện, việc xác định rõ các tham số đầu vào (input) và giá trị trả về (output) của hàm là rất quan trọng vì:

16 / 30

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

Tags: Bộ đề 08

Câu 16: Bạn gặp lỗi `NameError: name 'circle_area' is not defined` khi cố gắng gọi hàm `circle_area(5)`. Nguyên nhân có thể là gì?

17 / 30

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

Tags: Bộ đề 08

Câu 17: Thư viện `my_math` được tạo ra để chứa hằng số PI. Thay vì sử dụng `math.pi` từ thư viện chuẩn `math`, bạn định nghĩa `PI = 3.1415926535` trong `my_math.py`. Khi tính toán diện tích hình tròn, việc sử dụng `my_math.PI` thay cho `math.pi` có thể dẫn đến điều gì?

18 / 30

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

Tags: Bộ đề 08

Câu 18: Khi thiết kế hàm `series_resistance(resistors_list)`, việc kiểm tra xem tất cả các giá trị trong `resistors_list` có phải là số dương hay không là một bước xử lý lỗi quan trọng. Nếu phát hiện giá trị không hợp lệ, hàm nên làm gì để báo hiệu cho chương trình gọi?

19 / 30

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

Tags: Bộ đề 08

Câu 19: Bạn có một thư viện `data_processing.py` với hàm `clean_data(data_list)`. Bạn nhập nó bằng `import data_processing`. Nếu hàm `clean_data` trả về danh sách đã được làm sạch, cú pháp nào sau đây đúng để lấy kết quả sau khi xử lý `my_list`?

20 / 30

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

Tags: Bộ đề 08

Câu 20: Lợi ích của việc sử dụng bí danh (alias) khi nhập mô-đun (ví dụ: `import long_module_name as lmn`) là gì?

21 / 30

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

Tags: Bộ đề 08

Câu 21: Một hàm tính diện tích hình chữ nhật trong thư viện `geometry` có tên là `rectangle_area`. Hàm này cần hai tham số đầu vào là chiều dài và chiều rộng. Kiểu dữ liệu phù hợp nhất cho hai tham số này là gì?

22 / 30

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

Tags: Bộ đề 08

Câu 22: Bạn muốn tạo một thư viện `my_strings.py` chứa các hàm xử lý chuỗi tùy chỉnh. Hàm đầu tiên bạn định nghĩa là `reverse_string(text)`. Dòng code nào sau đây đúng để bắt đầu định nghĩa hàm này?

23 / 30

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

Tags: Bộ đề 08

Câu 23: Khi tính nguyên tử khối trung bình bằng hàm `average_atomic_mass(masses, percentages)`, điều kiện nào sau đây là không hợp lệ đối với dữ liệu đầu vào và hàm nên xử lý nó như một lỗi?

24 / 30

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

Tags: Bộ đề 08

Câu 24: Bạn có một mô-đun `converter.py` với hàm `celsius_to_fahrenheit(c)`. Bạn nhập nó bằng `from converter import celsius_to_fahrenheit`. Để chuyển đổi 25 độ C sang độ F, bạn sẽ gọi hàm như thế nào?

25 / 30

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

Tags: Bộ đề 08

Câu 25: Tại sao việc thêm các hàm kiểm tra dữ liệu đầu vào (validation) vào bên trong các hàm của thư viện lại là một thực hành tốt?

26 / 30

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

Tags: Bộ đề 08

Câu 26: Bạn đang tạo một mô-đun `my_stats.py` và muốn định nghĩa một hàm `calculate_mode(data_list)` để tìm mốt (giá trị xuất hiện nhiều nhất) trong danh sách. Hàm này nên trả về kiểu dữ liệu gì?

27 / 30

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

Tags: Bộ đề 08

Câu 27: Giả sử bạn có một thư viện `sorters.py` với hàm `bubble_sort(numbers_list)` trả về danh sách đã được sắp xếp. Bạn nhập nó bằng `import sorters`. Nếu `my_numbers = [3, 1, 4, 1, 5]`, làm thế nào để lấy danh sách đã sắp xếp?

28 / 30

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

Tags: Bộ đề 08

Câu 28: Mô-đun `data_structures.py` chứa định nghĩa cho một cấu trúc dữ liệu (ví dụ: danh sách liên kết - LinkedList) và các hàm thao tác trên nó (ví dụ: `add_item`, `remove_item`). Khi nhập và sử dụng mô-đun này trong chương trình chính, bạn chủ yếu tương tác với gì?

29 / 30

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

Tags: Bộ đề 08

Câu 29: Bạn viết một hàm `is_positive(number)` trong `validators.py` để kiểm tra xem một số có dương không. Hàm này trả về `True` nếu dương, `False` nếu không. Trong chương trình chính, sau khi nhập, bạn gọi `validators.is_positive(-10)`. Giá trị trả về của lời gọi này là gì?

30 / 30

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

Tags: Bộ đề 08

Câu 30: Khi bạn sử dụng lệnh `import my_module`, Python sẽ tìm tệp `my_module.py` ở đâu? Chọn phương án đúng 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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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 Python, để tạo một thư viện (module) chứa các hàm và biến có thể sử dụng lại ở các chương trình khác, cách cơ bản nhất là gì?

  • A. Viết tất cả mã nguồn vào một tệp `.txt` và đổi tên thành `.lib`.
  • B. Lưu mã nguồn Python chứa các hàm và biến vào một tệp có đuôi mở rộng `.py`.
  • C. Sử dụng câu lệnh `create library ` trong trình thông dịch Python.
  • D. Đóng gói mã nguồn vào một tệp nén `.zip`.

Câu 2: Giả sử bạn đã tạo một tệp `hinhhoc.py` chứa hàm `tinh_dien_tich_hinh_vuong(canh)`. Trong một tệp Python khác, làm thế nào để sử dụng hàm này một cách trực tiếp mà không cần gọi thông qua tên module?

  • A. import hinhhoc
  • B. from hinhhoc import *
  • C. from hinhhoc import tinh_dien_tich_hinh_vuong
  • D. include "hinhhoc.py"

Câu 3: Bạn có một thư viện `congthuc.py` chứa hàm `tinh_tong(a, b)`. Bạn muốn nhập thư viện này và gọi hàm `tinh_tong`, nhưng muốn gọi hàm này là `tong` thay vì `congthuc.tinh_tong`. Câu lệnh import và gọi hàm nào sau đây là đúng?

  • A. import congthuc as t; ketqua = t.tong(5, 3)
  • B. from congthuc import tinh_tong; ketqua = congthuc.tinh_tong(5, 3)
  • C. import congthuc; ketqua = congthuc.tong(5, 3)
  • D. from congthuc import tinh_tong as tong; ketqua = tong(5, 3)

Câu 4: Xét thư viện `phep_toan.py` sau:
```python
def cong(a, b):
return a + b

def tru(a, b):
return a - b
```
Trong một chương trình khác, bạn viết:
```python
import phep_toan as pt
ket_qua = pt.cong(10, 5)
```
Giá trị của biến `ket_qua` sau khi chạy đoạn mã này là bao nhiêu?

  • A. 15
  • B. 5
  • C. Lỗi cú pháp
  • D. Không xác định được

Câu 5: Trong thư viện `hinh_tron.py` của Bài 31, hàm `tinhChuVi(r)` được định nghĩa. Giả sử trong chương trình chính, người dùng nhập bán kính `r = -5`. Dựa trên cách thiết kế hàm này (thường kiểm tra giá trị không hợp lệ), kết quả mong đợi khi gọi `hinh_tron.tinhChuVi(-5)` là gì?

  • A. Trả về một giá trị chu vi âm.
  • B. Tính chu vi với giá trị tuyệt đối của bán kính.
  • C. Gây ra lỗi chương trình (exception).
  • D. Trả về một giá trị đặc biệt (ví dụ: -1 hoặc None) để báo lỗi.

Câu 6: Thư viện `cong_thuc_ly.py` trong Bài 31 có hàm `machSongSong(dsDienTro)` để tính điện trở tương đương của mạch song song. Giả sử bạn gọi hàm này với danh sách `[10, 5, 0, 20]`. Theo logic xử lý lỗi dữ liệu không hợp lệ trong bài học, hàm sẽ trả về giá trị nào?

  • A. -1
  • B. 0
  • C. Một giá trị dương tính từ các điện trở hợp lệ.
  • D. Gây lỗi chia cho không.

Câu 7: Lợi ích chính của việc chia chương trình thành các module (thư viện) là gì?

  • A. Chỉ làm cho chương trình chạy nhanh hơn.
  • B. Giảm dung lượng bộ nhớ cần thiết.
  • C. Tăng tính tái sử dụng mã nguồn và tổ chức chương trình.
  • D. Tự động sửa lỗi chính tả trong mã nguồn.

Câu 8: Xét hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa.py` của Bài 31. Hàm này tính nguyên tử khối trung bình dựa trên danh sách nguyên tử khối và danh sách tỷ lệ phần trăm. Điều kiện nào sau đây không dẫn đến việc hàm trả về một giá trị không hợp lệ (ví dụ: 0 hoặc -1, tùy theo thiết kế)?

  • A. Danh sách `dsNtk` và `dstyLe` có số lượng phần tử khác nhau.
  • B. Tổng các giá trị trong `dstyLe` khác 100% (tùy thuộc cách xử lý lỗi).
  • C. Một giá trị trong `dstyLe` là số âm.
  • D. Tất cả các giá trị trong `dsNtk` đều là số nguyên dương.

Câu 9: Trong Python, nếu bạn sử dụng câu lệnh `from module_name import *`, điều gì sẽ xảy ra?

  • A. Chỉ nhập các hàm có tên bắt đầu bằng chữ cái viết hoa.
  • B. Nhập tất cả các tên (hàm, biến, lớp) từ module vào không gian tên hiện tại (trừ những tên bắt đầu bằng gạch dưới).
  • C. Chỉ nhập các biến, không nhập các hàm.
  • D. Module sẽ được thực thi nhưng không có tên nào được nhập vào không gian tên hiện tại.

Câu 10: Khi bạn nhập một module bằng `import module_name`, làm thế nào để truy cập một hàm `my_function` bên trong module đó?

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

Câu 11: Xét thư viện `toan_hoc.py`:
```python
PI = 3.14159

def chu_vi_hinh_tron(r):
return 2 * PI * r
```
Trong chương trình chính, bạn viết:
```python
import toan_hoc
r = 10
chu_vi = toan_hoc.chu_vi_hinh_tron(r)
print(toan_hoc.PI)
```
Đoạn mã này sẽ in ra giá trị nào?

  • A. 20
  • B. 3.14159
  • C. 62.8318
  • D. Lỗi do PI không được nhập trực tiếp.

Câu 12: Trong ngữ cảnh của Bài 31, việc tạo thư viện `my_math.py` chứa hằng số `PI` thay vì sử dụng trực tiếp `math.pi` có ý nghĩa gì?

  • A. Bắt buộc phải làm vậy vì không thể nhập hằng số từ thư viện `math`.
  • B. Giúp chương trình chạy nhanh hơn đáng kể.
  • C. Minh họa cách định nghĩa và sử dụng các hằng số tùy chỉnh trong thư viện của riêng mình.
  • D. Thay thế hoàn toàn chức năng của thư viện `math`.

Câu 13: Thư viện `phuong_trinh.py` trong Bài 31 có hàm `phuongTrinhBac2(a, b, c)`. Hàm này có nhiệm vụ giải phương trình bậc hai ax^2 + bx + c = 0. Nếu bạn gọi `phuong_trinh.phuongTrinhBac2(1, -3, 2)`, hàm sẽ xử lý như thế nào?

  • A. Trả về giá trị của delta (biệt thức).
  • B. Tính toán nghiệm và in kết quả ra màn hình.
  • C. Trả về một danh sách chứa các nghiệm.
  • D. Gây lỗi vì các hệ số phải là số dương.

Câu 14: Khi thiết kế một hàm trong thư viện (ví dụ: hàm tính diện tích), việc kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: bán kính phải dương) và trả về một giá trị đặc biệt (ví dụ: -1) khi dữ liệu không hợp lệ mang lại lợi ích gì?

  • A. Giúp chương trình gọi hàm có thể nhận biết và xử lý các trường hợp lỗi dữ liệu một cách tường minh.
  • B. Tự động sửa các giá trị đầu vào không hợp lệ.
  • C. Ngăn chặn hoàn toàn mọi lỗi xảy ra trong chương trình.
  • D. Chỉ làm tăng độ phức tạp của mã nguồn.

Câu 15: Bạn đang phát triển một ứng dụng cần thực hiện nhiều phép tính hình học khác nhau (diện tích, chu vi các hình). Việc tập hợp các hàm tính toán này vào một thư viện riêng biệt (`hinhhoc.py`) thay vì viết tất cả trong tệp chính (`main.py`) thể hiện nguyên tắc thiết kế nào trong lập trình?

  • A. Lập trình hướng đối tượng.
  • B. Lập trình đồng thời (Concurrency).
  • C. Đóng gói dữ liệu (Data encapsulation).
  • D. Phân tách mối quan tâm (Separation of concerns) và tái sử dụng mã nguồn.

Câu 16: Thư viện `quan_ly_cd.py` trong Bài 31 có thể sử dụng cấu trúc dữ liệu nào để lưu trữ danh sách các bài hát trên đĩa CD?

  • A. Chỉ có thể là mảng cố định.
  • B. Danh sách liên kết (LinkedList) hoặc danh sách (list) của Python.
  • C. Chỉ có thể là cây nhị phân tìm kiếm.
  • D. Tệp văn bản thuần túy (.txt).

Câu 17: Khi bạn chạy một tệp Python (`main.py`) lần đầu tiên nhập một module (`my_module.py`), Python sẽ thực hiện hành động nào đối với `my_module.py`?

  • A. Thực thi toàn bộ mã nguồn trong `my_module.py` từ trên xuống dưới.
  • B. Chỉ đọc định nghĩa các hàm và biến mà không thực thi gì.
  • C. Tạo một bản sao của `my_module.py` với tên mới.
  • D. Kiểm tra lỗi cú pháp nhưng không thực thi mã nguồn.

Câu 18: Giả sử thư viện `cong_thuc_ly.py` có hàm `machNoiTiep(dsDienTro)`. Bạn gọi hàm này với `dsDienTro = [10, 20, "abc"]`. Điều gì có khả năng xảy ra nhất (nếu hàm không có xử lý lỗi kiểu dữ liệu)?

  • A. Hàm sẽ tự động bỏ qua giá trị "abc".
  • B. Kết quả tính toán sẽ là tổng của 10 và 20.
  • C. Chương trình sẽ gặp lỗi kiểu dữ liệu (TypeError) khi cố gắng thực hiện phép toán với chuỗi "abc".
  • D. Hàm sẽ trả về 0.

Câu 19: Đâu là cách hiệu quả nhất để quản lý và cập nhật các hàm tính toán phức tạp (ví dụ: giải phương trình, tính toán vật lý/hóa học) trong một dự án lớn?

  • A. Tập hợp các hàm liên quan vào các module (thư viện) riêng biệt, sau đó nhập và sử dụng chúng ở các phần khác của dự án.
  • B. Viết tất cả các hàm vào một tệp mã nguồn duy nhất để dễ tìm kiếm.
  • C. Sử dụng các biến toàn cục để lưu trữ kết quả tính toán.
  • D. Sao chép và dán mã nguồn của hàm vào bất cứ đâu cần dùng.

Câu 20: Trong Python, hằng số `math.pi` cung cấp giá trị của số Pi với độ chính xác cao. Tại sao việc sử dụng `math.pi` trong các hàm tính toán hình tròn (như trong thư viện `hinh_tron.py`) lại quan trọng?

  • A. Vì đó là cách duy nhất để sử dụng số Pi trong Python.
  • B. Để làm cho mã nguồn ngắn gọn hơn.
  • C. Để tránh phải khai báo biến PI.
  • D. Để đảm bảo kết quả tính toán chính xác hơn so với việc dùng giá trị xấp xỉ thủ công như 3.14.

Câu 21: Bạn đang viết một chương trình sử dụng các hàm từ thư viện `mylib.py`. Bạn nhận thấy mỗi lần chạy, chương trình đều mất một chút thời gian để "khởi động" khi lần đầu tiên gọi hàm từ `mylib`. Nguyên nhân chính của hiện tượng này là gì?

  • A. Do lỗi trong mã nguồn của bạn.
  • B. Python cần thời gian để tải, biên dịch (bytecode) và thực thi mã nguồn của module `mylib.py` trong lần nhập đầu tiên.
  • C. Máy tính của bạn bị chậm.
  • D. Do thư viện `mylib` quá lớn.

Câu 22: Nếu bạn đã nhập một module bằng `import module_name`, và sau đó muốn nhập thêm một hàm cụ thể từ cùng module đó bằng `from module_name import function_name`, điều gì sẽ xảy ra?

  • A. Cả hai cách nhập đều có hiệu lực; bạn có thể gọi hàm bằng cả `module_name.function_name()` và `function_name()`.
  • B. Chỉ cách nhập thứ hai (`from...import`) có hiệu lực.
  • C. Chỉ cách nhập thứ nhất (`import`) có hiệu lực.
  • D. Gây ra lỗi cú pháp.

Câu 23: Trong thư viện `cong_thuc_hoa.py`, hàm `tinhNtkTB` nhận hai danh sách: nguyên tử khối và tỷ lệ phần trăm. Nếu hai danh sách này có độ dài khác nhau, việc trả về một giá trị báo lỗi (ví dụ: 0) là cần thiết vì:

  • A. Python không thể xử lý danh sách có độ dài khác nhau.
  • B. Công thức tính nguyên tử khối trung bình chỉ áp dụng cho danh sách có độ dài bằng nhau.
  • C. Dữ liệu đầu vào không khớp, không thể thực hiện phép tính nhân từng cặp phần tử tương ứng.
  • D. Để tiết kiệm tài nguyên bộ nhớ.

Câu 24: Bạn có thư viện `myutils.py` chứa hàm `kiem_tra_so_duong(so)`. Hàm này trả về `True` nếu `so > 0`, ngược lại trả về `False`. Trong chương trình chính, bạn viết:
```python
import myutils

so_nhap = -10
if myutils.kiem_tra_so_duong(so_nhap):
print("Số dương")
else:
print("Số không dương")
```
Đoạn mã này sẽ in ra gì?

  • A. Số dương
  • B. Số không dương
  • C. Lỗi do giá trị âm.
  • D. Không in gì cả.

Câu 25: Việc đặt mã nguồn vào thư viện giúp che giấu chi tiết triển khai bên trong hàm, chỉ để lộ giao diện (tên hàm, tham số). Khái niệm này trong lập trình được gọi là gì?

  • A. Trừu tượng hóa (Abstraction).
  • B. Kế thừa (Inheritance).
  • C. Đa hình (Polymorphism).
  • D. Đóng gói (Encapsulation) - Lưu ý: Đóng gói thường liên quan đến dữ liệu và phương thức trong đối tượng, trừu tượng hóa là che giấu chi tiết triển khai.

Câu 26: Trong thư viện `cong_thuc_ly.py`, tại sao hàm tính điện trở tương đương của mạch song song lại phức tạp hơn (sử dụng nghịch đảo) so với mạch nối tiếp (chỉ cộng đơn giản)?

  • A. Vì Python không hỗ trợ phép cộng trực tiếp cho mạch song song.
  • B. Để làm cho bài tập khó hơn.
  • C. Vì đó là công thức vật lý đúng để tính điện trở tương đương của mạch song song.
  • D. Do hạn chế của việc sử dụng thư viện.

Câu 27: Bạn muốn tạo một thư viện Python tên là `myconstants` chỉ chứa các hằng số (ví dụ: `GIA_TOC_TRONG_TRUONG = 9.8`). Bạn sẽ lưu mã nguồn này vào tệp nào?

  • A. myconstants.txt
  • B. myconstants.doc
  • C. myconstants.lib
  • D. myconstants.py

Câu 28: Giả sử bạn có một hàm trong thư viện cần sử dụng một hằng số `MAX_VALUE`. Thay vì định nghĩa hằng số này trực tiếp trong hàm, bạn định nghĩa nó ở cấp độ module (ngay dưới câu lệnh `import` hoặc đầu tệp). Việc này có lợi ích gì?

  • A. Hằng số sẽ chỉ tồn tại trong phạm vi của hàm.
  • B. Hằng số có thể dễ dàng truy cập và sử dụng bởi tất cả các hàm khác trong cùng module, giúp quản lý và thay đổi giá trị tập trung hơn.
  • C. Chỉ có thể làm vậy với hằng số.
  • D. Giảm dung lượng tệp mã nguồn.

Câu 29: Khi phát triển thư viện, việc viết các hàm có mục đích rõ ràng, chỉ thực hiện một nhiệm vụ cụ thể (ví dụ: một hàm chỉ tính chu vi, một hàm khác chỉ tính diện tích) tuân thủ nguyên tắc thiết kế nào?

  • A. Nguyên tắc trách nhiệm đơn nhất (Single Responsibility Principle).
  • B. Nguyên tắc DRY (Don"t Repeat Yourself).
  • C. Nguyên tắc KISS (Keep It Simple, Stupid).
  • D. Nguyên tắc mở/đóng (Open/Closed Principle).

Câu 30: Bạn đã tạo thư viện `mylib.py`. Để một người khác có thể sử dụng thư viện này trong chương trình của họ, họ cần làm gì?

  • A. Không cần làm gì cả, Python tự động tìm thấy tất cả các tệp `.py`.
  • B. Chỉ cần đặt tệp `mylib.py` vào bất kỳ thư mục nào trên máy tính.
  • C. Đặt tệp `mylib.py` vào cùng thư mục với chương trình chính, hoặc vào một thư mục nằm trong đường dẫn tìm kiếm module của Python (sys.path).
  • D. Biên dịch tệp `mylib.py` thành mã máy trước khi sử dụng.

1 / 30

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

Tags: Bộ đề 09

Trong Python, để tạo một thư viện (module) chứa các hàm và biến có thể sử dụng lại ở các chương trình khác, cách cơ bản nhất là gì?

2 / 30

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

Tags: Bộ đề 09

Giả sử bạn đã tạo một tệp `hinhhoc.py` chứa hàm `tinh_dien_tich_hinh_vuong(canh)`. Trong một tệp Python khác, làm thế nào để sử dụng hàm này một cách trực tiếp mà không cần gọi thông qua tên module?

3 / 30

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

Tags: Bộ đề 09

Bạn có một thư viện `congthuc.py` chứa hàm `tinh_tong(a, b)`. Bạn muốn nhập thư viện này và gọi hàm `tinh_tong`, nhưng muốn gọi hàm này là `tong` thay vì `congthuc.tinh_tong`. Câu lệnh import và gọi hàm nào sau đây là đúng?

4 / 30

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

Tags: Bộ đề 09

Xét thư viện `phep_toan.py` sau:
```python
def cong(a, b):
return a + b

def tru(a, b):
return a - b
```
Trong một chương trình khác, bạn viết:
```python
import phep_toan as pt
ket_qua = pt.cong(10, 5)
```
Giá trị của biến `ket_qua` sau khi chạy đoạn mã này là bao nhiêu?

5 / 30

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

Tags: Bộ đề 09

Trong thư viện `hinh_tron.py` của Bài 31, hàm `tinhChuVi(r)` được định nghĩa. Giả sử trong chương trình chính, người dùng nhập bán kính `r = -5`. Dựa trên cách thiết kế hàm này (thường kiểm tra giá trị không hợp lệ), kết quả mong đợi khi gọi `hinh_tron.tinhChuVi(-5)` là gì?

6 / 30

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

Tags: Bộ đề 09

Thư viện `cong_thuc_ly.py` trong Bài 31 có hàm `machSongSong(dsDienTro)` để tính điện trở tương đương của mạch song song. Giả sử bạn gọi hàm này với danh sách `[10, 5, 0, 20]`. Theo logic xử lý lỗi dữ liệu không hợp lệ trong bài học, hàm sẽ trả về giá trị nào?

7 / 30

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

Tags: Bộ đề 09

Lợi ích chính của việc chia chương trình thành các module (thư viện) là gì?

8 / 30

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

Tags: Bộ đề 09

Xét hàm `tinhNtkTB(dsNtk, dstyLe)` trong thư viện `cong_thuc_hoa.py` của Bài 31. Hàm này tính nguyên tử khối trung bình dựa trên danh sách nguyên tử khối và danh sách tỷ lệ phần trăm. Điều kiện nào sau đây *không* dẫn đến việc hàm trả về một giá trị không hợp lệ (ví dụ: 0 hoặc -1, tùy theo thiết kế)?

9 / 30

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

Tags: Bộ đề 09

Trong Python, nếu bạn sử dụng câu lệnh `from module_name import *`, điều gì sẽ xảy ra?

10 / 30

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

Tags: Bộ đề 09

Khi bạn nhập một module bằng `import module_name`, làm thế nào để truy cập một hàm `my_function` bên trong module đó?

11 / 30

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

Tags: Bộ đề 09

Xét thư viện `toan_hoc.py`:
```python
PI = 3.14159

def chu_vi_hinh_tron(r):
return 2 * PI * r
```
Trong chương trình chính, bạn viết:
```python
import toan_hoc
r = 10
chu_vi = toan_hoc.chu_vi_hinh_tron(r)
print(toan_hoc.PI)
```
Đoạn mã này sẽ in ra giá trị nào?

12 / 30

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

Tags: Bộ đề 09

Trong ngữ cảnh của Bài 31, việc tạo thư viện `my_math.py` chứa hằng số `PI` thay vì sử dụng trực tiếp `math.pi` có ý nghĩa gì?

13 / 30

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

Tags: Bộ đề 09

Thư viện `phuong_trinh.py` trong Bài 31 có hàm `phuongTrinhBac2(a, b, c)`. Hàm này có nhiệm vụ giải phương trình bậc hai ax^2 + bx + c = 0. Nếu bạn gọi `phuong_trinh.phuongTrinhBac2(1, -3, 2)`, hàm sẽ xử lý như thế nào?

14 / 30

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

Tags: Bộ đề 09

Khi thiết kế một hàm trong thư viện (ví dụ: hàm tính diện tích), việc kiểm tra tính hợp lệ của dữ liệu đầu vào (ví dụ: bán kính phải dương) và trả về một giá trị đặc biệt (ví dụ: -1) khi dữ liệu không hợp lệ mang lại lợi ích gì?

15 / 30

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

Tags: Bộ đề 09

Bạn đang phát triển một ứng dụng cần thực hiện nhiều phép tính hình học khác nhau (diện tích, chu vi các hình). Việc tập hợp các hàm tính toán này vào một thư viện riêng biệt (`hinhhoc.py`) thay vì viết tất cả trong tệp chính (`main.py`) thể hiện nguyên tắc thiết kế nào trong lập trình?

16 / 30

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

Tags: Bộ đề 09

Thư viện `quan_ly_cd.py` trong Bài 31 có thể sử dụng cấu trúc dữ liệu nào để lưu trữ danh sách các bài hát trên đĩa CD?

17 / 30

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

Tags: Bộ đề 09

Khi bạn chạy một tệp Python (`main.py`) lần đầu tiên nhập một module (`my_module.py`), Python sẽ thực hiện hành động nào đối với `my_module.py`?

18 / 30

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

Tags: Bộ đề 09

Giả sử thư viện `cong_thuc_ly.py` có hàm `machNoiTiep(dsDienTro)`. Bạn gọi hàm này với `dsDienTro = [10, 20, 'abc']`. Điều gì có khả năng xảy ra nhất (nếu hàm không có xử lý lỗi kiểu dữ liệu)?

19 / 30

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

Tags: Bộ đề 09

Đâu là cách hiệu quả nhất để quản lý và cập nhật các hàm tính toán phức tạp (ví dụ: giải phương trình, tính toán vật lý/hóa học) trong một dự án lớn?

20 / 30

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

Tags: Bộ đề 09

Trong Python, hằng số `math.pi` cung cấp giá trị của số Pi với độ chính xác cao. Tại sao việc sử dụng `math.pi` trong các hàm tính toán hình tròn (như trong thư viện `hinh_tron.py`) lại quan trọng?

21 / 30

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

Tags: Bộ đề 09

Bạn đang viết một chương trình sử dụng các hàm từ thư viện `mylib.py`. Bạn nhận thấy mỗi lần chạy, chương trình đều mất một chút thời gian để 'khởi động' khi lần đầu tiên gọi hàm từ `mylib`. Nguyên nhân chính của hiện tượng này là gì?

22 / 30

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

Tags: Bộ đề 09

Nếu bạn đã nhập một module bằng `import module_name`, và sau đó muốn nhập thêm một hàm cụ thể từ cùng module đó bằng `from module_name import function_name`, đ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 31: Thực hành thiết lập thư viện chương trình

Tags: Bộ đề 09

Trong thư viện `cong_thuc_hoa.py`, hàm `tinhNtkTB` nhận hai danh sách: nguyên tử khối và tỷ lệ phần trăm. Nếu hai danh sách này có độ dài khác nhau, việc trả về một giá trị báo lỗi (ví dụ: 0) là cần thiết vì:

24 / 30

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

Tags: Bộ đề 09

Bạn có thư viện `myutils.py` chứa hàm `kiem_tra_so_duong(so)`. Hàm này trả về `True` nếu `so > 0`, ngược lại trả về `False`. Trong chương trình chính, bạn viết:
```python
import myutils

so_nhap = -10
if myutils.kiem_tra_so_duong(so_nhap):
print('Số dương')
else:
print('Số không dương')
```
Đoạn mã này sẽ in ra gì?

25 / 30

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

Tags: Bộ đề 09

Việc đặt mã nguồn vào thư viện giúp che giấu chi tiết triển khai bên trong hàm, chỉ để lộ giao diện (tên hàm, tham số). Khái niệm này trong lập trình được gọi là gì?

26 / 30

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

Tags: Bộ đề 09

Trong thư viện `cong_thuc_ly.py`, tại sao hàm tính điện trở tương đương của mạch song song lại phức tạp hơn (sử dụng nghịch đảo) so với mạch nối tiếp (chỉ cộng đơn giản)?

27 / 30

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

Tags: Bộ đề 09

Bạn muốn tạo một thư viện Python tên là `myconstants` chỉ chứa các hằng số (ví dụ: `GIA_TOC_TRONG_TRUONG = 9.8`). Bạn sẽ lưu mã nguồn này vào tệp nào?

28 / 30

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

Tags: Bộ đề 09

Giả sử bạn có một hàm trong thư viện cần sử dụng một hằng số `MAX_VALUE`. Thay vì định nghĩa hằng số này trực tiếp trong hàm, bạn định nghĩa nó ở cấp độ module (ngay dưới câu lệnh `import` hoặc đầu tệp). Việc này có lợi ích gì?

29 / 30

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

Tags: Bộ đề 09

Khi phát triển thư viện, việc viết các hàm có mục đích rõ ràng, chỉ thực hiện một nhiệm vụ cụ thể (ví dụ: một hàm chỉ tính chu vi, một hàm khác chỉ tính diện tích) tuân thủ nguyên tắc thiết kế nào?

30 / 30

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

Tags: Bộ đề 09

Bạn đã tạo thư viện `mylib.py`. Để một người khác có thể sử dụng thư viện này trong chương trình của họ, họ cần 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 31: Thực hành thiết lập thư viện chương trình

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

Trắc nghiệm Tin học 11 Kết nối tri thức Bài 31: Thực hành thiết lập thư viện 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: Bạn đang xây dựng một thư viện Python để tính toán các thuộc tính hình học. Bạn đã định nghĩa hàm `tinh_dien_tich_hinh_vuong(canh)` trong tệp `hinhhoc.py`. Để sử dụng hàm này trong một tệp chương trình khác (`main.py`) nằm cùng thư mục, dòng lệnh `import` nào sau đây là đúng?

  • A. import tinh_dien_tich_hinh_vuong
  • B. import hinhhoc
  • C. from hinhhoc import *
  • D. include "hinhhoc.py"

Câu 2: Cho thư viện `toanlib.py` với nội dung sau:
```python
PI = 3.14159
def chu_vi_duong_tron(r):
return 2 * PI * r
```
Trong một chương trình khác, bạn đã viết `import toanlib`. Để gọi hàm tính chu vi với bán kính 5, câu lệnh nào sau đây là đúng?

  • A. chu_vi = toanlib.chu_vi_duong_tron(5)
  • B. chu_vi = chu_vi_duong_tron(5)
  • C. chu_vi = toanlib.chu_vi_duong_tron r=5
  • D. call toanlib.chu_vi_duong_tron(5)

Câu 3: Thư viện `vatly.py` chứa hàm `mach_noi_tiep(dien_tro_list)` nhận vào một danh sách các giá trị điện trở và trả về tổng điện trở tương đương. Nếu danh sách `dien_tro_list` chứa một giá trị không hợp lệ (ví dụ: âm hoặc bằng 0), hàm này nên xử lý như thế nào để báo hiệu lỗi một cách rõ ràng nhất cho người sử dụng thư viện?

  • A. Trả về giá trị 0
  • B. Trả về giá trị -1
  • C. Bỏ qua giá trị không hợp lệ và tính tổng các giá trị còn lại
  • D. Ném ra một ngoại lệ (exception) hoặc in thông báo lỗi rõ ràng và trả về một giá trị đặc biệt (ví dụ: None hoặc -1)

Câu 4: Bạn cần viết một hàm trong thư viện `hoahoc.py` để tính nguyên tử khối trung bình của một nguyên tố dựa trên các đồng vị và tỷ lệ phần trăm của chúng. Hàm này nên nhận vào những tham số nào để có thể thực hiện tính toán theo công thức?

  • A. Chỉ danh sách nguyên tử khối của các đồng vị.
  • B. Chỉ danh sách tỷ lệ phần trăm của các đồng vị.
  • C. Danh sách nguyên tử khối của các đồng vị và danh sách tỷ lệ phần trăm tương ứng.
  • D. Nguyên tử khối của đồng vị phổ biến nhất và tổng số đồng vị.

Câu 5: Khi xây dựng thư viện, việc chia nhỏ chương trình lớn thành các module (thư viện) và hàm nhỏ hơn mang lại lợi ích chính nào sau đây?

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

Câu 6: Bạn đã tạo thư viện `phuongtrinh.py` chứa hàm `giai_pt_bac2(a, b, c)` để giải phương trình $ax^2 + bx + c = 0$. Để hàm này hoạt động chính xác, nó cần xử lý trường hợp nào để phân biệt giữa phương trình bậc nhất và phương trình bậc hai?

  • A. Kiểm tra xem b có bằng 0 không.
  • B. Kiểm tra xem a có bằng 0 không.
  • C. Kiểm tra xem delta có âm không.
  • D. Luôn coi là phương trình bậc hai và tính delta.

Câu 7: Cho hàm `mach_song_song(dien_tro_list)` trong thư viện `vatly.py` được thiết kế để tính điện trở tương đương của mạch song song. Công thức tính là $R_{td} = 1 / sum (1/R_i)$. Trường hợp nào sau đây yêu cầu hàm này phải xử lý đặc biệt để tránh lỗi chia cho 0 hoặc kết quả không hợp lệ?

  • A. Một hoặc nhiều giá trị điện trở trong danh sách bằng 0.
  • B. Tất cả giá trị điện trở trong danh sách bằng 1.
  • C. Danh sách điện trở có số lượng lẻ.
  • D. Tất cả giá trị điện trở trong danh sách là số nguyên dương.

Câu 8: Khi sử dụng câu lệnh `from ten_thu_vien import ten_ham`, bạn có thể gọi `ten_ham` trực tiếp mà không cần tiền tố `ten_thu_vien.`. Điều này khác với câu lệnh `import ten_thu_vien`. Ưu điểm chính của việc sử dụng `from ... import ...` đối với một vài hàm cụ thể là gì?

  • A. Tải toàn bộ thư viện nhanh hơn.
  • B. Tránh xung đột tên nếu các thư viện khác nhau có hàm trùng tên.
  • C. Làm cho mã nguồn ngắn gọn hơn khi gọi hàm, đặc biệt khi chỉ cần dùng ít hàm.
  • D. Cho phép thay đổi nội dung của hàm trong thư viện gốc.

Câu 9: Một học sinh tạo thư viện `mycircle.py` với nội dung:
```python
import math
def area(r):
return math.pi * r**2
def circumference(r):
return 2 * math.pi * r
```
Và sử dụng trong `main.py`:
```python
import mycircle
radius = 10
dien_tich = mycircle.area(radius)
chu_vi = mycircle.circumference(radius)
print(f"Dien tich: {dien_tich}, Chu vi: {chu_vi}")
```
Đoạn mã này kiểm tra kiến thức và kỹ năng nào liên quan đến việc sử dụng thư viện?

  • A. Cách import thư viện và gọi hàm từ thư viện đó.
  • B. Cách định nghĩa lớp (class) trong thư viện.
  • C. Cách xử lý ngoại lệ khi bán kính âm.
  • D. Cách tạo gói (package) Python.

Câu 10: Giả sử thư viện `hoahoc.py` có hàm `tinh_phan_tram_nguyen_to(cong_thuc, nguyen_to)` tính phần trăm khối lượng của một nguyên tố trong một hợp chất. Để sử dụng hiệu quả, hàm này cần truy cập vào dữ liệu nào khác (có thể từ một thư viện hoặc cấu trúc dữ liệu khác) bên cạnh công thức hóa học?

  • A. Tỷ trọng của hợp chất.
  • B. Nguyên tử khối của các nguyên tố.
  • C. Nhiệt độ sôi của hợp chất.
  • D. Công thức cấu tạo của hợp chất.

Câu 11: Trong nhiệm vụ về quản lý đĩa CD (giả định sử dụng cấu trúc dữ liệu để lưu trữ bài hát), nếu bạn tạo một thư viện `quanlycd.py` với các hàm như `them_bai_hat(cd, ten_bai, thoi_luong)` và `in_thong_tin_cd(cd)`, thì tham số `cd` trong các hàm này nhiều khả năng đại diện cho điều gì?

  • A. Tên của đĩa CD dưới dạng chuỗi.
  • B. Đường dẫn đến tệp âm thanh của đĩa CD.
  • C. Một cấu trúc dữ liệu (ví dụ: danh sách, từ điển, hoặc đối tượng) lưu trữ thông tin về đĩa CD và các bài hát.
  • D. Tổng thời lượng của đĩa CD.

Câu 12: Khi phát triển thư viện, việc thêm các chuỗi tài liệu (docstrings) vào hàm và module có ý nghĩa quan trọng nhất là gì?

  • A. Giúp người khác (hoặc chính bạn sau này) hiểu rõ chức năng, tham số và giá trị trả về của hàm/module mà không cần đọc toàn bộ mã nguồn.
  • B. Làm cho mã nguồn chạy nhanh hơn.
  • C. Tự động sửa lỗi cú pháp trong mã nguồn.
  • D. Ngăn chặn việc sử dụng trái phép thư viện.

Câu 13: Bạn đang debug một chương trình sử dụng thư viện `math`. Chương trình gặp lỗi `NameError: name "pi" is not defined`. Dựa trên cách sử dụng phổ biến của thư viện `math`, nguyên nhân nào sau đây có khả năng nhất?

  • A. Thư viện `math` chưa được cài đặt.
  • B. Bạn đã import thư viện `math` nhưng quên gọi hàm.
  • C. Bạn đã import thư viện `math` bằng `import math` nhưng lại cố gắng truy cập `pi` thay vì `math.pi`.
  • D. Biến `pi` đã được định nghĩa ở một nơi khác trong chương trình và ghi đè giá trị của `math.pi`.

Câu 14: Trong Python, từ khóa nào được sử dụng để đưa các định nghĩa (hàm, biến, v.v.) từ một module khác vào chương trình hiện tại?

  • A. include
  • B. require
  • C. use
  • D. import

Câu 15: Bạn viết một hàm `tinh_goc(a, b, c)` trong thư viện `tamgiac.py` để tính một góc của tam giác dựa trên độ dài ba cạnh. Giả sử hàm này sử dụng định lý cosin. Điều kiện nào sau đây cần được kiểm tra đầu tiên trong hàm để đảm bảo ba cạnh đầu vào có thể tạo thành một tam giác hợp lệ?

  • A. a + b > c và a + c > b
  • B. a + b > c và a + c > b và b + c > a
  • C. a^2 + b^2 = c^2
  • D. a > 0 và b > 0 và c > 0

Câu 16: Một ưu điểm của việc sử dụng `from ten_thu_vien import *` là bạn có thể gọi trực tiếp tất cả các hàm và biến từ thư viện mà không cần tiền tố. Tuy nhiên, nhược điểm chính của cách import này là gì?

  • A. Chỉ import được một số hàm nhất định.
  • B. Làm chương trình chạy chậm hơn.
  • C. Có thể gây xung đột tên nếu các thư viện khác nhau có cùng tên hàm hoặc biến.
  • D. Không thể truy cập các biến toàn cục trong thư viện.

Câu 17: Bạn được yêu cầu tạo một thư viện `mylib.py` chứa một hàm `chao_mung(ten)` in ra lời chào. Sau khi hoàn thành, bạn muốn kiểm tra nhanh hàm này bằng cách chạy trực tiếp tệp `mylib.py`. Đoạn mã nào sau đây thường được đặt ở cuối tệp thư viện để chỉ chạy khi tệp được thực thi trực tiếp (không phải khi được import)?

  • A. if __name__ ==
  • B. if run == True:
  • C. if called_directly():
  • D. def main():

Câu 18: Khi tính điện trở tương đương của mạch song song với danh sách điện trở `[R1, R2, ..., Rn]`, hàm `mach_song_song` cần tính tổng nghịch đảo $1/R_1 + 1/R_2 + ... + 1/R_n$. Nếu danh sách đầu vào là `[10, 20, 0, 30]`, hàm nên xử lý như thế nào dựa trên nguyên tắc xử lý dữ liệu không hợp lệ trong thư viện?

  • A. Tính tổng nghịch đảo của các giá trị hợp lệ (10, 20, 30).
  • B. Trả về 0 vì có giá trị không hợp lệ.
  • C. Tự động thay thế giá trị 0 bằng một số rất nhỏ.
  • D. Thông báo lỗi hoặc trả về một giá trị đặc biệt (ví dụ: -1) để chỉ ra rằng dữ liệu đầu vào không hợp lệ.

Câu 19: Bạn đang sử dụng một thư viện toán học và nhận thấy rằng hàm tính căn bậc hai trả về một giá trị rất gần với đáp án mong muốn nhưng không hoàn toàn chính xác do sử dụng một thuật toán xấp xỉ. Vấn đề này liên quan chủ yếu đến khía cạnh nào khi sử dụng thư viện?

  • A. Cách import thư viện.
  • B. Độ chính xác của thuật toán hoặc hằng số được sử dụng bên trong thư viện.
  • C. Lỗi cú pháp trong chương trình gọi hàm.
  • D. Xung đột tên hàm.

Câu 20: Hãy phân tích sự khác biệt cơ bản về mục đích sử dụng giữa việc viết toàn bộ mã lệnh trong một tệp duy nhất và việc chia mã lệnh thành nhiều tệp nhỏ hơn để tạo thư viện.

  • A. Tệp duy nhất phù hợp cho các chương trình đơn giản, không cần tái sử dụng; Thư viện phù hợp để nhóm các chức năng liên quan có thể dùng lại trong nhiều dự án khác nhau.
  • B. Tệp duy nhất chạy nhanh hơn; Thư viện giúp chương trình bảo mật hơn.
  • C. Tệp duy nhất dễ debug hơn; Thư viện làm chương trình phức tạp hơn.
  • D. Tệp duy nhất chỉ dành cho người mới học; Thư viện chỉ dành cho lập trình viên chuyên nghiệp.

Câu 21: Bạn cần tính diện tích hình tròn với bán kính `r`. Thư viện `hinhhoc.py` bạn đang dùng có hàm `tinh_dien_tich_hinh_tron(ban_kinh)`. Dòng lệnh nào sau đây là cách gọi hàm đúng cú pháp sau khi đã import thư viện bằng `import hinhhoc`?

  • A. dien_tich = tinh_dien_tich_hinh_tron(r)
  • B. dien_tich = hinhhoc.tinh_dien_tich_hinh_tron r
  • C. dien_tich = hinhhoc.tinh_dien_tich_hinh_tron(r)
  • D. call hinhhoc.tinh_dien_tich_hinh_tron(r)

Câu 22: Khi tính nguyên tử khối trung bình của Carbon với hai đồng vị $^{12}$C (98.89%) và $^{13}$C (1.11%), sử dụng hàm `tinhNtkTB([12, 13], [98.89, 1.11])`, công thức tính bên trong hàm là $sum ( ext{ntk}_i imes ext{tyLe}_i) / 100$. Giá trị nào sau đây là kết quả chính xác của phép tính này?

  • A. $12.0$
  • B. $12.0111$
  • C. $12.5$
  • D. $13.0$

Câu 23: Bạn đang viết một chương trình sử dụng nhiều thư viện khác nhau. Việc sử dụng bí danh (alias) khi import, ví dụ: `import numpy as np`, mang lại lợi ích gì?

  • A. Giúp mã nguồn ngắn gọn hơn khi gọi các hàm/biến từ thư viện và dễ đọc hơn với các bí danh phổ biến.
  • B. Ngăn chặn lỗi `ModuleNotFoundError`.
  • C. Chỉ import các hàm cần thiết từ thư viện.
  • D. Thay đổi tên gốc của thư viện trên hệ thống.

Câu 24: Thư viện `phuongtrinh.py` có hàm `giai_pt_bac2(a, b, c)`. Nếu gọi hàm này với `a=0, b=2, c=-4`, hàm nên xử lý trường hợp này như thế nào để trả về nghiệm của phương trình bậc nhất?

  • A. Thông báo lỗi vì đây không phải phương trình bậc hai.
  • B. Tính delta và kết luận vô nghiệm.
  • C. Kiểm tra nếu $a=0$ và $b
    eq 0$, sau đó tính nghiệm $x = -c/b$.
  • D. Trả về giá trị 0.

Câu 25: Khi tạo thư viện `mymath.py` để chứa hằng số PI và các hàm toán học cơ bản thay vì sử dụng thư viện `math` có sẵn, điều này có thể hữu ích trong trường hợp nào?

  • A. Khi cần tốc độ tính toán cao hơn so với thư viện `math`.
  • B. Khi cần sử dụng các hàm không có trong thư viện `math`.
  • C. Khi muốn giảm kích thước tổng thể của chương trình.
  • D. Khi muốn tùy chỉnh giá trị hằng số (ví dụ: sử dụng giá trị PI với độ chính xác thấp hơn) hoặc chỉ cần một tập hợp rất nhỏ các hàm.

Câu 26: Giả sử thư viện `vatly.py` có hàm `mach_noi_tiep(ds_R)` và `mach_song_song(ds_R)`. Để tính điện trở tương đương của một mạch phức tạp gồm một đoạn mạch nối tiếp (R1, R2) mắc song song với một điện trở R3, bạn sẽ sử dụng các hàm này như thế nào trong chương trình chính?

  • A. Tính điện trở nối tiếp $R_{12} = ext{mach_noi_tiep}([R1, R2])$, sau đó tính điện trở song song $ ext{mach_song_song}([R_{12}, R3])$.
  • B. Tính điện trở song song $R_{13} = ext{mach_song_song}([R1, R3])$, sau đó tính điện trở nối tiếp $ ext{mach_noi_tiep}([R_{13}, R2])$.
  • C. Tính tổng tất cả các điện trở $R1+R2+R3$.
  • D. Tính tổng nghịch đảo của tất cả các điện trở $1/(1/R1 + 1/R2 + 1/R3)$.

Câu 27: Tại sao việc kiểm tra kiểu dữ liệu hoặc giá trị của tham số đầu vào trong các hàm của thư viện lại quan trọng?

  • A. Để làm cho mã nguồn chạy nhanh hơn.
  • B. Để đảm bảo hàm nhận được dữ liệu hợp lệ, tránh lỗi runtime và trả về kết quả chính xác hoặc báo lỗi rõ ràng.
  • C. Để tự động chuyển đổi kiểu dữ liệu đầu vào sang kiểu phù hợp.
  • D. Để giảm số lượng tham số cần thiết cho hàm.

Câu 28: Bạn đang phát triển một ứng dụng và cần sử dụng chức năng giải phương trình bậc hai. Việc sử dụng hàm `giai_pt_bac2` từ một thư viện có sẵn (hoặc tự viết) thay vì viết lại toàn bộ logic giải phương trình trực tiếp trong mã chính của ứng dụng thể hiện nguyên tắc lập trình nào?

  • A. Tính module hóa (Modularity) và tái sử dụng mã nguồn (Code Reusability).
  • B. Tính đa hình (Polymorphism).
  • C. Tính kế thừa (Inheritance).
  • D. Tính đóng gói (Encapsulation).

Câu 29: Một hàm trong thư viện của bạn được thiết kế để nhận một danh sách số và tính trung bình cộng. Nếu người dùng truyền vào một danh sách rỗng `[]`, hàm nên xử lý như thế nào để tránh lỗi chia cho 0 và báo hiệu kết quả không xác định?

  • A. Trả về 0.
  • B. Trả về một số rất lớn.
  • C. Kiểm tra độ dài danh sách; nếu rỗng, trả về một giá trị đặc biệt (ví dụ: `None`) hoặc ném ngoại lệ.
  • D. Tự động thêm một giá trị mặc định vào danh sách.

Câu 30: Khi bạn hoàn thành việc viết mã cho một thư viện Python (`mylib.py`), làm thế nào để người khác có thể cài đặt và sử dụng thư viện của bạn trong môi trường Python của họ một cách dễ dàng?

  • A. Chỉ cần gửi cho họ tệp `mylib.py` và yêu cầu họ đặt nó vào bất kỳ thư mục nào.
  • B. Đóng gói thư viện theo chuẩn Python (ví dụ: sử dụng `setuptools`, `poetry`) và chia sẻ qua các kho lưu trữ gói như PyPI, cho phép cài đặt bằng công cụ như `pip`.
  • C. Yêu cầu người dùng sao chép toàn bộ mã nguồn của thư viện vào chương trình của họ.
  • D. Biên dịch thư viện thành tệp thực thi.

1 / 30

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

Tags: Bộ đề 10

Câu 1: Bạn đang xây dựng một thư viện Python để tính toán các thuộc tính hình học. Bạn đã định nghĩa hàm `tinh_dien_tich_hinh_vuong(canh)` trong tệp `hinhhoc.py`. Để sử dụng hàm này trong một tệp chương trình khác (`main.py`) nằm cùng thư mục, dòng lệnh `import` nào sau đây là đúng?

2 / 30

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

Tags: Bộ đề 10

Câu 2: Cho thư viện `toanlib.py` với nội dung sau:
```python
PI = 3.14159
def chu_vi_duong_tron(r):
return 2 * PI * r
```
Trong một chương trình khác, bạn đã viết `import toanlib`. Để gọi hàm tính chu vi với bán kính 5, câu lệnh nào sau đây là đúng?

3 / 30

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

Tags: Bộ đề 10

Câu 3: Thư viện `vatly.py` chứa hàm `mach_noi_tiep(dien_tro_list)` nhận vào một danh sách các giá trị điện trở và trả về tổng điện trở tương đương. Nếu danh sách `dien_tro_list` chứa một giá trị không hợp lệ (ví dụ: âm hoặc bằng 0), hàm này nên xử lý như thế nào để báo hiệu lỗi một cách rõ ràng nhất cho người sử dụng thư viện?

4 / 30

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

Tags: Bộ đề 10

Câu 4: Bạn cần viết một hàm trong thư viện `hoahoc.py` để tính nguyên tử khối trung bình của một nguyên tố dựa trên các đồng vị và tỷ lệ phần trăm của chúng. Hàm này nên nhận vào những tham số nào để có thể thực hiện tính toán theo công thức?

5 / 30

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

Tags: Bộ đề 10

Câu 5: Khi xây dựng thư viện, việc chia nhỏ chương trình lớn thành các module (thư viện) và hàm nhỏ hơn mang lại lợi ích chính nào sau đây?

6 / 30

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

Tags: Bộ đề 10

Câu 6: Bạn đã tạo thư viện `phuongtrinh.py` chứa hàm `giai_pt_bac2(a, b, c)` để giải phương trình $ax^2 + bx + c = 0$. Để hàm này hoạt động chính xác, nó cần xử lý trường hợp nào để phân biệt giữa phương trình bậc nhất và phương trình bậc hai?

7 / 30

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

Tags: Bộ đề 10

Câu 7: Cho hàm `mach_song_song(dien_tro_list)` trong thư viện `vatly.py` được thiết kế để tính điện trở tương đương của mạch song song. Công thức tính là $R_{td} = 1 / sum (1/R_i)$. Trường hợp nào sau đây yêu cầu hàm này phải xử lý đặc biệt để tránh lỗi chia cho 0 hoặc kết quả không hợp lệ?

8 / 30

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

Tags: Bộ đề 10

Câu 8: Khi sử dụng câu lệnh `from ten_thu_vien import ten_ham`, bạn có thể gọi `ten_ham` trực tiếp mà không cần tiền tố `ten_thu_vien.`. Điều này khác với câu lệnh `import ten_thu_vien`. Ưu điểm chính của việc sử dụng `from ... import ...` đối với một vài hàm cụ thể là gì?

9 / 30

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

Tags: Bộ đề 10

Câu 9: Một học sinh tạo thư viện `mycircle.py` với nội dung:
```python
import math
def area(r):
return math.pi * r**2
def circumference(r):
return 2 * math.pi * r
```
Và sử dụng trong `main.py`:
```python
import mycircle
radius = 10
dien_tich = mycircle.area(radius)
chu_vi = mycircle.circumference(radius)
print(f'Dien tich: {dien_tich}, Chu vi: {chu_vi}')
```
Đoạn mã này kiểm tra kiến thức và kỹ năng nào liên quan đến việc sử dụng thư viện?

10 / 30

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

Tags: Bộ đề 10

Câu 10: Giả sử thư viện `hoahoc.py` có hàm `tinh_phan_tram_nguyen_to(cong_thuc, nguyen_to)` tính phần trăm khối lượng của một nguyên tố trong một hợp chất. Để sử dụng hiệu quả, hàm này cần truy cập vào dữ liệu nào khác (có thể từ một thư viện hoặc cấu trúc dữ liệu khác) bên cạnh công thức hóa học?

11 / 30

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

Tags: Bộ đề 10

Câu 11: Trong nhiệm vụ về quản lý đĩa CD (giả định sử dụng cấu trúc dữ liệu để lưu trữ bài hát), nếu bạn tạo một thư viện `quanlycd.py` với các hàm như `them_bai_hat(cd, ten_bai, thoi_luong)` và `in_thong_tin_cd(cd)`, thì tham số `cd` trong các hàm này nhiều khả năng đại diện cho điều gì?

12 / 30

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

Tags: Bộ đề 10

Câu 12: Khi phát triển thư viện, việc thêm các chuỗi tài liệu (docstrings) vào hàm và module có ý nghĩa quan trọng nhất là gì?

13 / 30

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

Tags: Bộ đề 10

Câu 13: Bạn đang debug một chương trình sử dụng thư viện `math`. Chương trình gặp lỗi `NameError: name 'pi' is not defined`. Dựa trên cách sử dụng phổ biến của thư viện `math`, nguyên nhân nào sau đây có khả năng nhất?

14 / 30

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

Tags: Bộ đề 10

Câu 14: Trong Python, từ khóa nào được sử dụng để đưa các định nghĩa (hàm, biến, v.v.) từ một module khác vào chương trình hiện tại?

15 / 30

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

Tags: Bộ đề 10

Câu 15: Bạn viết một hàm `tinh_goc(a, b, c)` trong thư viện `tamgiac.py` để tính một góc của tam giác dựa trên độ dài ba cạnh. Giả sử hàm này sử dụng định lý cosin. Điều kiện nào sau đây cần được kiểm tra đầu tiên trong hàm để đảm bảo ba cạnh đầu vào có thể tạo thành một tam giác hợp lệ?

16 / 30

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

Tags: Bộ đề 10

Câu 16: Một ưu điểm của việc sử dụng `from ten_thu_vien import *` là bạn có thể gọi trực tiếp tất cả các hàm và biến từ thư viện mà không cần tiền tố. Tuy nhiên, nhược điểm chính của cách import này là gì?

17 / 30

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

Tags: Bộ đề 10

Câu 17: Bạn được yêu cầu tạo một thư viện `mylib.py` chứa một hàm `chao_mung(ten)` in ra lời chào. Sau khi hoàn thành, bạn muốn kiểm tra nhanh hàm này bằng cách chạy trực tiếp tệp `mylib.py`. Đoạn mã nào sau đây thường được đặt ở cuối tệp thư viện để chỉ chạy khi tệp được thực thi trực tiếp (không phải khi được import)?

18 / 30

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

Tags: Bộ đề 10

Câu 18: Khi tính điện trở tương đương của mạch song song với danh sách điện trở `[R1, R2, ..., Rn]`, hàm `mach_song_song` cần tính tổng nghịch đảo $1/R_1 + 1/R_2 + ... + 1/R_n$. Nếu danh sách đầu vào là `[10, 20, 0, 30]`, hàm nên xử lý như thế nào dựa trên nguyên tắc xử lý dữ liệu không hợp lệ trong thư viện?

19 / 30

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

Tags: Bộ đề 10

Câu 19: Bạn đang sử dụng một thư viện toán học và nhận thấy rằng hàm tính căn bậc hai trả về một giá trị rất gần với đáp án mong muốn nhưng không hoàn toàn chính xác do sử dụng một thuật toán xấp xỉ. Vấn đề này liên quan chủ yếu đến khía cạnh nào khi sử dụng thư viện?

20 / 30

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

Tags: Bộ đề 10

Câu 20: Hãy phân tích sự khác biệt cơ bản về mục đích sử dụng giữa việc viết toàn bộ mã lệnh trong một tệp duy nhất và việc chia mã lệnh thành nhiều tệp nhỏ hơn để tạo thư viện.

21 / 30

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

Tags: Bộ đề 10

Câu 21: Bạn cần tính diện tích hình tròn với bán kính `r`. Thư viện `hinhhoc.py` bạn đang dùng có hàm `tinh_dien_tich_hinh_tron(ban_kinh)`. Dòng lệnh nào sau đây là cách gọi hàm đúng cú pháp sau khi đã import thư viện bằng `import hinhhoc`?

22 / 30

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

Tags: Bộ đề 10

Câu 22: Khi tính nguyên tử khối trung bình của Carbon với hai đồng vị $^{12}$C (98.89%) và $^{13}$C (1.11%), sử dụng hàm `tinhNtkTB([12, 13], [98.89, 1.11])`, công thức tính bên trong hàm là $sum ( ext{ntk}_i imes ext{tyLe}_i) / 100$. Giá trị nào sau đây là kết quả chính xác của phép tính này?

23 / 30

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

Tags: Bộ đề 10

Câu 23: Bạn đang viết một chương trình sử dụng nhiều thư viện khác nhau. Việc sử dụng bí danh (alias) khi import, ví dụ: `import numpy as np`, mang lại lợi ích gì?

24 / 30

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

Tags: Bộ đề 10

Câu 24: Thư viện `phuongtrinh.py` có hàm `giai_pt_bac2(a, b, c)`. Nếu gọi hàm này với `a=0, b=2, c=-4`, hàm nên xử lý trường hợp này như thế nào để trả về nghiệm của phương trình bậc nhất?

25 / 30

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

Tags: Bộ đề 10

Câu 25: Khi tạo thư viện `mymath.py` để chứa hằng số PI và các hàm toán học cơ bản thay vì sử dụng thư viện `math` có sẵn, điều này có thể hữu ích trong trường hợp nào?

26 / 30

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

Tags: Bộ đề 10

Câu 26: Giả sử thư viện `vatly.py` có hàm `mach_noi_tiep(ds_R)` và `mach_song_song(ds_R)`. Để tính điện trở tương đương của một mạch phức tạp gồm một đoạn mạch nối tiếp (R1, R2) mắc song song với một điện trở R3, bạn sẽ sử dụng các hàm này như thế nào trong chương trình chính?

27 / 30

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

Tags: Bộ đề 10

Câu 27: Tại sao việc kiểm tra kiểu dữ liệu hoặc giá trị của tham số đầu vào trong các hàm của thư viện lại quan trọng?

28 / 30

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

Tags: Bộ đề 10

Câu 28: Bạn đang phát triển một ứng dụng và cần sử dụng chức năng giải phương trình bậc hai. Việc sử dụng hàm `giai_pt_bac2` từ một thư viện có sẵn (hoặc tự viết) thay vì viết lại toàn bộ logic giải phương trình trực tiếp trong mã chính của ứng dụng thể hiện nguyên tắc lập trình nào?

29 / 30

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

Tags: Bộ đề 10

Câu 29: Một hàm trong thư viện của bạn được thiết kế để nhận một danh sách số và tính trung bình cộng. Nếu người dùng truyền vào một danh sách rỗng `[]`, hàm nên xử lý như thế nào để tránh lỗi chia cho 0 và báo hiệu kết quả không xác định?

30 / 30

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

Tags: Bộ đề 10

Câu 30: Khi bạn hoàn thành việc viết mã cho một thư viện Python (`mylib.py`), làm thế nào để người khác có thể cài đặt và sử dụng thư viện của bạn trong môi trường Python của họ một cách dễ dàng?

Viết một bình luận