Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh

Hàm là một khối lệnh thực hiện một công việc hoàn chỉnh (module), được đặt tên và được gọi thực thi nhiều lần tại nhiều vị trí trong chương trình.

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 1

Trang 1

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 2

Trang 2

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 3

Trang 3

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 4

Trang 4

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 5

Trang 5

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 6

Trang 6

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 7

Trang 7

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 8

Trang 8

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 9

Trang 9

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh trang 10

Trang 10

Tải về để xem bản đầy đủ

pdf 41 trang Danh Thịnh 09/01/2024 5320
Bạn đang xem 10 trang mẫu của tài liệu "Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh

Bài giảng Lập trình - Bài 5: Hàm (Chương trình con) - Trường Đại học Khoa học tự nhiên TP Hồ Chí Minh
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1
KỸ THUẬT LẬP TRÌNH
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Bài 5:
HÀM
( CHƯƠNG TRÌNH CON )
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
3
1. Cấu trúc và lý do sử dụng chương trình con
2. Tham số cho chương trình con
3. Chương trình đệ quy
Một số bài toán đệ qui thông thường
Truyền tham số cho chương trình:
tham trị, tham biến
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.Cấu trúc hàm và 
lý do sử dụng hàm
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.1. Khái niệm
Hàm là một khối lệnh thực hiện một
công việc hoàn chỉnh (module), được
đặt tên và được gọi thực thi nhiều lần
tại nhiều vị trí trong chương trình.
Hàm còn gọi là chương trình con 
(subroutine)
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.1. Khái niệm
• Hàm có thể được gọi từ chương trình
chính (hàm main) hoặc từ 1 hàm khác.
• Hàm có giá trị trả về hoặc không. Nếu
hàm không có giá trị trả về gọi là thủ
tục (procedure)
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.1. Khái niệm
• Có hai lọai hàm:
–Hàm thư viện: là những hàm đã được
xây dựng sẵn. Muốn sử dụng các hàm
thư viện phải khai báo thư viện chứa
nó trong phần khai báo #include.
–Hàm do người dùng định nghĩa.
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.2. Dạng tổng quát của hàm
• Dạng tổng quát của hàm do người dùng định 
nghĩa:
returnType functionName(parameterList)
{
body of the function
}
Kiểu dữ liệu Tên hàm Tham số
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.2. Dạng tổng quát của hàm
Gọi hàm
Truyền đối số
Tham số
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.2. Dạng tổng quát của hàm
• Vậy từ khóa return có tác
dụng gì trong hàm?
• Khi một hàm muốn trả về
một giá trị nào đó thì chúng
ta dùng return . Bất kỳ kiểu
dữ liệu nào của hàm cũng
có thể sử dụng return
NGOẠI TRỪ kiểu void
Hàm có kiểu void đôi khi được
gọi là Thủ TụcSAI
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.3. Gọi hàm
Một hàm khi đã định nghĩa nhưng chúng vẫn
chưa được thực thi, hàm chỉ được thực thi khi
trong chương trình có một lời gọi đến hàm đó.
Cú pháp gọi hàm:
([Danh sách các tham số])
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
1.4. Nguyên tắc hoạt động của hàm
void main()
{
int a, b, USC;
cout<<“Nhap a,b: ”;
cin>>a>>b;
USC = uscln(a,b);
cout<<“Uoc chung lon 
nhat la: ”, USC);
}
int uscln(int a, int b)
{
a=abs(a);
b=abs(b);
while(a!=b)
{
if(a>b) a-=b;
else b-=a;
}
return a;}
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2. Tham số cho 
chương trình con
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
Khi hàm cần nhận đối số (arguments) để thực
thi thì khi khai báo hàm cần khai báo danh
sách các tham số để nhận giá trị từ chương
trình gọi. Các tham số này được gọi là tham số
hình thức.• Ví dụ:
int min(int a, int b)
{
if(a<b)
return a;
else
return b;
}
Tham số hình thức
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
• Khi gọi hàm, ta cung cấp các giá trị thật, các
giá trị này sẽ được sao chép vào các tham số
hình thức và các giá trị thật được gọi là tham
số thực.
Ví dụ: Để tìm giá trị nhỏ nhất của 2 số 5 và 6 ta
gọi hàm min(5, 6)
min(int a, int b)
Tham số thực
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
• Có hai cách truyền đối số vào tham số hình
thức:
–Truyền tham trị
–Truyền tham biến.
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
Hàm nào đó
Đổi N = 8
N=5
N=5
Truyền tham trị: Sau khi thoát khỏi 
hàm nó vẫn giữ giá trị gốc
Hàm nào đó
Đổi N = 8
N=5
N=8
Truyền tham biến: Sau khi thoát khỏi 
hàm, nó sẽ lấy giá trị bị thay đổi 
trong hàm
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
• Truyền tham trị (call by value)
–Sao chép giá trị của đối số vào tham số
hình thức của hàm.
–Những thay đổi của tham số không ảnh
hưởng đến giá trị của đối số.
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
Ví dụ:
void hamgido(int a)
{
a = a*2;
cout << “gia tri cua a 
trong ham double:“<< a;
}
void main()
{
int a=40;
hamgido (a);
cout << “\n Gia tri cua a 
trong ham main: ”;
cout << “a = “ << a << 
endl;
}
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
void main()
{
int a=40;
hamgido (a);
cout<<“\n Gia tri cua a 
trong ham main: ”;
cout << “a = “ << a << 
endl;
}
void hamgido ( int a )
{
a = a *2;//
cout << “Gia tri cua 
a trong ham 
double:“<< a;
}
Gia tri cua a trong ham hamgido: 80
Gia tri cua a trong ham main: 40
40
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
2.1. Tham số hình thức &tham số thực
• Truyền tham chiếu (call by reference)
–Sao chép địa chỉ của đối số vào tham số
hình thức. Do đó, những thay đổi đối với
tham số sẽ có tác dụng trên đối số.
Ví dụ: Khi gọi hàm hamgido (&a);
Địa chỉ của a truyền vào cho tham số hình thức
của hàm: hamgido (int &b)
Trung Tâm Tin Học – Ngành Mạng và T

File đính kèm:

  • pdfbai_giang_lap_trinh_bai_5_ham_chuong_trinh_con_truong_dai_ho.pdf