SlideShare una empresa de Scribd logo
PRESENTADO POR:
Yelit, Conde Tellez
La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera
que contiene otra muñeca más pequeña dentro de sí. Y así, una dentro de
otra.
El programa se
fracciona en
muchos módulos
que produce
muchos
beneficios
(Jayanes Aguilar)
En programación,
una función designa
una parte del
código que se
ejecuta al
momentos de las
llamadas
(Juganaru Mathieu)
Aislar mejor los
problemas.
Escribir programas
correctos más
rápidos
La declaración de una función de hace con :
Tipo nombre_función(lista parámetros con tipos) { }
Código
Donde tienen
declaraciones de
variables
Return expresion;
El return se utiliza en las funciones se tipo void.
Return;
A continuación se presenta algunos ejemplos de función:
void nada ( )
{
}
void nada 2 ( )
{
return;
}
int min (int a, int b)
{
If (a<=b)
return;
else
return b;
}
double sin(doublé x)
double cos(doublé x)
double tan(doublé x)
Para las funciones trigonométricas.
double exp(doublé x) que significa 𝑒 𝑥
.
double pow(x, y) que es la potencia 𝑥 𝑦
.
double sqrt(doublé x) que significa 𝑥.
Int abs(int n): valor absoluto.
En la biblioteca < stdio.h > de estándares
de entrada y otro de salida
Teclado pantalla
respectivamente
int
char
double
void
Son de tipo entero (abc
y ABC)
Caracteres
almacenados al inicio
del argumento.
Notación decimal con
signo y punto decimal
Impresión apuntador
La recursividad
es un concepto
fundamental en
matemáticas y
en computación.
Es una alternativa
diferente para
implementar estructuras
de repetición (ciclos). Los
módulos se hacen
llamadas recursivas.
Se puede usar en toda
situación en la cual la solución
pueda ser expresada como una
secuencia de movimientos,
pasos o transformaciones
gobernadas por un conjunto de
reglas no ambiguas.
R. DIRECTA R. INDIRECTA
El código de la función P( ) contiene una
sentencia que invoca a P( ).
invoca a la función a P( ), que
invoca a su vez a la función Q( ).
Las funciones recursivas son precisamente las funciones que pueden ser
calculados, con el.
Las funciones se
pueden implementar
de modo
Recursivo
Iterativo
Se basa en una
estructura de un
control y selección.
Utiliza una estructura
repetitiva.
Las funciones recursivas se componen de casos:
una solución simple para un caso particular (puede haber más de
un caso base).
una solución que involucra volver a utilizar la función original,
con parámetros que se acercan más al caso base. Los pasos
que sigue el caso recursivo son los siguientes:
1.El procedimiento
se llama a sí mismo
2. El problema se
resuelve, tratando
el mismo
problema pero de
tamaño menor
3.La manera en la cual
el tamaño del problema
disminuye asegura que
el caso base
eventualmente se
alcanzará
Escribe un programa que calcule el factorial (!) de un entero no negativo.
He aquí algunos ejemplos de
factoriales:
•1! = 1
• 2! = 2 2 * 1
• 3! = 6 3 * 2 * 1
• 4! = 24 4 * 3 * 2 * 1
• 5! = 120 5 * 4 * 3 * 2 * 1
A continuación veremos la secuencia de factoriales.
0! = 1
1! = 1 = 1 * 1 = 1 * 0!
2! = 2 = 2 * 1 = 2 * 1!
3! = 6 = 3 * 2 * 1 = 3 * 2!
4! = 24 = 4 * 3 * 2 * 1 = 4 * 3!
5! = 120 = 5 * 4 * 3 * 2 * 1 = 5 * 4!
...
N! = N * (N – 1)!
Solución:
Aquí podemos ver la secuencia que toma el factorial
N ! =
1
N * (N – 1) !
si N = 0 (base)
si N > 0 (recursión)
Un razonamiento recursivo tiene dos partes: la base y la regla
recursiva de construcción. La base no es recursiva y es el punto
tanto de partida como de terminación de la definición.
Organicemos
nuestro diagrama
de flujo tanto
iterativo, como
recursivo
public int factorial (int n) {
int fact = 1;
for (int i = 1; i <= n; i++)
fact = i * fact;
return fact;
}
int factorial (int n)
comienza
fact ← 1
para i ← 1 hasta n
fact ← i * fact
Regresa fact
termina
A continuación
veremos como
funciona en el
programa C++
public int factorial (int n) {
if n == 0 return 1;
Else
return factorial (n-1) * n;
}
int factorial (int n)
Comienza
si n = 0 entonces
regresa 1
Otro
regresa factorial (n-1)*n
termina
Es importante determinar un
caso base, es decir un
punto en el cual existe una
condición por la cual no se
requiera volver a llamar a la
misma función.
Cada término de la serie suma los 2 anteriores. Fórmula
recursiva
fib(n) = fib (n - 1) + fib (n - 2)
Caso base: Fib (0)=0; Fib (1)=1
Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2)
public static int fib(int n){
if (n <= 1) return n; //condición base
else
return fib(n-1)+fib(n-2); //condición recursiva
}
Valores: 0, 1, 1, 2, 3, 5, 8...
A continuación
veremos como
funciona en el
programa C++
La razón fundamental es que existen numerosos
problemas complejos que poseen naturaleza
recursiva y consecuencia, son mas fáciles de
implementar con algoritmos de este tipo.
Primera: Podemos concluir que la función está definida por su nombre, que
debe ser un identificador único, ya que es la aplicación que se refiere a
una regla que se asigna a cada elemento de un conjunto.
Segundo: La recursividad es una alternativa diferente para implementar
estructuras de repetición, se puede usar en toda situación en la cual la
solución pueda ser expresada como una secuencia de movimientos.
Tercera: Por último, una función recursiva puede invocarse así misma en
forma directa o indirecta, donde puede dar origen a una recursión infinita.
Funciones recursivas

