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.
Trang 1
Trang 2
Trang 3
Trang 4
Trang 5
Trang 6
Trang 7
Trang 8
Trang 9
Trang 10
Tải về để xem bản đầy đủ
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
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:
- bai_giang_lap_trinh_bai_5_ham_chuong_trinh_con_truong_dai_ho.pdf