SlideShare una empresa de Scribd logo
Introducción a la Informática
UNJu – Facultad de Ingeniería
05/06/2014
Ing. José Zapana
1
Ing. José Zapana
Definición de Recursividad
Tipos de Recursividad
Función Recursiva
Ejemplos
Uso de la recursividad
Consideraciones generales
05/06/2014UNJu – Facultad de Ingeniería 2
Ing. José Zapana
 Sabemos que un subprograma puede llamar a
cualquier otro subprograma y ésta a otro.
 Es decir que los subprogramas se pueden
anidar.
 Podemos tener
◦ A llama a B, B llama a C, C llama a D
 Cuando se produce el retorno de los
subprogramas, a medida que van
terminando, el proceso será:
◦ D retorna a C, C retorna a B y B retorna a A
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 3
Ing. José Zapana
 Flujo de llamadas y retornos
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 4
Suprog.
A Suprog.
B
Suprog.
C Suprog.
D
Ing. José Zapana
 La recursividad es una técnica muy empleada
en la programación informática y consiste en
que una función se llame a sí misma.
 Es una alternativa diferente para implementar
estructuras de repetición (ciclos). Los módulos se
hacen llamadas recursivas
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 5
Ing. José Zapana
 Recursividad Directa
◦ Cuando un procedimiento incluye una llamada a sí
mismo
 Recursividad Indirecta
◦ Cuando un procedimiento llama a otro procedimiento y éste
causa que el procedimiento original sea invocado
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 6
Ing. José Zapana
 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á
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 7
Ing. José Zapana
Función recursiva
1 si N = 0 (base)
N ! =
N * (N – 1) ! 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.
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 8
Ing. José Zapana
 Ejemplo en PeSeint
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 9
Base
Recursión
Ejemplo:
El usuario
ingresa 4
Ing. José Zapana
 Solución analítica
◦ 4! = 4 * 3!
◦ 3! = 3 * 2!
◦ 2! = 2 * 1!
◦ 1! = 1
 Para llegar a la base es necesario llamar 3
veces a la función recursiva
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 10
Ing. José Zapana 05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 11
Funcion f <- factorial(4)
Si n = 1 entonces
f <- 1
sino
f <- 4 * factorial (3);
FinSi
FinFuncion
Funcion f <- factorial(3)
Si n = 1 entonces
f <- 1
sino
f <- 3 * factorial (2);
FinSi
FinFuncion
Funcion f <- factorial(2)
Si n = 1 entonces
f <- 1
sino
f <- 2 * factorial (1);
FinSi
FinFuncion
Funcion f <- factorial(1)
Si n = 1 entonces
f <- 1
sino
f <- 1 * factorial (1);
FinSi
FinFuncion
Ing. José Zapana
Valores: 0, 1, 1, 2, 3, 5, 8...
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)
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 12
Ing. José Zapana
 Cálculo del tercer término
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 13
Fib(1)return
Fib(3)
Fib(2) +
return 1Fib(0)return Fib(1) +
return 1 return 0
Ing. José Zapana
 Son mas cercanos a la descripción matemática.
 Generalmente mas fáciles de analizar
 Se adaptan mejor a las estructuras de datos
recursivas.
 Los algoritmos recursivos ofrecen soluciones
estructuradas, modulares y elegantemente
simples.
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 14
Ing. José Zapana
 Cuando usar recursividad
◦ Para simplificar el código.
◦ Cuando la estructura de datos es recursiva, por
ejemplo árboles.
 Cuando NO usar 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
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 15
Ing. José Zapana
 Repetición
◦ Iteración: ciclo explícito (se expresa claramente)
◦ Recursión: repetidas invocaciones a método
 Terminación
◦ Iteración: el ciclo termina o la condición del
ciclo falla
◦ Recursión: se reconoce el caso base
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 16
Ing. José Zapana
 En ambos casos podemos tener ciclos
infinitos
 Considerar que resulta más positivo para
cada problema
 LA RECURSIVIDAD SE DEBE USAR CUANDO
SEA REALMENTE NECESARIA, ES DECIR,
CUANDO NO EXISTA UNA SOLUCIÓN
ITERATIVA SIMPLE
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 17
Ing. José Zapana
 Fundamentos de programación – Joyanes
Aguilar
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 18
Ing. José Zapana
¿Preguntas?
05/06/2014
UNJu – Facultad de Ingeniería –
Introducción a la Informática 19

Más contenido relacionado

La actualidad más candente

Modelo e r
Modelo e rModelo e r
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
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
Wen MuZo
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
Smith Suarez Vargas
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
Lenin Vivanco
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
arrietaevelio
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
Lutzo Guzmán
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
Valentin Manzano
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
Boris Salleg
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
Héctor Riquelme Burgos
 
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
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
Mateo Falcon
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
Julises Garín Catalán
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
Alvaro Enrique Ruano
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
Carlos Alberto Cuervo Cardenas
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
deff000001
 
