Professional Documents
Culture Documents
• Đặt vấn đề
• Khái niệm hàm và ý nghĩa của hàm
• Sử dụng các hàm có sẵn, hàm trong các thư viện
• Xây dựng và sử dụng hàm trong chương trình
• Tham số của hàm
• Biến toàn cục, biến cục bộ
• Ngược lại, nếu ∆ > 0, thông báo phương trình có hai nghiệm phân biệt x1 và x2 được
tính như sau:
o 𝑥1 = (−𝑏 + ∆)/(2𝑎)
o 𝑥2 = (−𝑏 − ∆)/(2𝑎)
§ Nhận xét
Gi i PTB2
• Mỗi gạch đầu dòng
trong thuật toán trên
thực hiện một công việc
hoàn chỉnh
Nh p giá tr các
• Chúng ta có thể phân rã h s a, b, c
Tính Delta Bi n lu n nghi m
§ Là các hàm đã được trình dịch của Python xây dựng sẵn, chúng ta
có thể dùng ngay mà không cần khai báo.
§ Về bản chất các hàm này được xây dựng và đưa vào thư viện có tên
là __builtins__ và được tích hợp sẵn.
§ Ví dụ: print(), input(), max(), min(), pow(),…
§ Để xem các hàm này thì tại chế độ tương tác trực tiếp gõ lệnh
dir(__builtins__)
§ Python có hơn 230 thư viện, mỗi thư viện là một tập hợp các hàm
xây dựng cho một lĩnh vực hoặc một mục đích nào đó.
§ Trong chương trình muốn sử dụng hàm của module nào đó, cần
khai báo theo một trong hai cách như sau:
Gợi ý: Sử dụng hàm randint(1, 10) trong thư viện random để tạo số x ngẫu nhiên.
XÂY DỰNG VÀ SỬ DỤNG HÀM
KHAI BÁO HÀM
o def: là từ khóa để khai báo bắt đầu một hàm.
§ Cú pháp:
o tên_hàm: được đặt theo quy tắc đặt tên biến,
tên hàm thường đặt gợi nhớ, thể hiện nội
dung của hàm.
o <danh sách tham số>: là các tham số cần
truyền vào và sử dụng trong hàm, hai tham số
cách nhau bởi một dấu phẩy.
• Chú ý: sau khi khai báo và triển o <khối lệnh>: đây là nội dung của hàm. Nếu là
hàm có trả về giá trị thì trong nội dung của
khai nội dung của hàm, các lệnh
hàm có ít nhất một lệnh return để trả về giá
trong hàm chỉ hoạt động khi hàm trị.
được gọi từ một nơi nào đó trong o Trong Python, hàm có thể trả về nhiều hơn
một giá trị sau mỗi lần thực hiện.
chương trình.
- Nếu x = y thi 𝑓 = 2 ∗ 𝑥 !
Hãy viết một chương trình bao gồm các hàm thực hiện các nhiệm vụ
dưới đây:
• Hàm nhập ba số.
• Hàm tính trung bình cộng của ba số.
• Hàm trả về số lớn nhất trong ba số.
• Hàm trả về số nhỏ nhất trong ba số.
Bài 6-2. Nhập vào số nguyên dương n và số thực 𝑥, hãy tính và đưa ra
màn hình các tổng sau đây:
! !! !"
• 𝑠1 = "∗$
+ $∗% + ⋯ + &∗(&(")
• 𝑠2 = 𝑥 + 𝑥 % + ⋯ + 𝑥 $∗&("
• 𝑠3 = 𝑠1 + 2 ∗ 𝑠2
§ Vậy làm thế nào để truyền được giá trị của tham biến (hoặc biến) ra
bên ngoài?
§ Khi cần truyền giá trị của 1 tham biến (hoặc một biến) của hàm ra
ngoài, hãy coi như đó là một giá trị trả về của hàm.
§ Ví dụ:
§ Python cho phép gán giá trị mặc định cho một số tham số, khi gọi
hàm, nếu các tham số này có đối số tương ứng truyền vào, thì
chúng sẽ nhận giá trị là các đối số này, trong trường hợp ngược lại
thì sẽ nhận giá trị mặc định đã được gán khi định nghĩa hàm
§ Trong cùng một hàm, các tham số có giá trị mặc định phải được khai
báo bên phải của tất cả các tham số không có giá trị mặc định.
Khi cần sử dụng một biến toàn cục trong một hàm
thì trong hàm cần khai báo biến đó là biến toàn cục
bằng từ khóa global, giống như dòng 3 ở ví dụ
trên.
Introduction to Computer Science 36 FIT – HNUE 2023
MỘT SỐ ĐIỂM CẦN LƯU Ý
§ Sử dụng hàm có nhiều lợi ích trong lập trình, nhất là đối với các chương trình
giải các bài toán lớn, phức tạp
§ Hàm có giá trị trả về cần có lệnh return trong thân hàm, hàm không có giá trị trả
về không cần lệnh return
§ Hàm có thể trả về nhiều giá trị thông qua tên hàm (khác với các ngôn ngữ lập
trình khác)
§ Ngoại trừ các biến có cấu trúc như list, dictionary,… chỉ có một cách truyền
tham biến cho hàm là truyền theo giá trị; khi cần truyền giá trị của tham biến
(hoặc của biến) trong hàm ra ngoài cần coi đó là một giá trị trả về của hàm
§ Muốn sử dụng một biến toàn cục trong một hàm nào đó, cần sử dụng từ khóa
global để khai báo cho biến đó
Bài 6-4. Viết chương trình thực hiện các việc sau:
• Nhập một số nguyên dương M từ bàn phím
• Tìm và hiển thị lên màn hình tất cả các số chính phương nhỏ hơn M. Số
chính phương là bình phương của một số nguyên.
• Tìm và hiển thị lên màn hình tất cả các số nguyên tố nhỏ hơn M. Số nguyên
tố là số chỉ có ước là 1 và chính nó.