SlideShare una empresa de Scribd logo
INSTITUTO TECNOLÓGICO DE SALINA CRUZ 
ASIGNATURA: 
ESTRUCTURA Y ORGANIZACIÓN DE DATOS 
UNIDAD 3 ESTRUCTURAS NO LINEALES 
PROFESORA: 
M.C SUSANA MÓNICA ROMÁN NÁJERA 
TEMA: 
REPORTE DE INVESTIGACIÓN DEL TEMA RECURSIVIDAD 
ALUMNA: 
VILLALOBOS PEREZ BENITA 
SEMESTRE: 3 GRUPO: E 
SALINACRUZ, OAXACA A 21 DE OCTUBRE 2014.
ÍNDICE 
INTRODUCCIÓN ..................................................................................................................... 1 
RECURSIVIDAD ...................................................................................................................... 2 
MECÁNICA RECURSIÓN. ...................................................................................................... 5 
TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS.................................. 6 
RECURSIVIDAD EN DISEÑO................................................................................................. 7 
CONCLUSIÓN ......................................................................................................................... 8 
OTRAS FUENTES CONSULTADAS ...................................................................................... 9
1 
INTRODUCCIÓN 
Para seguir con la continuación de los temas referentes a la unidad 3 se estará 
hablando sobre el tema de recursividad más que nada se enfoca a que dicha función 
tiene varios ciclos repetitivos. 
Mediante la realización del siguiente trabajo se encontraran diferentes 
conceptos de recursividad, sus funciones, ventajas, desventajas para poder adquirir 
más conocimientos sobre el tema y comprender mejor cada concepto y relacionarla 
con la vida real. 
Esperando que este trabajo contenga la información necesaria para aclarar 
cualquier dudad del lector así como también de la persona que lo realiza.
2 
RECURSIVIDAD 
Podemos definir la recursividad como un proceso que se define en términos de sí 
mismo. 
El concepto de recursión es difícil de precisar, pero existen ejemplos de la vida 
cotidiana que nos pueden servir para darnos una mejor idea acerca de lo que es 
recursividad. Un ejemplo de esto es cuando se toma una fotografía de una fotografía, 
o cuando en un programa de televisión un periodista transfiere el control a otro 
periodista que se encuentra en otra ciudad, y este a su vez le transfiere el control a 
otro. 
Otro ejemplo paradigmático seria el del triángulo de Sierpinski en el que cada 
triangulo está compuesto de otro más pequeños, compuestos a su vez de la misma 
estructura recursiva (de hecho en este caso se trata de una estructura fractal). 
Casos típicos de estructuras de datos definidas de manera recursiva son los 
árboles binarios y las listas enlazadas. 
La recursión se puede dar de dos formas: 
 DIRECTA. Este tipo de recursión se da cuando un subprograma se llama 
directamente a sí mismo. 
 INDIRECTA Sucede cuando un subprograma llama a un segundo subprograma, y 
este a su vez llama al primero, es decir el subproceso A llama al B, y el B invoca 
al subproceso A. 
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.
3 
Las funciones recursivas se componen de: 
Caso base: una solución simple para un caso particular (puede haber más de un 
caso base). 
Caso recursivo: 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á. 
Un objeto es recursivo cuando se define en función de sí mismo, es decir, 
interviene en su propia definición. 
La recursividad es la propiedad mediante la cual un subprograma o rutina puede 
llamarse a sí mismo. 
Utilizando la recursividad, la resolución de un problema se reduce a uno 
esencialmente igual pero algo menos complejo. 
Características que deben cumplir los problemas recursivos: 
 La recursividad debe terminar alguna vez: caso base 
 Cada nueva formulación estamos más cerca del caso final (o base). 
Factible de utilizar recursividad 
• Para simplificar el código. 
• Cuando la estructura de datos es recursiva ejemplo : árboles.
4 
No factible utilizar recursividad 
• Cuando los métodos usen arreglos largos. 
• Cuando el método cambia de manera impredecible de campos. 
• Cuando las iteraciones sean la mejor opción. 
¿POR QUÉ ESCRIBIR PROGRAMAS RECURSIVOS? 
 Son más cercanos a la descripción matemática. 
 Generalmente más fáciles de analizar 
 Se adaptan mejor a las estructuras de datos recursivas. 
 Los algoritmos recursivos ofrecen soluciones estructuradas, modulares y 