Recursividad
RecursividadRecursividad
Recursividad
TAtiizz Villalobos
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
Andreina Trejo
 
Observer: Patrón de diseño
Observer: Patrón de diseñoObserver: Patrón de diseño
Observer: Patrón de diseño
Luis Alberto Rodriguez
 
Listas
ListasListas

La actualidad más candente (20)

Modelo e r
Modelo e rModelo e r
Modelo e r
 
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
 
Tipos de-datos-power-designer
Tipos de-datos-power-designerTipos de-datos-power-designer
Tipos de-datos-power-designer
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Diagramas de secuencia
Diagramas de secuenciaDiagramas de secuencia
Diagramas de secuencia
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Cuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamientoCuadro comparativo algoritmos de ordenamiento
Cuadro comparativo algoritmos de ordenamiento
 
Manejo de memoria
Manejo de memoriaManejo de memoria
Manejo de memoria
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
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
 
Metodo de ordenacion por Insercion
 Metodo de ordenacion por Insercion Metodo de ordenacion por Insercion
Metodo de ordenacion por Insercion
 
Arboles binarios
Arboles binariosArboles binarios
Arboles binarios
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Observer: Patrón de diseño
Observer: Patrón de diseñoObserver: Patrón de diseño
Observer: Patrón de diseño
 
Listas
ListasListas
Listas
 

Destacado

Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
Gabriel
 
Apuntadores-Programación
Apuntadores-ProgramaciónApuntadores-Programación
Apuntadores-Programación
Reina Rodriguez
 
Programación Orientada a Objetos parte 3
Programación Orientada a Objetos  parte 3Programación Orientada a Objetos  parte 3
Programación Orientada a Objetos parte 3
Karla Silva
 
Tema 1 Recursión
Tema 1 RecursiónTema 1 Recursión
Tema 1 Recursión
Carlos A. Iglesias
 
12 Solucion De Problemas Con Recursion
12 Solucion De Problemas Con Recursion12 Solucion De Problemas Con Recursion
12 Solucion De Problemas Con Recursion
UVM
 
11 Recursion
11 Recursion11 Recursion
11 Recursion
UVM
 
Arreglos-Programacion
Arreglos-ProgramacionArreglos-Programacion
Arreglos-Programacion
Reina Rodriguez
 
Estructura de datos unidad 6
Estructura de datos unidad 6Estructura de datos unidad 6
Estructura de datos unidad 6
pootalex
 
Recursividad
RecursividadRecursividad
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
Diego Enrique Hernández González
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
René Sosa Arana
 
Recursividad
RecursividadRecursividad
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
Yanahui Bc
 
Tipo de Arreglos
Tipo de ArreglosTipo de Arreglos
Tipo de Arreglos
Jesùs Osorio
 
Recursividad
RecursividadRecursividad
Recursividad
betzy
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
Cesar David Fernandez Grueso
 
Estructuras en C
Estructuras en CEstructuras en C
Estructuras en C
Vane Borjas
 

Destacado (17)

Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Apuntadores-Programación
Apuntadores-ProgramaciónApuntadores-Programación
Apuntadores-Programación
 
Programación Orientada a Objetos parte 3
Programación Orientada a Objetos  parte 3Programación Orientada a Objetos  parte 3
Programación Orientada a Objetos parte 3
 
Tema 1 Recursión
Tema 1 RecursiónTema 1 Recursión
Tema 1 Recursión
 
12 Solucion De Problemas Con Recursion
12 Solucion De Problemas Con Recursion12 Solucion De Problemas Con Recursion
12 Solucion De Problemas Con Recursion
 
11 Recursion
11 Recursion11 Recursion
11 Recursion
 
Arreglos-Programacion
Arreglos-ProgramacionArreglos-Programacion
Arreglos-Programacion
 
Estructura de datos unidad 6
Estructura de datos unidad 6Estructura de datos unidad 6
Estructura de datos unidad 6
 
Recursividad
RecursividadRecursividad
Recursividad
 
Arreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadoresArreglos multidimensionales y de apuntadores
Arreglos multidimensionales y de apuntadores
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Recursividad
RecursividadRecursividad
Recursividad
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 
Tipo de Arreglos
Tipo de ArreglosTipo de Arreglos
Tipo de Arreglos
 
Recursividad
RecursividadRecursividad
Recursividad
 
Arreglos, Procedimientos y Funciones
Arreglos, Procedimientos y FuncionesArreglos, Procedimientos y Funciones
Arreglos, Procedimientos y Funciones
 
