Funciones en lenguaje C Funciones Definicin Las funciones
![Funciones en lenguaje C Funciones en lenguaje C](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-1.jpg)
![Funciones • Definición: – Las funciones son los bloques de construcción básicos de C. Funciones • Definición: – Las funciones son los bloques de construcción básicos de C.](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-2.jpg)
![Funciones: ventajas 1. - Facilita el diseño descendente. 2. - Los procedimientos dentro de Funciones: ventajas 1. - Facilita el diseño descendente. 2. - Los procedimientos dentro de](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-3.jpg)
![Funciones: Especificación formal tipo nombre_funcion(lista de parámetros){ cuerpo de la función } • tipo Funciones: Especificación formal tipo nombre_funcion(lista de parámetros){ cuerpo de la función } • tipo](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-4.jpg)
![La sentencia return – Fuerza la salida inmediata de la función en que se La sentencia return – Fuerza la salida inmediata de la función en que se](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-5.jpg)
![Funciones – Las funciones terminan su ejecución ya sea a través de la ejecución Funciones – Las funciones terminan su ejecución ya sea a través de la ejecución](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-6.jpg)
![Funciones: modos de uso 1. - Funciones diseñadas para realizar operaciones a partir de Funciones: modos de uso 1. - Funciones diseñadas para realizar operaciones a partir de](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-7.jpg)
![Función main() • Mediante la sentencia return, el programa puede devolver un código de Función main() • Mediante la sentencia return, el programa puede devolver un código de](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-8.jpg)
![Variables locales y globales • Variables Locales: – Se declaran dentro de la función Variables locales y globales • Variables Locales: – Se declaran dentro de la función](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-9.jpg)
![Argumentos de funciones • Son variables locales conocidas como parámetros formales y se utilizan Argumentos de funciones • Son variables locales conocidas como parámetros formales y se utilizan](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-10.jpg)
![Transferencia de Información – por valor: copia el valor de un argumento de la Transferencia de Información – por valor: copia el valor de un argumento de la](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-11.jpg)
![Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros. Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros.](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-12.jpg)
![Solución #include <stdio. h> int cuadrado(int x){ int r; r=x*x; return r; } main(){ Solución #include <stdio. h> int cuadrado(int x){ int r; r=x*x; return r; } main(){](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-13.jpg)
![Ejemplo Construya una función que calcule la suma de los k primeros números enteros Ejemplo Construya una función que calcule la suma de los k primeros números enteros](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-14.jpg)
![Solución ? #include <stdio. h> int suma. Impares(-------){ ---------return r; } 15 Solución ? #include <stdio. h> int suma. Impares(-------){ ---------return r; } 15](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-15.jpg)
![Ejemplo Construya una función que realice intercambio de los valores entre 2 variables. 16 Ejemplo Construya una función que realice intercambio de los valores entre 2 variables. 16](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-16.jpg)
![Solución con error ¿porqué? #include <stdio. h> void intercambio(int x, int y){ int temp; Solución con error ¿porqué? #include <stdio. h> void intercambio(int x, int y){ int temp;](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-17.jpg)
![Solución correcta #include <stdio. h> void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; Solución correcta #include <stdio. h> void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y;](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-18.jpg)
![Ejemplo Realizar una función, en el cual se ingresa un número entero de varias Ejemplo Realizar una función, en el cual se ingresa un número entero de varias](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-19.jpg)
![Programa #include <stdio. h> int buscar(int x, int k){ int i, n; if (k<=0 Programa #include <stdio. h> int buscar(int x, int k){ int i, n; if (k<=0](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-20.jpg)
![Prototipos • Uso: – Identificar el tipo de retorno de la función. – Especificar Prototipos • Uso: – Identificar el tipo de retorno de la función. – Especificar](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-21.jpg)
![Prototipo (cont. ) #include <stdio. h> int cuadrado(int x); /*Prototipo*/ main(){ int i, resultado; Prototipo (cont. ) #include <stdio. h> int cuadrado(int x); /*Prototipo*/ main(){ int i, resultado;](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-22.jpg)
![Prototipo (cont. ) #include <stdio. h> void intercambio(int *, int *) main(){ int a=5, Prototipo (cont. ) #include <stdio. h> void intercambio(int *, int *) main(){ int a=5,](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-23.jpg)
- Slides: 23
![Funciones en lenguaje C Funciones en lenguaje C](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-1.jpg)
Funciones en lenguaje C
![Funciones Definición Las funciones son los bloques de construcción básicos de C Funciones • Definición: – Las funciones son los bloques de construcción básicos de C.](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-2.jpg)
Funciones • Definición: – Las funciones son los bloques de construcción básicos de C. Dentro de ellas se da toda la actividad del programa. • Criterios para crearlas: – Se usa la estrategia de “Dividir y Conquistar”, en otras palabras, es realizar la partición de la tarea en subtareas más fáciles de abordar. – Todo problema se puede resolver con funciones o sin ellas, pero su uso adecuado hace que el programa sea más eficiente, fácil de leer y probar. 2
![Funciones ventajas 1 Facilita el diseño descendente 2 Los procedimientos dentro de Funciones: ventajas 1. - Facilita el diseño descendente. 2. - Los procedimientos dentro de](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-3.jpg)
Funciones: ventajas 1. - Facilita el diseño descendente. 2. - Los procedimientos dentro de ellas se pueden ejecutar varias veces. 3. - Facilita la división de tareas. 4. - Se pueden probar individualmente 5. - Con funciones apropiadamente diseñadas, es posible ignorar como se realiza una tarea, sabiendo qué es lo que hacen. 3
![Funciones Especificación formal tipo nombrefuncionlista de parámetros cuerpo de la función tipo Funciones: Especificación formal tipo nombre_funcion(lista de parámetros){ cuerpo de la función } • tipo](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-4.jpg)
Funciones: Especificación formal tipo nombre_funcion(lista de parámetros){ cuerpo de la función } • tipo : especifica el tipo de valor que devuelve la función. Si no se especifica tipo, el compilador asume que es entero (int). • lista de parámetros : es la lista de nombres de variables separados por comas con sus tipos asociados que reciben los valores de los argumentos actuales de la llamada a la función. 4
![La sentencia return Fuerza la salida inmediata de la función en que se La sentencia return – Fuerza la salida inmediata de la función en que se](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-5.jpg)
La sentencia return – Fuerza la salida inmediata de la función en que se encuentra. – Se puede utilizar para devolver un valor. 5
![Funciones Las funciones terminan su ejecución ya sea a través de la ejecución Funciones – Las funciones terminan su ejecución ya sea a través de la ejecución](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-6.jpg)
Funciones – Las funciones terminan su ejecución ya sea a través de la ejecución de la última instrucción o utilizando la sentencia return. – Un función puede retornar valor sólo cuando el tipo de retorno no es void. – Las funciones que son de tipos distintos de void pueden ser utilizadas como operandos en otras expresiones del lenguaje. 6
![Funciones modos de uso 1 Funciones diseñadas para realizar operaciones a partir de Funciones: modos de uso 1. - Funciones diseñadas para realizar operaciones a partir de](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-7.jpg)
Funciones: modos de uso 1. - Funciones diseñadas para realizar operaciones a partir de sus argumentos y devolver un valor basado en sus cálculos. 2. - Funciones que no reciben argumentos, realizan un proceso y devuelven un valor. 3. - Funciones que no tienen argumentos ni valor de retorno explícito, operan sobre el entorno de variables globales o atributos del sistema operativo. 7
![Función main Mediante la sentencia return el programa puede devolver un código de Función main() • Mediante la sentencia return, el programa puede devolver un código de](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-8.jpg)
Función main() • Mediante la sentencia return, el programa puede devolver un código de terminación al proceso de llamada (Ej. : entero a Shell de comandos en Unix). • El valor devuelto puede ser 0 que indica terminación normal o un valor que identifica un error detectado por el programa. • El valor devuelto puede ser usado para ejecución condicional de comandos en shell en Unix. 8
![Variables locales y globales Variables Locales Se declaran dentro de la función Variables locales y globales • Variables Locales: – Se declaran dentro de la función](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-9.jpg)
Variables locales y globales • Variables Locales: – Se declaran dentro de la función y sólo están disponibles durante su ejecución. – Se crean cuando se entra en ejecución una función y se destruyen cuando se termina. • Variables globales: – Se declaran fuera de las funciones. Pueden ser utilizadas por todas las funciones. – Existen durante toda la vida del programa. 9
![Argumentos de funciones Son variables locales conocidas como parámetros formales y se utilizan Argumentos de funciones • Son variables locales conocidas como parámetros formales y se utilizan](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-10.jpg)
Argumentos de funciones • Son variables locales conocidas como parámetros formales y se utilizan como un medio para entregarle información a la función. • Los parámetros formales reciben sus valores iniciales desde los parámetros reales, es decir desde los valores que se les pasan a traveś de la llamada. Ejemplo: Parámetro real (llamada) main( ){ Parámetro formal (declaración) imprime. Entero(5); } void imprime. Entero(int x){ printf(“%dn”, x); /* x vale 5 */ } 10
![Transferencia de Información por valor copia el valor de un argumento de la Transferencia de Información – por valor: copia el valor de un argumento de la](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-11.jpg)
Transferencia de Información – por valor: copia el valor de un argumento de la llamada en el parámetro formal de la función. Por lo tanto, los cambios en los parámetros de la función no afectan a las variables que se usan en la llamada. – por referencia: se copia la dirección del argumento en el parámetro. Los cambios hechos a los parámetros afectan a las variables usadas en la llamada a la función. 11
![Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros.](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-12.jpg)
Ejemplo Construya un programa que calcule el cuadrado de los 10 primeros números enteros. 12
![Solución include stdio h int cuadradoint x int r rxx return r main Solución #include <stdio. h> int cuadrado(int x){ int r; r=x*x; return r; } main(){](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-13.jpg)
Solución #include <stdio. h> int cuadrado(int x){ int r; r=x*x; return r; } main(){ int i, resultado; for (i=0; i<10; i++){ resultado = cuadrado (i); printf("Cuadrado de %d: %dn", i, resultado); } return 0; } 13
![Ejemplo Construya una función que calcule la suma de los k primeros números enteros Ejemplo Construya una función que calcule la suma de los k primeros números enteros](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-14.jpg)
Ejemplo Construya una función que calcule la suma de los k primeros números enteros impares. 14
![Solución include stdio h int suma Impares return r 15 Solución ? #include <stdio. h> int suma. Impares(-------){ ---------return r; } 15](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-15.jpg)
Solución ? #include <stdio. h> int suma. Impares(-------){ ---------return r; } 15
![Ejemplo Construya una función que realice intercambio de los valores entre 2 variables 16 Ejemplo Construya una función que realice intercambio de los valores entre 2 variables. 16](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-16.jpg)
Ejemplo Construya una función que realice intercambio de los valores entre 2 variables. 16
![Solución con error porqué include stdio h void intercambioint x int y int temp Solución con error ¿porqué? #include <stdio. h> void intercambio(int x, int y){ int temp;](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-17.jpg)
Solución con error ¿porqué? #include <stdio. h> void intercambio(int x, int y){ int temp; temp=x; x=y; y=temp; printf(“ x=%d y=%d temp=%dn“, x, y, temp); } main(){ int a=1, b=2; printf("a=%d b=%dn", a, b); intercambio(a, b); printf("a=%d b=%dn", a, b); return 0; } 17
![Solución correcta include stdio h void intercambioint x int y int temp tempx xy Solución correcta #include <stdio. h> void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y;](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-18.jpg)
Solución correcta #include <stdio. h> void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; *y=temp; printf(“ x=%d y=%d temp=%dn“, *x, *y, temp); } main(){ int a=1, b=2; printf("a=%d b=%dn", a, b); intercambio (&a, &b); printf("a=%d b=%dn", a, b); return 0; } 18
![Ejemplo Realizar una función en el cual se ingresa un número entero de varias Ejemplo Realizar una función, en el cual se ingresa un número entero de varias](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-19.jpg)
Ejemplo Realizar una función, en el cual se ingresa un número entero de varias cifras y un entero con una posición y se retorna el dígito de dicha posición. – Ejemplo: • Entrada: 987 2 • Salida : 8 19
![Programa include stdio h int buscarint x int k int i n if k0 Programa #include <stdio. h> int buscar(int x, int k){ int i, n; if (k<=0](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-20.jpg)
Programa #include <stdio. h> int buscar(int x, int k){ int i, n; if (k<=0 || x<0) return -1; for (i=0; i<k-1; i++) x=x/10; return (x%10); } void main(){ int n, k, digito; printf("Ingrese numero y posicion: "); scanf("%d %d", &n, &k); digito=buscar(n, k); if (digito<0) printf("No encontradon"); else printf("El digito encontrado es: %dn", digito); return 0; } 20
![Prototipos Uso Identificar el tipo de retorno de la función Especificar Prototipos • Uso: – Identificar el tipo de retorno de la función. – Especificar](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-21.jpg)
Prototipos • Uso: – Identificar el tipo de retorno de la función. – Especificar el tipo y el número de argumentos que utiliza la función. • El prototipo debe aparecer antes de que se haga cualquier llamada a la función. • No es necesario incluir los nombres reales de los parámetros. 21
![Prototipo cont include stdio h int cuadradoint x Prototipo main int i resultado Prototipo (cont. ) #include <stdio. h> int cuadrado(int x); /*Prototipo*/ main(){ int i, resultado;](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-22.jpg)
Prototipo (cont. ) #include <stdio. h> int cuadrado(int x); /*Prototipo*/ main(){ int i, resultado; for (i=0; i<10; i++){ resultado = cuadrado (i); printf("El cuadrado de %d es %dn", i, resultado); } return 0; } int cuadrado(int x){ int a; a=x*x; return a; } 22
![Prototipo cont include stdio h void intercambioint int main int a5 Prototipo (cont. ) #include <stdio. h> void intercambio(int *, int *) main(){ int a=5,](https://slidetodoc.com/presentation_image_h/b3d35b9c038ddd12555c89956bb2270c/image-23.jpg)
Prototipo (cont. ) #include <stdio. h> void intercambio(int *, int *) main(){ int a=5, b=3; printf("a=%d b=%dn", a, b); intercambio (&a, &b); printf("a=%d b=%dn", a, b); /*Prototipo*/ return 0; } void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; *y=temp; } 23
Funciones del lenguaje
Funcion expresiva en un texto
Metalinguistica
Conativa o apelativa
Imagenes
Definicin de estado
Unnime
Monema
Sexo definicin
Definición del amor de francisco de quevedo
Definici9
Cultura aprendida
Definicin de cultura
Definicin
Definicin de derecho
Suponga que se tiene que medir la longitud de un puente
Lenguaje algebraico ecuaciones lineales
Lenguaje algebraico a lenguaje comun
Lenguaje verbal lenguaje algebraico
Lenguaje algebraico 1 eso
Funciones de palabras
Funcion de narrativo
Funciones del lenguaje instrumental
Tipologia textual