Funciones - PowerPoint PPT Presentation

funciones n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Funciones PowerPoint Presentation
play fullscreen
1 / 40
Funciones
241 Views
Download Presentation
sunee
Download Presentation

Funciones

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Funciones Programación en C para electrónicos

  2. Índice • Funciones en C. • Variables y parámetros. • Devolución de resultados. • Paso de parámetros. • Por referencia. • Por valor. • Parámetros de la función main. Funciones en C - David Carmona 2010

  3. Funciones en C Programación en C para electrónica. Funciones en C - David Carmona 2010

  4. Función • Una función en C, es un conjunto de sentencias identificadas por un nombre. • Una función realiza determinadas tareas sobre un conjunto de datos. • Las tareas que realiza la función siempre son las mismas. • Los datos obre los que opera la función pueden cambiar de una ejecución a otra. Funciones en C - David Carmona 2010

  5. Función main • Todo programa en C dispone de una o más funciones; una de las cuales debe llamarse main. • main es la función principal del programa. • La ejecución del programa comienza en la función main. • Desde la función main se puede “llamar” a otras funciones, ya sean de librería o creadas por el programador. Funciones en C - David Carmona 2010

  6. Definición de funciones • La definición de una función consta de dos partes: • Cabecera: • Indica el nombre de la función, datos que recibe y tipo de resultado que devuelve. • Cuerpo: • Conjunto de sentencias encerradas entre llaves. Funciones en C - David Carmona 2010

  7. Sintaxis: tipoNombreFuncion (tipo1par1,…,tipoNparN) { sentencia_1; … sentencia_N; } Cabecera Cuerpo Funciones en C - David Carmona 2010

  8. Sintaxis: • tipo: • Tipo de dato que devuelve la función como resultado. • Por defecto es int. • NombreFuncion: • Identificador que se utilizará para llamar a la función. • tipo_ipar_i: • Tipo y nombre de cada uno de los parámetros que recibe la función. • Lista de parámetros encerrados entre paréntesis y separados por comas. • Cuerpo: • Sentencias que se ejecutan en la función. • Incluyen declaración de variables, llamadas a otras funciones, etc… Funciones en C - David Carmona 2010

  9. Prototipos de función • Para poder llamar a una función esta debe haber sido definida previamente. • Esto obliga a definir todas las funciones antes de poder ser llamadas. • El prototipo de una función permiten al compilador conocer el tipo de resultado y el numero y tipo de parámetros de una función sin necesidad de escribir todo el código de la función. Funciones en C - David Carmona 2010

  10. Sintaxis • El prototipo de una función, coincide con su cabecera finalizada con punto y coma (;). • El prototipo de una función, siempre se escribe fuera del cuerpo de cualquier función y antes de la primera llamada a la función que representa. tipoNombreFuncion (tipo1par1,…,tipoNparN); Funciones en C - David Carmona 2010

  11. Ejemplo Funciones en C - David Carmona 2010

  12. Llamada • La llamada se hace utilizando el nombre de la función y una lista de parámetros entre paréntesis.(si son necesarios) • La llamada termina en punto y coma (;). • La lista de parámetros de la llamada debe coincidir en numero, orden y tipo con los indicados en la definición de la función. • Pueden ser variables, constantes o expresiones. • Ejemplo: suma (a+3,1.59); Funciones en C - David Carmona 2010

  13. Llamada • Cuando se llama a una función, la ejecución del programa “salta” a la primera sentencia de la función. • Si llamamos a una función desde main, dejaremos de ejecutar el código de main para ejecutar el código de la función. • La función termina de ejecutarse cuando se llega al final del cuerpo de la función o se ejecuta la sentencia return. • Cuando se termina la función, se vuelve a la parte del programa desde donde se llamó a la función. • La siguiente sentencia en ser ejecutada es la siguiente a la llamada de la función. Funciones en C - David Carmona 2010

  14. Variables y parámetros Programación en C para electrónica. Funciones en C - David Carmona 2010

  15. Ámbito de variables • El ámbito de una variable es la parte del programa desde la cual es accesible. • El ámbito de una variable depende de en que parte del programa se declara la variable. • Clasificación: • Variables locales. • Variables globales. Funciones en C - David Carmona 2010

  16. Clasificación de variables Funciones en C - David Carmona 2010

  17. Variables locales • Una variable local se declara al principio del cuerpo de una función. (incluida main) • Las variables locales solo son accesibles mientras se ejecuta el código de la función en la que son declaradas. • El espacio de memoria que ocupan, se reserva en la declaración y se libera cuando se sale de la función (con return). Funciones en C - David Carmona 2010

  18. Variables globales • Se declaran fuera del cuerpo de toda función, al principio del archivo de código principal. • Son accesibles desde cualquier función del programa. • Se crean (reserva espacio de memoria) al iniciar la ejecución del programa y se destruyen al finalizar la ejecución. Funciones en C - David Carmona 2010

  19. Parámetros • La lista de variables declaradas en la definición de la función se conocen como parámetros formales. • El ámbito de los parámetros formales es el mismo que el de una variable local a la función. • Existen solo mientras dura la ejecución de la función. • Se pueden declarar variables locales con el mismo nombre en distintas funciones, pero no pueden coincidir con el nombre de ninguna variable global. Funciones en C - David Carmona 2010

  20. Devolución de resultados Programación en C para electrónica. Funciones en C - David Carmona 2010

  21. Devolución de resultados • Cuando termina la ejecución de una función, la ejecución vuelve a la zona del programa desde donde se llamó a la función. • La ejecución de la función finaliza con la sentencia return. • Si no hay ningún return, la función finaliza en la llave que cierra el cuerpo. • Cuando el tipo valor devuelto por la función no es void, la sentencia return especifica el valor que devolverá la función. Funciones en C - David Carmona 2010

  22. Ejemplo Funciones en C - David Carmona 2010

  23. Ejemplo • Ejemplo de llamada: Funciones en C - David Carmona 2010

  24. Paso de parámetros Programación en C para electrónica. Funciones en C - David Carmona 2010

  25. Paso de parámetros • Los parámetros son variables que actúan de enlace entre el programa desde donde se llama a la función y el cuerpo de la misma. • Los parámetros formales, se crean y reciben sus valores al entrar en la función (en la llamada) y se destruyen al finalizar la función. • Hay dos formas de pasar valores a la función: • Por valor. • Por referencia. Funciones en C - David Carmona 2010

  26. Paso por valor • En la llamada de la función, los parámetros formales reciben una copia de los valores utilizados en la llamada. • Las expresiones utilizadas en la llamada como valores pasados a la función se conocen como parámetros reales. Funciones en C - David Carmona 2010

  27. Diferencias Parámetros formales Parámetros reales Parámetros formales Funciones en C - David Carmona 2010

  28. Ejemplo Funciones en C - David Carmona 2010

  29. Paso por referencia • En el paso de parámetros por valor, la función recibe copias de los datos, por lo tanto no puede modificar los parámetros reales. • Para que una función pueda modificar el contenido de las variables que se le pasan como parámetro real, debemos utilizar el paso de parámetros por referencia. • El paso de parámetros por referencia hace uso de punteros y de los operadores * y & (dirección e indirección). • También permite que una función devuelva mas de un resultado. Funciones en C - David Carmona 2010

  30. Paso por referencia • En el paso por referencia, los parámetros formales de la función son punteros. • Lo que recibe la función es la dirección de la variable que contiene el dato. • Modificando el contenido de esa dirección de memoria estaremos modificando el valor del parámetro real. • En la llamada a la función se utiliza como parametro real la dirección de la variable (&variable) Funciones en C - David Carmona 2010

  31. Ejemplo Funciones en C - David Carmona 2010

  32. Ejemplo Funciones en C - David Carmona 2010

  33. Funciones y vectores • Los elementos de un vector se pueden pasar como parámetros a una función tanto por valor como por referencia. • De esta forma se pasa a la función una copia del valor o de la dirección del elemento en cuestión. • Ejemplo: Resultado = cuadrado (vector[6]); • El vector completo (todos los elementos) solo se puede pasar por referencia. Funciones en C - David Carmona 2010

  34. Funciones y vectores • En el paso de vectores como parámetro no se utilizan los operadores & y *. • El nombre del vector actúa como referencia (puntero) al primer elemento de la tabla. • El parámetro formal de la función que recoja el vector debe definirse como un puntero del mismo tipo que el vector. • Este puntero recogerá la dirección del primer elemento del vector. Funciones en C - David Carmona 2010

  35. Ejemplos de definición float media (float*vector); float media (floatvector[]); • No hay diferencia entre definir el parámetro como puntero o como vector. • Si la función solo va a tratar con vectores de tamaño constante, este se puede indicar en la declaración. float media (floatvector[size]); Funciones en C - David Carmona 2010

  36. Ejemplo Funciones en C - David Carmona 2010

  37. Ejemplo Funciones en C - David Carmona 2010

  38. Parámetros de main Programación en C para electrónica. Funciones en C - David Carmona 2010

  39. Argumentos de main • Es posible pasar parámetros a la función main desde la línea de comandos. • Sintaxis: intmain(intargc, char*argv[]); • La función main tiene dos argumentos: • argc: Valor entero que indica la cantidad de parametros dados a main incluido el nombre del programa. • argv: Vector de punteros a cadenas que contiene los argumentos especificados en la línea de comandos. Funciones en C - David Carmona 2010

  40. Ejemplo • si nuestro programa se llama "programa", y lo ejecutamos con la siguiente línea de comandos: programa arg1arg2arg3arg4 • argc valdrá 5, ya que el nombre del programa también se cuenta como un argumento. • argv[] contendrá la siguiente lista: "programa", "arg1", "arg2", "arg3" y "arg4". Funciones en C - David Carmona 2010