Programación III Clase 06 Funciones
Sintaxis Declaración type id(param_list); Definición { stmt_list; return val; } Llamado id(arg_list)
Las Funciones Así como las variables tienen tipo y nombre, las funciones también tienen características que son importantes para su reconocimiento. Las características de una función son: Nombre de la Función Tipo de Retorno Tipo y Número de Parámetros Estas características son conocidas como la firma de una función
Ejemplo Declaración Definición // Declara una función que recibe dos enteros, // retorna un entero, y se llama suma int suma(int, int); Definición int suma(int a, int b) { return a + b; }
Ejemplo Declaración Definición void printSaludo(int); void printSaludo(int x) { cout << “Un saludo al #” << n << endl; } // Note que no hay return en funciones // void
Homonimia de Funciones La Homonimia de Funciones es cuando dos funciones tienen el mismo nombre. Sin embargo es necesario que algo las diferencie… La diferencia está en los parámetros, ya sea que sean de diferente tipo o diferente cantidad de los mismos. NO DIFERENCIA EL TIPO DE RETORNO
Homonimia (Objetivo) ¿Porqué la homonimia de Funciones? Es más fácil recordar un solo nombre, que recordar varios nombres. Por ejemplo en C existían las siguientes funciones: int abs(int); long int labs(long int) float fabs(float) Nótese que las funciones NO se llaman igual, con homonimia podríamos llamarlas a todas igual, y lo que las diferenciaría es el tipo del parámetro.
Homonimia Gracias a la Homonimia de C++ podemos: int abs(int) long int abs(long int) float abs(float) double abs(double) El compilador selecciona a cual llamar de acuerdo con el tipo del parámetro.
Ejemplo int f1(int); // 1 int f1(double); // 2 int f2(int, int); // 3 ... f1(4); // ¿A cuál llamaría? f2(4); // ¿A cuál llamaría? f1(4.3); // ¿A cuál llamaría?
Parámetros por Defecto Los parámetros por defecto sirven para que al llamar a una función se tomen valores predeterminados en sus parámetros. Sólo pueden ser parámetros por defecto los últimos parámetros de una función.
En este caso t (el último parámetro) valdría 12: Su valor por defecto Ejemplo Declaración double tax(double, int=12); Definición double tax(double tot, int t){ return tot + t / 100.0 } Llamado cout << tax(123.23) << endl; cout << tax(250.33, 15) << endl; En este caso t (el último parámetro) valdría 12: Su valor por defecto
Ejercicio Suponga que ya no existen la capacidad para parámetros por defecto, convierta la función tax utilizando homonimia.
Tarea Elabore una función que sirva para calcular el número p, a partir de la siguiente serie: