A.
YÊU CẦU CẦN ĐẠT
- Biết cách thiết
lập các tham số của hàm. Hiểu được cách truyền giá trị thông qua đối số hàm.
- Biết viết chương
trình có sử dụng chương trình con .
B.
NỘI DUNG BÀI HỌC
1. THAM SỐ VÀ ĐỐI
SỐ CỦA HÀM
Ví dụ. Cách truyền
dữ liệu qua tham số
1 >>>
def f(a,b,c): #
Hàm f() có 3 tham số a, b, c
2 return a+b+c
3 >>>
f(1,2,3) # Hàm f() được gọi với
ba giá trị cụ thể
4 6
5 >>>
x,y,z = 10,20,5
6 >>>
f(x,y,z) # Hàm f() được gọi với ba biến
đã có giá trị
7 35
8 >>> f(a,b,c) # 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ị
9 Traceback (most recent call last):
10 File
“<pyshell#6>”, line 1, in <module>
11 f(a,b,c)
12 NameError: name
‘a’ is not defined
13 >>>
Ghi 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 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.
2. CÁCH SỬ DỤNG
CHƯƠNG TRÌNH CON
Ví dụ 1. Việc kiểm tra một
số có là số nguyên tố được lặp đi lặp lại từ 1 đến n và do đó nên sử dụng hàm
prime(n) để kiểm tra sẽ giúp chương trình cấu trúc rõ ràng và dễ hiểu hơn.
Chương trình hoàn
chỉnh giải bài toán trên có thể được viết như sau:
Ví dụ 2. Chương trình sử dụng chương trình con.
Cho trước hai dãy số B, C, chương trình
chính cần tính tổng các số hạng dương của mỗi dãy này. Chúng ta sẽ thiết lập
hàm tongduong(A) để tính tổng các số hạng lớn hơn của một dãy A. Chương trình
chính sẽ gọi hàm tongduong(A)
Chương trình có thể
như sau:
Tóm lại:
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.
C.
CỦNG CỐ - VẬN DỤNG
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á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
Chương trình có thể
như sau:
Nhiệm vụ 2. Thiết lập hàm
f_dem(msg, sep) có chức năng đếm số từ của một xâu msg với kí tự tách từ là sep
Ví dụ:
f_dem(“Mùa thu lịch
sử”, “ ”)
# trả lại giá trị 4
f_dem(“Mùa thu lịch
sử”, “ . ”)
# trả lại giá trị
1
Hướng dẫn. Để tách xâu msg
thành các từ, ta dùng lệnh split(). 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àm
này sẽ gộp hai xâu s1, s2 theo cách, lấy lần lượt kí tự s1, s2 đưa vào xâu kết
quả. Nếu có một xâu hết kí tự thì đưa phần còn lại của xâu dài hơn vào xâu kết
quả. Ví dụ nếu s1 = “1111”, s2 = “0000”, thì xâu kết quả là “10101010”
Hướng dẫn. Gọi S
là xâu kết quả trước và sau khi gộp hai xâu s1 và s2, chương trình có thể như
sau:
--- THE END ---