SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Estructura de datos 
Unidad II 
Recursividad 
Rubi veronica chimal Cuxin.
Introducción 
Comprender y aplicar la recursividad como herramienta de programación para el 
manejo de las estructuras de datos es indispensable pues en la carrera de un 
Ing. En sistemas computacionales podemos consultar en fuentes impresas el 
concepto de recursividad así se puede ejemplificar un caso recursivo de la vida 
cotidiana como calcular el Factorial de un número entero positivo. Para poder 
entenderle por completo hay que realizar varios ejercicios para poder identificar 
problemas resueltos de manera iterativa y encontrar su solución recursiva mediante 
codificación en algún lenguaje de programación así como analizar las ventajas y 
desventajas que este pudiese tener.
Código 
El factorial de un entero n, se expresa como un conjunto de productos: 
n * (n-1) * (n-2) * …… * 1 
Escribiendo el código en lenguaje C usando el ciclo for es de la siguiente 
manera: 
int i, factorial; 
factorial=1; 
for(i=numero;i>=1;i--) 
factorial*= i; 
Por ejemplo 5!, claramente es lo mismo que 5*4!, como se muestra 
mediante el siguiente: 
5!=5 
5!=5*(4*3*2*1) 
5!=5*(4!) 
En la figura mostrada a continuación muestra la sucesión de llamadas 
recursivas continúa hasta que 1! Se evalúa al valor 1, lo que termina la 
recursión. En la figura del lado derecho se muestran los valores 
regresados por cada llamada recursiva a su llamador, hasta que el valor 
final es calculado y regresado. 
La función recursiva factorial primero prueba para ver si una condición 
de terminación es verdadera, es decir, es número menor que o igual a 1.
Si número es en verdad menor que o igual a 1 factorial regresa 1, ya no es 
necesaria mayor recursión y el programa termina. 
El código sería el siguiente: 
using System; 
namespace ConsoleApplication14 
{ 
/// <summary> 
/// Esta clase 
/// <SUMMARY> 
class factorial 
{ 
int numero; 
int fact(int num) 
{ 
numero=num; 
if(numero<=1) 
return 1; 
else 
return(numero*fact(numero-1)); 
} 
[STAThread] 
static void Main(string[] args) 
{ 
factorial f1=new factorial(); 
Console.WriteLine("Dame el número para calcular su factorial"); 
int p,n; 
n=int.Parse(Console.ReadLine()); 
p=f1.fact(n); 
Console.WriteLine("El factorial es:n"); 
Console.Write(p+"n"); 
} 
} 
}
Conclusión 
En los programas se han analizado e implementado funciones que llaman unas a 
otras. Para algunos tipos de problemas, es útil tener funciones que se llamen a sí 
mismas. Una función recursiva es una función que se llama a sí misma, ya sea 
directa o indirectamente a través de otra función, esta es llamada para resolver un 
problema. La función sabe sólo cómo resolver el caso más simple, es decir, el 
llamado caso base. Si la función es llamada con un problema más complejo, la 
función divide dicho problema en dos partes conceptuales: una parte que la función 
ya sabe cómo ejecutar y una parte que la función no sabe cómo ejecutar. Para hacer 
factible la recursión, esta última parte debe parecerse al problema original, la función 
llama a una copia nueva de sí misma, para que empiece a trabajar sobre el problema 
más pequeño y esto se conoce como una llamada recursiva y también se llama 
el paso de recursión. El paso de recursión también incluye la palabra 
reservada return, porque el resultado será combinado con la parte del problema 
que la función supo cómo resolver para formar un resultado que será regresado al 
llamador original, posiblemente main.

Weitere ähnliche Inhalte

Was ist angesagt?

Clases de complejidad computacional
Clases de complejidad computacionalClases de complejidad computacional
Clases de complejidad computacional
vmtorrealba
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
Giancarlo Aguilar
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
morenito9001
 

Was ist angesagt? (20)

Recursividad
RecursividadRecursividad
Recursividad
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Recursividad
RecursividadRecursividad
Recursividad
 
simulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatoriossimulacion numeros pseudoaleatorios
simulacion numeros pseudoaleatorios
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Procesos
ProcesosProcesos
Procesos
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Clases de complejidad computacional
Clases de complejidad computacionalClases de complejidad computacional
Clases de complejidad computacional
 