elegantemente simples. 
Los términos recurrencia, recursión o recursividad hacen referencia a una técnica 
de definición de conceptos (o de diseño de procesos) en la que el concepto definido 
(o el proceso diseñado) es usado en la propia definición (o diseño). 
Se dice que una función es recursiva cuando dicha función se define en términos 
de la misma función. Es importante recordar que no todas las funciones pueden 
llamarse a sí mismas, deben estar diseñadas especialmente para comportarse de 
manera recursiva, de otro modo dichas funciones podrían conducir a bucles infinitos, 
o a que el programa termine inadecuadamente. 
Por ejemplo, podríamos pensar en la creación de un algoritmo que produzca el 
resultado de un número factorial, la definición iterativa de dicho algoritmo seria la 
siguiente: 
int factorial (int n) 
{ 
prod = 1; 
for (x = n; x > 0; x-- ) 
prod *= x;
5 
return prod; 
} 
La definición iterativa es sencilla, pero no resulta tan intuitiva, en cambio, uno 
podría analizar más detalladamente el problema y generar una definición recursiva 
para una función factorial que podría resultar más intuitiva y sencilla de implementar: 
MECÁNICA RECURSIÓN. 
La mecánica de la recursividad está basada en una “pila”. Cuando un módulo 
recursivo se está ejecutando se crea en la memoria de la computadora una pila 
donde se almacenan los valores de los parámetros y de las variables locales del 
módulo. Si el módulo es función también se guarda en la pila el valor que adquiere la 
misma. 
Para cada llamada del módulo se almacenan en la pila los nuevos valores de 
los parámetros y de las variables locales, creándose un nuevo “registro de 
activación”. De tal forma que, la pila de recursión está formada por registros de 
activación. Al terminar una llamada al módulo, es decir, cuando se cumple la 
definición base, se libera (sale) el registro de activación que se encuentra en el tope 
de la pila. De esta forma es como puede “recordar” qué valores tenían los 
parámetros y las variables locales en la llamada anterior. 
Si observamos el proceso que seguimos para calcular 4! vemos que el valor 
de n fue cambiando conforme fuimos entrando en recursión y que al salir de 
recursión necesitábamos recordar el valor que tenía n en la expresión anterior. Esto 
quiere decir que los valores que fue adquiriendo n fueron entrando a la pila. 
No sólo debe recordar los valores que tenían los parámetros y las variables 
locales al realizarse la correspondiente llamada al módulo sino que también tiene que 
recordar qué instrucción debe realizar al terminar esa llamada. De tal forma que los 
registros de activación están compuestos básicamente de:
1. Instrucción a la que debe regresar el control una vez terminada la ejecución 
6 
actual del módulo. 
2. Todos los parámetros y variables locales del módulo. 
3. Si el módulo recursivo es una función el valor que adquiere la misma, ya que éste 
se debe regresar. 
Para hacer la representación de la pila de recursión numeramos las instrucciones 
a las que debe regresar el control una vez terminada la ejecución del módulo 
recursivo y estos valores son los que ponemos en la pila. 
TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS 
El concepto de recursividad va ligado al de repetición. Son recursivos aquellos 
algoritmos que, estando encapsulados dentro de una función, son llamados desde 
ella misma una y otra vez, en contraposición a los algoritmos iterativos, que hacen 
uso de ciclos while, do-while, for, etc. 
Algo es recursivo si se define en términos de sí mismo (cuando para definirse 
hace mención a sí mismo). Para que una definición recursiva sea válida, la referencia 
a sí misma debe ser relativamente más sencilla que el caso considerado. 
Ejemplo: definición de nº natural: 
 El N º 0 es natural 
 El Nº n es natural si n-1 lo es. 
