Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un.

Slides:



Advertisements
Presentaciones similares
Análisis Sintáctico Capítulo 4.
Advertisements

Análisis Sintáctico Descendente
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Programación de Computadores
SENTENCIAS SECUENCIALES
LENGUAJES DE DESCRIPCION DE HARDWARE (HDL)
ESTRUCTURA DE DATOS Unidad 01 RECURSIVIDAD.
Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
Algoritmos de Minería Los métodos básicos.
Algoritmo GENETICO.
Programación II Recursividad
Programación Estructurada
Estructura General de Un Programa Programación Estructurada
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Introducción a la programación orientada a aspectos.
1. Asistentes de Pruebas para Lógicos y Matemáticos I
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
EXCEPCIÓN DE ERRORES.
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
¿Qué es un algoritmo? “(del árabe al-Khowârizmî, sobrenombre del célebre matemático árabe Mohámed ben Musa). Conjunto ordenado y finito de operaciones.
Pablo Cesar Tapia Catacora
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
MÓDULO DE PROCEDIMIENTOS Los módulos también pueden contener subrutinas y funciones → MÓDULO DE PROCEDIMIENTOS  PROCEDIMIENTOS → son compilados como parte.
Programación I Teoría VI: Recursividad
1 Procedimientos Es un conjunto de sentencias incluidas entre las declaraciones Sub o Function y End Sub/Function VB utiliza varios tipos de procedimientos:
Teoría de lenguajes y compiladores
TRAMPAS EN EL DISEÑO DE LENGUAJES CON RELACIÓN A LOS NOMBRES - REGLAS DE ALCANCE - COMPILACIÓN POR SEPARADO CONTROL DE FLUJO - EVALUACIÓN DE EXPRESIONES.
Recursividad.
PROCEDIMIENTOS FUNCIONES
Coloración de Grafos Planos
Matemáticas para Ciencias de la Computación MCC3182 Profesor: Claudio Gutiérrez Soto Página Web:
Funciones y Procedimientos(Pseudocódigo)
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )

Introducción al análisis de algoritmos
Algoritmos.
Programación I Universidad Nacional de Luján
Estructura de Datos y Algoritmos
Material de apoyo Unidad 4 Estructura de datos
Análisis de algoritmos
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 3: Análisis de algoritmos (parte I)
Teoría – Alejandro Gonzalez
Recursividad.
ALGORITMOS.
ALGORITMOS.
Agenda Clase 6 Iteradores. Enumeración sin iteradores. Loops lógicos. Recursión vs. Iteración. Recursión de Cola. Orden de Evaluación Normal y Aplicativo.
Estructuras de control Resolución de problemas y algoritmos.
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 2: Divide y Vencerás Unidad 1: Nociones básicas.
Conceptos Avanzados de Programación
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Cualquier x real Este valor, para cualquier x, siempre estará en el intervalo Supongamos entonces que y es un número conocido positivo Se trata de resolver.
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
Conalep Coacalco Algoritmos Recursivos
Introducción a los TADs
Estructura: COLA Profesor: Ing. Erick López Ch. M.R.I.
Estructuras Algorítmicas Selectivas
Ada 2º Parte (variables, ámbitos, subrutinas, tipos abstractos de datos y excepciones)
Muestreo Probabilístico
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
U2 Tipos de datos, referenciación y errores 1. Datos problema simple enteroreal carácter booleano Ingeniero = Oreja+catalejo modelo ordenador solución.
Recursividad.
RECURSIVIDAD.
Resolución de problemas y algoritmos
Recursividad 1 Análisis de algoritmos. Matrushka La Matrushka es una artesanía tradicional rusa. Es una muñeca de madera que contiene otra muñeca más.
END.
Transcripción de la presentación:

Recursividad Un objeto se dice que es recursivo si él mismo forma parte de su definición. Ejemplos de objetos recursivos: Una locomotora es un tren Un tren es un vagón enganchado a un tren El factorial de 0 es 1 El factorial de un numero natural es el producto de dicho numero por el factorial de su antecesor

Algoritmo recursivo Un programa o algoritmo se denomina recursivo si está directa o indirectamente basado en sí mismo

Algoritmo recursivo Todo programa recursivo debe tener: Condición de parada o punto conocido del dominio que ponga fin a la recursividad. Al menos una llamada a sí mismo. (invocación recursiva)

Algoritmo recursivo – Ejemplo Ejemplo: Factorial | 1 si n = 0 Fact (n) = | | n* Fact (n-1) si n > 0 Algoritmo: Function fact(n: integer):integer; /* calcula n! */ Begin if (n = 0) then fact := 1 else fact := n* fact(n-1); End;

¿Cómo se evalúa un algoritmo recursivo? fact (5) = 5 * fact (4) fact (4) = 4 * fact (3) fact (3) = 3 * fact (2) fact (2) = 2 * fact (1) fact (1) = 1 * fact (0) fact(0) = 1 Ejemplo: factorial, n=5 120 24 6 2 1 1

Ventajas Soluciones elegantes y fáciles de entender. Soluciones más simples.

Desventajas Si la profundidad de la recursión (es decir, el número de invocaciones recursivas) es muy grande puede traer problemas de memoria RAM y se produce un desbordamiento. Ocurre cuando el problema es demasiado grande para la memoria RAM o cuando no converge al valor del punto de parada (error de diseño de la solución)

Programación Orientada a Objetos