Estructuras en C
Estructuras en CEstructuras en C
Estructuras en C
 

Similar a Recursividad

Interactive Embedded Components in Physics
Interactive Embedded Components in PhysicsInteractive Embedded Components in Physics
Interactive Embedded Components in Physics
leninac
 
S2
S2S2
Analisis matematico i
Analisis matematico iAnalisis matematico i
Analisis matematico i
Sam Aragon
 
Analisis matematico i
Analisis matematico iAnalisis matematico i
Analisis matematico i
Diego Liu Ramos
 
Diu asignacion3 2012_i
Diu asignacion3 2012_iDiu asignacion3 2012_i
Diu asignacion3 2012_i
Julio Pari
 
Seminario deustotech 13marzo-2013
Seminario deustotech 13marzo-2013Seminario deustotech 13marzo-2013
Seminario deustotech 13marzo-2013
Federico Castanedo Sotela
 
Didáctica del análisis y la solución de problemas mediante programación
Didáctica del análisis y la solución de problemas mediante programaciónDidáctica del análisis y la solución de problemas mediante programación
Didáctica del análisis y la solución de problemas mediante programación
Juan Carreón
 
INVESTIGACIÓN DE OPERACIONES notas
INVESTIGACIÓN DE OPERACIONES notasINVESTIGACIÓN DE OPERACIONES notas
INVESTIGACIÓN DE OPERACIONES notas
Ramses CF
 

Similar a Recursividad (8)

Interactive Embedded Components in Physics
Interactive Embedded Components in PhysicsInteractive Embedded Components in Physics
Interactive Embedded Components in Physics
 
S2
S2S2
S2
 
Analisis matematico i
Analisis matematico iAnalisis matematico i
Analisis matematico i
 
Analisis matematico i
Analisis matematico iAnalisis matematico i
Analisis matematico i
 
Diu asignacion3 2012_i
Diu asignacion3 2012_iDiu asignacion3 2012_i
Diu asignacion3 2012_i
 
Seminario deustotech 13marzo-2013
Seminario deustotech 13marzo-2013Seminario deustotech 13marzo-2013
Seminario deustotech 13marzo-2013
 
Didáctica del análisis y la solución de problemas mediante programación
Didáctica del análisis y la solución de problemas mediante programaciónDidáctica del análisis y la solución de problemas mediante programación
Didáctica del análisis y la solución de problemas mediante programación
 
INVESTIGACIÓN DE OPERACIONES notas
INVESTIGACIÓN DE OPERACIONES notasINVESTIGACIÓN DE OPERACIONES notas
INVESTIGACIÓN DE OPERACIONES notas
 

Último

La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
lautyzaracho4
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Alejandrino Halire Ccahuana
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Juan Martín Martín
 
Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
Mónica Sánchez
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Unidad de Espiritualidad Eudista
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptxPPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
gamcoaquera
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
20minutos
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
estroba5
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
100078171
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
ViriEsteva
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Demetrio Ccesa Rayme
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
israelsouza67
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
Sandra Mariela Ballón Aguedo
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
KarenRuano6
 
Libro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eessLibro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eess
maxgamesofficial15
 

Último (20)

La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdfBlogs_y_Educacion_Por Zaracho Lautaro_.pdf
Blogs_y_Educacion_Por Zaracho Lautaro_.pdf
 
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docxLecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
Lecciones 10 Esc. Sabática. El espiritismo desenmascarado docx
 
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLMExamen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinaria). UCLM
 
Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
 
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
Triduo Eudista: Jesucristo, Sumo y Eterno Sacerdote; El Corazón de Jesús y el...
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptxPPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
PPT_Servicio de Bandeja a Paciente Hospitalizado.pptx
 
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
Examen de Lengua Castellana y Literatura de la EBAU en Castilla-La Mancha 2024.
 
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJAPANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
PANDERETAS DECORADAS CON MOTIVOS DE LA RIOJA
 
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docxRETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
RETROALIMENTACIÓN PARA EL EXAMEN ÚNICO AUXILIAR DE ENFERMERIA.docx
 
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdfMundo ABC Examen 1 Grado- Tercer Trimestre.pdf
Mundo ABC Examen 1 Grado- Tercer Trimestre.pdf
 
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT   en el Aula Ccesa007.pdfDocentes y el uso de chatGPT   en el Aula Ccesa007.pdf
Docentes y el uso de chatGPT en el Aula Ccesa007.pdf
 
Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024Evaluacion del tercer trimestre del 2023-2024
Evaluacion del tercer trimestre del 2023-2024
 
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZACORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
CORREOS SEGUNDO 2024 HONORIO DELGADO ESPINOZA
 
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdfDosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
Dosificación de los aprendizajes U4_Me gustan los animales_Parvulos 1_2_3.pdf
 
