SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Recursividad terminal,[object Object],Presentación 2.,[object Object]
¿ que es la recursividad?,[object Object],La recursividad es una técnica de programación,,[object Object],que consiste en que una serie de instrucciones se repiten como una subtarea de la tarea principal, es decir, las funciones, procesos o rutinas se llaman a sí mismos cada vez que lo requieran y se ejecutan repetidas veces hasta que se satisface una condición específica.,[object Object]
Recursividad,[object Object],La recursividad es un proceso muy útil a la hora de programar, pero en ocasiones, el uso de este tiene un costo computacional alto, debido a las constantes llamadas a la misma función o rutina y muchas veces estas llamadas consumen demasiada memoria.,[object Object]
Recursividad terminal,[object Object],En algunos algoritmos recursivos, se puede implementar un caso de recursividad especial llamado recursividad terminal, (también conocido como recursividad por cola), la cual es una técnica para optimizar la recursividad eliminando las constantes llamadas recursivas,[object Object],“La recursividad terminal o por cola es cuando la llamada recursiva es la última instrucción de la función.”,[object Object]
Recursividad terminal,[object Object],características de la recursividad terminal.,[object Object],*las funciones deben cumplir la condición que en la parte que realiza la llamada a la función, no debe existir ninguna otra sentencia.,[object Object],*el compilador o interprete,,[object Object], tratan a la función recursiva ,[object Object], como una función iterativa,[object Object]
Recursividad terminal,[object Object],Una ventaja de la recursividad por cola es que podemos evitar la sobrecarga de cada llamada a la función y nos evitamos el gasto de memoria de pila. ,[object Object],.,[object Object],*pila de llamadas es donde se almacena los valores de las variables de las subrutinas, y  el stackoverflow (desbordamiento de pila) es cuando la memoria ya no es sufiente para almacenar todos los datos,[object Object],Con una función de recursividad terminal se puede evitar lo que se conoce como stackoverflow, que ocurre cuando la pila de llamadas (en ingles callstack) consume mucha memoria,[object Object]
EJEMPLOS,[object Object],A continuación se muestra un programa que calcule el factorial de un numero usando la recursividad normal.,[object Object],*funcion recursiva,[object Object],*condicion,[object Object],* los valores que debe regresar,[object Object],*en el return se vuelve a llamar la funcion,[object Object],*funcion principal,[object Object],*captura de dato,[object Object],*llamada de la funcion,[object Object]
EJEMPLOS,[object Object],Ahora se muestra el mismo programa, que calcula el factorial de una función, pero usando la recursividad terminal o de cola,[object Object],*funcion recursiva terminal,[object Object],[object Object]
  aquí se ase una funcion para que la estructura del main quede igual que en el otro ejemplo
