SlideShare una empresa de Scribd logo
1 de 27
Funciones Capítulo 4
¿Qué son?¿Para qué sirven? ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Diferencia entre  El Programa y las Funciones
Conceptos Básicos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Funciones ,[object Object],[object Object],[object Object],[object Object]
Declaración de Funciones ,[object Object],[object Object],[object Object],[object Object],[object Object],tipoDatoRetorno nombreFuncion(lista parámetros);
Implementación de Funciones int potencia(int base, int exponente) { sentencias; } float farenheitACelsius(double celsius) { sentencias; } La primera línea se escribe igual que en la declaración, pero sin el punto y coma. Entre llaves se escriben las sentencias que ejecutan lo que debe realizar la función
¿Cómo Retornar? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Uso de Funciones ,[object Object],[object Object],[object Object],[object Object]
Uso de Funciones (continuación) ,[object Object],void main( ) { int x; … . x = potencia(a,b); … } void main( ) { float c; … . c = farenheitACelsius(f); … } void main( ) { … . printf(“%d”, potencia(a,b)); … } void main( ) { … . printf(“%f”, farenheitACelsius(f)); … }
Aplicación: Juegos de Azar Generación de Números Aleatorios
Generación de Números Aleatorios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1 + ( rand() % 6);  //Número entre 1 y 6
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Generación de Números Aleatorios
Librería MATH ,[object Object]
Funciones Predicado ,[object Object],[object Object]
[object Object],La Verdad detrás de las Funciones #include <stdio.h> //Declaración de funciones int Factorial(int n); Si vemos s ó lo la funci ó n, tiene sentido, pues se encarga de calcular el factorial de la variable n Si vemos s ó lo el programa principal, tiene sentido, pues se imprime el factorial de todos los n ú meros hasta el 10 ,[object Object],[object Object],[object Object],[object Object],void  main() { int i; for (i = 0; i < 10; i ++)   printf(“%d”, Factorial(i)); } int Factorial   (int n) { int fact,  i ; fact = 1; for(i = 1; i <=n; i++)   fact = fact * i; return (fact); }
Paso de Argumentos a Funciones #include <stdio.h> #include < simpio .h> //Declaración de funciones int Factorial   (int n); void  main() { int i; for (i = 0; i < 10; i ++) printf(“%d”, Factorial(i)); } int Factorial   (int n) { int fact, i; fact = 1; for(i = 1; i <=n; i++) fact = fact * i; return (fact); } ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pasos  para   l lamar  a una  Funci ó n ,[object Object],[object Object],[object Object],[object Object],[object Object],#include <stdio.h> int Factorial(int n); void main() { int i; for (i = 0; i < 10; i ++) { printf(“%d”,  Factorial(i) ); } } int Factorial(int n) { int fact, i; fact = 1; for(i = 1; i <=n; i++) { fact = fact * i; } return (fact); } Factorial(0) n 0 n 1 n 2 Factorial(1) Factorial(2) expr 1 expr 1 expr 2 Factorial(3) n 3 expr 6 1 1 2 6
Variables Locales ,[object Object],[object Object],[object Object],main i 0 Al llamar a la función Factorial, se crean 3 variables locales a Factorial, pueden tener cualquier nombre, en este caso: n, fact e i.  Las variables locales del main aun existen, pero, no se pueden ver mientras Factorial este activa. Cuando todo Factorial termina, retorna el valor, y las variables locales al main permanecen iguales como antes de la llamada. La variable i es local a la funcion main 0 1 1 La variable i es local a la funcion main Factorial n fact i main i 0
Más sobre … Un tipo especial de funciones: Procedimientos
Procedimientos ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implementación de Procedimientos void mostrar Menu  (void) { printf   (“ 1. Tabla de Sumar n ”); printf   (“ 2. Tabla de Restar ”); printf   (“ 3. Tabla de Multiplicar ”); printf   (“ 4. Tabla de Dividir ”); printf   (“ 5. Salir ”); }
[object Object],[object Object],[object Object],Paso  d e Parámetros Al retornar la función no efectuaría el cambio, como lo deseamos. Recordemos que, al pasar parámetros, se efectúa una copia de los valores. Este tipo de paso de parámetros se conoce como  PASO DE PARAMETROS POR VALOR. 3 4 3 4 3 3 4 void  main() { int x, y; printf(“Ingrese x:”); scanf(“%d”,&x); printf(“Ingrese y:”); scanf(“%d”,&y); printf(“x = %d, y= %d”, x, y); intercambiar(x,y); printf(“x = %d, y= %d”, x, y); } void intercambiar(int a, int b) { int tmp; tmp = a; a = b; b = tmp; } x main y Intercambiar a b tmp x main y 3 4
[object Object],[object Object],[object Object],Paso  d e Parámetros  p or Referencia void  main() { int x, y; printf(“Ingrese x:”); scanf(“%d”,&x); printf(“Ingrese y:”); scanf(“%d”,&y); printf(“x = %d, y= %d”, x, y); intercambiar(&x,&y); printf(“x = %d, y= %d”, x, y); } void intercambiar(int *a, int *b) { int tmp; tmp = *a; *a = *b; *b = tmp; } 3 4 Al retornar la función si habrá efectuado el cambio sobre las variables que se pasaron por referencia. 4 3 3 4 3 3 4 x  y main Intercambiar a  b  tmp
Refinamiento ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],Un Problema más Grande Dar Instrucciones Ingreso y Validacion de Año Imprimir Mes Mostrar Nombre del Mes Determinar que dia de la semana fue el primer dia del mes Dar el respectivo marqen para el primer dia del mes
Calendario Dar Instrucciones Pedir Año Imprimir Calendario Imprimir Nombre del Mes Determinar cuantos días trae el mes Determinar el dia de la semana donde cayo el primer dia Imprimir el Margen para el primer dia del mes Imprimir Calendario de c/ Mes Imprimir el resto de días Dependiendo del mes y de si es bisiesto, elegir total de días Calcular el dia de la semana del primer dia del año, contando el total de días desde 1900 hasta el año actual, considerando los años bisiestos Calcular el dia de la semana del primer dia del mes, sumándole al primer dia del año, el total de días hasta el mes actual, considerando el total de días de cada mes