En un algoritmo recursivo distinguimos como mínimo 2 partes: 
a) Caso trivial, base o de fin de recursión: 
Es un caso donde el problema puede resolverse sin tener que hacer uso de una 
nueva llamada a sí mismo. Evita la continuación indefinida de las partes recursivas. 
b) Parte puramente recursiva:
Relaciona el resultado del algoritmo con resultados de casos más simples. Se hacen 
nuevas llamadas a la función, pero están más próximas al caso base. 
7 
RECURSIVIDAD EN DISEÑO 
Un procedimiento recursivo es aquel que se llama a si mismo, para poder funcionar 
tiene que tener una condición de salida que del número de veces que se va a llamar 
así mismo el procedimiento. 
La recursividad en diseño se refiere a la manera de cómo representar los 
procedimientos recursivos al momento de diseñar los programas. 
Dependiendo del método que utilicemos para diseñar la representación gráfica 
de la recursividad va a ser diferente sin embargo el procedimiento va a ser similar ya 
que el fin es el mismo poner una condición que nos diga si llamamos al método o que 
nos mande terminarlo. 
En un diagrama sería algo así: 
Figura 1 Recursividad
8 
CONCLUSIÓN 
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 además como se pudo notar la recursividad también se puede 
trabajar mediante pilas, así como también se mencionó algunos algoritmos para 
utilizar la recursividad el cual se utilizó la de calcular un numero factorial es un 
ejemplo más común que se encontró. 
Esperando que el trabajo contenga la información necesaria para asi cumplir 
con las características que se van a calificar.
9 
OTRAS FUENTES CONSULTADAS 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://estructura-u1.blogspot.mx/2010/01/unidad-3- 
recursividad.html. 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://es.wikipedia.org/wiki/Recursi%C3%B3n. 
Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de 
octubre de 2014. Disponible en: 
http://webdelprofesor.ula.ve/nucleotrujillo/jalejandro/Prog2/Unidad3.pdf. 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://picandocodigo.net/2008/recursividad-en-programacion/. 
Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de 
octubre de 2014. Disponible en: 
http://www.uv.mx/personal/ocasti llo/files/2011/04/Recursividad.pdf. 
Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre 
de 2014. Disponible en: http://www.youtube.com/watch?v=heEjRbkvOog.

Más contenido relacionado

La actualidad más candente

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
José Antonio Sandoval Acosta
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
Pablo Andres M
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
TAtiizz Villalobos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
gusolis93
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
José Antonio Sandoval Acosta
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
Cristian Miguel Galan Torres
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
J M
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
DorvinEduardo
 
Recursividad
RecursividadRecursividad
Recursividad
betzy
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
Daniel Gomez Jaramillo
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
José Antonio Sandoval Acosta
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
Robert Rivero
 
Metodos de programacion no-lineal
Metodos de programacion no-linealMetodos de programacion no-lineal
Metodos de programacion no-lineal
Robert Rivero
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
Angel R Pilco Q
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
José Antonio Sandoval Acosta
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
José Antonio Sandoval Acosta
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
Ana Castro
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
tephyfree
 
Listas
ListasListas
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
Yorka Marisol Perez Feliz
 

La actualidad más candente (20)

Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
Reporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamientoReporte metodos de busqueda y ordenamiento
Reporte metodos de busqueda y ordenamiento
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Estructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de OrdenamientoEstructura de Datos Unidad - V: Métodos de Ordenamiento
Estructura de Datos Unidad - V: Métodos de Ordenamiento
 
Lenguajes de simulación
Lenguajes de simulaciónLenguajes de simulación
Lenguajes de simulación
 
Memoria Estatica
Memoria EstaticaMemoria Estatica
Memoria Estatica
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 
Recursividad
RecursividadRecursividad
Recursividad
 
Algoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap SortAlgoritmo de ordenamiento: Heap Sort
Algoritmo de ordenamiento: Heap Sort
 
Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Metodo de busqueda
Metodo de busquedaMetodo de busqueda
Metodo de busqueda
 
