Trắc nghiệm Tin 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn - Đề 01
Trắc nghiệm Tin 10 Cánh diều Bài 10: Chương trình con và thư viện các chương trình con có sẵn - Đề 01 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Mục đích chính của việc chia chương trình lớn thành các chương trình con là gì?
- A. Tăng khả năng tái sử dụng mã nguồn, giúp chương trình dễ đọc và dễ quản lý hơn.
- B. Làm cho chương trình chạy nhanh hơn trên mọi loại máy tính.
- C. Giảm dung lượng bộ nhớ cần thiết để lưu trữ chương trình.
- D. Bắt buộc phải sử dụng khi chương trình có nhiều hơn 100 dòng lệnh.
Câu 2: Trong Python, từ khóa nào được sử dụng để định nghĩa một hàm (chương trình con)?
- A. function
- B. define
- C. def
- D. func
Câu 3: Cho đoạn mã Python sau:
```python
def chao(ten):
print("Xin chao, " + ten + "!")
chao("An")
chao("Binh")
```
Kết quả khi chạy đoạn mã này là gì?
- A. Xin chao, ten!
Xin chao, ten!
- B. Xin chao, An!
Xin chao, Binh!
- C. Xin chao, An!
Xin chao, An!
- D. Binh
An
Câu 4: Xét định nghĩa hàm sau:
```python
def tinh_tong(a, b):
return a + b
```
Trong lời gọi hàm `ket_qua = tinh_tong(5, 3)`, `a` và `b` được gọi là gì?
- A. Tham số hình thức (formal parameters)
- B. Tham số thực tế (actual arguments)
- C. Biến toàn cục (global variables)
- D. Tên hàm (function names)
Câu 5: Xét định nghĩa hàm sau:
```python
def tinh_tong(a, b):
return a + b
```
Trong lời gọi hàm `ket_qua = tinh_tong(5, 3)`, `5` và `3` được gọi là gì?
- A. Tham số hình thức (formal parameters)
- B. Tham số thực tế (actual arguments)
- C. Biến cục bộ (local variables)
- D. Tên hàm (function names)
Câu 6: Hàm trong Python có thể trả về một giá trị bằng cách sử dụng từ khóa nào?
- A. output
- B. print
- C. yield
- D. return
Câu 7: Đoạn mã sau có lỗi không? Nếu có, lỗi là gì?
```python
def tinh_tich(x, y)
return x * y
print(tinh_tich(4, 5))
```
- A. Không có lỗi, kết quả là 20.
- B. Lỗi do thiếu tham số khi gọi hàm.
- C. Lỗi cú pháp: Thiếu dấu hai chấm (:) ở cuối dòng định nghĩa hàm.
- D. Lỗi do tên hàm không hợp lệ.
Câu 8: Cho đoạn mã sau:
```python
def kiem_tra_so_duong(so):
if so > 0:
return True
else:
return False
ket_qua = kiem_tra_so_duong(-7)
print(ket_qua)
```
Kết quả in ra màn hình là gì?
- A. True
- B. False
- C. -7
- D. None
Câu 9: Để sử dụng các hàm toán học nâng cao như `sqrt()` (căn bậc hai) hoặc `gcd()` (ước chung lớn nhất) trong Python, ta cần nhập thư viện nào?
- A. math
- B. random
- C. os
- D. sys
Câu 10: Cho đoạn mã sau:
```python
import math
a = math.sqrt(16)
b = math.gcd(12, 18)
print(a + b)
```
Kết quả in ra màn hình là gì?
- A. 4.0 + 6
- B. 22.0
- C. 10.0
- D. Lỗi do sử dụng sai hàm.
Câu 11: Thư viện `random` trong Python thường được sử dụng cho mục đích gì?
- A. Thực hiện các phép tính ma trận.
- B. Truy cập và quản lý tệp tin.
- C. Xử lý chuỗi văn bản.
- D. Tạo ra các số hoặc lựa chọn ngẫu nhiên.
Câu 12: Lợi ích nào sau đây KHÔNG phải là lợi ích của việc sử dụng chương trình con?
- A. Giảm thời gian chạy của chương trình xuống còn một nửa.
- B. Giúp chương trình dễ bảo trì và nâng cấp.
- C. Tránh lặp lại các đoạn mã giống nhau.
- D. Phân chia công việc lập trình cho nhiều người dễ dàng hơn.
Câu 13: Cho đoạn mã sau:
```python
def xu_ly_du_lieu(danh_sach):
tong = sum(danh_sach)
trung_binh = tong / len(danh_sach)
print(f"Tong: {tong}, Trung binh: {trung_binh}")
data = [10, 20, 30, 40]
xu_ly_du_lieu(data)
```
Đây là ví dụ về loại chương trình con nào?
- A. Hàm trả về giá trị (Function)
- B. Thủ tục (Procedure) hoặc hàm không trả về giá trị rõ ràng bằng `return`
- C. Thư viện (Library)
- D. Lớp (Class)
Câu 14: Cho đoạn mã sau:
```python
def tinh_dien_tich_hinh_vuong(canh):
dien_tich = canh * canh
return dien_tich
ket_qua1 = tinh_dien_tich_hinh_vuong(5)
ket_qua2 = tinh_dien_tich_hinh_vuong(7)
print(ket_qua1 + ket_qua2)
```
Kết quả in ra màn hình là gì?
- A. 25
49
- B. 74
- C. 12
- D. 74
Câu 15: Khi một chương trình con được gọi, luồng thực thi của chương trình sẽ diễn ra như thế nào?
- A. Chuyển đến thực hiện các lệnh trong thân chương trình con, sau khi kết thúc chương trình con (hoặc gặp `return`), quay lại điểm gọi hàm và tiếp tục thực hiện.
- B. Thực hiện song song cả chương trình chính và chương trình con.
- C. Chỉ thực hiện chương trình con và bỏ qua phần còn lại của chương trình chính.
- D. Chương trình dừng lại sau khi gọi chương trình con.
Câu 16: Cho đoạn mã sau:
```python
import math
radius = 5
area = math.pi * radius**2
print(round(area, 2))
```
Đoạn mã này sử dụng hằng số `pi` từ thư viện `math`. Điều này thể hiện lợi ích nào của việc sử dụng thư viện?
- A. Giúp chương trình chạy nhanh hơn.
- B. Tự động sửa lỗi cú pháp.
- C. Cung cấp các giá trị hằng số và hàm được tính toán sẵn, tránh việc phải tự định nghĩa lại.
- D. Làm cho mã nguồn chương trình ngắn gọn hơn.
Câu 17: Điều gì xảy ra nếu bạn cố gắng gọi một hàm từ một thư viện mà chưa được nhập (import) vào chương trình?
- A. Chương trình sẽ tự động nhập thư viện đó.
- B. Hàm sẽ chạy nhưng cho kết quả sai.
- C. Chương trình sẽ in ra thông báo cảnh báo nhưng vẫn chạy tiếp.
- D. Chương trình sẽ báo lỗi "NameError" vì không tìm thấy tên hàm.
Câu 18: Khi định nghĩa một hàm có tham số, các tham số này có ý nghĩa gì?
- A. Là các biến chỉ tồn tại bên ngoài hàm.
- B. Là các biến nhận giá trị từ bên ngoài khi hàm được gọi, được sử dụng bên trong thân hàm.
- C. Là các giá trị cố định không thể thay đổi.
- D. Chỉ dùng để trang trí cho định nghĩa hàm.
Câu 19: Cho đoạn mã sau:
```python
def phep_tinh(a, b):
tong = a + b
hieu = a - b
return tong, hieu
x, y = phep_tinh(10, 4)
print(f"Tong: {x}, Hieu: {y}")
```
Kết quả in ra màn hình là gì?
- A. Tong: 14, Hieu: 6
- B. Tong: 14
- C. Hieu: 6
- D. Lỗi cú pháp.
Câu 20: So sánh giữa tham số hình thức (formal parameter) và tham số thực tế (actual argument):
- A. Tham số hình thức là giá trị cụ thể được truyền vào, tham số thực tế là biến trong định nghĩa hàm.
- B. Cả hai đều chỉ là tên gọi khác nhau của cùng một khái niệm.
- C. Tham số hình thức là biến trong định nghĩa hàm, tham số thực tế là giá trị hoặc biến được truyền vào khi gọi hàm.
- D. Tham số hình thức chỉ dùng cho hàm không trả về giá trị, tham số thực tế dùng cho hàm trả về giá trị.
Câu 21: Cho đoạn mã sau:
```python
def kiem_tra_chan_le(so):
if so % 2 == 0:
return "Chan"
else:
return "Le"
print(kiem_tra_chan_le(9))
print(kiem_tra_chan_le(4))
```
Kết quả in ra màn hình là gì?
- A. 9
4
- B. Le
Chan
- C. Chan
Le
- D. True
False
Câu 22: Điều gì xảy ra nếu một hàm được định nghĩa có sử dụng tham số, nhưng khi gọi lại không truyền đủ số lượng đối số?
- A. Chương trình sẽ báo lỗi "TypeError".
- B. Các tham số thiếu sẽ tự động nhận giá trị mặc định là 0 hoặc None.
- C. Hàm sẽ chạy nhưng bỏ qua phần xử lý liên quan đến các tham số thiếu.
- D. Chương trình sẽ tự động yêu cầu người dùng nhập giá trị cho các tham số thiếu.
Câu 23: Cho đoạn mã sau:
```python
def tim_max(a, b):
if a > b:
return a
else:
return b
so1 = 15
so2 = 22
max_val = tim_max(so1, so2)
print(max_val)
```
Kết quả in ra màn hình là gì?
- A. 15
- B. 15 22
- C. a
- D. 22
Câu 24: Thư viện chuẩn của Python là gì?
- A. Là tập hợp các module (thư viện) có sẵn đi kèm với cài đặt Python, chứa các hàm và công cụ thông dụng.
- B. Là thư viện do người dùng tự viết.
- C. Là thư viện chỉ chứa các hàm toán học.
- D. Là một website chứa mã nguồn của tất cả các chương trình Python.
Câu 25: Cho đoạn mã sau:
```python
def ham_thu_nhat():
print("Ham thu nhat")
def ham_thu_hai():
ham_thu_nhat()
print("Ham thu hai")
ham_thu_hai()
```
Kết quả in ra màn hình là gì?
- A. Ham thu hai
Ham thu nhat
- B. Ham thu nhat
- C. Ham thu nhat
Ham thu hai
- D. Lỗi do hàm gọi hàm.
Câu 26: Việc đặt tên cho chương trình con (hàm) trong Python cần tuân thủ quy tắc nào?
- A. Có thể chứa khoảng trắng và bắt đầu bằng số.
- B. Không được chứa khoảng trắng, không được bắt đầu bằng số, không trùng với các từ khóa của Python.
- C. Bắt buộc phải bắt đầu bằng chữ "def".
- D. Độ dài tối đa là 10 ký tự.
Câu 27: Khi một hàm không có lệnh `return` hoặc có `return` mà không theo sau là giá trị, hàm đó sẽ trả về giá trị mặc định là gì?
- A. 0
- B. True
- C. False
- D. None
Câu 28: Giả sử bạn cần viết một chương trình con để tính diện tích hình tròn. Chương trình con này nên là loại nào?
- A. Hàm trả về giá trị (Function), vì nó cần trả về kết quả tính toán (diện tích).
- B. Thủ tục (Procedure), vì nó chỉ thực hiện một hành động (tính toán).
- C. Không cần dùng chương trình con, chỉ cần viết trực tiếp trong chương trình chính.
- D. Chương trình con này cần in kết quả ra màn hình thay vì trả về giá trị.
Câu 29: Cho đoạn mã sau:
```python
def nhan_hai(so):
ket_qua = so * 2
print(ket_qua)
ket_qua_goi_ham = nhan_hai(10)
print(ket_qua_goi_ham)
```
Kết quả in ra màn hình là gì? (Chú ý thứ tự và giá trị)
- A. 20
20
- B. 20
None
- C. None
20
- D. Lỗi do gán giá trị trả về của hàm không có return.
Câu 30: Khi sử dụng một hàm có sẵn từ thư viện, điều nào sau đây là đúng?
- A. Bạn cần biết mã nguồn chi tiết bên trong hàm đó.
- B. Bạn phải định nghĩa lại hàm đó trong chương trình của mình.
- C. Bạn chỉ cần biết tên hàm, mục đích của hàm và cách sử dụng (tham số cần thiết, giá trị trả về nếu có).
- D. Bạn không cần nhập thư viện chứa hàm đó.