Giải bài tập Tin học lớp 10 Bài 27: Tham số của hàm
Khởi động trang 131 Tin học lớp 10: Quan sát các lệnh sau và cho biết sự khác nhau giữa các tham số (parameter) và đối số (argument).
Phương pháp giải:
Quan sát các lệnh
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 hàm khi gọi hàm.
Trả lời:
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.
1. Tham số và đối số của hàm
Hoạt động 1 trang 131 Tin học 10: Quan sát ví dụ sau, tìm hiểu cách dữ liệu được truyền qua tham số vào hàm. Thảo luận để giải thích kết quả.
Phương pháp giải:
Quan sát các ví dụ
Trả lời:
– Cách dữ liệu được truyền qua tham số vào hàm: Khi gọi hàm, các tham số được truyền bằng giá trị thông qua đối số 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.
– Giải thích:
Hàm f() đã được định nghĩa với ba tham số a, b, c. Hàm có trả lại giá trị là a + b + c
Hàm f được gọi với ba giá trị cụ thể là 1, 2, 3 và thu được kết quả 1 + 2+ 3 = 6
Câu hỏi 1 trang 132 Tin học 10: Một hàm khi khai báo có một tham số, nhưng khi gọi hàm có thể có hai đối số được không?
Phương pháp giải:
Khi gọi hàm, số lượng giá trị được truyền vào hàm phải bằng với số tham số trong khai báo của hàm
Trả lời:
Không được vì số lượng giá trị được truyền vào hàm phải bằng với số tham số trong khai báo của hàm.
Câu hỏi 2 trang 132 Tin học 10: Giả sử hàm f có hai tham số x, y khi khai báo, hàm sẽ trả lại giá trị x + 2y. Lời gọi hàm f(10,a) có lỗi hay không?
Phương pháp giải:
Lời gọi hàm bị lỗi nếu các tham số được truyền vào chưa có giá trị
Trả lời:
Lời gọi hàm f(10,a) có lỗi nếu tham số a truyền vào chưa có giá trị
2. Cách sử dụng chương trình con
Hoạt động 2 trang 132 Tin học 10: Bài toán đưa ra là viết chương trình chính yêu cầu nhập số tự nhiên n từ bàn phím và in ra các số nguyên tố nhỏ hơn hoặc bằng n ra màn hình. Trong phần thực hành của Bài 26 em đã biết hàm prime(n) kiểm tra số n có là số nguyên tố.
Em sẽ viết chương trình giải bài toán như thế nào?
Phương pháp giải:
Dựa vào bài thực hành kiểm tra số n có là số nguyên tố hay không dùng hàm prime(n)
Trả lời:
Chương trình:
def prime(n):
c=0
k=1
while k<n:
if n%k==0:
c=c+1
k=k+1
if c==1:
return True
else:
return False
n=int(input(“Nhập số tự nhiên n:”))
for k in range(1,n+1):
if prime(k)==True:
print(i, end=” “)
Câu hỏi 1 trang 133 Tin học 10: Sử dụng hàm prime, em hãy viết chương trình in ra các số nguyên tố trong khoảng từ m đến n với m, n là hai số tự nhiên và 1< m< n.
Phương pháp giải:
Dựa vào kiến thức đã học về hàm prime
Trả lời:
Câu hỏi 2 trang 133 Tin học 10: Em hãy nêu một công việc/bài toán nào đó mà có thể sử dụng hàm để giải.
Phương pháp giải:
Vận dụng sự hiểu biết của bản thân
Trả lời:
– Bài toán đếm số năm nhuận trong khoảng thời gian nào đó
– Bài toán đếm và tính tổng, trung bình của các số thỏa mãn tính chất nào đó (ví dụ chia hết cho 5) trong dãy số cho trước
Luyện tập (trang 135)
Luyện tập 1 trang 135 Tin học 10: Thiết lập hàm power(a,b,c) với a, b, c là số nguyên. Hàm trả lại giá trị (a+b)c
Phương pháp giải:
Sử dụng hàm power để tính giá trị mũ
Trả lời:
Luyện tập 2 trang 135 Tin học 10: Viết chương trình thực hiện: Nhập hai số tự nhiên từ bàn phím, hai số cách nhau bởi dấu cách. Tính và in ra tổng của các số này.
Phương pháp giải:
Dựa vào kiến thức đã học để viết chương trình
Trả lời:
def tinhTong(A):
t=0
for i in range(0, len(A)):
t=t+int(A[i])
return t
s=input(“Nhập hai số tự nhiên cách nhau bởi dấu cách: “)
A=s.split(” “)
print(tinhTong(A))
Vận dụng (trang 135)
Vận dụng 1 trang 135 Tin học 10: Viết chương trình thực hiện: Nhập hai số tự nhiên từ bàn phím, hai số cách nhau bởi dấu phẩy, in ra ước chung lớn nhất (ƯCLN) của hai số.
Phương pháp giải:
Vận dụng kiến thức đã học để viết chương trình
Trả lời:
def UCLN(a,b):
r = a % b
while r != 0:
a = b
b = r
r = a % b
return b
s=input(“Nhập hai số tự nhiên cách nhau bởi dấu phẩy: “)
s=s.replace(“,”,” “)
A=s.split(” “)
a=int(A[0])
b=int(A[1])
print(“ƯCLN của a và b là: “,UCLN(a,b))
Vận dụng 2 trang 135 Tin học 10: Thiết lập hàm change() có hai tham số là xâu ho_ten và số c. Hàm sẽ trả lại xâu kí tự ho_ten là chữ in hoa nếu c = 0. Nếu tham số c khác 0 thì hàm trả lại xâu ho_ten là chữ in thường.
Gợi ý: Sử dụng các phương thức s.upper() và s.lower() để chuyển đổi các kí tự của xâu s sang chữ in hoa và in thường.
Phương pháp giải:
Sử dụng các phương thức s.upper() và s.lower() để chuyển đổi các kí tự của xâu s sang chữ in hoa và in thường.
Trả lời:
s=input(“Nhập họ tên: “)
c=int(input(“Nhập số c: “))
def change(s,c):
if c==0:
return s.upper()
else:
return s.lower()
print(“”.join(change(s,c))
Xem thêm các bài giải SGK Tin học lớp 10 Kết nối tri thức hay, chi tiết khác:
Bài 26: Hàm trong Python
Bài 28: Phạm vi của biến
Bài 29: Nhận biết lỗi chương trình
Bài 30: Kiểm thử và gỡ lỗi chương trình