Metodos de programacion no-lineal
Metodos de programacion no-linealMetodos de programacion no-lineal
Metodos de programacion no-lineal
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
Simulación - Algoritmo de productos medios
Simulación - Algoritmo de productos mediosSimulación - Algoritmo de productos medios
Simulación - Algoritmo de productos medios
 
Estructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras LinealesEstructura de Datos -Unidad III: Estructuras Lineales
Estructura de Datos -Unidad III: Estructuras Lineales
 
Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.Función Hash: metodos de división y de medio Cuadrado.
Función Hash: metodos de división y de medio Cuadrado.
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Listas
ListasListas
Listas
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 

Destacado

Pensamiento Sistemico
Pensamiento SistemicoPensamiento Sistemico
Pensamiento Sistemico
Oscar Ascon
 
Recursividad
RecursividadRecursividad
Recursividad
María Luisa Velasco
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
guest796d29
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
Brivé Soluciones
 
7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint
Joselo Chushig
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
rezzaca
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
Darwin Durand
 

Destacado (7)

Pensamiento Sistemico
Pensamiento SistemicoPensamiento Sistemico
Pensamiento Sistemico
 
Recursividad
RecursividadRecursividad
Recursividad
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo52 ejercicios resueltos en pseudocodigo
52 ejercicios resueltos en pseudocodigo
 
7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint7222014 ejercicios-resueltos-con-pseint
7222014 ejercicios-resueltos-con-pseint
 
U1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos ComplejidadU1 Analisis Algoritmos Complejidad
U1 Analisis Algoritmos Complejidad
 
SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)SISTEMA DE FACTURACION (Ejemplo desarrollado)
SISTEMA DE FACTURACION (Ejemplo desarrollado)
 

Similar a Recursividad

Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdf
Igor Rodriguez
 
Recursividad2019
Recursividad2019Recursividad2019
Recursividad2019
difersld
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptx
juan gonzalez
 
recursividad.pptx
recursividad.pptxrecursividad.pptx
recursividad.pptx
juan gonzalez
 
La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptx
ssuser948499
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
Fernando Solis
 
Generalidades, tipos y ejemplos de Recursividad
Generalidades, tipos y ejemplos de RecursividadGeneralidades, tipos y ejemplos de Recursividad
Generalidades, tipos y ejemplos de Recursividad
IsabelAlvarez563471
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
Isai Vazquez
 
Programas_Recursivos.pptx
Programas_Recursivos.pptxProgramas_Recursivos.pptx
Programas_Recursivos.pptx
Fernando Solis
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
EDWINERNESTOMADRIDME
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
EldonCent
 
Recursividad en programación
Recursividad en programaciónRecursividad en programación
Recursividad en programación
KareliaRivas
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
jose poleo
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
marioUitzil
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
Jhon_Marjorie
 
RECURSIVIDAD
RECURSIVIDADRECURSIVIDAD
RECURSIVIDAD
Fernando Solis
 
Recursividad
RecursividadRecursividad
Recursividad
María Luisa Velasco
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
jose poleo
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
efrain_rap
 
recursividad
recursividadrecursividad

Similar a Recursividad (20)

Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdf
 
Recursividad2019
Recursividad2019Recursividad2019
Recursividad2019
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptx
 
recursividad.pptx
recursividad.pptxrecursividad.pptx
recursividad.pptx
 
La_Recursividad.pptx
La_Recursividad.pptxLa_Recursividad.pptx
La_Recursividad.pptx
 
2. Recursividad
2. Recursividad2. Recursividad
2. Recursividad
 
Generalidades, tipos y ejemplos de Recursividad
Generalidades, tipos y ejemplos de RecursividadGeneralidades, tipos y ejemplos de Recursividad
Generalidades, tipos y ejemplos de Recursividad
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
 
Programas_Recursivos.pptx
Programas_Recursivos.pptxProgramas_Recursivos.pptx
Programas_Recursivos.pptx
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
Recursividad en programación
Recursividad en programaciónRecursividad en programación
Recursividad en programación
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
RECURSIVIDAD
RECURSIVIDADRECURSIVIDAD
RECURSIVIDAD
 
