Trắc nghiệm Tin học 10 Kết nối tri thức Bài 27: Tham số của hàm - Đề 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, khi định nghĩa một hàm, các biến được liệt kê trong dấu ngoặc đơn sau tên hàm được gọi là gì?
- A. Tham số (Parameters)
- B. Đối số (Arguments)
- C. Biến cục bộ (Local variables)
- D. Giá trị trả về (Return values)
Câu 2: Khi gọi một hàm trong Python, các giá trị được truyền vào trong dấu ngoặc đơn được gọi là gì?
- A. Tham số (Parameters)
- B. Đối số (Arguments)
- C. Biến toàn cục (Global variables)
- D. Kiểu dữ liệu (Data types)
Câu 3: Xét đoạn code sau:
```python
def chao_mung(ten):
print(f"Xin chào, {ten}!")
chao_mung("Minh")
```
Trong lời gọi hàm `chao_mung("Minh")`, "Minh" là gì?
- A. Tham số của hàm
- B. Biến cục bộ trong hàm
- C. Đối số truyền vào hàm
- D. Giá trị trả về của hàm
Câu 4: Xét đoạn code sau:
```python
def tinh_tong(a, b):
return a + b
ket_qua = tinh_tong(5, 10)
```
Trong định nghĩa hàm `def tinh_tong(a, b):`, `a` và `b` là gì?
- A. Tham số của hàm
- B. Đối số của hàm
- C. Biến toàn cục
- D. Giá trị trả về của hàm
Câu 5: Điều gì xảy ra nếu bạn gọi một hàm và số lượng đối số truyền vào khác với số lượng tham số mà hàm đó được định nghĩa?
- A. Chương trình sẽ chạy nhưng kết quả sai.
- B. Python sẽ tự động gán giá trị mặc định cho các tham số thiếu.
- C. Hàm sẽ bỏ qua các đối số thừa hoặc gán None cho các tham số thiếu.
- D. Chương trình sẽ báo lỗi cú pháp (TypeError) và dừng lại.
Câu 6: Cho hàm sau:
```python
def nhan_doi(x):
return x * 2
```
Nếu gọi hàm `nhan_doi(7)`, giá trị nào sẽ được gán cho tham số `x` bên trong hàm?
- A. Biến `nhan_doi`
- B. Giá trị 7
- C. Kết quả `x * 2`
- D. Không có giá trị nào được gán
Câu 7: Xét đoạn code sau:
```python
def xu_ly(a, b):
print(a, b)
xu_ly(10, 20)
```
Kết quả hiển thị trên màn hình là gì?
- A. 10 20
- B. a b
- C. Lỗi
- D. Không hiển thị gì cả
Câu 8: Cho hàm sau:
```python
def hieu(num1, num2):
return num1 - num2
ket_qua = hieu(25, 15)
```
Giá trị của biến `ket_qua` sau khi chạy đoạn code này là bao nhiêu?
Câu 9: Khi truyền đối số theo vị trí, thứ tự của các đối số trong lời gọi hàm phải như thế nào so với thứ tự của các tham số trong định nghĩa hàm?
- A. Phải khớp đúng thứ tự.
- B. Không quan trọng thứ tự.
- C. Chỉ cần khớp kiểu dữ liệu.
- D. Chỉ cần khớp tên.
Câu 10: Đâu là lợi ích chính của việc sử dụng tham số trong định nghĩa hàm?
- A. Giúp hàm chạy nhanh hơn.
- B. Làm cho hàm có thể hoạt động với các dữ liệu đầu vào khác nhau, tăng tính tái sử dụng.
- C. Giảm số lượng biến toàn cục cần dùng.
- D. Bắt buộc phải sử dụng tham số trong mọi hàm.
Câu 11: Xét đoạn code sau:
```python
def kiem_tra_so_chan(so):
if so % 2 == 0:
return True
else:
return False
print(kiem_tra_so_chan(4))
print(kiem_tra_so_chan(7))
```
Kết quả hiển thị trên màn hình là gì?
- A. True
False
- B. False
True
- C. True
True
- D. False
False
Câu 12: Cho hàm:
```python
def luy_thua(co_so, so_mu):
return co_so ** so_mu
```
Để tính 5^3, bạn sẽ gọi hàm như thế nào?
- A. luy_thua(so_mu=3, co_so=5)
- B. luy_thua(5=co_so, 3=so_mu)
- C. luy_thua(co_so=5; so_mu=3)
- D. luy_thua(5, 3)
Câu 13: Trong Python, tham số của hàm có thể có kiểu dữ liệu cố định không?
- A. Có, phải khai báo kiểu dữ liệu cho tham số.
- B. Không, Python là ngôn ngữ kiểu động, kiểu dữ liệu của tham số được xác định khi hàm được gọi dựa trên đối số.
- C. Chỉ có thể là kiểu số (int, float).
- D. Chỉ có thể là kiểu chuỗi (str).
Câu 14: Xét đoạn code sau:
```python
def phep_chia(a, b):
if b == 0:
return "Lỗi: Chia cho 0"
else:
return a / b
ket_qua1 = phep_chia(10, 2)
ket_qua2 = phep_chia(5, 0)
print(ket_qua1)
print(ket_qua2)
```
Kết quả hiển thị trên màn hình là gì?
- A. 5.0
Lỗi: Chia cho 0
- B. 5
Lỗi: Chia cho 0
- C. 5.0
Lỗi: Chia cho 0
- D. Lỗi: Chia cho 0
5.0
Câu 15: Giả sử bạn cần viết một hàm tính diện tích hình chữ nhật. Hàm này sẽ cần bao nhiêu tham số?
- A. Một tham số (chiều dài hoặc chiều rộng).
- B. Hai tham số (chiều dài và chiều rộng).
- C. Ba tham số (chiều dài, chiều rộng, và diện tích).
- D. Không cần tham số.
Câu 16: Trong Python, các tham số được truyền vào hàm mặc định là truyền theo cơ chế nào?
- A. Truyền tham chiếu đối tượng (Pass by object reference)
- B. Truyền giá trị (Pass by value)
- C. Truyền tham chiếu (Pass by reference)
- D. Truyền tên (Pass by name)
Câu 17: Xét hàm sau:
```python
def cap_nhat_danh_sach(danh_sach, phan_tu_moi):
danh_sach.append(phan_tu_moi)
list1 = [1, 2, 3]
cap_nhat_danh_sach(list1, 4)
print(list1)
```
Kết quả in ra màn hình là gì?
- A. [1, 2, 3]
- B. [4]
- C. Lỗi
- D. [1, 2, 3, 4]
Câu 18: Xét hàm sau:
```python
def thay_doi_gia_tri(x):
x = x + 10
print(f"Bên trong hàm: x = {x}")
y = 5
thay_doi_gia_tri(y)
print(f"Bên ngoài hàm: y = {y}")
```
Kết quả in ra màn hình là gì?
- A. Bên trong hàm: x = 15
Bên ngoài hàm: y = 15
- B. Bên trong hàm: x = 15
Bên ngoài hàm: y = 5
- C. Bên trong hàm: x = 5
Bên ngoài hàm: y = 15
- D. Bên trong hàm: x = 5
Bên ngoài hàm: y = 5
Câu 19: Điều gì sẽ xảy ra nếu bạn cố gắng truy cập một tham số của hàm từ bên ngoài hàm đó?
- A. Chương trình sẽ báo lỗi NameError vì tham số chỉ có phạm vi hoạt động (scope) bên trong hàm.
- B. Bạn có thể truy cập nó như một biến toàn cục.
- C. Bạn sẽ nhận được giá trị None.
- D. Giá trị của tham số sẽ là giá trị của đối số cuối cùng được truyền vào.
Câu 20: Cho hàm sau:
```python
def xuat_thong_tin(ten, tuoi):
print(f"Tên: {ten}, Tuổi: {tuoi}")
```
Lời gọi hàm nào sau đây sẽ gây lỗi?
- A. xuat_thong_tin("An", 16)
- B. xuat_thong_tin(tuoi=17, ten="Binh")
- C. xuat_thong_tin("Lan")
- D. xuat_thong_tin(ten="Cuong", tuoi=18)
Câu 21: Hãy xác định đâu là đối số trong lời gọi hàm sau:
`tinh_trung_binh(diem_toan, diem_ly, diem_hoa)`
- A. tinh_trung_binh
- B. (diem_toan, diem_ly, diem_hoa)
- C. hàm
- D. diem_toan, diem_ly, diem_hoa
Câu 22: Một hàm có thể có bao nhiêu tham số?
- A. Không giới hạn số lượng tham số (chỉ bị giới hạn bởi bộ nhớ và tính đọc hiểu code).
- B. Tối đa 1 tham số.
- C. Tối đa 5 tham số.
- D. Chỉ có thể có 0 hoặc 1 tham số.
Câu 23: Nếu một hàm không có tham số nào khi định nghĩa, thì khi gọi hàm đó, bạn sẽ làm thế nào?
- A. Truyền vào một giá trị bất kỳ làm đối số.
- B. Truyền vào None làm đối số.
- C. Gọi tên hàm với cặp dấu ngoặc đơn rỗng, ví dụ: `ten_ham()`.
- D. Không thể gọi được hàm không có tham số.
Câu 24: Phân biệt giữa tham số và đối số, đâu là khái niệm được sử dụng khi định nghĩa hàm?
- A. Tham số
- B. Đối số
- C. Cả hai
- D. Không cái nào
Câu 25: Phân biệt giữa tham số và đối số, đâu là khái niệm được sử dụng khi gọi hàm?
- A. Tham số
- B. Đối số
- C. Cả hai
- D. Không cái nào
Câu 26: Xét đoạn code sau:
```python
def calculate_area(length, width):
area = length * width
print(f"Area is: {area}")
calculate_area(10, 5)
```
Trong đoạn code này, biến `area` là gì?
- A. Tham số của hàm
- B. Đối số của hàm
- C. Biến toàn cục
- D. Biến cục bộ trong hàm
Câu 27: Cho hàm:
```python
def greet(name="Guest"):
print(f"Hello, {name}")
greet()
greet("Alice")
```
Kết quả in ra màn hình là gì?
- A. Hello, Guest
Hello, Alice
- B. Hello, Guest
Hello, Guest
- C. Hello, Alice
Hello, Alice
- D. Hello, Alice
Hello, Guest
Câu 28: Trong định nghĩa hàm `def cong_tru(x, y):`, `x` và `y` là các tham số. Điều nào sau đây mô tả đúng nhất vai trò của chúng?
- A. Chúng là các biến lưu trữ kết quả của hàm.
- B. Chúng là các tên gọi cố định mà hàm luôn sử dụng.
- C. Chúng là các "chỗ giữ" cho dữ liệu mà hàm sẽ nhận khi được gọi.
- D. Chúng là các lệnh được thực thi bên trong hàm.
Câu 29: Xét hàm:
```python
def process_data(data):
# Giả sử "data" là một danh sách
data.sort()
print(data)
my_list = [3, 1, 4, 1, 5, 9]
process_data(my_list)
print(my_list)
```
Kết quả in ra màn hình là gì?
- A. [3, 1, 4, 1, 5, 9]
[3, 1, 4, 1, 5, 9]
- B. [9, 5, 4, 3, 1, 1]
[9, 5, 4, 3, 1, 1]
- C. [1, 1, 3, 4, 5, 9]
[3, 1, 4, 1, 5, 9]
- D. [1, 1, 3, 4, 5, 9]
[1, 1, 3, 4, 5, 9]
Câu 30: Khi truyền một đối số là giá trị bất biến (như số nguyên, chuỗi, tuple) vào hàm, việc thay đổi giá trị của tham số bên trong hàm có ảnh hưởng đến giá trị của đối số ban đầu bên ngoài hàm không?
- A. Không, vì Python truyền tham chiếu đối tượng, nhưng với kiểu bất biến, việc gán lại tạo ra đối tượng mới.
- B. Có, giá trị của đối số bên ngoài sẽ thay đổi theo.
- C. Chỉ khi sử dụng từ khóa `global`.
- D. Chỉ khi hàm có câu lệnh `return`.