Más contenido relacionado

La actualidad más candente

Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...
Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...
Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...
Francesc Perez
 
Low dropout regulator(ldo)
Low dropout regulator(ldo)Low dropout regulator(ldo)
Low dropout regulator(ldo)
altaf423
 
Guia simulador modulo digital
Guia simulador modulo digitalGuia simulador modulo digital
Guia simulador modulo digital
vitesa1
 
Modulacion Y Demodulacion
Modulacion Y DemodulacionModulacion Y Demodulacion
Modulacion Y Demodulacion
mariagupena
 

La actualidad más candente (20)

Practica Amplificador clase AB
Practica Amplificador clase ABPractica Amplificador clase AB
Practica Amplificador clase AB
 
Servomotores - Funciones con Arduino
Servomotores - Funciones con ArduinoServomotores - Funciones con Arduino
Servomotores - Funciones con Arduino
 
Señales y sistemas
Señales y sistemasSeñales y sistemas
Señales y sistemas
 
EL TRANSISTOR BJT
EL TRANSISTOR BJTEL TRANSISTOR BJT
EL TRANSISTOR BJT
 
Electronica potencia1
Electronica potencia1 Electronica potencia1
Electronica potencia1
 
Diodo zener
Diodo zenerDiodo zener
Diodo zener
 
Proyecto 4- laboratorio de electronica 1
Proyecto 4- laboratorio de electronica 1Proyecto 4- laboratorio de electronica 1
Proyecto 4- laboratorio de electronica 1
 
Máquinas de Estado
Máquinas de EstadoMáquinas de Estado
Máquinas de Estado
 
Practica 3 prelaboratorio y postlaboratorio francisco apostol
Practica 3  prelaboratorio y postlaboratorio  francisco apostolPractica 3  prelaboratorio y postlaboratorio  francisco apostol
Practica 3 prelaboratorio y postlaboratorio francisco apostol
 
Ejercicios normalización
Ejercicios normalizaciónEjercicios normalización
Ejercicios normalización
 
Scr, triac y diac
Scr, triac y diacScr, triac y diac
Scr, triac y diac
 
Métodos de Diseño de Filtros FIR
Métodos de Diseño de Filtros FIRMétodos de Diseño de Filtros FIR
Métodos de Diseño de Filtros FIR
 
Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...
Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...
Conceptos y protocolos de enrutamiento: 4. Protocolos de enrutamiento vector ...
 
Amplificadores Multietapa
Amplificadores MultietapaAmplificadores Multietapa
Amplificadores Multietapa
 
Low dropout regulator(ldo)
Low dropout regulator(ldo)Low dropout regulator(ldo)
Low dropout regulator(ldo)
 
Guia simulador modulo digital
Guia simulador modulo digitalGuia simulador modulo digital
Guia simulador modulo digital
 
Ejercicios resueltos con diodos
Ejercicios resueltos con diodosEjercicios resueltos con diodos
Ejercicios resueltos con diodos
 
Transistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacionTransistores mosfet configuracion y polarizacion
Transistores mosfet configuracion y polarizacion
 
Modulacion Y Demodulacion
Modulacion Y DemodulacionModulacion Y Demodulacion
Modulacion Y Demodulacion
 
Oscillatorsppt
OscillatorspptOscillatorsppt
Oscillatorsppt
 

Similar a Funciones recursivas (20)

Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Algoritmos y Estructura de Datos
Algoritmos y Estructura de DatosAlgoritmos y Estructura de Datos
Algoritmos y Estructura de Datos
 
2 algoritmos-1
2 algoritmos-12 algoritmos-1
2 algoritmos-1
 
Recursividad.pdf
Recursividad.pdfRecursividad.pdf
Recursividad.pdf
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursividad.pdf
Recursividad.pdfRecursividad.pdf
Recursividad.pdf
 
03 tda1 t2018
03 tda1 t201803 tda1 t2018
03 tda1 t2018
 
Metodologia de la programacion recursividad
Metodologia de la programacion   recursividadMetodologia de la programacion   recursividad
Metodologia de la programacion recursividad
 
Modulo4
Modulo4Modulo4
Modulo4
 
Factorial en C++
Factorial en C++Factorial en C++
Factorial en C++
 
Funciones
FuncionesFunciones
Funciones
 
Funciones recursivas en C++
Funciones recursivas en C++Funciones recursivas en C++
Funciones recursivas en C++
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Catalan
CatalanCatalan
Catalan
 
Practica 1
Practica 1Practica 1
Practica 1
 
Recursividad
RecursividadRecursividad
Recursividad
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 
Catalan
CatalanCatalan
Catalan
 
Catalan
CatalanCatalan
Catalan
 

Último

evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
ansomora123
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Noe Castillo
 
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdfFerias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
JudithRomero51
 

Último (20)

Power Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptxPower Point: Luz desde el santuario.pptx
Power Point: Luz desde el santuario.pptx
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
Lección 1: Los complementos del Verbo ...
Lección 1: Los complementos del Verbo ...Lección 1: Los complementos del Verbo ...
Lección 1: Los complementos del Verbo ...
 
Proceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu RemodelaciónProceso de gestión de obras - Aquí tu Remodelación
Proceso de gestión de obras - Aquí tu Remodelación
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOSTRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
TRABAJO CON TRES O MAS FRACCIONES PARA NIÑOS
 
Cerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencialCerebelo Anatomía y fisiología Clase presencial
Cerebelo Anatomía y fisiología Clase presencial
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
Sesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdfSesión de clase: Luz desde el santuario.pdf
Sesión de clase: Luz desde el santuario.pdf
 
Poemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6ºPoemas de Beatriz Giménez de Ory_trabajos de 6º
Poemas de Beatriz Giménez de Ory_trabajos de 6º
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
Tema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptxTema 14. Aplicación de Diagramas 26-05-24.pptx
Tema 14. Aplicación de Diagramas 26-05-24.pptx
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdfFerias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
Ferias de ciencias y estrategia STEAM – PNFCyT 2024.pdf
 
Evaluación de los Factores Internos de la Organización
Evaluación de los Factores Internos de la OrganizaciónEvaluación de los Factores Internos de la Organización
Evaluación de los Factores Internos de la Organización
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
 

