Bài giảng Nhập môn 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  
KỸ THUẬT LẬP TRÌNH  
1
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  
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  
Truyền tham số cho chương trình:  
tham trị, tham biến  
3. Chương trình đệ quy  
Một số bài toán đệ qui thông thường  
3
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  
Tham số  
Tên 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.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ục  
SAI  
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:  
<Tên 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 uscln(int a, int b)  
{
{
a=abs(a);  
b=abs(b);  
while(a!=b)  
{
int a, b, USC;  
cout<<“Nhap a,b: ”;  
cin>>a>>b;  
USC = uscln(a,b);  
cout<<“Uoc chung lon  
nhat la: ”, USC);  
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)  
{
Tham số hình thức  
if(a<b)  
return a;  
else  
return b;  
}
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)  
Tham số thực  
min(int a, int b)  
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  
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=8  
N=5  
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  
Hàm nào đó  
Đổi N = 8  
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 main()  
{
void hamgido(int a)  
{
int a=40;  
a = a*2;  
hamgido (a);  
cout << “gia tri cua a  
cout << “\n Gia tri cua a  
trong ham double:“<< 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() void hamgido ( int a )  
{
}
{
}
int a=
40  
hamgido (a);  
cout<<“\n Gia tri cua a  
trong ham main: ”;  
cout << “a = “ << a <<  
endl;  
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  
Trung Tâm Tin Học – Ngành Mạng và Thiết Bị Di Động  
Tải về để xem bản đầy đủ
pptx 41 trang baolam 20920 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn lập trình - Bài 5: Hàm (Chương trình con)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_ky_thuat_lap_trinh_cc_bai_5_ham_chuong_trinh_con.pptx