Más contenido relacionado

La actualidad más candente

Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoEnAutomático
 
Entrada y salida de datos en c
Entrada y salida de datos en cEntrada y salida de datos en c
Entrada y salida de datos en cDenisse C
 
Ejercicios en Python
Ejercicios en PythonEjercicios en Python
Ejercicios en PythonGuiru Xd
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos1002pc4
 
POINTERS IN C MRS.SOWMYA JYOTHI.pdf
POINTERS IN C MRS.SOWMYA JYOTHI.pdfPOINTERS IN C MRS.SOWMYA JYOTHI.pdf
POINTERS IN C MRS.SOWMYA JYOTHI.pdfSowmyaJyothi3
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++yesid19
 
Types of function call
Types of function callTypes of function call
Types of function callArijitDhali
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do WhileJoshe Varillas
 
Programming in C Presentation upto FILE
Programming in C Presentation upto FILEProgramming in C Presentation upto FILE
Programming in C Presentation upto FILEDipta Saha
 
function, storage class and array and strings
 function, storage class and array and strings function, storage class and array and strings
function, storage class and array and stringsRai University
 

La actualidad más candente (20)

Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
Entrada y salida de datos en c
Entrada y salida de datos en cEntrada y salida de datos en c
Entrada y salida de datos en c
 
Elementos basicos C++
Elementos basicos C++Elementos basicos C++
Elementos basicos C++
 
Programación 1: modularización
Programación 1: modularizaciónProgramación 1: modularización
Programación 1: modularización
 
Ejercicios en Python
Ejercicios en PythonEjercicios en Python
Ejercicios en Python
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Functions in C++
Functions in C++Functions in C++
Functions in C++
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)Estructuras de Datos (Arreglos)
Estructuras de Datos (Arreglos)
 
POINTERS IN C MRS.SOWMYA JYOTHI.pdf
POINTERS IN C MRS.SOWMYA JYOTHI.pdfPOINTERS IN C MRS.SOWMYA JYOTHI.pdf
POINTERS IN C MRS.SOWMYA JYOTHI.pdf
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Types of function call
Types of function callTypes of function call
Types of function call
 
Tutorial PSEINT
Tutorial PSEINT Tutorial PSEINT
Tutorial PSEINT
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Ejercicios Whule y Do While
Ejercicios Whule y Do WhileEjercicios Whule y Do While
Ejercicios Whule y Do While
 
Programming in C Presentation upto FILE
Programming in C Presentation upto FILEProgramming in C Presentation upto FILE
Programming in C Presentation upto FILE
 
function, storage class and array and strings
 function, storage class and array and strings function, storage class and array and strings
function, storage class and array and strings
 

Similar a Funciones-Capítulo-4-Qué-son-Para-qué-sirven

Similar a Funciones-Capítulo-4-Qué-son-Para-qué-sirven (20)

11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Computacion punteros
Computacion punterosComputacion punteros
Computacion punteros
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
07 funciones
07 funciones07 funciones
07 funciones
 
Presentacion
PresentacionPresentacion
Presentacion
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
Funciones
FuncionesFunciones
Funciones
 
Funciones
FuncionesFunciones
Funciones
 
Escuela
EscuelaEscuela
Escuela
 
Escuela
EscuelaEscuela
Escuela
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 
Fundamentos de la programación
Fundamentos de la programaciónFundamentos de la programación
Fundamentos de la programación
 
Funciones
FuncionesFunciones
Funciones
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf
 

Más de Ronny Parra

Actitudes ante las discapacidades
Actitudes ante las discapacidadesActitudes ante las discapacidades
Actitudes ante las discapacidadesRonny Parra
 