Modelos de arquitecturas de computadoras
Modelos de arquitecturas de computadorasModelos de arquitecturas de computadoras
Modelos de arquitecturas de computadoras
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Código intermedio
Código intermedioCódigo intermedio
Código intermedio
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Tipos de Software
Tipos de SoftwareTipos de Software
Tipos de Software
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
INTRODUCCION A LA SIMULACION
INTRODUCCION A LA SIMULACIONINTRODUCCION A LA SIMULACION
INTRODUCCION A LA SIMULACION
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
 
Eficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecuciónEficiencia en uso en algoritmos- tiempo de ejecución
Eficiencia en uso en algoritmos- tiempo de ejecución
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Algoritmo congruencial multiplicativo y prueba de medias u otavalo
Algoritmo congruencial multiplicativo y prueba de medias u otavaloAlgoritmo congruencial multiplicativo y prueba de medias u otavalo
Algoritmo congruencial multiplicativo y prueba de medias u otavalo
 

Andere mochten auch

Presentacions primavera
Presentacions primaveraPresentacions primavera
Presentacions primavera
312celia
 
Datos y formato condicional
Datos y formato condicionalDatos y formato condicional
Datos y formato condicional
dianyubey
 
El futuro de nuestro planeta
El futuro de nuestro planetaEl futuro de nuestro planeta
El futuro de nuestro planeta
yara452
 

Andere mochten auch (20)

Presentación1
Presentación1Presentación1
Presentación1
 
Semana del estudiante
Semana del estudianteSemana del estudiante
Semana del estudiante
 
Silabo diseño grafico 1 (1)
Silabo diseño grafico 1 (1)Silabo diseño grafico 1 (1)
Silabo diseño grafico 1 (1)
 
Soundcloud
Soundcloud Soundcloud
Soundcloud
 
Presentacions primavera
Presentacions primaveraPresentacions primavera
Presentacions primavera
 
Datos y formato condicional
Datos y formato condicionalDatos y formato condicional
Datos y formato condicional
 
Actividad 3
Actividad 3Actividad 3
Actividad 3
 
Siguencia jefferson excel
Siguencia jefferson excelSiguencia jefferson excel
Siguencia jefferson excel
 
Tecnologia de la educaiòn
Tecnologia de la educaiònTecnologia de la educaiòn
Tecnologia de la educaiòn
 
El power point nuestro de cada dia.
El power point nuestro de cada dia.El power point nuestro de cada dia.
El power point nuestro de cada dia.
 
El fuero
El fueroEl fuero
El fuero
 
Proyecto
ProyectoProyecto
Proyecto
 
Tics
TicsTics
Tics
 
juego
juegojuego
juego
 
municipales2015
municipales2015municipales2015
municipales2015
 
La computadora
La computadoraLa computadora
La computadora
 
Las drogas
Las drogas Las drogas
Las drogas
 
Poyecto (1)
Poyecto (1)Poyecto (1)
Poyecto (1)
 
Presentación1
Presentación1Presentación1
Presentación1
 
El futuro de nuestro planeta
El futuro de nuestro planetaEl futuro de nuestro planeta
El futuro de nuestro planeta
 

Ähnlich wie Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)

recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptx
juan gonzalez
 

Ähnlich wie Informe Técnico - Recursividad Unidad 2 (Rubi Veronica) (20)

recursividad
recursividadrecursividad
recursividad
 
Recursión
RecursiónRecursión
Recursión
 
Informe Tecnico recursividad
Informe Tecnico recursividadInforme Tecnico recursividad
Informe Tecnico recursividad
 
Presentacion
PresentacionPresentacion
Presentacion
 
Funciones
FuncionesFunciones
Funciones
 
Funciones recursivas en C++
Funciones recursivas en C++Funciones recursivas en C++
Funciones recursivas en C++
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Funciones
FuncionesFunciones
Funciones
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
03 tda1 t2018
03 tda1 t201803 tda1 t2018
03 tda1 t2018
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01Recursividad 100329105433-phpapp01
Recursividad 100329105433-phpapp01
 
recursividad.pptx
recursividad.pptxrecursividad.pptx
recursividad.pptx
 
recursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptxrecursividad EN PROGRAMACION ORIENTADA .pptx
recursividad EN PROGRAMACION ORIENTADA .pptx
 
Recursividad
RecursividadRecursividad
Recursividad
 
Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdf
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
Recursividad2019
Recursividad2019Recursividad2019
Recursividad2019
 
Unidad 5. Recursión
Unidad 5. RecursiónUnidad 5. Recursión
Unidad 5. Recursión
 

