Bài 17. Chương trình con và phân loại

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyễn Thanh Tuyền
Ngày gửi: 22h:05' 08-05-2023
Dung lượng: 13.1 MB
Số lượt tải: 31
Nguồn:
Người gửi: Nguyễn Thanh Tuyền
Ngày gửi: 22h:05' 08-05-2023
Dung lượng: 13.1 MB
Số lượt tải: 31
Số lượt thích:
0 người
Chủ đề 6: CHƯƠNG TRÌNH CON
Môn
Lớp
Toán học
Tin học
Ngữ văn
Trường
KHỞI ĐỘNG
Em có thể kể tên một số
hàm trong số các lệnh
đã học hay không? Các
hàm đó có những đặc
điểm chung gì?
Page 02
File
Edit
View
HÀM TRONG PYTHON
Page 03
File
Edit
View
NỘI DUNG BÀI HỌC
1. Một số hàm thiết kế
sẵn của Python
2. Thiết lập các hàm tự
định nghĩa
Page 04
1. Một số hàm thiết kế sẵn của Python
Quan sát một số câu lệnh trong
Hoạt động 1:
và cho biết
những câu lệnh này có đặc điểm chung gì.
Bảng một số lệnh trong Python
abs()
list()
str()
len()
round()
divmod()
range()
chr()
int()
bool()
input()
print()
float()
ord()
type()
Page 05
Bảng một số lệnh trong Python
abs()
len()
range()
bool()
float()
list()
round()
chr()
input()
ord()
str()
divmod()
int()
print()
type()
Đặc điểm chung của các lệnh trong Bảng :
Đều có dấu đóng mở ngoặc đi sau tên lệnh.
Bên trong dấu ngoặc là các tham số, có thể là các đại lượng,
các biến hoặc biểu thức.
Page 06
Bảng một số lệnh trong Python
abs()
len()
range()
bool()
float()
list()
round()
chr()
input()
ord()
str()
divmod()
int()
print()
type()
Các lệnh trong Bảng chính là các chương trình
con được thiết kế sẵn của Python, cho phép
người dùng được tùy ý sử dụng khi viết chương
trình bằng các câu lệnh gọi hàm tương ứng.
Page 07
• Cú pháp câu lệnh gọi hàm:
()
• Hàm trong Python được phân làm hai loại:
Hàm có giá trị trả lại: input(), int(), divmod(),...
Hàm không có giá trị trả lại: print().
Page 08
File
Edit
View
Mô tả tham số và giá trị trả lại của mỗi hàm
sau: float(), str(), len(), list().
Hàm
Tham số
Ý nghĩa
float() x có thể là số hoặc xâu kí tự.
Chuyển x sang số thập phân.
str(x)
x có thể là số hoặc xâu kí tự.
Chuyển x sang xâu kí tự.
len(x)
x là danh sách hoặc xâu kí tự.
Độ dài của đối tượng x
list(x) x là xâu kí tự hoặc hàm
range().
Chuyển x sang danh sách.
Page 09
2. Thiết lập các hàm tự định nghĩa
Hoạt động 2:
Quan sát các ví dụ sau để biết cách viết hàm
Ví dụ 1: Cách viết hàm có trả lại giá trị
Tên hàm: inc
Tham số hàm: số n
Giá trị trả lại: số n + 1
Page 10
Ví dụ 2:
Cách viết hàm không trả lại giá trị
Tên hàm: thong_bao
Tham số hàm:
xâu kí tự msg
Giá trị trả lại:
không có
Page 11
HÀM TRONG PYTHON
Hàm là gì?
Hàm
- Hàm là một câu lệnh được
dùng thay cho một khối lệnh
- Hàm là chương trình con
HÀM TRONG PYTHON
Tạo hàm và gọi hàm
Tạo hàm
Gọi hàm
def tên hàm():
tên hàm()
HÀM TRONG PYTHON
Tạo hàm và gọi hàm
def Nhập_danh_sách_hoc_sinh() :
Tạo hàm
Gọi hàm
n=int(input("Nhập số học sinh trong lớp: "))
dslop=[]
for i in range(n):
hoten=input(“Nhập họ tên học sinh thứ “ + str(i+1) + “: “)
dslop.append(hoten)
Nhập_danh_sách_hoc_sinh()
HÀM TRONG PYTHON
Tạo hàm và gọi hàm
HÀM TRONG PYTHON
def tên hàm():
Hàm
def tên hàm():
return
Hàm trả lại giá
trị
def tên hàm(tham số):
return
Hàm không trả lại
giá trị
Cách thiết lập hàm trong Python:
Hàm trong Python được định nghĩa bằng từ khóa def, theo
sau là tên hàm (tên hàm sẽ theo quy tắc đặt tên địa danh).
Hàm có thể có hoặc không có tham số. Khối lệnh mô tả
hàm được viết sau dấu ":" và viết lùi vào, thẳng hàng.
Hàm có thể có hoặc không có giá trị trả lại sau
từ khóa return.
Em hãy nêu cú pháp thiết lập hàm trong Python.
Cú pháp thiết lập
hàm có trả lại giá trị:
def():
return
Cú pháp thiết lập
def():
hàm không trả lại giá
trị:
return
Page 13
Ghi nhớ
Nếu trong khai báo của hàm có lệnh returntrị> thì đó là hàm có giá trị trả lại.
Nếu trong khai báo của hàm không có lệnh return hoặc
có return nhưng sau đó không có giá trị nào cả thì đó là
hàm không có giá trị trả lại.
Page 14
Ghi nhớ
Gặp lệnh return thì hàm dừng ngay.
Trong khai báo của hàm có thể có
nhiều từ khóa return.
Các biến trong khai báo đầu vào của
hàm được gọi là tham số của hàm tự
định nghĩa.
Page 15
Thảo luận nhóm đôi
Câu hỏi và bài
tập củng cố
Quan sát các hàm sau, giải thích cách
thiết lập và chức năng của mỗi hàm:
Hàm sẽ yêu cầu người
a)
b)
dùng nhập một xâu,
sau đó trả về xâu đó.
Hàm có tham số là n, hàm
thực hiện in dãy các số 0,
1, ..., n - 1 trên một dòng.
Page 16
THỰC HÀNH: Thiết lập hàm trong Python
Nhiệm vụ 1
Viết hàm yêu cầu người dùng nhập họ tên rồi
đưa lời chào ra màn hình.
Chương trình tham khảo:
def meeting():
ten = input("Nhập họ tên của em: ")
print("Xin chào ", ten)
meeting()
File
Edit
View
Chương trình tham khảo:
Nhiệm vụ 2
Viết hàm prime(n) với tham số là
số tự nhiên n và trả lại giá trị True
nếu n là số nguyên tố, trả lại False
nếu n không phải số nguyên tố.
Page 18
TRÒ CHƠI TRẮC NGHIỆM
Câu 1: Trong ngôn ngữ lập trình Python, hàm có phải là thủ tục hay
không? Mệnh đề nào dưới đây mô tả đúng quan hệ giữa hàm và thủ tục?
A. Hàm và thủ tục là hai khái niệm
C. Trong Python, hàm và thủ tục là
hoàn toàn khác nhau.
hai khái niệm đồng nhất.
B. Hàm là thủ tục nhưng thủ tục có
D. Thủ tục là hàm nhưng hàm có
thể không phải là hàm.
thể không là thủ tục.
TRÒ CHƠI TRẮC NGHIỆM
Câu 2: Trong định nghĩa của hàm có thể có bao nhiêu từ khóa
return?
A. Trong mô tả hàm không có
C. Trong mô tả hàm phải có tối
từ khóa return.
thiểu hai từ khóa return.
B. Trong mô tả hàm chỉ có
một từ khóa return.
D. Trong mô tả hàm hoặc không có
return hoặc có return nhưng
không có giá trị sau từ khóa return.
TRÒ CHƠI TRẮC NGHIỆM
Câu 3: Hàm nào dưới đây là hàm không trả lại giá trị?
A. print()
C. len()
B. float()
D. divmod()
TRÒ CHƠI TRẮC NGHIỆM
Câu 4: Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa
không trả lại giá trị?
A. 1
C. 5
B. 2
D. Không hạn chế
TRÒ CHƠI TRẮC NGHIỆM
Câu 5: Chọn phát biểu sai
A. Trong Python có thể tự tạo hàm
C. Hàm có thể có hoặc không có
trùng tên với một hàm có sẵn.
tham số.
B. Trong Python có thể định nghĩa
hàm với tên trùng với từ khóa.
D. Tất cả đáp án trên
LUYỆN TẬP
Bài 1: Viết hàm với tham số là số tự nhiên n in ra các ước
nguyên tố của n.
Gợi ý
Với hàm prime đã được xây dựng ở Nhiệm vụ 2, phần thực
hành, chương trình có thể như sau:
Page 24
File
Edit
View
Bài 2 : Viết hàm
Chương trình tham khảo:
numbers(s) đếm số
các chữ số có trong
xâu s.
Page 25
VẬN DỤNG
Bài 1: Trong khi viết hàm có thể
có nhiều lệnh return. Quan sát
các hàm sau và giải thích ý nghĩa
của những lệnh return. Hàm này
có những điểm gì khác so với hàm
prime() đã được mô tả trong
phần thực hành?
Page 26
VẬN DỤNG
Hàm có 3 lần thực hiện lệnh return:
Kiểm tra nếu n < 2 thì dừng ngay
và trả về False.
Nếu tìm ra số k là ước của n thì
dừng lại ngay và trả về False.
Thông báo n là số nguyên tố.
Cách này sẽ tối ưu hơn hàm ở Nhiệm vụ 2, phần thực
Bài 2:
Viết chương trình yêu cầu nhập từ bàn phím một xâu kí tự,
sau đó thông báo:
• Tổng số các kí tự là chữ số của xâu.
• Tổng số các kí tự là chữ cái tiếng anh trong xâu.
Viết hàm cho mỗi yêu cầu trên.
Page 28
File
Edit
View
Hàm đếm số các kí tự là chữ số trong xâu:
def numbers(s):
count = 0
for ch in s:
if ch in "012345789":
count = count + 1
return count
Page 29
File
Edit
View
Hàm đếm số các kí tự là chữ cái tiếng Anh trong xâu:
def numbers(english):
count = 0
for ch in s:
if "A" <= ch < = "Z" or "a" <= ch <= "z":
count = count + 1
return count
Page 30
KHỞI ĐỘNG
Quan sát các lệnh sau và cho biết sự khác nhau giữa
tham số (parameter) và đối số (argument).
Tham số
>>> def f_sum(a,b,c):
return a+b+c
>>> x, y = 5, 3
>>> f_sum(10,x,y):
18
Đối số
THAM SỐ CỦA HÀM
NỘI DUNG BÀI HỌC
01
02
Tham số và đối số
Cách sử dụng
của hàm
chương trình con
1. Tham số và đối số của hàm
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ả.
Ví dụ: Cách truyền dữ liệu qua tham số
Hàm f() có 3 tham số a, b, c
Hàm f() được gọi với 3 giá trị cụ thể
Hàm f() được gọi với 3 biến đã có giá
trị
Tham số được truyền vào chưa có giá trị
Tham số: là biến được ghi
Phân biệt tham số và
đối số.
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 ghi
khi gọi hàm.
KẾT LUẬN
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 củ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 vào 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.
Câu hỏi và bài tập
củng cố
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?
Không thể
Không lỗi
2. Cách sử dụng chương trình con
Thảo luận nhóm đôi, thực hiện Hoạt động 2:
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 này như thế nào?
Chương trình hoàn chỉnh có thể được viết như sau:
Sử dụng hàm prime đã định nghĩa
để kiểm tra số k: Hàm prime(k)
sẽ trả lại True nếu k là số nguyên
tố.
Ví dụ 2
Đọc nhiệm vụ và
tìm hiểu Ví dụ 2
(SGK - tr133).
Cho trước hai dãy số B, C, chương
trì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 0 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ể được viết như sau:
Sử dụng hàm tongduong tính
tổng các số dương của dãy
A.
Sử dụng hàm tongduong tính
tổng các số dương của dãy
Làm giảm số câu lệnh của
Lợi ích của việc sử dụng
chương trình con là gì?
chương trình.
Chương trình có cấu trúc sẽ dễ
hiểu và tiết kiệm câu lệnh hơn.
Chương trình có cấu trúc sẽ dễ
dàng hơn khi nâng cấp, mở
rộng, chỉnh sửa.
Câu hỏi và bài tập
củng cố
1.
Sử
dụng
hàm
prime, em hãy viết
Chương trình tham khảo:
chương trình in ra các
for k in range(m,n+1):
số nguyên tố trong
if prime(k)
khoảng từ m đến n với
print(k)
m, n là hai số tự nhiên
và 1 < m < n.
Câu hỏi và bài tập
củng cố
Ví dụ:
Bài toán đếm số năm nhuận
2. Em hãy nêu một công việc,
trong khoảng thời gian nào đó.
bài toán nào đó mà có thể sử
Bài toán đếm và tính tổng,
dụng hàm để giải.
trung bình 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.
Môn
Lớp
Toán học
Tin học
Ngữ văn
Trường
KHỞI ĐỘNG
Em có thể kể tên một số
hàm trong số các lệnh
đã học hay không? Các
hàm đó có những đặc
điểm chung gì?
Page 02
File
Edit
View
HÀM TRONG PYTHON
Page 03
File
Edit
View
NỘI DUNG BÀI HỌC
1. Một số hàm thiết kế
sẵn của Python
2. Thiết lập các hàm tự
định nghĩa
Page 04
1. Một số hàm thiết kế sẵn của Python
Quan sát một số câu lệnh trong
Hoạt động 1:
và cho biết
những câu lệnh này có đặc điểm chung gì.
Bảng một số lệnh trong Python
abs()
list()
str()
len()
round()
divmod()
range()
chr()
int()
bool()
input()
print()
float()
ord()
type()
Page 05
Bảng một số lệnh trong Python
abs()
len()
range()
bool()
float()
list()
round()
chr()
input()
ord()
str()
divmod()
int()
print()
type()
Đặc điểm chung của các lệnh trong Bảng :
Đều có dấu đóng mở ngoặc đi sau tên lệnh.
Bên trong dấu ngoặc là các tham số, có thể là các đại lượng,
các biến hoặc biểu thức.
Page 06
Bảng một số lệnh trong Python
abs()
len()
range()
bool()
float()
list()
round()
chr()
input()
ord()
str()
divmod()
int()
print()
type()
Các lệnh trong Bảng chính là các chương trình
con được thiết kế sẵn của Python, cho phép
người dùng được tùy ý sử dụng khi viết chương
trình bằng các câu lệnh gọi hàm tương ứng.
Page 07
• Cú pháp câu lệnh gọi hàm:
• Hàm trong Python được phân làm hai loại:
Hàm có giá trị trả lại: input(), int(), divmod(),...
Hàm không có giá trị trả lại: print().
Page 08
File
Edit
View
Mô tả tham số và giá trị trả lại của mỗi hàm
sau: float(), str(), len(), list().
Hàm
Tham số
Ý nghĩa
float() x có thể là số hoặc xâu kí tự.
Chuyển x sang số thập phân.
str(x)
x có thể là số hoặc xâu kí tự.
Chuyển x sang xâu kí tự.
len(x)
x là danh sách hoặc xâu kí tự.
Độ dài của đối tượng x
list(x) x là xâu kí tự hoặc hàm
range().
Chuyển x sang danh sách.
Page 09
2. Thiết lập các hàm tự định nghĩa
Hoạt động 2:
Quan sát các ví dụ sau để biết cách viết hàm
Ví dụ 1: Cách viết hàm có trả lại giá trị
Tên hàm: inc
Tham số hàm: số n
Giá trị trả lại: số n + 1
Page 10
Ví dụ 2:
Cách viết hàm không trả lại giá trị
Tên hàm: thong_bao
Tham số hàm:
xâu kí tự msg
Giá trị trả lại:
không có
Page 11
HÀM TRONG PYTHON
Hàm là gì?
Hàm
- Hàm là một câu lệnh được
dùng thay cho một khối lệnh
- Hàm là chương trình con
HÀM TRONG PYTHON
Tạo hàm và gọi hàm
Tạo hàm
Gọi hàm
def tên hàm(
tên hàm(
HÀM TRONG PYTHON
Tạo hàm và gọi hàm
def Nhập_danh_sách_hoc_sinh() :
Tạo hàm
Gọi hàm
n=int(input("Nhập số học sinh trong lớp: "))
dslop=[]
for i in range(n):
hoten=input(“Nhập họ tên học sinh thứ “ + str(i+1) + “: “)
dslop.append(hoten)
Nhập_danh_sách_hoc_sinh()
HÀM TRONG PYTHON
Tạo hàm và gọi hàm
HÀM TRONG PYTHON
def tên hàm(
Hàm
def tên hàm(
return
Hàm trả lại giá
trị
def tên hàm(tham số):
return
Hàm không trả lại
giá trị
Cách thiết lập hàm trong Python:
Hàm trong Python được định nghĩa bằng từ khóa def, theo
sau là tên hàm (tên hàm sẽ theo quy tắc đặt tên địa danh).
Hàm có thể có hoặc không có tham số. Khối lệnh mô tả
hàm được viết sau dấu ":" và viết lùi vào, thẳng hàng.
Hàm có thể có hoặc không có giá trị trả lại sau
từ khóa return.
Em hãy nêu cú pháp thiết lập hàm trong Python.
Cú pháp thiết lập
hàm có trả lại giá trị:
def
return
Cú pháp thiết lập
def
hàm không trả lại giá
trị:
return
Page 13
Ghi nhớ
Nếu trong khai báo của hàm có lệnh return
Nếu trong khai báo của hàm không có lệnh return hoặc
có return nhưng sau đó không có giá trị nào cả thì đó là
hàm không có giá trị trả lại.
Page 14
Ghi nhớ
Gặp lệnh return thì hàm dừng ngay.
Trong khai báo của hàm có thể có
nhiều từ khóa return.
Các biến trong khai báo đầu vào của
hàm được gọi là tham số của hàm tự
định nghĩa.
Page 15
Thảo luận nhóm đôi
Câu hỏi và bài
tập củng cố
Quan sát các hàm sau, giải thích cách
thiết lập và chức năng của mỗi hàm:
Hàm sẽ yêu cầu người
a)
b)
dùng nhập một xâu,
sau đó trả về xâu đó.
Hàm có tham số là n, hàm
thực hiện in dãy các số 0,
1, ..., n - 1 trên một dòng.
Page 16
THỰC HÀNH: Thiết lập hàm trong Python
Nhiệm vụ 1
Viết hàm yêu cầu người dùng nhập họ tên rồi
đưa lời chào ra màn hình.
Chương trình tham khảo:
def meeting():
ten = input("Nhập họ tên của em: ")
print("Xin chào ", ten)
meeting()
File
Edit
View
Chương trình tham khảo:
Nhiệm vụ 2
Viết hàm prime(n) với tham số là
số tự nhiên n và trả lại giá trị True
nếu n là số nguyên tố, trả lại False
nếu n không phải số nguyên tố.
Page 18
TRÒ CHƠI TRẮC NGHIỆM
Câu 1: Trong ngôn ngữ lập trình Python, hàm có phải là thủ tục hay
không? Mệnh đề nào dưới đây mô tả đúng quan hệ giữa hàm và thủ tục?
A. Hàm và thủ tục là hai khái niệm
C. Trong Python, hàm và thủ tục là
hoàn toàn khác nhau.
hai khái niệm đồng nhất.
B. Hàm là thủ tục nhưng thủ tục có
D. Thủ tục là hàm nhưng hàm có
thể không phải là hàm.
thể không là thủ tục.
TRÒ CHƠI TRẮC NGHIỆM
Câu 2: Trong định nghĩa của hàm có thể có bao nhiêu từ khóa
return?
A. Trong mô tả hàm không có
C. Trong mô tả hàm phải có tối
từ khóa return.
thiểu hai từ khóa return.
B. Trong mô tả hàm chỉ có
một từ khóa return.
D. Trong mô tả hàm hoặc không có
return hoặc có return nhưng
không có giá trị sau từ khóa return.
TRÒ CHƠI TRẮC NGHIỆM
Câu 3: Hàm nào dưới đây là hàm không trả lại giá trị?
A. print()
C. len()
B. float()
D. divmod()
TRÒ CHƠI TRẮC NGHIỆM
Câu 4: Mệnh đề nào dưới đây mô tả đúng về hàm tự định nghĩa
không trả lại giá trị?
A. 1
C. 5
B. 2
D. Không hạn chế
TRÒ CHƠI TRẮC NGHIỆM
Câu 5: Chọn phát biểu sai
A. Trong Python có thể tự tạo hàm
C. Hàm có thể có hoặc không có
trùng tên với một hàm có sẵn.
tham số.
B. Trong Python có thể định nghĩa
hàm với tên trùng với từ khóa.
D. Tất cả đáp án trên
LUYỆN TẬP
Bài 1: Viết hàm với tham số là số tự nhiên n in ra các ước
nguyên tố của n.
Gợi ý
Với hàm prime đã được xây dựng ở Nhiệm vụ 2, phần thực
hành, chương trình có thể như sau:
Page 24
File
Edit
View
Bài 2 : Viết hàm
Chương trình tham khảo:
numbers(s) đếm số
các chữ số có trong
xâu s.
Page 25
VẬN DỤNG
Bài 1: Trong khi viết hàm có thể
có nhiều lệnh return. Quan sát
các hàm sau và giải thích ý nghĩa
của những lệnh return. Hàm này
có những điểm gì khác so với hàm
prime() đã được mô tả trong
phần thực hành?
Page 26
VẬN DỤNG
Hàm có 3 lần thực hiện lệnh return:
Kiểm tra nếu n < 2 thì dừng ngay
và trả về False.
Nếu tìm ra số k là ước của n thì
dừng lại ngay và trả về False.
Thông báo n là số nguyên tố.
Cách này sẽ tối ưu hơn hàm ở Nhiệm vụ 2, phần thực
Bài 2:
Viết chương trình yêu cầu nhập từ bàn phím một xâu kí tự,
sau đó thông báo:
• Tổng số các kí tự là chữ số của xâu.
• Tổng số các kí tự là chữ cái tiếng anh trong xâu.
Viết hàm cho mỗi yêu cầu trên.
Page 28
File
Edit
View
Hàm đếm số các kí tự là chữ số trong xâu:
def numbers(s):
count = 0
for ch in s:
if ch in "012345789":
count = count + 1
return count
Page 29
File
Edit
View
Hàm đếm số các kí tự là chữ cái tiếng Anh trong xâu:
def numbers(english):
count = 0
for ch in s:
if "A" <= ch < = "Z" or "a" <= ch <= "z":
count = count + 1
return count
Page 30
KHỞI ĐỘNG
Quan sát các lệnh sau và cho biết sự khác nhau giữa
tham số (parameter) và đối số (argument).
Tham số
>>> def f_sum(a,b,c):
return a+b+c
>>> x, y = 5, 3
>>> f_sum(10,x,y):
18
Đối số
THAM SỐ CỦA HÀM
NỘI DUNG BÀI HỌC
01
02
Tham số và đối số
Cách sử dụng
của hàm
chương trình con
1. Tham số và đối số của hàm
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ả.
Ví dụ: Cách truyền dữ liệu qua tham số
Hàm f() có 3 tham số a, b, c
Hàm f() được gọi với 3 giá trị cụ thể
Hàm f() được gọi với 3 biến đã có giá
trị
Tham số được truyền vào chưa có giá trị
Tham số: là biến được ghi
Phân biệt tham số và
đối số.
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 ghi
khi gọi hàm.
KẾT LUẬN
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 củ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 vào 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.
Câu hỏi và bài tập
củng cố
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?
Không thể
Không lỗi
2. Cách sử dụng chương trình con
Thảo luận nhóm đôi, thực hiện Hoạt động 2:
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 này như thế nào?
Chương trình hoàn chỉnh có thể được viết như sau:
Sử dụng hàm prime đã định nghĩa
để kiểm tra số k: Hàm prime(k)
sẽ trả lại True nếu k là số nguyên
tố.
Ví dụ 2
Đọc nhiệm vụ và
tìm hiểu Ví dụ 2
(SGK - tr133).
Cho trước hai dãy số B, C, chương
trì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 0 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ể được viết như sau:
Sử dụng hàm tongduong tính
tổng các số dương của dãy
A.
Sử dụng hàm tongduong tính
tổng các số dương của dãy
Làm giảm số câu lệnh của
Lợi ích của việc sử dụng
chương trình con là gì?
chương trình.
Chương trình có cấu trúc sẽ dễ
hiểu và tiết kiệm câu lệnh hơn.
Chương trình có cấu trúc sẽ dễ
dàng hơn khi nâng cấp, mở
rộng, chỉnh sửa.
Câu hỏi và bài tập
củng cố
1.
Sử
dụng
hàm
prime, em hãy viết
Chương trình tham khảo:
chương trình in ra các
for k in range(m,n+1):
số nguyên tố trong
if prime(k)
khoảng từ m đến n với
print(k)
m, n là hai số tự nhiên
và 1 < m < n.
Câu hỏi và bài tập
củng cố
Ví dụ:
Bài toán đếm số năm nhuận
2. Em hãy nêu một công việc,
trong khoảng thời gian nào đó.
bài toán nào đó mà có thể sử
Bài toán đếm và tính tổng,
dụng hàm để giải.
trung bình 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.
 







Các ý kiến mới nhất