Caracteres y cadenas en C
Caracteres y cadenas en CCaracteres y cadenas en C
Caracteres y cadenas en CRonny Parra
 
Caracteres y Cadenas en C
Caracteres y Cadenas en CCaracteres y Cadenas en C
Caracteres y Cadenas en CRonny Parra
 
Creacion de una librería propia en C
Creacion de una librería propia en CCreacion de una librería propia en C
Creacion de una librería propia en CRonny Parra
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CRonny Parra
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programaciónRonny Parra
 
Diagramas de Interaccion de Objetos
Diagramas de Interaccion de ObjetosDiagramas de Interaccion de Objetos
Diagramas de Interaccion de ObjetosRonny Parra
 
Entorno grafico en Java
Entorno grafico en JavaEntorno grafico en Java
Entorno grafico en JavaRonny Parra
 
Entorno gráfico en Java
Entorno gráfico en JavaEntorno gráfico en Java
Entorno gráfico en JavaRonny Parra
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en JavaRonny Parra
 
Conceptos basicos de Ecologia
Conceptos basicos de EcologiaConceptos basicos de Ecologia
Conceptos basicos de EcologiaRonny Parra
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de usoRonny Parra
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de DatosRonny Parra
 
Programación en Java: Applets
Programación en Java: AppletsProgramación en Java: Applets
Programación en Java: AppletsRonny Parra
 

Más de Ronny Parra (20)

Actitudes ante las discapacidades
Actitudes ante las discapacidadesActitudes ante las discapacidades
Actitudes ante las discapacidades
 
Caracteres y cadenas en C
Caracteres y cadenas en CCaracteres y cadenas en C
Caracteres y cadenas en C
 
Archivos en C
Archivos en CArchivos en C
Archivos en C
 
Caracteres y Cadenas en C
Caracteres y Cadenas en CCaracteres y Cadenas en C
Caracteres y Cadenas en C
 
Creacion de una librería propia en C
Creacion de una librería propia en CCreacion de una librería propia en C
Creacion de una librería propia en C
 
Arreglos en C
Arreglos en CArreglos en C
Arreglos en C
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en C
 
Introduccion a la programación
Introduccion a la programaciónIntroduccion a la programación
Introduccion a la programación
 
Threads en Java
Threads en JavaThreads en Java
Threads en Java
 
Eventos en Java
Eventos en JavaEventos en Java
Eventos en Java
 
Diagramas de Interaccion de Objetos
Diagramas de Interaccion de ObjetosDiagramas de Interaccion de Objetos
Diagramas de Interaccion de Objetos
 
Entorno grafico en Java
Entorno grafico en JavaEntorno grafico en Java
Entorno grafico en Java
 
Entorno gráfico en Java
Entorno gráfico en JavaEntorno gráfico en Java
Entorno gráfico en Java
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Colecciones en Java
Colecciones en JavaColecciones en Java
Colecciones en Java
 
Clases Anidadas
Clases AnidadasClases Anidadas
Clases Anidadas
 
Conceptos basicos de Ecologia
Conceptos basicos de EcologiaConceptos basicos de Ecologia
Conceptos basicos de Ecologia
 
Diagramas de casos de uso
Diagramas de casos de usoDiagramas de casos de uso
Diagramas de casos de uso
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Programación en Java: Applets
Programación en Java: AppletsProgramación en Java: Applets
Programación en Java: Applets
 

Funciones-Capítulo-4-Qué-son-Para-qué-sirven

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7. Implementación de Funciones int potencia(int base, int exponente) { sentencias; } float farenheitACelsius(double celsius) { sentencias; } La primera línea se escribe igual que en la declaración, pero sin el punto y coma. Entre llaves se escriben las sentencias que ejecutan lo que debe realizar la función
  • 8.
  • 9.
  • 10.
  • 11. Aplicación: Juegos de Azar Generación de Números Aleatorios
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20. Más sobre … Un tipo especial de funciones: Procedimientos
  • 21.
  • 22. Implementación de Procedimientos void mostrar Menu (void) { printf (“ 1. Tabla de Sumar n ”); printf (“ 2. Tabla de Restar ”); printf (“ 3. Tabla de Multiplicar ”); printf (“ 4. Tabla de Dividir ”); printf (“ 5. Salir ”); }
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. Calendario Dar Instrucciones Pedir Año Imprimir Calendario Imprimir Nombre del Mes Determinar cuantos días trae el mes Determinar el dia de la semana donde cayo el primer dia Imprimir el Margen para el primer dia del mes Imprimir Calendario de c/ Mes Imprimir el resto de días Dependiendo del mes y de si es bisiesto, elegir total de días Calcular el dia de la semana del primer dia del año, contando el total de días desde 1900 hasta el año actual, considerando los años bisiestos Calcular el dia de la semana del primer dia del mes, sumándole al primer dia del año, el total de días hasta el mes actual, considerando el total de días de cada mes