SlideShare una empresa de Scribd logo
1 de 6
Instituto Tecnológico Superior de Felipe Carrillo Puerto 
ING. SISTEMAS COMPUTACIONALES 
Docente: Niels Henryk Aranda Cuevas 
Alumna: Marleni Tuyub Che
Unidad 2 
recursividad
2.1 Definición 
La recursividad es una técnica de programación importante, se utiliza para realizar una llamada a una función desde 
la misma función 
2.2 procedimiento recursivos 
Los procedimientos recursivos o recurrentes se pueden clasificar en dos formas distintas: 
- Recursividad directa o 
- Recursividad indirecta 
La recursividad directa se presenta cuando el método se manda llamar a sí mismo dentro de su propio cuerpo de 
instrucciones. 
public int Metodo(int n) 
{ 
: 
n = Metodo(n-1); 
} 
La recursividad indirecta se manifiesta cundo un método llama a otro y dentro del segundo se manda llamar al 
primero. O cuando existe la llamada a métodos de forma encadenada y al terminar el último método llamado, 
transfiere el control al anterior, hasta llegar al método que inicio la serie de llamadas.
public int Metodo1(int n) 
{ 
: 
n = Metodo2(n-1); 
} 
public int Metodo2(int n) 
{ 
: 
n = Metodo1(n-1); 
} 
Analizando el concepto de recursividad y su clasificación, puede indicar que es un 
procedimiento infinito, que solo se detendrá en el momento que se agote la memoria, 
generando un error de programación y la interrupción del mismo. 
Pero esto no es así, ya que debe existir un elemento que indica el retorno de un 
resultado concreto y no el retorno de la llamada al método recursivo o recurrente. 
Funcionamiento del proceso 
n Llamado a factorial 
4 4*factorial(3) 
3 3*factorial(2) 
2 2*factorial(1) 
1 1*factorial(0) 
0 1
Imprimir de manera recursiva la serie de fibonnaci 
Fibonnacci de manera recursiva 
Fibonacci(0,1,21)=1 
Fibonacci(1,1,21)=2 
Fibonacci(1,2,21)=3 
Fibonacci(2,3,21)=5 
Fibonacci(3,5,21)=8 
Fibonacci(5,8,21)=13 
Fibonacci(8,13,21)=21 
Realizar de manera recursiva la potencia de un número para n. 
24 2*potencia(2*potencia(2*potencia(2*potencia(2,0)) 
Potencia(2,4)=2*potencia(2,3)=16 
Potencia(2,3)=2*potencia(2,2)=8 
Potencia(2,2)=2*potencia(2,1)=4 
Potencia(2,1)=2*potencia(2,0)=2 
Potencia(2,0)=1
conclusión 
se llama a una función recursiva es llamar una función en si misma para resolver un problema. En realidad la 
función sólo sabe cómo resolver el(los) caso(s) más sencillo(s), o lo que se conoce como base(s).Si a la función 
se le llama con el caso base, la función sencillamente devuelve el resultado. Si a la función se le llama con un 
problema más complicado, la función divide el problema en partes conceptuales, la parte que la función sabe 
cómo resolver y la parte que la función o resolver.

Más contenido relacionado

La actualidad más candente (18)

2.1 recursividad
2.1 recursividad2.1 recursividad
2.1 recursividad
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Recursividad
RecursividadRecursividad
Recursividad
 
Algoritmos recursivos
Algoritmos recursivosAlgoritmos recursivos
Algoritmos recursivos
 
Trabajo unidad 2
Trabajo unidad 2Trabajo unidad 2
Trabajo unidad 2
 
Recursividad
RecursividadRecursividad
Recursividad
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
Tema ii integrales uney
Tema ii integrales uneyTema ii integrales uney
Tema ii integrales uney
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
Recursividad directa e indirecta
Recursividad directa e indirectaRecursividad directa e indirecta
Recursividad directa e indirecta
 
Unidad 3, Programacion Estructurada
Unidad 3, Programacion EstructuradaUnidad 3, Programacion Estructurada
Unidad 3, Programacion Estructurada
 
Recursividad
RecursividadRecursividad
Recursividad
 
Taller de programación clase #3
Taller de programación   clase #3Taller de programación   clase #3
Taller de programación clase #3
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Cap2.1
Cap2.1Cap2.1
Cap2.1
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Recursividad
RecursividadRecursividad
Recursividad
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 

Similar a Estructura de dato unidad 2 (9)

Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Unidad 2 recursividad
Unidad 2 recursividadUnidad 2 recursividad
Unidad 2 recursividad
 
Catalan
CatalanCatalan
Catalan
 
Catalan
CatalanCatalan
Catalan
 
Catalan
CatalanCatalan
Catalan
 
Funciones recursivas en C++
Funciones recursivas en C++Funciones recursivas en C++
Funciones recursivas en C++
 
Catalan
CatalanCatalan
Catalan
 
Recursividad.pdf
Recursividad.pdfRecursividad.pdf
Recursividad.pdf
 
Informe Tecnico recursividad
Informe Tecnico recursividadInforme Tecnico recursividad
Informe Tecnico recursividad
 

Más de lenithoz

Evidencia unidad 1
Evidencia unidad 1Evidencia unidad 1
Evidencia unidad 1lenithoz
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7lenithoz
 
Estructura de dato unidad 6
Estructura de dato unidad 6Estructura de dato unidad 6
Estructura de dato unidad 6lenithoz
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5lenithoz
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4lenithoz
 
Estructura de dato unidad 3
Estructura de dato unidad 3Estructura de dato unidad 3
Estructura de dato unidad 3lenithoz
 
Estructura de datos unidad 1
Estructura de datos unidad 1Estructura de datos unidad 1
Estructura de datos unidad 1lenithoz
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidenciaslenithoz
 
Diapositivas marleni
Diapositivas marleniDiapositivas marleni
Diapositivas marlenilenithoz
 
Informe tecnico marleni
Informe tecnico marleniInforme tecnico marleni
Informe tecnico marlenilenithoz
 
Diapositivas marleni
Diapositivas marleniDiapositivas marleni
Diapositivas marlenilenithoz
 

Más de lenithoz (11)

Evidencia unidad 1
Evidencia unidad 1Evidencia unidad 1
Evidencia unidad 1
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 
Estructura de dato unidad 6
Estructura de dato unidad 6Estructura de dato unidad 6
Estructura de dato unidad 6
 
Estructura de dato unidad 5
Estructura de dato unidad 5Estructura de dato unidad 5
Estructura de dato unidad 5
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
Estructura de dato unidad 3
Estructura de dato unidad 3Estructura de dato unidad 3
Estructura de dato unidad 3
 
Estructura de datos unidad 1
Estructura de datos unidad 1Estructura de datos unidad 1
Estructura de datos unidad 1
 
Estructura de datos evidencias
Estructura de datos evidenciasEstructura de datos evidencias
Estructura de datos evidencias
 
Diapositivas marleni
Diapositivas marleniDiapositivas marleni
Diapositivas marleni
 
Informe tecnico marleni
Informe tecnico marleniInforme tecnico marleni
Informe tecnico marleni
 
Diapositivas marleni
Diapositivas marleniDiapositivas marleni
Diapositivas marleni
 

Estructura de dato unidad 2

  • 1. Instituto Tecnológico Superior de Felipe Carrillo Puerto ING. SISTEMAS COMPUTACIONALES Docente: Niels Henryk Aranda Cuevas Alumna: Marleni Tuyub Che
  • 3. 2.1 Definición La recursividad es una técnica de programación importante, se utiliza para realizar una llamada a una función desde la misma función 2.2 procedimiento recursivos Los procedimientos recursivos o recurrentes se pueden clasificar en dos formas distintas: - Recursividad directa o - Recursividad indirecta La recursividad directa se presenta cuando el método se manda llamar a sí mismo dentro de su propio cuerpo de instrucciones. public int Metodo(int n) { : n = Metodo(n-1); } La recursividad indirecta se manifiesta cundo un método llama a otro y dentro del segundo se manda llamar al primero. O cuando existe la llamada a métodos de forma encadenada y al terminar el último método llamado, transfiere el control al anterior, hasta llegar al método que inicio la serie de llamadas.
  • 4. public int Metodo1(int n) { : n = Metodo2(n-1); } public int Metodo2(int n) { : n = Metodo1(n-1); } Analizando el concepto de recursividad y su clasificación, puede indicar que es un procedimiento infinito, que solo se detendrá en el momento que se agote la memoria, generando un error de programación y la interrupción del mismo. Pero esto no es así, ya que debe existir un elemento que indica el retorno de un resultado concreto y no el retorno de la llamada al método recursivo o recurrente. Funcionamiento del proceso n Llamado a factorial 4 4*factorial(3) 3 3*factorial(2) 2 2*factorial(1) 1 1*factorial(0) 0 1
  • 5. Imprimir de manera recursiva la serie de fibonnaci Fibonnacci de manera recursiva Fibonacci(0,1,21)=1 Fibonacci(1,1,21)=2 Fibonacci(1,2,21)=3 Fibonacci(2,3,21)=5 Fibonacci(3,5,21)=8 Fibonacci(5,8,21)=13 Fibonacci(8,13,21)=21 Realizar de manera recursiva la potencia de un número para n. 24 2*potencia(2*potencia(2*potencia(2*potencia(2,0)) Potencia(2,4)=2*potencia(2,3)=16 Potencia(2,3)=2*potencia(2,2)=8 Potencia(2,2)=2*potencia(2,1)=4 Potencia(2,1)=2*potencia(2,0)=2 Potencia(2,0)=1
  • 6. conclusión se llama a una función recursiva es llamar una función en si misma para resolver un problema. En realidad la función sólo sabe cómo resolver el(los) caso(s) más sencillo(s), o lo que se conoce como base(s).Si a la función se le llama con el caso base, la función sencillamente devuelve el resultado. Si a la función se le llama con un problema más complicado, la función divide el problema en partes conceptuales, la parte que la función sabe cómo resolver y la parte que la función o resolver.