Funcionmain con captura de dato y llamada de funcion,[object Object]
Recursividad terminal,[object Object],Una función recursiva normal se puede convertir a funcion recursiva termianl usando en la función original un parámetro adicional, usado para ir guardando un resultado de tal manera que la llamada recursiva ya no tiene una operación pendiente.,[object Object],También se usa una función adicional para mantener la sintaxis de como llamamos normalmente a la función. En el caso del factorial, para seguir llamando a la función de la forma fact(n).,[object Object]
Recursividad terminal,[object Object],Si estos dos programas se corren, ambos funcionaran y nos darán un resultado correcto, pero entre mas grande sea el numero que se desea calcular, mas cerca estará el programa de recursión normal de “tronar”, ya que el numero que se ocupe será el numero de veces que se estará autollamado la función, cargando así la memoria, con el riesgo de un desbordamiento.,[object Object]
Recursividad terminal,[object Object],La recursión de cola es importante para algunos lenguajes de alto nivel, En especial en idiomas funcional y los idiomas  miembros del familia Lisp. ,[object Object]
Recursividad terminal,[object Object],    En estos idiomas la recursión de cola es la forma más utilizada comúnmente (y ha veces la única forma disponible) de ejecución de la iteración. ,[object Object],    La especificación del lenguaje del sistema que exige las llamadas de la cola para ser optimizado, para que no crezca la pila. Las llamadas de la recursividad Tail también puede ser utilizado en Perl, con una variante del "goto" La declaración que toma un nombre de función.,[object Object]
Recursividad terminal,[object Object],En muchos casos, hacer una función recursiva por la cola (tail-recursive) es posible empleando técnicas adecuadas de programación. ,[object Object],Siempre que esto se logre podemos esperar un incremento significativo en la eficiencia de los programas.,[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Como funciona una maquina de turing
Como funciona una maquina de turingComo funciona una maquina de turing
Como funciona una maquina de turing
 
Arboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
 
Trigger
TriggerTrigger
Trigger
 
Analizador Léxico en C++
Analizador Léxico en C++Analizador Léxico en C++
Analizador Léxico en C++
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 
Lenguaje Lisp
Lenguaje LispLenguaje Lisp
Lenguaje Lisp
 
Estructura de Datos: Recursividad
Estructura de Datos: RecursividadEstructura de Datos: Recursividad
Estructura de Datos: Recursividad
 
Manual sql server parte 1
Manual sql server parte 1Manual sql server parte 1
Manual sql server parte 1
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Cadenas y funciones de cadena
Cadenas y funciones de cadenaCadenas y funciones de cadena
Cadenas y funciones de cadena
 
Recursividad
RecursividadRecursividad
Recursividad
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Representación matricial
Representación matricialRepresentación matricial
Representación matricial
 
Arboles b+ de prefijos simples
Arboles b+ de prefijos simplesArboles b+ de prefijos simples
Arboles b+ de prefijos simples
 
Hash mitad al cuadrado pdf
Hash mitad al cuadrado pdfHash mitad al cuadrado pdf
Hash mitad al cuadrado pdf
 
3.4 RESTRICCIONES.pdf
3.4 RESTRICCIONES.pdf3.4 RESTRICCIONES.pdf
3.4 RESTRICCIONES.pdf
 
Introdução ao Latex
Introdução ao LatexIntrodução ao Latex
Introdução ao Latex
 
Indices 1
Indices 1Indices 1
Indices 1
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Bucket sort
Bucket sortBucket sort
Bucket sort
 

Andere mochten auch

Principales puntos del paradigma hemergente
Principales puntos del paradigma hemergentePrincipales puntos del paradigma hemergente
Principales puntos del paradigma hemergentedaniryscaldera1987
 
Paradigmas emergentes
Paradigmas emergentesParadigmas emergentes
Paradigmas emergentesSilvia Obando
 
Teorias, sitemica complejidad y holismo
Teorias, sitemica complejidad y  holismoTeorias, sitemica complejidad y  holismo
Teorias, sitemica complejidad y holismoluxcsesita
 
Fractales y Teoría del Caos
Fractales y Teoría del CaosFractales y Teoría del Caos
Fractales y Teoría del CaosJimmy Campo
 
ANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMAS
ANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMASANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMAS
ANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMASkyrios85
 
Constructivismo de maturana
Constructivismo de maturanaConstructivismo de maturana
Constructivismo de maturanaguest178714
 

Andere mochten auch (11)

Principales puntos del paradigma hemergente
Principales puntos del paradigma hemergentePrincipales puntos del paradigma hemergente
Principales puntos del paradigma hemergente
 
Paradigmas emergentes
Paradigmas emergentesParadigmas emergentes
Paradigmas emergentes
 
Fractales
FractalesFractales
Fractales
 
Teorias, sitemica complejidad y holismo
Teorias, sitemica complejidad y  holismoTeorias, sitemica complejidad y  holismo
Teorias, sitemica complejidad y holismo
 
Fractales
FractalesFractales
Fractales
 
Autopoiesis Y Sistema
Autopoiesis Y SistemaAutopoiesis Y Sistema
Autopoiesis Y Sistema
 
Fractales y Teoría del Caos
Fractales y Teoría del CaosFractales y Teoría del Caos
Fractales y Teoría del Caos
 
ANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMAS
ANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMASANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMAS
ANÁLISIS CONCEPTUAL DE LA TEORÍA GENERAL DE SISTEMAS
 
Constructivismo de maturana
Constructivismo de maturanaConstructivismo de maturana
Constructivismo de maturana
 
Leyes gestalt EN PUBLICIDAD.
Leyes gestalt EN PUBLICIDAD.Leyes gestalt EN PUBLICIDAD.
Leyes gestalt EN PUBLICIDAD.
 
Leyes de la Gestalt
Leyes de la GestaltLeyes de la Gestalt
Leyes de la Gestalt
 

Ähnlich wie Recursividad terminal (20)

Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdf
 
Recursividad en programación
Recursividad en programaciónRecursividad en programación
Recursividad en programación
 
Recursividad
RecursividadRecursividad
Recursividad
 
Recursión
RecursiónRecursión
Recursión
 
Funciones
FuncionesFunciones
Funciones
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Funciones
FuncionesFunciones
Funciones
 
RECURSIVIDAD C++
RECURSIVIDAD C++RECURSIVIDAD C++
RECURSIVIDAD C++
 
Programas_Recursivos.pptx
Programas_Recursivos.pptxProgramas_Recursivos.pptx
Programas_Recursivos.pptx
 
p
pp
p
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
1.4.4 Recursividad con pilas.pptx
1.4.4 Recursividad con pilas.pptx1.4.4 Recursividad con pilas.pptx
1.4.4 Recursividad con pilas.pptx
 
Ventaja del uso de las Funciones en PHP
Ventaja del uso de las Funciones en PHPVentaja del uso de las Funciones en PHP
Ventaja del uso de las Funciones en PHP
 
Recursividad
RecursividadRecursividad
Recursividad
 
7 Razones para usar las funciones php
7 Razones para usar las funciones php7 Razones para usar las funciones php
7 Razones para usar las funciones php
 
Recursividad
RecursividadRecursividad
Recursividad
 
Introduccion web paula
Introduccion web paulaIntroduccion web paula
Introduccion web paula
 
Curso MATLAB
Curso MATLABCurso MATLAB
Curso MATLAB
 
Ciclos
CiclosCiclos
Ciclos
 
ESTRUCTURA DE DATOS
ESTRUCTURA DE DATOSESTRUCTURA DE DATOS
ESTRUCTURA DE DATOS
 

Mehr von Pepe Hernandez

Mehr von Pepe Hernandez (6)

Pic
PicPic
Pic
 
Presentacion final POO
Presentacion final POOPresentacion final POO
Presentacion final POO
 
Presentacion proyecto final
Presentacion proyecto finalPresentacion proyecto final
Presentacion proyecto final
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Proyecto de medio curso
Proyecto de medio cursoProyecto de medio curso
Proyecto de medio curso
 
Analisis semantico
Analisis semanticoAnalisis semantico
Analisis semantico
 

Kürzlich hochgeladen

sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre terceroCEIP TIERRA DE PINARES
 
la forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolarla forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolarCa Ut
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADODJElvitt
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCEIP TIERRA DE PINARES
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdfNELLYKATTY
 
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaLa poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaIGNACIO BALLESTER PARDO
 
Semana Santa en Popayán para el año 2024
Semana Santa en Popayán para el año 2024Semana Santa en Popayán para el año 2024
Semana Santa en Popayán para el año 2024yaco173
 
Evaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdfEvaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdfDemetrio Ccesa Rayme
 
Tecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxTecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxJulioSantin2
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docxJhordanBenitesSanche1
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativaricardoruizaleman
 
Concurso de Innovación Pedagógica T3 FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica  T3  FONDEP 2024 Ccesa007.pdfConcurso de Innovación Pedagógica  T3  FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica T3 FONDEP 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariamichel carlos Capillo Dominguez
 
CARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCarolVigo1
 
Herbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxHerbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxArs Erótica
 
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREASEjemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREASJavier Sanchez
 
Evaluacion Diagnostica Matematica 5to C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 5to  C1 Secundaria Ccesa007.pdfEvaluacion Diagnostica Matematica 5to  C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 5to C1 Secundaria Ccesa007.pdfDemetrio Ccesa Rayme
 

Kürzlich hochgeladen (20)

sociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercerosociales ciencias segundo trimestre tercero
sociales ciencias segundo trimestre tercero
 
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdfTema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
Tema 5.- BASES DE DATOS Y GESTIÓN DE LA INF. PARA EL MARKETING.pdf
 
la forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolarla forma de los objetos expresión gráfica preescolar
la forma de los objetos expresión gráfica preescolar
 
1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO1ro Programación Anual D.P.C.C ACTUALIZADO
1ro Programación Anual D.P.C.C ACTUALIZADO
 
EL PROCESO DE INVESTIGACIÓN CUALITATIVA. ENFERMERÍA
EL PROCESO DE INVESTIGACIÓN CUALITATIVA. ENFERMERÍAEL PROCESO DE INVESTIGACIÓN CUALITATIVA. ENFERMERÍA
EL PROCESO DE INVESTIGACIÓN CUALITATIVA. ENFERMERÍA
 
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTOCIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
CIENCIAS SOCIALES SEGUNDO TRIMESTRE CUARTO
 
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdfRecursos Tecnológicos, página  AIP-CRT 2 0 2 4.pdf
Recursos Tecnológicos, página AIP-CRT 2 0 2 4.pdf
 
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didácticaLa poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
La poesía del encarcelamiento de Raúl Zurita en el aula: una propuesta didáctica
 
Power Point E. Sab: Adoración sin fin...
Power Point E. Sab: Adoración sin fin...Power Point E. Sab: Adoración sin fin...
Power Point E. Sab: Adoración sin fin...
 
Semana Santa en Popayán para el año 2024
Semana Santa en Popayán para el año 2024Semana Santa en Popayán para el año 2024
Semana Santa en Popayán para el año 2024
 
Evaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdfEvaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 2do C1 Secundaria Ccesa007.pdf
 
Tecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptxTecnología educativa en la era actual .pptx
Tecnología educativa en la era actual .pptx
 
Programación Anual 2024 - CIENCIAS SOCIALES.docx
Programación Anual 2024  - CIENCIAS SOCIALES.docxProgramación Anual 2024  - CIENCIAS SOCIALES.docx
Programación Anual 2024 - CIENCIAS SOCIALES.docx
 
Presentación del tema: tecnología educativa
Presentación del tema: tecnología educativaPresentación del tema: tecnología educativa
Presentación del tema: tecnología educativa
 
Concurso de Innovación Pedagógica T3 FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica  T3  FONDEP 2024 Ccesa007.pdfConcurso de Innovación Pedagógica  T3  FONDEP 2024 Ccesa007.pdf
Concurso de Innovación Pedagógica T3 FONDEP 2024 Ccesa007.pdf
 
ficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primariaficha de aplicacion para estudiantes El agua para niños de primaria
ficha de aplicacion para estudiantes El agua para niños de primaria
 
CARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacionCARPETA PEDAGÓGICA 2024.docx para educacion
CARPETA PEDAGÓGICA 2024.docx para educacion
 
Herbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptxHerbert James Drape. Erotismo y sensualidad.pptx
Herbert James Drape. Erotismo y sensualidad.pptx
 
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREASEjemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
Ejemplo de trabajo de TIC´s CON VARIAS OPCIONES DE LAS TAREAS
 
Evaluacion Diagnostica Matematica 5to C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 5to  C1 Secundaria Ccesa007.pdfEvaluacion Diagnostica Matematica 5to  C1 Secundaria Ccesa007.pdf
Evaluacion Diagnostica Matematica 5to C1 Secundaria Ccesa007.pdf
 

Recursividad terminal

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. aquí se ase una funcion para que la estructura del main quede igual que en el otro ejemplo
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.