Tin học 10 Kết nối tri thức Bài 27. Tham số của hàm
1. Tham số và đối số của hàm
Hoạt động 1. Phân biệt tham số và đối số- Dòng 1: Hàm f() đã được định nghĩa với ba tham số a, b, c.
Hàm trả lại giá trị là a + b + c.
- Dòng 3: Hàm f() được gọi với ba giá trị cụ thể là 1,
2, 3. Các giá trị được
truyền qua tham số được gọi là đối số. Đối số tại dòng
3 là các số cụ thể.
- Dòng 6: Hàm f() được gọi với ba biến x, y, z, đã được
gán giá trị (dòng
5). các biến được truyền qua tham số được gọi là đối số,
kết quả trả lại là x +
y + z.
- Dòng 10: Hàm f() được gọi với ba biến a, b, c không
xác định giá trị nên
lời gọi hàm f(a, b, c) báo lỗi do không xác định được
giá trị của a, b, c.
* Phân biệt tham số và đối số:
- Tham số: là biến được ghi trong khai báo của hàm. Hàm
có thể có hoặc
không có tham số.
-Đối số là giá trị được truyền vào khi gọi hàm, các
tham số (parameter) sẽ được truyền bằng giá trị thông qua đối số (argument), số
lượng truyền vào bằng với số tham số trong khai báo của hàm.
1. 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?
2. 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?
Giải tin học 10 kết nối tri thức trang 132
2. Cách sử dụng hàm
Hoạt động 2 Khi nào nên sử dụng chương trình con
Bài toán đưa ra là viết chương trình chính yêu cầu nhập vào 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 primt(n) kiểm tra n có là số nguyên tố
Em sẽ viết chương trình giải bài toán này như thế nào?
- Sử dụng chương trình con
giúp phân chia việc giải bài toán lớn thành các bài toán nhỏ và phát huy 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, cần hiệu chỉnh, phát triển
và nâng cấp cũng thuận tiện hơn.
?Câu hỏi và bài tập củng cố
1. Lợi ích của việc sử dụng chương trình con là gì?
2. Sử dụng hàm prime, em hãy viếtchươ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.
3. 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
Giải tin học 10 kết nối tri thức trang 133
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 như sau:
Nếu b = 0 thì tính tổng các số 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.
def f_sum(A,b): S=0 for x in A: if b==0: S= S+ x else: if x > 0: S=S + x return S A=[5,-5,14,23,-32,-41,6,1,-8,9] print(f_sum(A,0)) print(f_sum(A,1))
f_sum(A,0) trả lại -28
f_sum(A,1) trả lại 58
Nhiệm vụ 2: Thiết lập hàm 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.
def f_dem(msg,sep): xlist=msg.split(sep) return len(xlist) print(f_dem("Mua thu lich su"," ")) print(f_dem("Mua thu lich su","-"))
f_dem("Mua thu lich su"," ") trả lại giá trị 4.
f_dem("Mua thu lich su","-") trả lại giá trị 1
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.
def merge_str(s1,s2): S="" l1=len(s1) l2=len(s2) l=min(l1,l2) for i in range(l): S = S+ s1[i] + s2[i] if l1 < l2: for i in range(l,l2): S= S + s2[i] if l2 < l1: for i in range(l,l1): S= S + s1[i] return S print(merge_str("1111","0000")) print(merge_str("1111","00000000")) print(merge_str("11111111","0000"))
print(merge_str("1111","0000")) kết quả trả về 10101010
print(merge_str("1111","00000000")) kết quả trả về 101010100000
print(merge_str("11111111","0000")) kết quả trả về 101010101111
LUYỆN TẬP
1. 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
2. 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. Yêu cầu sử dụng hàm khi viết chương trình
Cách 1:
Cách 2:
VẬN DỤNG
1. 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ố.
Nhập số tự nhiên m,n = 4,12 kết quả là 4. Khi dùng hàm eval nhập thì cách nhau dấu phẩy
m,n=map(int,input("Nhập số tự nhiên m,n = ").split()) -> nếu dùng map thì các số khi nhập cách nhau bằng khoảng trắng
2. 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.
3. Chỉ số sức khỏe BMI của con người được định nghĩa theo công thức sau:
BMI=m/h2 , trong đó m là khối lượng cơ thể tính bằng kg, h là chiều cao tính theo mét. Viết hàm tính chỉ số BMI theo tham số m, h. Sau đó, in ra màn hình chỉ số sức khỏe BMI và thông báo “Bạn gầy” hoặc “Bạn bình thường” hoặc “Bạn bị béo phì”. Biết chỉ số sức khỏe BMI có ý nghĩa như sau:
Nếu BMI <18 thì phân loại là gầy.
Nếu BMI từ 18 đến 25 thì phân loại là bình thường.
Nếu BMI >25 thì phân loại là béo phì.
Gợi ý trả lời câu 3
Chủ đề 1: Máy tính và xã hội tri thức
Lý thuyết: Bài 1-Thông tin và dữ liệu
Lý thuyết: Bài 2-Vai trò của thiết bị thông minh và tin học đối với xã hội
Chủ đề 2: Mạng máy tính và Internet
Lý thuyết: Bài 8-Mạng máy tính trong cuộc sống hiện đại
Lý thuyết: Bài 9-An toàn trên không gian mạng
Chủ đề 3: Đạo đức, pháp luật và văn hóa trong môi trường số
Lý thuyết: Bài 11-Ứng dụng trên môi trường số. Nghĩa vụ tôn trọng bản quyền
Chủ đề 5: Giải quyết vấn đề với sự trợ giúp của máy tính
Lý thuyết: Bài 16-Ngôn ngữ lập trình bậc cao và Python
Lý thuyết: Bài 17-Biến và lệnh gán
Lý thuyết: Bài 18-Các lệnh vào ra đơn giản
Lý thuyết: Bài 19-Câu lệnh điều kiện if
Lý thuyết: Bài 20-Câu lệnh lặp for
Lý thuyết: Bài 21-Câu lệnh lặp while
Lý thuyết: Bài 22-Kiểu dữ liệu danh sách
Lý thuyết: Bài 23-Một số lệnh làm việc với dữ liệu danh sách
Lý thuyết: Bài 24-Xâu kí tự
Lý thuyết: Bài 25-Một số lệnh làm việc với xâu kí tự
Lý thuyết: Bài 26-Hàm trong Python
Lý thuyết: Bài 27-Tham số của hàm
Lý thuyết: Bài 28-Phạm vi của biến
Lý thuyết: Bài 29-Nhận biết lỗi chương trình
Lý thuyết: Bài 30-Kiểm thử và gỡ lỗi chương trình
Lý thuyết: Bài 31-Thực hành viết chương trình đơn giản
Lý thuyết: Bài 32-Ôn tập lập trình Python
Chủ đề 6: Hướng nghiệp với Tin học
Lý thuyết: Bài 33-Nghề thiết kế đồ hoạ máy tính
Lý thuyết: Bài 34-Nghề phát triển phần mềm