Recursividad
RecursividadRecursividad
Recursividad
 
Tarea 3
Tarea 3Tarea 3
Tarea 3
 
DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3DIAPOSITIVAS DE LA UNIDAD 3
DIAPOSITIVAS DE LA UNIDAD 3
 
recursividad
recursividadrecursividad
recursividad
 

Más de TAtiizz Villalobos

Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
TAtiizz Villalobos
 
Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
TAtiizz Villalobos
 
Proyecto susana final
Proyecto susana finalProyecto susana final
Proyecto susana final
TAtiizz Villalobos
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
TAtiizz Villalobos
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
TAtiizz Villalobos
 
Apuntes
ApuntesApuntes
Recursividad
RecursividadRecursividad
Recursividad
TAtiizz Villalobos
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
TAtiizz Villalobos
 
Practicas susana todo unidad1
Practicas susana todo unidad1Practicas susana todo unidad1
Practicas susana todo unidad1
TAtiizz Villalobos
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
TAtiizz Villalobos
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
TAtiizz Villalobos
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
TAtiizz Villalobos
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
TAtiizz Villalobos
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
TAtiizz Villalobos
 
Analisis del cap 8
Analisis del cap 8Analisis del cap 8
Analisis del cap 8
TAtiizz Villalobos
 
Practicas unidad 2 evidencias
Practicas unidad 2 evidenciasPracticas unidad 2 evidencias
Practicas unidad 2 evidencias
TAtiizz Villalobos
 
Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)
TAtiizz Villalobos
 
Practica1unidad4benita
Practica1unidad4benitaPractica1unidad4benita
Practica1unidad4benita
TAtiizz Villalobos
 
Evidencias practica uni 3
Evidencias practica uni 3Evidencias practica uni 3
Evidencias practica uni 3
TAtiizz Villalobos
 
Practicas unidad 3 evidencias
Practicas unidad 3 evidenciasPracticas unidad 3 evidencias
Practicas unidad 3 evidencias
TAtiizz Villalobos
 

Más de TAtiizz Villalobos (20)

Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
 
Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1Cuadro sinoptico unidad 1
Cuadro sinoptico unidad 1
 
Proyecto susana final
Proyecto susana finalProyecto susana final
Proyecto susana final
 
Unidad iii pilas y colas
Unidad iii pilas y colasUnidad iii pilas y colas
Unidad iii pilas y colas
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Apuntes
ApuntesApuntes
Apuntes
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Practicas susana todo unidad1
Practicas susana todo unidad1Practicas susana todo unidad1
Practicas susana todo unidad1
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Mapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benitaMapa conceptual unidad 1 benita
Mapa conceptual unidad 1 benita
 
Tabla comparativa unidad1 benita
Tabla comparativa unidad1 benitaTabla comparativa unidad1 benita
Tabla comparativa unidad1 benita
 
Estructura de datos benita
Estructura de datos benitaEstructura de datos benita
Estructura de datos benita
 
Analisis del cap 8
Analisis del cap 8Analisis del cap 8
Analisis del cap 8
 
Practicas unidad 2 evidencias
Practicas unidad 2 evidenciasPracticas unidad 2 evidencias
Practicas unidad 2 evidencias
 
Método rápido (quicksort) (1)
Método rápido (quicksort) (1)Método rápido (quicksort) (1)
Método rápido (quicksort) (1)
 
Practica1unidad4benita
Practica1unidad4benitaPractica1unidad4benita
Practica1unidad4benita
 
Evidencias practica uni 3
Evidencias practica uni 3Evidencias practica uni 3
Evidencias practica uni 3
 
Practicas unidad 3 evidencias
Practicas unidad 3 evidenciasPracticas unidad 3 evidencias
Practicas unidad 3 evidencias
 

Último

IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
Miguel Rebollo
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
paulroyal74
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
bendezuperezjimena
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
AMADO SALVADOR
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
larapalaciosmonzon28
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
NajwaNimri1
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
larapalaciosmonzon28
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
LilibethEstupian
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
AMADO SALVADOR
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
JuanaNT7
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
doctorsoluciones34
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
maralache30
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
Festibity
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
cbtechchihuahua
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
larapalaciosmonzon28
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Festibity
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
evelinglilibethpeafi
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 

