Lenguajes de Programación1 Tipos de Recursividad Ana Lilia Laureano Cruces UAM-A.

Slides:



Advertisements
Presentaciones similares
Dra. Noemí L. Ruiz © Derechos Reservados
Advertisements

Funciones/Funciones Elementales/Polinomios.
INTELIGENCIA ARTIFICIAL
Predicción con modelos ARIMA
Clasificación de los compiladores
Diseño y análisis de algoritmos
Inecuaciones Lineales en una Variable
Estructura de Datos Unidad 4. Recursividad Dra. María Lucía Barrón Estrada Enero-Junio 2007.
ALGORITMOS Y LENGUAJES Estructuras de Control CONDICIONAL
Introducción a los Algoritmos
¿ Que es la complejidad de un algoritmo ?
Sistemas de Control en Tiempo Discreto
SQL Server Integration Services SSIS
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
Solución de problemas por búsqueda inteligente
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.
2 Acciones y funciones 2.1 Concepto
Programación I Teoría VI: Recursividad
JOCELYN DÁVILA HERNÁNDEZ JORGE QUECHOLAC ZAMBRANO.
Almacenamiento y Recuperacion de Información TAD_ABB Ana Lilia Laureano Cruces Universidad Autónoma Metroplotiana.
Teoría de lenguajes y compiladores
Recursividad.
Lenguaje C++ Ana Lilia Laureano-Cruces
TRADUCTOR DE UN PROGRAMA
Programación Estructurada_Ana Lilia Laureano/UAM-A1 Programación Estructurada Ana Lilia Laureano-Cruces Universidad Autónoma Metropolitana-Azcapotzalco.
Ecuaciones de recurrencia
Universidad de los Andes-CODENSA
Programación Lineal Unidad 1 Parte 3.
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
Funciones Ingeniero Anyelo Quintero. Funciones Variables globales Declaración de la función Cuerpo de la función Llamado a la función.
Ing. Karen Torrealba de Oblitas
Problemas de frontera para ecuaciones diferenciales

Descomposición Factorial Unidad 5
Análisis de algoritmos
Cómo adquirir programas
Recurrencia Programación II de enero de 2009.
Lenguajes de Programación1 Elementos de un lenguaje de programación.
MEMENTO Patrón de Comportamiento Ana María Mateo Jorge P. Andrés
Divisibilidad 1. Múltiplos y divisores de un número
Análisis de Sistemas Lineales “Series de Fourier II” Ing. Rafael A. Díaz Chacón ASL/RAD/2001.
Administrador de procesos
Práctica No. 5 Lectura de datos en Excel. Objetivo Que el estudiante sea capaz de conocer y aplicar las técnicas de lectura de datos en Excel y graficar.
1 AFDAFN AF Gramáticas lineales derecha Expresiones regulares Tema 2 Método de los AF Método de las derivadas Sistemas de Ecuaciones Tema 1.
Ecuaciones.
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
MULTIPLICACIONES DE UNA CIFRA POR 7, 8, 9 x 8x 7x 9.
FUENTES DE ALIMENTACION
Ing. Betty Suárez Torres
UNIDAD IV. PILAS, COLAS, RECURSION APLICADAS A LENGUAJE C.
Fracciones simples.
Elaboración de algoritmos usando lógica de programación
ING. JORGE OSPINA CUN, FEBRERO DE 2013 Programación procedimental y estructurada.
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.
Combinación y Permutación
Matemáticas U3- 3.2, 3.3.
MÚLTIPLOS Y DIVISORES x ∕.
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
Introducción Tarea Proceso Recursos Evaluación Conclusión.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo Uso de Procedimiento y Funciones Conceptos básicos.
Lenguaje de Programación LISP
Máximo común divisor (MCD)
Colegio Teresa Brown, La Calera Prof. Isabel Vilches.
Descomposición factorial Calculo máximo común divisor Calculo mínimo común múltiplo.
MAXIMO COMUN DIVISOR Y MAXIMO COMUN MULTIPLO
Isaac Newton ( ) Es uno de los grandes científicos de la historia. Nació en Lincolnshire, Inglaterra, y en 1661 ingresó en la Universidad de.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
FUNCIÓN CUADRÁTICA—FUNCIÓN LINEAL.
Segunda Línea.
Transcripción de la presentación:

Lenguajes de Programación1 Tipos de Recursividad Ana Lilia Laureano Cruces UAM-A

Lenguajes de Programación2 Funciones recursivas Una función es recursiva si su cuerpo contiene una aplicación de f f es recursiva si f puede activarse a sí misma Existen dos tipos de recursión –lineal –cola

Lenguajes de Programación3 Recursión lineal Si la activación f(a) de f puede iniciar como máximo una nueva activación de f. ejemlo: fun factorial (n) = –si n = 0 entonces 1 otro n*factorial (n-1);

Lenguajes de Programación4 La evaluación de una función recursiva lineal tiene dos fases: –una fase de activación, en la cual se inician las nuevas activaciones, y –una fase de solución, en la cual el control regresa de las activaciones con una modalidad última entrada - primera salida

Lenguajes de Programación5 Función factorial líneal Ejemplo: –f(3) = 3 * f(2) – = 3 * (2*(f (1)) – = 3 * (2*(1*f(0))) – = 3 * (2*(1*1)) – = 3 * (2*1) – = 3 *2 – = 6

Lenguajes de Programación6 Recursión de cola si una función recursiva puede ser eficientes si se puede implementar con recursión de cola si devuelve un valor sin necesidad de recursión o si devuleve simplemente el resultado de una activación recursiva

Lenguajes de Programación7 ejemplo: –fun g (n,a) = – si n = 0 entonces a otro g (n-1, n*a) – a si n = 0 –g (n,a) = – g(n-1, n*a) en caso contrario

Lenguajes de Programación8 g (3,1) si 3 = 0 entonces 1 otro g(3-1, 3*1) g(3,1) = g(2,3) = g(1,6) = g (0,6) = 6

Lenguajes de Programación9 g(3,1) = g(2,3) g(2,3) = g(1,6) g(1,6) = g(0,6) g(0,6) = 6 Función factorial con recursión de cola

Lenguajes de Programación10 Conclusiones de la activación de cola Todo el trabajo de una función lineal con recursión de cola se realiza en la fase de activación, cuando se inician las activaciones nuevas; siendo la fase de solución trivial debido a que el valor calculado por la activación final se convierte en el valor de toda la evaluación.

Lenguajes de Programación11 Conclusiones de la activación en linea En el caso de f(3) = 3 * f(2) la multiplicación se realiza después de que el control regresa de la activación de f(2).