Your SlideShare is downloading. ×
0
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
07 funciones
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

07 funciones

207

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
207
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Funciones en lenguaje C
  • 2. 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
  • 3. Funciones: ventajas1.­ 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 individualmente5.­ Con funciones apropiadamente diseñadas, es  posible ignorar como se realiza una tarea,  sabiendo qué es lo que hacen. 3
  • 4. La sentencia return– Fuerza la salida inmediata de la función en que se  encuentra.– Se puede utilizar para devolver un valor. 5
  • 5. 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
  • 6. Funciones: modos de uso1.­ 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. EjemploConstruya un programa que calcule el  cuadrado de los 10 primeros números  enteros. 12
  • 11. 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:t%dn",i,resultado); }return 0;} 13
  • 12. EjemploDesarrolle una función que realiza un intercambio de los valores entre 2 variables. 14
  • 13. Ejemplo Crear una función que duplique el contenido  de una variable.    1. Debe ser independiente de si la variable  es global o local.    2. Debe tener retorno void 15
  • 14. Solución con error ¿porqué?#include <stdio.h>void intercambio(int x, int y){ int temp; temp=x; x=y; y=temp; printf(“n x=%d y=%d temp=%d “,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;} 16
  • 15. 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=%d n“,*x,*y,temp);}main(){ int a=1,b=2; printf("a=%d b=%dn",a,b); intercambio (&a,&b); printf("na=%d b=%d",a,b); return 0;} 17
  • 16. EjemploRealizar 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 18
  • 17. 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;} 19
  • 18. 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. 20
  • 19. 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;} 21
  • 20. Prototipo (cont.)#include <stdio.h>void intercambio(int *, int *) /*Prototipo*/main(){ int a=5,b=3; printf("a=%d b=%dn",a,b); intercambio (&a,&b); printf("a=%d b=%dn",a,b); return 0;}void intercambio(int *x, int *y){ int temp; temp=*x; *x=*y; *y=temp;} 22

×