Recursividad.

Slides:



Advertisements
Presentaciones similares
Complejidad Computacional
Advertisements

Complejidad Computacional
La sucesión de Fibonacci
ESTRUCTURA DE DATOS Unidad 01 RECURSIVIDAD.
La sucesión de Fibonacci..
Estructuras de Decisión I IF - THEN - ELSE
Programación II Recursividad
Entendiendo la definición de clases
Fibonacci Leonardo de Pisa.
FUNCIONES EN C.
La sucesión de Fibonacci
UNIVERSIDAD LATINA (UNILA) II.- ANALISIS DE ALGORITMOS
Un poco de historia …. Un poco de historia …
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.
Funciones en lenguaje C
Funciones y procedimientos
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Programación I Teoría VI: Recursividad
FUNCIONES Y PROCEDIMIENTOS
Tema 4.- SISTEMAS DE ECUACIONES LINEALES
Recursividad.
Conjunto de los números reales
Guía 10: Los Números Reales
Sucesiones infinitas INSTITUTO TECNOLOGICO SUPERIOR DE TACAMBARO
INTRODUCCION A LAS DISTRIBUCIONES DE PROBABILIDAD Y DISTRIBUCION NORMAL Mario Briones L. MV, MSc 2005.
Semana 5 Subprogramas..
Sucesiones y Progresiones
Funciones1 PROGRAMACIÓN ESTRUCTURADA EN PSEUDÓCODIGO Profr. Miguel Rodríguez Hernández PROGRAMACIÓN MODULAR O FUNCIONAL.
Unidad III Administración de procesos

Expresiones Algebraicas
Introducción al análisis de algoritmos
FUNCIONES O PROCEDIMIENTOS
Material de apoyo Unidad 4 Estructura de datos
SUCESIONES Prof. Lucas Picos M..
Análisis de algoritmos
Escuela Superior de Formación de Maestros “Ángel Mendoza Justiniano”
Recurrencia Programación II de enero de 2009.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
Profesora: Marcela Araneda P. Postítulo Matemática 2° Ciclo
Estructuras de Control.
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
FUNCIONES MATEMATICAS Y TRIGONOMETRICAS EN EXCEL
NÚMEROS REALES.
Estructura de Datos En C++
Conjunto de los Números Racionales
Recursividad. 2 Son funciones que se llaman a sí mismas. Requisitos: – Deben retornar un valor. – Deben tener expresiones en las que se llaman a sí mismas:
Análisis de Algoritmos
Estructuras de control Resolución de problemas y algoritmos.
Programación Procedural y Recursiva en C++
Investigación Tema 1: Antecedentes del calculo diferencial.
Estructuras de Repetición (Hacer-Mientras)
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-
NUEVAS FORMAS DE HACER MUSICA
Oscar Bedoya. Edificio 331, 2º piso, E.I.S.C. Estructuras de datos y algoritmos.
Ing. Betty Suárez Torres
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.
Mariela Palma Hernández
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
tabla // tabla sumar del 7, del 0 al 9
Conalep Coacalco Algoritmos Recursivos
Sesión 2 Tema: Definición conjuntos numéricos
1 Curso avanzado de programación Sesión 1. 2 aleatorio() funciones aleatorias si... entonces...
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
U11: Recursividad Otra manera de hacer bucles Dicen algunos pedagogos que conceptualmente mas sencilla.
NÚMEROS IRRACIONALES
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
Recursividad.
Transcripción de la presentación:

Recursividad

RECURSIVIDAD Se dice que una función es recursiva cuando se llama a si misma. No todas la funciones pueden llamarse a si mismas, deben estar diseñadas especialmente para que sean recursivas, de otro modo podrían conducir a bucles infinitos, o a que el programa termine inadecuadamente.

RECURSIVIDAD Cuando se llama a una función, se crea un nuevo juego de variables locales, de este modo, si la función hace una llamada a si misma, se guardan sus variables y parámetros. La nueva instancia de la función trabajará con su propia copia de las variables locales, cuando esta segunda instancia de la función retorna, recupera las variables y los parámetros anteriores y continúa la ejecución en el punto en que había sido llamada.

PASO BASE La serie de pasos recursivos debe ser finita, terminando con un paso base.   Es decir, a cada paso recursivo se le reduce el número de pasos que hay que dar para terminar, llegando un momento en el que no se verifica la condición de paso a la recursividad.   NOTA: Toda función recursiva se puede resolver de forma Iterativa y viceversa

FACTORIAL Función recursiva para calcular el factorial de un número entero. El factorial se simboliza como n!, se lee como "n factorial", y la definición es: n! = n * (n-1) * (n-2) * ... * 1 No se puede calcular el factorial de números negativos, y el factorial de cero es 1, de modo que una función bien hecha para cálculo de factoriales debería incluir un control para esos casos:

long int factorial (int n) { if (n < 0) return 0; else if (n > 1) return n*factorial(n-1); return 1; }

Paso a paso: factorial(4) 1a Instancia n=4 Si n > 1 salida ← 4 * factorial(3) (Guarda el valor de n = 4) 2a Instancia Si n > 1 salida ← 3*factorial(2) (Guarda el valor de n = 3) 3a Instancia Si n > 1 salida ← 2*factorial(1) (Guarda el valor de n = 2) 4a Instancia SI n == 1 → retorna 1 3a Instancia (recupera n=2 ) retorna 1*2=2 2a instancia (recupera n=3 ) retorna 2*3=6 1a instancia (recupera n=4 de la pila) retorna 6*4=24 Valor de retorno → 24

Fibonacci Leonardo de Pisa (c. 1170 - 1250), también llamado Fibonacci, fue un matemático italiano, famoso por la invención de la sucesión de Fibonacci, surgida como consecuencia del estudio del crecimiento de las poblaciones de conejos, y por su papel en la popularización del sistema de numeración posicional en base 10 (o decimal) en Europa.

Resolver la serie de Fibonacci por recursividad 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55…

Carl Friedrich Gauss Johann Carl Friedrich Gauss (30 de abril de 1777 – 23 de febrero de 1855), fue un matemático, astrónomo y físico alemán. Transcurridos pocos segundos Gauss levanta la mano y dice tener la solución: los cien primeros números naturales suman 5.050. Cuando tenía 10 años en la escuela el maestro les manda como penitencia sumar los cien primeros números naturales.

Carl Friedrich Gauss ¿Cómo lo hizo Gauss? Mentalmente se dio cuenta de que la suma de dos términos equidistantes era constante: 1 , 2 , 3 , 4 . . . . . . . . 97 , 98 , 99 , 100 1+100 = 2+99 = 3+98 = 4+97 = ... = 101 Con los 100 números se pueden formar 50 pares, de forma que la solución final viene dada por el producto 101· 50 = 5050

Ingresar un número y calcular su sumatoria Debe sumarse todos los número que le anteceden Probar la sumatoria de Gauss