Recurrencia Programación II 20-21 de enero de 2009.

Slides:



Advertisements
Presentaciones similares
Números reales/El valor absoluto.
Advertisements

Problemas Resueltos de la Regla del Sandwich
Algoritmos y Programas
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
MATEMÁTICAS I MEDIO PROGRAMA EMPRENDER PREUNIVERSITARIO ALUMNOS UC
UNIDAD Análisis Nodal Análisis de Malla.
Prueba extraordinaria
FACTORIZACIÓN LU Bachilleres:
Introducción a los Algoritmos
POTENCIACIÓN Y RADICACIÓN ESTUDIANTE: Javier Chávez Flores
Curso de Matemáticas II
Relaciones de equivalencia
5.3 Funciones Especiales Ecuación de Bessel de orden v (1) donde v  0, y x = 0 es un punto singular regular de (1). Las soluciones de (1) se.
Mat. Juan Jiménez Krassel
CÁLCULO DIFERENCIAL.
ESPACIOS VECTORIALES.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
Potencias de exponente natural mayor que 1
Potencias de exponente natural mayor que 1
Programación de Computadores
Semana 5 Subprogramas..
Análisis de Algoritmos
Algoritmos numéricos. Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para.
A TRAVÉS DE LOS ESTÁNDARES DE EXCELENCIA EN MATEMÁTICAS Estándar 2:
PROGRESIONES GEOMETRICAS
1.2- MÉTODO DE DESCOMPOSICIÓN DE ADOMIAN (ADM)
Fundamentos de programación
2 Sesión Contenidos: Potencias Notación científica. Concepto
TEMA 4 TRANSFORMADA DE LAPLACE
Desigualdades e Inecuaciones

CONCEPTOS BÁSICOS: Números Naturales
TIPOS DE DATOS ABSTRACTOS
Teoría de Probabilidad
Descomposición Factorial Unidad 5
Ejercicio 1.7 Pregunta 1: Complete la tabla siguiente con cada uno de los términos faltantes. DividendoDivisorCocienteResiduo
Vamos a resolver el siguiente sistema de ecuaciones lineales.
Material de apoyo Unidad 4 Estructura de datos
Búsqueda y ordenación Programación II 7-8 de enero de 2009.
Matemáticas para Ciencias de la Computación MCC3182
Velocidad Instantánea en un Movimiento Rectilíneo.
Análisis de algoritmos
¿ INDUCCION MATEMATICA ?
Ecuaciones lineales.
Inducción completa El principio del buen orden: todo conjunto no vacío de enteros positivos posee un mínimo.
Ecuaciones diferenciales 1. Ecuaciones diferenciales de primer orden
Recurrencia Programación II de enero de 2009.
Ecuaciones diferenciales de orden superior
Curso de Teoría del Autómata
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
1 Condiciones de extremo Proceso para derivar las condiciones De problema más simple a más complejo Progresión de problemas: Problema sin restricciones.
Ecuaciones Algebraicas
Programación I Técnico Universitario en Web Dpto. de Informática FCFMyN - UNSL -10-
Referencias absolutas y relativas ¿Qué es una referencia? ¿Qué es una referencia? Cuando realizamos un cálculos como por ejemplo: =B1*B2 hacemos referencia.
TEMA 2: POTENCIAS DE BASE ENTERA
ADICION DE NUMEROS NATURALES
Unidad V Recursión. Objetivos del Aprendizaje Explicar el concepto de recursión. Discutir las diferentes condiciones que deben ser satisfechas para que.
Funciones logarítmicas
METODO DE IGUALACION Lic. Andrés Latorre s..
CAPITULO III.- MOMENTO DE UNA FUERZA Y MOMENTO DE UN PAR DE FUERZAS.
MATRIZ INVERSA.
Inducción y Recursión Matemáticas Discretas L. Enrique Sucar INAOE.
Congruencias y semejanzas de figuras planas
6. Sistemas de ecuaciones diferenciales lineales
LOGARITMOS Propiedades. Objetivo de la clase Demostrar las propiedades de los logaritmos a través de las potencias y raíces, valorando la importancia.
Soluciones en Serie de Ecuaciones Lineales
Introducción Matemática Nivelatoria
Mini-video 2 de 5 Materia: Límites de funciones Continuidad de funciones Prácticas con Introducción a Funciones de una variable.
INFORMÁTICA II TEMA: DISEÑA Y ELABORA ALGORITMOS DOCENTE: MARÍA DOLORES GARCÍA PONCE CAMPUS TONALÁ JALISCO.
Transcripción de la presentación:

