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 - Đề 06
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 - Đề 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 Python, từ khóa nào được sử dụng để bắt đầu định nghĩa một chương trình con (hàm)?
- A. function
- B. sub
- C. def
- D. define
Câu 2: Khi định nghĩa một hàm trong Python, sau tên hàm và cặp dấu ngoặc đơn chứa tham số (nếu có), cần phải có ký tự đặc biệt nào để kết thúc dòng tiêu đề hàm?
- A. ; (dấu chấm phẩy)
- B. . (dấu chấm)
- C. , (dấu phẩy)
- D. : (dấu hai chấm)
Câu 3: Phát biểu nào sau đây mô tả đúng nhất về lợi ích chính của việc sử dụng chương trình con (hàm) trong lập trình?
- A. Giúp tái sử dụng mã lệnh, làm cho chương trình gọn gàng và dễ quản lý hơn.
- B. Bắt buộc phải sử dụng để chương trình có thể chạy được.
- C. Chỉ làm cho chương trình phức tạp hơn.
- D. Giúp tăng tốc độ thực thi của chương trình một cách đáng kể.
Câu 4: Quan sát đoạn mã Python sau:
```python
def chao(ten):
print(
- A. Giảm dung lượng bộ nhớ sử dụng.
- B. Tái sử dụng mã lệnh (in lời chào) với các đối tượng khác nhau (An, Binh).
- C. Thực hiện các phép tính toán phức tạp.
- D. Bắt lỗi cú pháp tự động.
Câu 5: Trong định nghĩa hàm `def tinh_tong(a, b):`, `a` và `b` được gọi là gì?
- A. Tham số hình thức (Formal parameters)
- B. Tham số thực tế (Actual parameters)
- C. Biến toàn cục (Global variables)
- D. Tên hàm (Function name)
Câu 6: Khi gọi hàm `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 parameters)
- C. Biến cục bộ (Local variables)
- D. Tên hàm (Function name)
Câu 7: Đoạn mã nào sau đây định nghĩa một hàm không có tham số và không trả về giá trị?
- A. def xin_chao():
return
- B. def tinh_toan(x):
print(x*2)
- C. def in_thong_bao():
print(
- D. def lay_du_lieu(a, b):
pass
Câu 8: Để một hàm có thể trả về một giá trị sau khi thực hiện xong các lệnh bên trong, ta sử dụng từ khóa nào?
- A. return
- B. print
- C. yield
- D. export
Câu 9: Quan sát đoạn mã sau:
```python
def tinh_tich(a, b):
ket_qua = a * b
return ket_qua
so1 = 4
so2 = 6
tich = tinh_tich(so1, so2)
print(tich)
```
Kết quả in ra màn hình sẽ là bao nhiêu?
- A. ket_qua
- B. so1 * so2
- C. 10
- D. 24
Câu 10: Nếu một hàm trong Python không có lệnh `return` hoặc có `return` mà không có giá trị đi kèm, thì mặc định hàm đó sẽ trả về giá trị gì?
- A. 0
- B. None
- C. True
- D. Một chuỗi rỗng (
Câu 11: Để sử dụng các hàm toán học nâng cao như căn bậc hai (`sqrt`), giá trị tuyệt đối (`fabs`), logarit (`log`),... trong Python, ta thường cần nhập thư viện nào?
- A. math
- B. random
- C. os
- D. sys
Câu 12: Cú pháp đúng để nhập toàn bộ các hàm và hằng số từ thư viện `math` là gì?
- A. use math
- B. include math
- C. import math
- D. from math import *
Câu 13: Sau khi thực hiện lệnh `import math`, để tính căn bậc hai của một số `x` (ví dụ x=9), ta sử dụng cú pháp nào?
- A. math.sqrt(x)
- B. sqrt(x)
- C. math.sqrt x
- D. math(sqrt(x))
Câu 14: Thư viện chuẩn `random` trong Python thường được sử dụng cho mục đích gì?
- A. Xử lý tệp và thư mục.
- B. Thao tác với chuỗi ký tự.
- C. Tính toán các giá trị lượng giác.
- D. Tạo ra các số hoặc lựa chọn ngẫu nhiên.
Câu 15: Quan sát đoạn mã sau:
```python
import math
def tinh_khoang_cach(x1, y1, x2, y2):
kc_binh_phuong = (x2 - x1)**2 + (y2 - y1)**2
khoang_cach = math.sqrt(kc_binh_phuong)
return khoang_cach
xA, yA = 1, 2
xB, yB = 4, 6
print(tinh_khoang_cach(xA, yA, xB, yB))
```
Đoạn mã này tính toán và in ra giá trị gì?
- A. Tổng của các tọa độ.
- B. Khoảng cách giữa hai điểm (xA, yA) và (xB, yB) trong mặt phẳng.
- C. Diện tích của một hình chữ nhật.
- D. Độ dài đường chéo của một hình vuông.
Câu 16: Khi sử dụng lệnh `from math import sqrt`, điều gì xảy ra?
- A. Tất cả các hàm trong thư viện math được nhập và có thể gọi trực tiếp bằng tên hàm.
- B. Không có hàm nào từ thư viện math được nhập.
- C. Chỉ hàm `sqrt` được nhập, và để gọi nó cần dùng `math.sqrt()`.
- D. Chỉ hàm `sqrt` được nhập, và có thể gọi trực tiếp bằng tên hàm `sqrt()`.
Câu 17: Viết một hàm trong Python để kiểm tra xem một số nguyên dương `n` có phải là số chẵn hay không. Hàm này nên trả về giá trị gì để cho biết kết quả kiểm tra?
- A. Số `n` nếu là số chẵn, ngược lại trả về 0.
- B. Một chuỗi
- C. Giá trị kiểu Boolean: `True` nếu `n` là số chẵn, `False` nếu `n` là số lẻ.
- D. Không cần trả về giá trị, chỉ cần in ra kết quả.
Câu 18: Quan sát đoạn mã sau:
```python
def xu_ly(x):
if x > 10:
return x * 2
else:
print(
- A. 30
Gia tri nho hoac bang 10
8
- B. Gia tri nho hoac bang 10
30
None
- C. 30
None
Gia tri nho hoac bang 10
- D. Gia tri nho hoac bang 10
None
30
Câu 19: Giả sử bạn cần viết một chương trình để tính diện tích của nhiều hình tròn với bán kính khác nhau. Việc sử dụng chương trình con (hàm) để tính diện tích hình tròn sẽ giúp ích như thế nào?
- A. Tránh lặp lại công thức tính diện tích ở nhiều chỗ trong chương trình.
- B. Giúp chương trình chạy nhanh hơn.
- C. Chỉ áp dụng được cho các hình tròn có bán kính là số nguyên.
- D. Bắt buộc phải sử dụng hàm thư viện `math`.
Câu 20: Trong Python, thân hàm (các lệnh mô tả hàm) phải được viết như thế nào so với dòng tiêu đề hàm `def ...:`?
- A. Thẳng hàng với từ khóa `def`.
- B. Ngay sau dấu hai chấm `:` và không xuống dòng.
- C. Lùi vào một khoảng trắng nhất định (thường là 4 khoảng trắng hoặc 1 tab).
- D. Không có quy định cụ thể về cách lùi dòng.
Câu 21: Thư viện `math` cung cấp hằng số `math.pi` có giá trị xấp xỉ 3.14159.... Hằng số này được dùng phổ biến trong các bài toán liên quan đến hình học nào?
- A. Hình vuông và hình chữ nhật.
- B. Hình tam giác.
- C. Hình lập phương.
- D. Hình tròn và hình cầu.
Câu 22: Bạn muốn viết một hàm nhận vào một danh sách các số và trả về số lớn nhất trong danh sách đó. Kiểu giá trị trả về của hàm này nên là gì?
- A. Một số (kiểu int hoặc float tùy thuộc vào dữ liệu đầu vào).
- B. Một danh sách.
- C. Một giá trị Boolean.
- D. Không cần trả về giá trị.
Câu 23: Quan sát đoạn mã sau:
```python
def kiem_tra_so_duong(so):
if so > 0:
print(f
- A. 10 la so duong
- B. None
- C. True
- D. Một lỗi (Error).
Câu 24: Giả sử bạn cần tạo một chương trình tung xúc xắc. Bạn nên sử dụng hàm nào từ thư viện `random` để mô phỏng việc tung một con xúc xắc 6 mặt (kết quả từ 1 đến 6)?
- A. random.random()
- B. random.choice([1, 2, 3, 4, 5, 6])
- C. random.randint(1, 6)
- D. random.uniform(1, 6)
Câu 25: Điều gì xảy ra nếu bạn gọi một hàm nhưng lại truyền sai số lượng tham số mà hàm đó yêu cầu?
- A. Chương trình sẽ báo lỗi (Error) khi chạy.
- B. Hàm sẽ tự động thêm hoặc bớt tham số để phù hợp.
- C. Hàm sẽ vẫn chạy nhưng kết quả có thể sai.
- D. Chương trình sẽ tự động sửa lỗi và chạy bình thường.
Câu 26: Quan sát đoạn mã sau:
```python
def ham_thu_nhat():
print(
- A. Chay ham thu hai
Chay ham thu nhat
- B. Chay ham thu hai
- C. Chay ham thu nhat
- D. Chay ham thu nhat
Chay ham thu hai
Câu 27: Khi một chương trình con được gọi, luồng thực thi của chương trình sẽ chuyển như thế nào?
- A. Chuyển đến dòng lệnh đầu tiên trong thân chương trình con, thực hiện các lệnh trong đó, và sau đó quay trở lại điểm gọi hàm.
- B. Thực hiện song song cả chương trình chính và chương trình con.
- C. Kết thúc chương trình chính và chỉ chạy chương trình con.
- D. Chỉ thực hiện chương trình con nếu không có lỗi trong chương trình chính.
Câu 28: Một biến được khai báo bên trong thân của một hàm Python được gọi là gì? Phạm vi sử dụng của nó như thế nào?
- A. Biến toàn cục, có thể sử dụng ở bất kỳ đâu trong chương trình.
- B. Biến cục bộ, chỉ có thể sử dụng bên trong hàm mà nó được khai báo.
- C. Biến tham số, chỉ được sử dụng ở dòng tiêu đề hàm.
- D. Biến hệ thống, chỉ được sử dụng bởi Python.
Câu 29: Bạn cần tính diện tích của một hình chữ nhật. Bạn nên viết một hàm nhận bao nhiêu tham số đầu vào để thực hiện việc này một cách hiệu quả?
- A. Không có tham số.
- B. Một tham số (ví dụ: diện tích).
- C. Hai tham số (chiều dài và chiều rộng).
- D. Ba tham số (chiều dài, chiều rộng, và đơn vị đo).
Câu 30: Quan sát đoạn mã sau:
```python
import math
def tinh_chu_vi_duong_tron(r):
chu_vi = 2 * math.pi * r
# Thiếu lệnh trả về giá trị
ban_kinh = 5
ket_qua_chu_vi = tinh_chu_vi_duong_tron(ban_kinh)
print(ket_qua_chu_vi)
```
Đoạn mã này có lỗi logic hoặc thiếu sót nào liên quan đến việc sử dụng hàm?
- A. Không nhập thư viện `math`.
- B. Công thức tính chu vi sai.
- C. Truyền sai tham số khi gọi hàm.
- D. Hàm `tinh_chu_vi_duong_tron` tính toán giá trị nhưng không trả về bằng lệnh `return`.