Funciones recursivas

  • 2. La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más pequeña dentro de sí. Y así, una dentro de otra.
  • 3. El programa se fracciona en muchos módulos que produce muchos beneficios (Jayanes Aguilar) En programación, una función designa una parte del código que se ejecuta al momentos de las llamadas (Juganaru Mathieu) Aislar mejor los problemas. Escribir programas correctos más rápidos
  • 4. La declaración de una función de hace con : Tipo nombre_función(lista parámetros con tipos) { } Código Donde tienen declaraciones de variables Return expresion; El return se utiliza en las funciones se tipo void. Return; A continuación se presenta algunos ejemplos de función: void nada ( ) { } void nada 2 ( ) { return; } int min (int a, int b) { If (a<=b) return; else return b; }
  • 5. double sin(doublé x) double cos(doublé x) double tan(doublé x) Para las funciones trigonométricas. double exp(doublé x) que significa 𝑒 𝑥 . double pow(x, y) que es la potencia 𝑥 𝑦 . double sqrt(doublé x) que significa 𝑥. Int abs(int n): valor absoluto. En la biblioteca < stdio.h > de estándares de entrada y otro de salida Teclado pantalla respectivamente
  • 6. int char double void Son de tipo entero (abc y ABC) Caracteres almacenados al inicio del argumento. Notación decimal con signo y punto decimal Impresión apuntador
  • 7. La recursividad es un concepto fundamental en matemáticas y en computación. Es una alternativa diferente para implementar estructuras de repetición (ciclos). Los módulos se hacen llamadas recursivas. Se puede usar en toda situación en la cual la solución pueda ser expresada como una secuencia de movimientos, pasos o transformaciones gobernadas por un conjunto de reglas no ambiguas.
  • 8. R. DIRECTA R. INDIRECTA El código de la función P( ) contiene una sentencia que invoca a P( ). invoca a la función a P( ), que invoca a su vez a la función Q( ). Las funciones recursivas son precisamente las funciones que pueden ser calculados, con el.
  • 9. Las funciones se pueden implementar de modo Recursivo Iterativo Se basa en una estructura de un control y selección. Utiliza una estructura repetitiva.
  • 10. Las funciones recursivas se componen de casos: una solución simple para un caso particular (puede haber más de un caso base). una solución que involucra volver a utilizar la función original, con parámetros que se acercan más al caso base. Los pasos que sigue el caso recursivo son los siguientes: 1.El procedimiento se llama a sí mismo 2. El problema se resuelve, tratando el mismo problema pero de tamaño menor 3.La manera en la cual el tamaño del problema disminuye asegura que el caso base eventualmente se alcanzará
  • 11. Escribe un programa que calcule el factorial (!) de un entero no negativo. He aquí algunos ejemplos de factoriales: •1! = 1 • 2! = 2 2 * 1 • 3! = 6 3 * 2 * 1 • 4! = 24 4 * 3 * 2 * 1 • 5! = 120 5 * 4 * 3 * 2 * 1
  • 12. A continuación veremos la secuencia de factoriales. 0! = 1 1! = 1 = 1 * 1 = 1 * 0! 2! = 2 = 2 * 1 = 2 * 1! 3! = 6 = 3 * 2 * 1 = 3 * 2! 4! = 24 = 4 * 3 * 2 * 1 = 4 * 3! 5! = 120 = 5 * 4 * 3 * 2 * 1 = 5 * 4! ... N! = N * (N – 1)!
  • 13. Solución: Aquí podemos ver la secuencia que toma el factorial N ! = 1 N * (N – 1) ! si N = 0 (base) si N > 0 (recursión) Un razonamiento recursivo tiene dos partes: la base y la regla recursiva de construcción. La base no es recursiva y es el punto tanto de partida como de terminación de la definición. Organicemos nuestro diagrama de flujo tanto iterativo, como recursivo
  • 14. public int factorial (int n) { int fact = 1; for (int i = 1; i <= n; i++) fact = i * fact; return fact; } int factorial (int n) comienza fact ← 1 para i ← 1 hasta n fact ← i * fact Regresa fact termina A continuación veremos como funciona en el programa C++
  • 15. public int factorial (int n) { if n == 0 return 1; Else return factorial (n-1) * n; } int factorial (int n) Comienza si n = 0 entonces regresa 1 Otro regresa factorial (n-1)*n termina Es importante determinar un caso base, es decir un punto en el cual existe una condición por la cual no se requiera volver a llamar a la misma función.
  • 16. Cada término de la serie suma los 2 anteriores. Fórmula recursiva fib(n) = fib (n - 1) + fib (n - 2) Caso base: Fib (0)=0; Fib (1)=1 Caso recursivo: Fib (i) = Fib (i -1) + Fib(i -2) public static int fib(int n){ if (n <= 1) return n; //condición base else return fib(n-1)+fib(n-2); //condición recursiva } Valores: 0, 1, 1, 2, 3, 5, 8...
  • 18.
  • 19. La razón fundamental es que existen numerosos problemas complejos que poseen naturaleza recursiva y consecuencia, son mas fáciles de implementar con algoritmos de este tipo.
  • 20. Primera: Podemos concluir que la función está definida por su nombre, que debe ser un identificador único, ya que es la aplicación que se refiere a una regla que se asigna a cada elemento de un conjunto. Segundo: La recursividad es una alternativa diferente para implementar estructuras de repetición, se puede usar en toda situación en la cual la solución pueda ser expresada como una secuencia de movimientos. Tercera: Por último, una función recursiva puede invocarse así misma en forma directa o indirecta, donde puede dar origen a una recursión infinita.