Mehr von Rubi Veronica Chimal Cuxin (7)

Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
Informe técnico Unidad 7 Análisis de algoritmos (Rubí Veronica)
 
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
Informe técnico - Métodos de búsqueda Unidad 6 (Rubí Verónica)
 
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
Informe técnico - Unidad 5 Métodos de ordenamiento (Rubí Veronica)
 
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
Informe técnico - Unidad 3 Estructuras no lineales (Rubí Verónica)
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Informe Tecnico Unidad 1 (Rubi veronica)
Informe Tecnico Unidad 1 (Rubi veronica)Informe Tecnico Unidad 1 (Rubi veronica)
Informe Tecnico Unidad 1 (Rubi veronica)
 
Evidencias1 (Diapositivas - Rubi Veronica)
Evidencias1 (Diapositivas  - Rubi Veronica)Evidencias1 (Diapositivas  - Rubi Veronica)
Evidencias1 (Diapositivas - Rubi Veronica)
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdfFICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
FICHA PROYECTO COIL- GLOBAL CLASSROOM.docx.pdf
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Desarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por ValoresDesarrollo y Aplicación de la Administración por Valores
Desarrollo y Aplicación de la Administración por Valores
 
Código Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de VenezuelaCódigo Civil de la República Bolivariana de Venezuela
Código Civil de la República Bolivariana de Venezuela
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 

Informe Técnico - Recursividad Unidad 2 (Rubi Veronica)

  • 1. Estructura de datos Unidad II Recursividad Rubi veronica chimal Cuxin.
  • 2. Introducción Comprender y aplicar la recursividad como herramienta de programación para el manejo de las estructuras de datos es indispensable pues en la carrera de un Ing. En sistemas computacionales podemos consultar en fuentes impresas el concepto de recursividad así se puede ejemplificar un caso recursivo de la vida cotidiana como calcular el Factorial de un número entero positivo. Para poder entenderle por completo hay que realizar varios ejercicios para poder identificar problemas resueltos de manera iterativa y encontrar su solución recursiva mediante codificación en algún lenguaje de programación así como analizar las ventajas y desventajas que este pudiese tener.
  • 3. Código El factorial de un entero n, se expresa como un conjunto de productos: n * (n-1) * (n-2) * …… * 1 Escribiendo el código en lenguaje C usando el ciclo for es de la siguiente manera: int i, factorial; factorial=1; for(i=numero;i>=1;i--) factorial*= i; Por ejemplo 5!, claramente es lo mismo que 5*4!, como se muestra mediante el siguiente: 5!=5 5!=5*(4*3*2*1) 5!=5*(4!) En la figura mostrada a continuación muestra la sucesión de llamadas recursivas continúa hasta que 1! Se evalúa al valor 1, lo que termina la recursión. En la figura del lado derecho se muestran los valores regresados por cada llamada recursiva a su llamador, hasta que el valor final es calculado y regresado. La función recursiva factorial primero prueba para ver si una condición de terminación es verdadera, es decir, es número menor que o igual a 1.
  • 4. Si número es en verdad menor que o igual a 1 factorial regresa 1, ya no es necesaria mayor recursión y el programa termina. El código sería el siguiente: using System; namespace ConsoleApplication14 { /// <summary> /// Esta clase /// <SUMMARY> class factorial { int numero; int fact(int num) { numero=num; if(numero<=1) return 1; else return(numero*fact(numero-1)); } [STAThread] static void Main(string[] args) { factorial f1=new factorial(); Console.WriteLine("Dame el número para calcular su factorial"); int p,n; n=int.Parse(Console.ReadLine()); p=f1.fact(n); Console.WriteLine("El factorial es:n"); Console.Write(p+"n"); } } }
  • 5. Conclusión En los programas se han analizado e implementado funciones que llaman unas a otras. Para algunos tipos de problemas, es útil tener funciones que se llamen a sí mismas. Una función recursiva es una función que se llama a sí misma, ya sea directa o indirectamente a través de otra función, esta es llamada para resolver un problema. La función sabe sólo cómo resolver el caso más simple, es decir, el llamado caso base. Si la función es llamada con un problema más complejo, la función divide dicho problema en dos partes conceptuales: una parte que la función ya sabe cómo ejecutar y una parte que la función no sabe cómo ejecutar. Para hacer factible la recursión, esta última parte debe parecerse al problema original, la función llama a una copia nueva de sí misma, para que empiece a trabajar sobre el problema más pequeño y esto se conoce como una llamada recursiva y también se llama el paso de recursión. El paso de recursión también incluye la palabra reservada return, porque el resultado será combinado con la parte del problema que la función supo cómo resolver para formar un resultado que será regresado al llamador original, posiblemente main.