Libro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eessLibro Integrado 8vo egb len-mat-ccnn-eess
Libro Integrado 8vo egb len-mat-ccnn-eess
 

Recursividad

  • 1. Introducción a la Informática UNJu – Facultad de Ingeniería 05/06/2014 Ing. José Zapana 1
  • 2. Ing. José Zapana Definición de Recursividad Tipos de Recursividad Función Recursiva Ejemplos Uso de la recursividad Consideraciones generales 05/06/2014UNJu – Facultad de Ingeniería 2
  • 3. Ing. José Zapana  Sabemos que un subprograma puede llamar a cualquier otro subprograma y ésta a otro.  Es decir que los subprogramas se pueden anidar.  Podemos tener ◦ A llama a B, B llama a C, C llama a D  Cuando se produce el retorno de los subprogramas, a medida que van terminando, el proceso será: ◦ D retorna a C, C retorna a B y B retorna a A 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 3
  • 4. Ing. José Zapana  Flujo de llamadas y retornos 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 4 Suprog. A Suprog. B Suprog. C Suprog. D
  • 5. Ing. José Zapana  La recursividad es una técnica muy empleada en la programación informática y consiste en que una función se llame a sí misma.  Es una alternativa diferente para implementar estructuras de repetición (ciclos). Los módulos se hacen llamadas recursivas 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 5
  • 6. Ing. José Zapana  Recursividad Directa ◦ Cuando un procedimiento incluye una llamada a sí mismo  Recursividad Indirecta ◦ Cuando un procedimiento llama a otro procedimiento y éste causa que el procedimiento original sea invocado 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 6
  • 7. Ing. José Zapana  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á 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 7
  • 8. Ing. José Zapana Función recursiva 1 si N = 0 (base) N ! = N * (N – 1) ! 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. 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 8
  • 9. Ing. José Zapana  Ejemplo en PeSeint 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 9 Base Recursión Ejemplo: El usuario ingresa 4
  • 10. Ing. José Zapana  Solución analítica ◦ 4! = 4 * 3! ◦ 3! = 3 * 2! ◦ 2! = 2 * 1! ◦ 1! = 1  Para llegar a la base es necesario llamar 3 veces a la función recursiva 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 10
  • 11. Ing. José Zapana 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 11 Funcion f <- factorial(4) Si n = 1 entonces f <- 1 sino f <- 4 * factorial (3); FinSi FinFuncion Funcion f <- factorial(3) Si n = 1 entonces f <- 1 sino f <- 3 * factorial (2); FinSi FinFuncion Funcion f <- factorial(2) Si n = 1 entonces f <- 1 sino f <- 2 * factorial (1); FinSi FinFuncion Funcion f <- factorial(1) Si n = 1 entonces f <- 1 sino f <- 1 * factorial (1); FinSi FinFuncion
  • 12. Ing. José Zapana Valores: 0, 1, 1, 2, 3, 5, 8... 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) 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 12
  • 13. Ing. José Zapana  Cálculo del tercer término 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 13 Fib(1)return Fib(3) Fib(2) + return 1Fib(0)return Fib(1) + return 1 return 0
  • 14. Ing. José Zapana  Son mas cercanos a la descripción matemática.  Generalmente mas fáciles de analizar  Se adaptan mejor a las estructuras de datos recursivas.  Los algoritmos recursivos ofrecen soluciones estructuradas, modulares y elegantemente simples. 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 14
  • 15. Ing. José Zapana  Cuando usar recursividad ◦ Para simplificar el código. ◦ Cuando la estructura de datos es recursiva, por ejemplo árboles.  Cuando NO usar 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 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 15
  • 16. Ing. José Zapana  Repetición ◦ Iteración: ciclo explícito (se expresa claramente) ◦ Recursión: repetidas invocaciones a método  Terminación ◦ Iteración: el ciclo termina o la condición del ciclo falla ◦ Recursión: se reconoce el caso base 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 16
  • 17. Ing. José Zapana  En ambos casos podemos tener ciclos infinitos  Considerar que resulta más positivo para cada problema  LA RECURSIVIDAD SE DEBE USAR CUANDO SEA REALMENTE NECESARIA, ES DECIR, CUANDO NO EXISTA UNA SOLUCIÓN ITERATIVA SIMPLE 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 17
  • 18. Ing. José Zapana  Fundamentos de programación – Joyanes Aguilar 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 18
  • 19. Ing. José Zapana ¿Preguntas? 05/06/2014 UNJu – Facultad de Ingeniería – Introducción a la Informática 19

Notas del editor

  1. UNJu – Facultad de Ingeniería