Tin học lớp 10 Bài 27: Tham số của hàm
A. Lý thuyết Tin học 10 Bài 27: Tham số của hàm
1. Tham số và đối số của hàm
– Tham số của hàm được định nghĩa khi khai báo hàm và được dùng như biến trong định nghĩa hàm.
– Đối số là giá trị được truyền vào khi gọi hàm.
– Khi gọi hàm, các tham số (parameter) sẽ được truyền bằng giá trị thông qua đối số (argument) của hàm, số lượng giá trị được truyền vào hàm bằng với số tham số trong khai báo của hàm.
– Ví dụ: Cách truyền dữ liệu qua tham số
2. Cách sử dụng chương trình con
– Sử dụng chương trình con có thể giúp phân chia việc giải một bài toán lớn thành giải quyết các bài toán nhỏ và phát huy được tinh thần làm việc nhóm.
– Chương trình chính có cấu trúc rõ ràng, dễ hiểu hơn, nếu cần hiệu chỉnh, phát triển và nâng cấp cũng thuận tiện hơn.
Thực hành: Truyền giá trị cho đối số của hàm
Nhiệm vụ 1: Thiết lập hàm f_sum(A, b) có chức năng tính tổng các số của danh sách A theo quy định sau:
– Nếu b = 0 thì tính tổng của danh sách A.
– Nếu b khác 0 thì chỉ tính tổng các số dương của A.
Hướng dẫn
Chương trình luôn kiểm tra giá trị của đối số b khi tính tổng các số của danh sách A
Chương trình:
Nhiệm vụ 2: Thiết lập f_dem(msg, sep) có chức năng đếm số các từ của một xâu msg với kí tự tách từ là sep.
Ví dụ:
Hướng dẫn
Dùng lệnh split(), để tách xâu msg thành các từ. Tham số sep chính là tham số của lệnh split().
Chương trình có thể như sau:
Nhiệm vụ 3: Thiết lập hàm merge_str(s1, s2) với s1, s2 là hai xâu cần gộp.
Hướng dẫn
Gọi S là xâu kết quả sau khi gộp hai xâu s1 và s2.
Chương trình có thể như sau:
B. Bài tập trắc nghiệm Tin học 10 Bài 27: Tham số của hàm
Câu 1. Các tham số của f có kiểu dữ liệu gì nếu hàm f được gọi như sau:
f( ‘5.0’)
A. str
B. float.
C. int.
D. Không xác định.
Hướng dẫn giải
Đáp án đúng là: A
“5.0” nên kiểu tham số là kiểu xâu.
Câu 2. Hàm f được khai báo như sau f(a, b, c). Số lượng đối số truyền vào là:
A. 3.
B. 2.
C. 1.
D. 4.
Hướng dẫn giải
Đáp án đúng là: A
Có 3 tham số nên cần có 3 đối số truyền vào.
Câu 3. Hoàn thành chương trình kiểm tra một số có là số nguyên tố không:
def prime(n):
c = 0
k = 1
while(k<n):
if n%k == 0:
c = c + 1
k = k+ 1
if c == 1:
return (…)
else:
return (…)
A. True, False.
B. True, True.
C. False, False.
D. False, True.
Hướng dẫn giải
Đáp án đúng là: A
Nếu số ước của n là 1 thì n là số nguyên tố, trả về giá trị True, ngược lại trả về giá trị False.
Câu 4. Giá trị của m là bao nhiêu sau biết kết quả là 5:
def tinhSum(a, b):
return a + b
s = tinhSum(1, m)
print(s)
A. 1.
B. 4.
C. 2.
D. 3.
Hướng dẫn giải
Đáp án đúng là: B
1 + 4 = 5 nên m = 4.
Câu 5. Chương trình sau bị lỗi ở dòng thứ bao nhiêu ?
def tinh(a, b):
if(b != 0):
return a // b
s = tinh(1, m)
print(s)
A. 2.
B. 3.
C. 4.
D. 5.
Hướng dẫn giải
Đáp án đúng là: C
Đối số m truyền vào chưa có giá trị cụ thể.
Câu 6. Khi khai báo hàm, thành phần nào được định nghĩa và được dùng như biến trong hàm?
A. Tham số.
B. Đối số.
C. Dữ liệu.
D. Giá trị.
Hướng dẫn giải
Đáp án đúng là: A
Tham số được định nghĩa khi khai báo hàm và dùng như biến trong hàm.
Câu 7. Chọn phát biểu đúng trong các phát biểu sau:
A. Lời gọi hàm không có lỗi nếu tham số được truyền chưa có giá trị.
B. Số lượng giá trị được truyền vào hàm bằng số tham số trong khai báo của hàm.
C. Tham số là giá trị được truyền vào khi gọi hàm.
D. Cả 3 phát biểu trên đều đúng.
Hướng dẫn giải
Đáp án đúng là: B
Lời gọi hàm có lỗi nếu tham số được truyền chưa có giá trị.
Đối số là giá trị được truyền vào khi gọi hàm.
Câu 8. Phát biểu nào bị sai?
A. Một hàm khi khai báo có một tham số nhưng khi gọi hàm có thể có 2 đối số.
B. Tham số được định nghĩa khi khai báo hàm.
C. Tham số và đối số có một số điểm khác nhau.
D. Khi gọi hàm, các tham số sẽ được truyền bằng giá trị thông qua đối số của hàm.
Hướng dẫn giải
Đáp án đúng là: A
Một hàm khi khai báo có một tham số nhưng khi gọi hàm không thể có 2 đối số.
Câu 9. Giả sử hàm f có hai tham số khi khai báo. Khi gọi hàm, 2 giá trị đối số nào truyền vào sẽ gây lỗi?
A. 2, 3.
B. 10, c.
C. “a”, “b”.
D. “a”, “3”.
Hướng dẫn giải
Đáp án đúng là: B
Giá trị của c chưa xác định nên sẽ gây lỗi.
Câu 10. Khi gọi hàm f(1, 2, 3), khi định nghĩa hàm f có bao nhiêu tham số?
A. 1.
B. 2.
C. 3.
D. 4.
Hướng dẫn giải
Đáp án đúng là: C
Do có 3 đối số nên f cần có 3 tham số.
Câu 11. Giá trị của x là bao nhiêu sau biết kết quả là 8:
def tinh(a, b, c):
if(b != 0):
return a // b + c*2
s = tinh(1, 5, x)
print(s)
A. 3.
B. 2.
C. 1.
D. 4.
Hướng dẫn giải
Đáp án đúng là: D
Do 1 // 5 + 4 *2 = 8 nên x = 4.
Câu 12. Hoàn thiện chương trình sau:
def USCLN_2(a, b):
r = a % b
while r != 0:
a = b
b = r
r = a % b
return (…)
A. a.
B. b.
C. r.
D. Chương trình bị lỗi.
Hướng dẫn giải
Đáp án đúng là: B
Kết quả b cuối cùng sẽ là UCLN của hai số a và b ban đầu, nên cần trả về b.
Câu 13. Hoàn thiện chương trình tìm UCLN của hai số?
def USCLN_1(a, b):
if (…):
return a
return USCLN_1(b, a % b)
a = input(‘Nhap vao so nguyen duong a=”)
b = int(input(“Nhao vao so nguyen duong b = ‘))
print(USCLN_1(a, b))
A. a > c.
B. a > b.
C. a == 1.
D. b == 0.
Hướng dẫn giải
Đáp án đúng là: D
Trong TH b = 0 thì UCLN của hai số bằng số còn lại.
Câu 14. Chương trình sau bị lỗi ở dòng thứ bao nhiêu
>>> def fib(n):
>>> a, b = 0, 1
>>> while a < n:
>>> print(a, end=’ ‘)
>>> a, b = b, a+b
>>> print()
>>> fib(1000)
A. 3.
B. 4.
C. Không có lỗi.
D. 5.
Hướng dẫn giải
Đáp án đúng là: C
Chương trình không có lỗi.
Câu 15. Kết quả của chương trình này là bao nhiêu?
def kq():
numbers = [2, 4, 6, 8]
product = 1
for number in numbers:
product = product * number
print(product)
kq()
A. 384.
B. 2.
C. 4.
D. 6.
Hướng dẫn giải
Đáp án đúng là: A
Hàm tính tích của các số trong mảng numbers và kết quả là 2 * 4 * 6 * 8 = 384.
Xem thêm các bài tóm tắt lý thuyết Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Lý thuyết Tin học 10 Bài 26: Hàm trong Python
Lý thuyết Tin học 10 Bài 27: Tham số của hàm
Lý thuyết Tin học 10 Bài 28: Phạm vi của biến
Lý thuyết Tin học 10 Bài 29: Nhận biết lỗi chương trình
Lý thuyết Tin học 10 Bài 30: Kiểm thử và gỡ lỗi chương trình