Funciones en lenguaje C
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 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
07 funciones
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 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 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 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 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
07 funciones
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.




                                        12
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
Ejemplo



Desarrolle una función que realiza un 
intercambio de los valores entre 2 variables.




                                                14
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
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
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
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




                                             18
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
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
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
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

Más contenido relacionado

PPT
Funcionesenlenguaje c
PDF
Introducción a las funciones en el lenguaje C
PDF
Capítulo 6 funciones y procedimiento
PPTX
Presen iii 26 funciones
PPT
FUNCIONES LENGUAJE C
PPTX
Utilidad de las funciones en c
PPT
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Funcionesenlenguaje c
Introducción a las funciones en el lenguaje C
Capítulo 6 funciones y procedimiento
Presen iii 26 funciones
FUNCIONES LENGUAJE C
Utilidad de las funciones en c
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario

La actualidad más candente (20)

PPT
Funciones en C
DOCX
FUNCIONES EN LENGUAJE C
PDF
Programación 1: funciones en C
PPTX
Ejemplo de solución de práctica funciones stl
 
PPT
PPTX
Resolución práctica de tipos de datos
 
PDF
Funciones y procedimientos
PPT
Pr106 funcionesdefinicion variables
PPTX
Eficiencia en uso tiempo
 
DOC
Ejemplos Para Dev C++
PPTX
Funciones en c++
PPTX
Funciones C++ modificado
PPTX
0.2 Conceptos Basicos C++ II
PDF
Problemas+resueltos+de+c$2 b$2b
PDF
ESTRUCTURAS ARRAYS Y DATOS C++
DOCX
Estructura de datos
PPTX
Funciones en Lenguaje C
PPTX
0.1 Enbarcadero I
PPT
11funciones 1231096290787715-2
DOCX
Apuntes1 elementos del lenguaje c
Funciones en C
FUNCIONES EN LENGUAJE C
Programación 1: funciones en C
Ejemplo de solución de práctica funciones stl
 
Resolución práctica de tipos de datos
 
Funciones y procedimientos
Pr106 funcionesdefinicion variables
Eficiencia en uso tiempo
 
Ejemplos Para Dev C++
Funciones en c++
Funciones C++ modificado
0.2 Conceptos Basicos C++ II
Problemas+resueltos+de+c$2 b$2b
ESTRUCTURAS ARRAYS Y DATOS C++
Estructura de datos
Funciones en Lenguaje C
0.1 Enbarcadero I
11funciones 1231096290787715-2
Apuntes1 elementos del lenguaje c
Publicidad

Destacado (20)

PPTX
Presentación inicial curso Introducción a las Macros en Excel
PPTX
Macros excel
PDF
Funciones y macros con excel
PDF
Taller 1 macros excel renee gonzalez martinez
PPT
Macros Basicos
DOCX
Guia1
PPT
Exposicion Macros
PPTX
Proyecto Parcial 3
PPTX
Macros en excel
PPT
Introducción a la interacción en mesas multicontacto
PPTX
Guía del laboratorio de excel 2007 (mos)
PDF
Excel Advanced Macros - Fichas de Aprendizaje 2014
PPTX
Ejercicio20
PDF
Creacion de macros
PDF
Crear macros
DOC
macros en excel
DOC
Macros en Excel PT. 2
DOCX
Creando macros en Excel 2010 para programdores
PPTX
Introducción a macros
DOC
Macros en Excel Parte V
Presentación inicial curso Introducción a las Macros en Excel
Macros excel
Funciones y macros con excel
Taller 1 macros excel renee gonzalez martinez
Macros Basicos
Guia1
Exposicion Macros
Proyecto Parcial 3
Macros en excel
Introducción a la interacción en mesas multicontacto
Guía del laboratorio de excel 2007 (mos)
Excel Advanced Macros - Fichas de Aprendizaje 2014
Ejercicio20
Creacion de macros
Crear macros
macros en excel
Macros en Excel PT. 2
Creando macros en Excel 2010 para programdores
Introducción a macros
Macros en Excel Parte V
Publicidad

Similar a 07 funciones (20)

PPT
PDF
ESTRUCTURAS DE CONTROL: BUCLES EN C++
PPT
Funcionesclase1
PDF
Guía funciones
PDF
Presentacion programación 2, lenguaje C.
PDF
Explicacion de como usar e implementar funciones en c++
DOCX
Funciones lenguaje c modulo4
PDF
6 libro fundamentos cap__modularidad_ecler mv
PDF
Metodos funciones
PPTX
Clase 1 - Repaso de Programacion Orientada a Objetos.pptx
PDF
Programacion ii modulo2-leccion3
PDF
Escuela
PDF
Escuela
PPT
Computacion punteros
PDF
Programacion Modular lic en informa.pdf
PDF
C++ diapositivas, introducción, operadores y funciones
DOCX
Guia 04 parametros poo
PDF
050 Componentes de un programa Python.pdf
PPT
Funciones.ppt
PDF
Lenguaje c ++ guía para programadores
ESTRUCTURAS DE CONTROL: BUCLES EN C++
Funcionesclase1
Guía funciones
Presentacion programación 2, lenguaje C.
Explicacion de como usar e implementar funciones en c++
Funciones lenguaje c modulo4
6 libro fundamentos cap__modularidad_ecler mv
Metodos funciones
Clase 1 - Repaso de Programacion Orientada a Objetos.pptx
Programacion ii modulo2-leccion3
Escuela
Escuela
Computacion punteros
Programacion Modular lic en informa.pdf
C++ diapositivas, introducción, operadores y funciones
Guia 04 parametros poo
050 Componentes de un programa Python.pdf
Funciones.ppt
Lenguaje c ++ guía para programadores

Más de Cesar Oswaldo Osorio Agualongo (20)

PPTX
Aprendizaje de Lenguaje de Programación Python
PPTX
Notas 2 do parcial
PPTX
Material iii parcial
PPTX
PPTX
PPTX
Punteros y funciones
PPTX
PPTX
Material estudio c
PPT
Estructuras en c++
PPTX
Punteros presentacion
DOCX
Practica 6 manejo de archivos v1
PPT
Estructuras en c++
PPTX
Funciones recursivas
PPTX
Punteros y funciones abril agosto 2016
PDF
Programacion semanal programacion i
Aprendizaje de Lenguaje de Programación Python
Notas 2 do parcial
Material iii parcial
Punteros y funciones
Material estudio c
Estructuras en c++
Punteros presentacion
Practica 6 manejo de archivos v1
Estructuras en c++
Funciones recursivas
Punteros y funciones abril agosto 2016
Programacion semanal programacion i

07 funciones

  • 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: 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
  • 5. La sentencia return – Fuerza la salida inmediata de la función en que se  encuentra. – Se puede utilizar para devolver un valor. 5
  • 6. 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
  • 7. 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
  • 8. 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
  • 9. 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
  • 11. 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
  • 13. 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
  • 15. 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
  • 16. 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
  • 17. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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