Recurrencia Programación II de enero de 2009

Recurrencia Un concepto es recursivo si está definido a partir de su mismo Ejemplo: los números naturales –0 es un número natural –x es un número natural si x  1 es un número natural La definición de un número natural incluye una referencia al concepto de números naturales

Ejemplo: Factorial La factorial de un número natural n, que se escribe n!, se puede definir de la siguiente manera: –n! = 1 si n = 0 –n! = n*(n  1)!si n > 0 La factorial también es un concepto recursivo, ya que se define a partir de su misma

Ejemplo: Suma La suma de dos números naturales a y b también se puede definir de manera recursiva: –Suma(a, b) = asi b = 0 –Suma(a, b) = Suma(a, b  1) + 1si b > 0 Aquí, la suma de a y b está definida a partir de otra suma

Recurrencia Observamos que todos los ejemplos de definiciones recursivas tienen dos partes Por un lado tenemos un caso elemental –0 es un número natural –0! = 1 –Suma(a, 0) = a Por otro lado tenemos una parte recursiva ¡Ambas partes son esenciales!

Ejemplo Calcular la factorial de 4, es decir, 4! 4 es mayor que 0, por lo que 4! se define como 4! = 4*(4  1)! = 4*3! Para calcular 4! necesitamos calcular 3! 3 es mayor que 0, por lo que 3! = 3*2! 2 es mayor que 0, por lo que 2! = 2*1! 1 es mayor que 0, por lo que 1! = 1*0! La primera parte de la definición es 0! = 1

Ejemplo Ahora podemos calcular 4!: 0! = 1 1! = 1*0! = 1*1 = 1 2! = 2*1! = 2*1 = 2 3! = 3*2! = 3*2 = 6 4! = 4*3! = 4*6 = 24

Recurrencia Podemos identificar las dos partes de una solución recursiva: Caso base: problema trivial que se puede resolver sin cálculo Caso recursivo: la solución al problema se define a partir de la solución de un problema de la misma clase

Principio de Inducción El concepto de recurrencia es muy parecido al Principio de Inducción Este principio permite demostrar una propiedad P sobre los números naturales de la siguiente manera: Base de Inducción: Mostrar que P(0) es válida Paso de Inducción: Para cualquier número natural n > 0, si P(n  1) es válida, P(n) también lo es

Ejemplo Demostrar que para cualquier número natural n, la suma 0+…+n es n*(n+1)/2 Base de Inducción: 0 = 0*1/2 = 0 Paso de Inducción: Por hipótesis de inducción, la suma 0+…+(n  1) es (n  1)*n/2. Por lo tanto, 0+…+n = (0+…+(n  1)) + n = {inducción} = (n  1)*n/2 + n = (n 2  n+2n)/2 = (n 2 +n)/2 = n*(n+1)/2

Principio de Inducción Observamos que las dos partes del Principio de Inducción son muy parecidos a las dos partes de una solución recursiva: Base de Inducción  Caso base Paso de Inducción  Caso recursivo

Recurrencia en la informática ¿Cómo implementar la recurrencia en un programa? En la informática, la recurrencia se implementa mediante funciones En particular, una función es recursiva si llama a su misma El primer lenguaje de programación que permitió funciones recursivas fue LISP

Resolver problemas ¿Cómo resolver un problema mediante el uso de la recurrencia? 1)Expresar la solución en términos de la solución (o soluciones) a una instancia menos grande del mismo problema 2)Identificar un caso trivial 3)Comprobar que el caso trivial siempre se cumple

Ejemplo: Factorial Escribir una función en pseudo-código que calcule la factorial n! de un número natural n La función debe aprovechar la definición recursiva: –n! = 1 si n = 0 (caso base) –n! = n*(n  1)!si n > 0 (caso recursivo) Decimos que la función es recursiva

Ejemplo: Factorial funcion Factorial(n:natural) devuelve natural si (n=0) entonces devuelve 1;caso base sino devuelve n*Factorial(n-1); fsi ffuncioncaso recursivo

Recurrencia ¿Porqué escribir funciones recursivas? En la mayoría de los casos, una función recursiva se puede reemplazar por una función iterativa Sin embargo, muchas veces la definición recursiva resulta más clara e intuitiva Permite definir funciones complejas de manera muy compacta

Ejercicio Escribir una función que calcule la suma de dos números naturales a y b, usando la definición recursiva

Ejercicio Escribir una función recursiva que calcule la suma de los elementos de un vector V de números naturales

Ejercicio Escribir una función recursiva que calcule el número de maneras de seleccionar k elementos de un conjunto de n elementos