Tìm kiếm theo tiêu đề

Tin tức cộng đồng

5 điều đơn giản cha mẹ nên làm mỗi ngày để con hạnh phúc hơn

Tìm kiếm hạnh phúc là một nhu cầu lớn và xuất hiện xuyên suốt cuộc đời mỗi con người. Tác giả người Mỹ Stephanie Harrison đã dành ra hơn 10 năm để nghiên cứu về cảm nhận hạnh phúc, bà đã hệ thống các kiến thức ấy trong cuốn New Happy. Bà Harrison khẳng định có những thói quen đơn...
Xem tiếp

Tin tức thư viện

Chức năng Dừng xem quảng cáo trên violet.vn

12087057 Kính chào các thầy, cô! Hiện tại, kinh phí duy trì hệ thống dựa chủ yếu vào việc đặt quảng cáo trên hệ thống. Tuy nhiên, đôi khi có gây một số trở ngại đối với thầy, cô khi truy cập. Vì vậy, để thuận tiện trong việc sử dụng thư viện hệ thống đã cung cấp chức năng...
Xem tiếp

Hỗ trợ kĩ thuật

  • (024) 62 930 536
  • 0919 124 899
  • hotro@violet.vn

Liên hệ quảng cáo

  • (024) 66 745 632
  • 096 181 2005
  • contact@bachkim.vn

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

Wait
  • Begin_button
  • Prev_button
  • Play_button
  • Stop_button
  • Next_button
  • End_button
  • 0 / 0
  • Loading_status
Tham khảo cùng nội dung: Bài giảng, Giáo án, E-learning, Bài mẫu, Sách giáo khoa, ...
Nhấn vào đây để tải về
Báo tài liệu có sai sót
Nhắn tin cho tác giả
(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
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 return trị> 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.
 
Gửi ý kiến