Último (20)

IA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticulturaIA en entornos rurales aplicada a la viticultura
IA en entornos rurales aplicada a la viticultura
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Sitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajasSitios web 3.0 funciones ventajas y desventajas
Sitios web 3.0 funciones ventajas y desventajas
 
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
TODO SOBRE LA INFORMÁTICA, HISTORIA, ¿QUE ES?, IMPORTANCIA Y CARACTERISTICAS....
 
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialCatalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor Oficial
 
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfqedublogs info.docx asdasfasfsawqrdqwfqwfqwfq
edublogs info.docx asdasfasfsawqrdqwfqwfqwfq
 
Actividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdfActividad Conceptos básicos de programación.pdf
Actividad Conceptos básicos de programación.pdf
 
Nuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsadNuevos tiempos, nuevos espacios.docxdsdsad
Nuevos tiempos, nuevos espacios.docxdsdsad
 
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVATECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
TECLADO ERGONÓMICO Y PANTALLAS TACTILES - GESTIÓN INTEGRAL EDUCATIVA
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...
 
Gabinete, puertos y dispositivos que se conectan al case
Gabinete,  puertos y  dispositivos que se conectan al caseGabinete,  puertos y  dispositivos que se conectan al case
Gabinete, puertos y dispositivos que se conectan al case
 
Manual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputoManual de soporte y mantenimiento de equipo de cómputo
Manual de soporte y mantenimiento de equipo de cómputo
 
HERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptxHERRAMIENTAS WEB--------------------.pptx
HERRAMIENTAS WEB--------------------.pptx
 
Informació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdfInformació Projecte Iniciativa TIC HPE.pdf
Informació Projecte Iniciativa TIC HPE.pdf
 
Manual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputosManual de Soporte y mantenimiento de equipo de cómputos
Manual de Soporte y mantenimiento de equipo de cómputos
 
Presentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre bloggerPresentación de Tic en educación y sobre blogger
Presentación de Tic en educación y sobre blogger
 
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdfProjecte Iniciativa TIC 2024 HPE. inCV.pdf
Projecte Iniciativa TIC 2024 HPE. inCV.pdf
 
modelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptxmodelosdeteclados-230114024527-aa2c9553.pptx
modelosdeteclados-230114024527-aa2c9553.pptx
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 

