Bài giảng "Hàm và kỹ thuật tổ chức chương trình - Các vấn đề mở rộng nghề nghiệp" cung cấp cho người học các kiến thức: Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp, thuật ngữ và bài đọc thêm tiếng Anh. . | Bài giảng Nhập môn lập trình: Chương 4A - Nguyễn Sơn Hoàng Quốc (tt) Nhập môn lập trình Trình bày: Nguyễn Sơn Hoàng Quốc Email: nshquoc@ Nội dung Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ và bài đọc thêm tiếng Anh 2 3 Hàm trùng tên • Nhu cầu – Thực hiện một công việc với nhiều cách khác nhau. Nếu các hàm khác tên sẽ khó nhớ. • Ví dụ: – Các hàm tính trị tuyệt đối trong C () • int abs(int n); • long labs(long n); • double fabs(double n); – Các hàm tính căn bậc 2: sqrt(), sqrtf() 4 Hàm trùng tên • Khái niệm – Là các hàm cùng tên nhưng có tham số đầu vào hoặc kiểu trả về khác nhau nhằm cho phép người dùng chọn cách thuận lợi nhất để thực hiện công việc. – Nguyên mẫu hàm khi bỏ tên tham số phải khác nhau. – Việc sử dụng các hàm trùng tên được gọi là nạp chồng hay quá tải (overload) hàm. 5 Ví dụ hàm trùng tên 1. // prints integers from 1 to n 2. void PrintIntegers(int n); 3. // prints integers from x to y 4. void PrintIntegers(int x, int y); 5. // prints integers from x to y 6. // with an arithmetic progression a 7. void PrintIntegers(int x, int y, int a); 6 Chú ý về hàm trùng tên • Các hàm sau đây là như nhau do cùng nguyên mẫu hàm: int Sum(int, int); 1. // calculates a + b 2. int Sum(int a, int b); 3. // calculates b + a 4. int Sum(int b, int a); 5. // calculates x + y 6. int Sum(int x, int y); 7 Sự nhập nhằng, mơ hồ 1. float f(float x) { return x/2; } 2. double f(double x) { return x/2; } 3. void main() { 4. float x = ; 5. double y = ; 6. .