Funciones y Procedimientos PDF
Document Details
Uploaded by Deleted User
Universidad de Granada
Tags
Summary
Este documento presenta una introducción a las funciones y procedimientos en programación, especialmente en C++. Describe la programación modular, cómo funcionan las funciones matemáticamente y cómo declarar, definir, y usar funciones en C++. Se incluyen ejemplos y ejercicios, para entender el funcionamiento en profundidad. También proporciona descripciones sobre la declaración y definición de funciones, así como sobre el paso de parámetros.
Full Transcript
TEMA Funciones y Procedimientos Dept. Ciencias de la Computación e I.A. Universidad de Granada FUNCIONES Y PROCEDIMIENTOS Programación modular. Funciones. Parámetros formales y actuales. Procedimientos. Paso de parámetros por valor y por referencia....
TEMA Funciones y Procedimientos Dept. Ciencias de la Computación e I.A. Universidad de Granada FUNCIONES Y PROCEDIMIENTOS Programación modular. Funciones. Parámetros formales y actuales. Procedimientos. Paso de parámetros por valor y por referencia. Programación modular ( Motivación I) Una forma de atacar problemas grandes es dividirlo en subproblemas que se puedan resolver de forma "independiente" y luego combinarse. En programación, esta técnica se refleja en el uso de subprogramas: conjunto de instrucciones que realizan una tarea específica. Los subprogramas se denominan funciones en C++. Recibe valores de entrada (parámetros) y proporciona un valor de salida (valor de retorno). La función se llama o invoca cuando deseamos aplicarla. Analogía: un jefe (él que llama la función) solicita a un empleado (la función), que realice una tarea y devuelva los resultados una vez que finalice. Programación modular ( Motivación II) La utilización de subprogramas permite: Reducir la complejidad del programa (“divide y vencerás”) Eliminar código duplicado Limitar los efectos de los cambios (aislar aspectos concretos) Ocultar detalles de implementación (p.ej. algoritmos complejos) Promover la reutilización de código Mejorar la legibilidad del código Facilitar la portabilidad del código Funciones Desde el punto de vista matemático, una función es una operación que a partir de uno o mas valores (argumentos), produce un valor denominado resultado o valor de la función. Ejemplo: F(x) = x / (1+x2) F es el nombre de la función y x es el argumento. Para evaluar F se necesita darle valor a x. Si x = 3, entonces F(3) = 3 / (1+32) = 0.3 Funciones Una función puede tener varios argumentos, aunque el resultado o valor de la función es único. Ejemplo: F1(x,y) = x * y F2(x,y,z) = x2 + y2 + z2 Funciones Los lenguajes proveen una serie de funciones predefinidas que facilitan la tarea al programador. Por ejemplo, las incluidas en la librería matemática. Para utilizarlas, debemos escribir nombre de la función(argumentos) sqrt(900.0) la función sqrt, toma un argumento de tipo double y devuelve como resultado un valor de tipo double Nuestras funciones Hemos visto las motivaciones para utilizar subprogramas (funciones en C++) Ya hemos utilizado funciones "provistas por el lenguaje", especialmente, las incluidas en la librería matemática Ahora tenemos la posibilidad de definir nuestras propias funciones Declaración de funciones Declaración o Prototipo de la función nombre_func(); : especifica el tipo del valor que devuelve la función (el tipo que tendrá el resultado) nombre_func: el nombre de la función : lista que indica cuantos argumentos y de qué tipo se necesitan para utilizar la función. Declaración de funciones Declaración o Prototipo de la función nombre_func(); La declaración de la función termina con un punto y coma. Debe aparecer antes de cualquier llamada de la función. Ejemplo: { sqrt (900.0); double sqrt(double x); …. { …. double sqrt(double x); sqrt (900.0); …. } …. } Definición de funciones Definición de la función: describe el funcionamiento interno de la misma, es decir, el algoritmo que se aplica para calcular el valor que se debe devolver. Se distinguen dos partes en la definición 1. la cabecera de la función: que es idéntica al prototipo (sin punto y coma al final). 2. el cuerpo de la función: serie de declaraciones y sentencias que deben encerrarse entre llaves (estructura similar al cuerpo del programa principal). Ejemplos de funciones Prototipos double promedio(double v1, double v2); bool esNroPar(int nro); bool esMayor(int a, int b); int sumatresnumeros (int a, int b int c); Ejemplos de funciones Definición de funciones (cabecera y cuerpo) double promedio(double v1, double v2){ double resulpromed; resulpromed = (v1+v2)/2.0; return(resulpromed); } Ejemplos de funciones Definición de funciones (cabecera y cuerpo) bool esNroPar(int nro) { bool resultado; if(nro%2 == 0) resultado = true; else resultado = false; return (resultado); } Ejemplos de funciones Definición de funciones (cabecera y cuerpo) bool esMayor(int a, int b) { bool salidafuncion; if (a>b) salidafuncion = true; else salidafuncion = false; return(salidafuncion); } Ejemplos de funciones Definición de funciones (cabecera y cuerpo) int sumatresnumeros(int a, int b, int c) { int total; total = a + b + c; return( total ); } Uso de funciones Una vez declarada y definida la función, se puede usar llamándola desde nuestro programa o desde otra función. Al llamar a una función debemos pasarle valores para sus parámetros, de esta manera, la función podrá hacer los cálculos correspondientes y devolver un valor de salida. Los valores pasados a la función deben de ser del mismo tipo que sus parámetros formales. int sumatresnumeros(int a, int b, int c); int main() { int calculo; calculo = sumatresnumeros (10,20,30); cout