Recursividad

  • 1. INSTITUTO TECNOLÓGICO DE SALINA CRUZ ASIGNATURA: ESTRUCTURA Y ORGANIZACIÓN DE DATOS UNIDAD 3 ESTRUCTURAS NO LINEALES PROFESORA: M.C SUSANA MÓNICA ROMÁN NÁJERA TEMA: REPORTE DE INVESTIGACIÓN DEL TEMA RECURSIVIDAD ALUMNA: VILLALOBOS PEREZ BENITA SEMESTRE: 3 GRUPO: E SALINACRUZ, OAXACA A 21 DE OCTUBRE 2014.
  • 2. ÍNDICE INTRODUCCIÓN ..................................................................................................................... 1 RECURSIVIDAD ...................................................................................................................... 2 MECÁNICA RECURSIÓN. ...................................................................................................... 5 TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS.................................. 6 RECURSIVIDAD EN DISEÑO................................................................................................. 7 CONCLUSIÓN ......................................................................................................................... 8 OTRAS FUENTES CONSULTADAS ...................................................................................... 9
  • 3. 1 INTRODUCCIÓN Para seguir con la continuación de los temas referentes a la unidad 3 se estará hablando sobre el tema de recursividad más que nada se enfoca a que dicha función tiene varios ciclos repetitivos. Mediante la realización del siguiente trabajo se encontraran diferentes conceptos de recursividad, sus funciones, ventajas, desventajas para poder adquirir más conocimientos sobre el tema y comprender mejor cada concepto y relacionarla con la vida real. Esperando que este trabajo contenga la información necesaria para aclarar cualquier dudad del lector así como también de la persona que lo realiza.
  • 4. 2 RECURSIVIDAD Podemos definir la recursividad como un proceso que se define en términos de sí mismo. El concepto de recursión es difícil de precisar, pero existen ejemplos de la vida cotidiana que nos pueden servir para darnos una mejor idea acerca de lo que es recursividad. Un ejemplo de esto es cuando se toma una fotografía de una fotografía, o cuando en un programa de televisión un periodista transfiere el control a otro periodista que se encuentra en otra ciudad, y este a su vez le transfiere el control a otro. Otro ejemplo paradigmático seria el del triángulo de Sierpinski en el que cada triangulo está compuesto de otro más pequeños, compuestos a su vez de la misma estructura recursiva (de hecho en este caso se trata de una estructura fractal). Casos típicos de estructuras de datos definidas de manera recursiva son los árboles binarios y las listas enlazadas. La recursión se puede dar de dos formas:  DIRECTA. Este tipo de recursión se da cuando un subprograma se llama directamente a sí mismo.  INDIRECTA Sucede cuando un subprograma llama a un segundo subprograma, y este a su vez llama al primero, es decir el subproceso A llama al B, y el B invoca al subproceso A. 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.
  • 5. 3 Las funciones recursivas se componen de: Caso base: una solución simple para un caso particular (puede haber más de un caso base). Caso recursivo: 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á. Un objeto es recursivo cuando se define en función de sí mismo, es decir, interviene en su propia definición. La recursividad es la propiedad mediante la cual un subprograma o rutina puede llamarse a sí mismo. Utilizando la recursividad, la resolución de un problema se reduce a uno esencialmente igual pero algo menos complejo. Características que deben cumplir los problemas recursivos:  La recursividad debe terminar alguna vez: caso base  Cada nueva formulación estamos más cerca del caso final (o base). Factible de utilizar recursividad • Para simplificar el código. • Cuando la estructura de datos es recursiva ejemplo : árboles.
  • 6. 4 No factible utilizar recursividad • Cuando los métodos usen arreglos largos. • Cuando el método cambia de manera impredecible de campos. • Cuando las iteraciones sean la mejor opción. ¿POR QUÉ ESCRIBIR PROGRAMAS RECURSIVOS?  Son más cercanos a la descripción matemática.  Generalmente más fáciles de analizar  Se adaptan mejor a las estructuras de datos recursivas.  Los algoritmos recursivos ofrecen soluciones estructuradas, modulares y elegantemente simples. Los términos recurrencia, recursión o recursividad hacen referencia a una técnica de definición de conceptos (o de diseño de procesos) en la que el concepto definido (o el proceso diseñado) es usado en la propia definición (o diseño). Se dice que una función es recursiva cuando dicha función se define en términos de la misma función. Es importante recordar que no todas las funciones pueden llamarse a sí mismas, deben estar diseñadas especialmente para comportarse de manera recursiva, de otro modo dichas funciones podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente. Por ejemplo, podríamos pensar en la creación de un algoritmo que produzca el resultado de un número factorial, la definición iterativa de dicho algoritmo seria la siguiente: int factorial (int n) { prod = 1; for (x = n; x > 0; x-- ) prod *= x;
  • 7. 5 return prod; } La definición iterativa es sencilla, pero no resulta tan intuitiva, en cambio, uno podría analizar más detalladamente el problema y generar una definición recursiva para una función factorial que podría resultar más intuitiva y sencilla de implementar: MECÁNICA RECURSIÓN. La mecánica de la recursividad está basada en una “pila”. Cuando un módulo recursivo se está ejecutando se crea en la memoria de la computadora una pila donde se almacenan los valores de los parámetros y de las variables locales del módulo. Si el módulo es función también se guarda en la pila el valor que adquiere la misma. Para cada llamada del módulo se almacenan en la pila los nuevos valores de los parámetros y de las variables locales, creándose un nuevo “registro de activación”. De tal forma que, la pila de recursión está formada por registros de activación. Al terminar una llamada al módulo, es decir, cuando se cumple la definición base, se libera (sale) el registro de activación que se encuentra en el tope de la pila. De esta forma es como puede “recordar” qué valores tenían los parámetros y las variables locales en la llamada anterior. Si observamos el proceso que seguimos para calcular 4! vemos que el valor de n fue cambiando conforme fuimos entrando en recursión y que al salir de recursión necesitábamos recordar el valor que tenía n en la expresión anterior. Esto quiere decir que los valores que fue adquiriendo n fueron entrando a la pila. No sólo debe recordar los valores que tenían los parámetros y las variables locales al realizarse la correspondiente llamada al módulo sino que también tiene que recordar qué instrucción debe realizar al terminar esa llamada. De tal forma que los registros de activación están compuestos básicamente de:
  • 8. 1. Instrucción a la que debe regresar el control una vez terminada la ejecución 6 actual del módulo. 2. Todos los parámetros y variables locales del módulo. 3. Si el módulo recursivo es una función el valor que adquiere la misma, ya que éste se debe regresar. Para hacer la representación de la pila de recursión numeramos las instrucciones a las que debe regresar el control una vez terminada la ejecución del módulo recursivo y estos valores son los que ponemos en la pila. TRANSFORMACIÓN ALGORITMOS RECURSIVOS A ITERATIVOS El concepto de recursividad va ligado al de repetición. Son recursivos aquellos algoritmos que, estando encapsulados dentro de una función, son llamados desde ella misma una y otra vez, en contraposición a los algoritmos iterativos, que hacen uso de ciclos while, do-while, for, etc. Algo es recursivo si se define en términos de sí mismo (cuando para definirse hace mención a sí mismo). Para que una definición recursiva sea válida, la referencia a sí misma debe ser relativamente más sencilla que el caso considerado. Ejemplo: definición de nº natural:  El N º 0 es natural  El Nº n es natural si n-1 lo es. En un algoritmo recursivo distinguimos como mínimo 2 partes: a) Caso trivial, base o de fin de recursión: Es un caso donde el problema puede resolverse sin tener que hacer uso de una nueva llamada a sí mismo. Evita la continuación indefinida de las partes recursivas. b) Parte puramente recursiva:
  • 9. Relaciona el resultado del algoritmo con resultados de casos más simples. Se hacen nuevas llamadas a la función, pero están más próximas al caso base. 7 RECURSIVIDAD EN DISEÑO Un procedimiento recursivo es aquel que se llama a si mismo, para poder funcionar tiene que tener una condición de salida que del número de veces que se va a llamar así mismo el procedimiento. La recursividad en diseño se refiere a la manera de cómo representar los procedimientos recursivos al momento de diseñar los programas. Dependiendo del método que utilicemos para diseñar la representación gráfica de la recursividad va a ser diferente sin embargo el procedimiento va a ser similar ya que el fin es el mismo poner una condición que nos diga si llamamos al método o que nos mande terminarlo. En un diagrama sería algo así: Figura 1 Recursividad
  • 10. 8 CONCLUSIÓN 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 además como se pudo notar la recursividad también se puede trabajar mediante pilas, así como también se mencionó algunos algoritmos para utilizar la recursividad el cual se utilizó la de calcular un numero factorial es un ejemplo más común que se encontró. Esperando que el trabajo contenga la información necesaria para asi cumplir con las características que se van a calificar.
  • 11. 9 OTRAS FUENTES CONSULTADAS Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://estructura-u1.blogspot.mx/2010/01/unidad-3- recursividad.html. Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://es.wikipedia.org/wiki/Recursi%C3%B3n. Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://webdelprofesor.ula.ve/nucleotrujillo/jalejandro/Prog2/Unidad3.pdf. Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://picandocodigo.net/2008/recursividad-en-programacion/. Concepto de recursividad. Internet. Fuera de línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://www.uv.mx/personal/ocasti llo/files/2011/04/Recursividad.pdf. Concepto de recursividad. Internet. En línea. Página consultada el día 16 de octubre de 2014. Disponible en: http://www.youtube.com/watch?v=heEjRbkvOog.