funciones recursivas

Upload: zuri-coronel

Post on 15-Jul-2015

937 views

Category:

Documents


4 download

TRANSCRIPT

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

INSTITUTO TECNOLOGICO DE CUAUTLAUNIDAD I: FUNCIONES RECURSIVAS MATERIA: PROGRAMACION NUMERICA CARRERA: ING. MECATRONICA SEMESTRE: CUARTO SEMESTRE ALUMNOS: VALLE PEREZ HECTOR ALAN ABASOLO CARRERA ISMAEL CORONEL MENDOZA ZURISADAI

28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

INDICE1.1 Aplicacin al modelado de problemas

.. 3 1.2 Nmeros de Fibonacci ..4 1.3 Nmeros de Cataln ..7 1.4 Torre de Hani .10 1.5 Particiones de nmeros conjuntos13 1.6 Nmeros de Stirling primera clase.18 y y

segunda

1.7 Problema de Josephus ..23

28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

APLICACIN AL MODELADO DE PROBLEMASINTRODUCCION Existen varios tipos de modelos, que interesa distinguir en esta presentacin. Consideremos en primer lugar los modelos conceptuales. La interpretacin de las observaciones y resultados de fenmenos fsicos es realizada a travs de un proceso que incluye: la construccin terica de ciertas entidades como sistemas objeto de estudio (por ejemplo luz, partcula, onda, fotn...), la descripcin de esas entidades empleando conceptos asociados a ciertos atributos (energa, masa, carga elctrica...), y otros que establecen relaciones entre aquellos conceptos (fuerza, trabajo, potencial...) y que dan cuenta de los procesos y estados involucrados. Se construyen de este modo modelos conceptuales (modelos de cuerpo rgido, de fluido ideal, de orbital...) que, integrados en una teora (teora newtoniana, mecnica cuntica...) sirven para explicar y predecir el comportamiento de los sistemas fsicos que son objeto de estudio. DESARROLLO Los pasos para modelar un problema son los siguientes: Paso 1: Se determinan las variables de decisin y se expresan algebraicamente. Paso 2: Se determinan las restricciones y se expresan como ecuaciones o inecuaciones de las variables de decisin:

28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

Paso 3: Se expresan todas las condiciones implcitamente establecidas por la naturaleza de las variables: que no puedan ser negativas, que sean enteras, que solo puedan tomar determinados valores,... son nmeros enteros, o son booleanos,...

Paso 4: Se determina la funcin objetivo. Maximizar o minimizar

CONCLUSIONES: El modelado de problemas nos ayuda mucho para tener en prctica como resolver problemas y saber qu hacer en un problema cotidiano. Saber este proceso nos facilita desde saber que podemos hacer cuando nos enfrentamos algn problema y as saber qu hacer cuando estamos en l, o simplemente saber algn proceso o generar algn proceso.

SUCESION FIBONACCI La sucesin de Fibonacci es una secuencia de nmeros enteros descubierta por matemticos hindes hacia el ao 1135 y descrita por primera vez en europa gracias a Fibonacci (Leonardo de Pisa). La sucesin se describe de la forma sigueinte: F(0)=0; F(1)=1; F(n)=F(n-1)+F(n-2) Lo..que..da..la..recurrenciasiguiente: 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 Aparte de que esta sucesin tiene varias propiedades interesantes, como que se puede formar cualquier nmero natural mediante la suma28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

de trminos de la sucesin, sin que ninguno se repita, lo ms curioso de esta sucesin es su presencia en la naturaleza. La sucesin de Fibonacci est muy ligado a la vida y estos hechos lo demuestran: Los machos de una colmena de abejas tienen un rbol genealgico que cumple con esta sucesin. El hecho es que los znganos, el macho de la abeja, no tiene padre (1), pero s que tiene una madre (1, 1), dos abuelos, que son los padres de la reina (1, 1, 2), tres bisabuelos, ya que el padre de la reina no tiene padre (1, 1, 2, 3), cinco tatarabuelos (1, 1, 2, 3, 5), ocho tataratatarabuelos (1, 1, 2, 3, 5, 8) y as sucesivamente, cumpliendo con la sucesindeFibonacci. En la mano humana tambin se encuentra esta recurrencia, la longitud del metacarpo es la suma de las dos falanges proximales y la longitud de la primera falange es la suma de las dos..falanges..distales. El nmero de ptalos de una flor es generalmente un trmino de Fibonacci. Hay flores con 2 ptalos, 3, 5, 8, 13, 21, 34, pero muy rara vez es un nmero que no est en esta sucesin.

Figura A ejemplo de la serie fibonacci

PROGRAMA DE SERIE FIBONACCI EN C++

28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

#include #include #include /* Programa para calcular la serie del fibonacci por medio de un ciclo */ void FibonacciNormal(int Num) { long i,b1=1,b2=0,Aux; for (i=1;i> Numero; FibonacciNormal(Numero); printf("\n\n\rPresiona una tecla..."); getch(); } EJECUCI ON

28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

Fig.1 Esquema donde se representan las pruebas obtenidas aplicando el cdigo en c++ correctamente.

CONCLUSION Las extraas apariciones de las series de fibonacci han dado lugar a interminables especulaciones y anlisis, tenemos muchas aplicaciones para esta serie como en los caparazones de caracoles, manifestaciones en artes plsticas, obras poticas entre muchas ms.

NUMEROS DE CATALAN En combinatoria, los nmeros de cataln forman una secuencia de nmeros naturales que aparece en varios problemas de conteo que habitualmente son recursivos. Obtienen su nombre del matemtico belga Eugne Charles Cataln (18141894). El n-simo nmero de cataln se obtiene, binomiales, a partir de la siguiente frmula: aplicando coeficientes

PROPIEDADES Una expresin alternativa para Cn es

28

PROGRAMACION NUMERICA Instituto Tecnolgico de Cuautla

Esta otra expresin muestra que Cn es un nmero natural, lo cual no resulta obvio a priori mirando la primera frmula dada. Los nmeros de cataln satisfacen la siguiente relacin de recurrencia:

Y tambin satisfacen:

Que puede ser una forma ms eficiente de calcularlos. La expresin en forma de recursin, seria:

Asintticamente, los nmeros de cataln crecen como:

Considerando que el cociente entre el n-simo nmero de Cataln y la expresin de la derecha tiende hacia 1 cuando n (esto puede probarse usando la frmula de Stirling).

PROGRAMA DE NUMERO CATALAN EN C++ #include int Catalan(int n) { if(n