martes, 29 de septiembre de 2020

Calculando la Serie de Fibonacci con Python - Solución Iterativa

Hola a todos, hoy vamos a construir una versión nueva de nuestro programa: Calculando la Serie de Fibonacci con Java - Solución Iterativa. En dicho post, pueden encontrar una explicación con más detalle sobre la Serie Fibonacci, sus aplicaciones y algunos enlaces interesantes para profundizar en el tema.

En esta oportunidad, vamos a reescribir el programa en Python y lo vamos a hacer utilizando la plataforma colab de google:


Vamos a crear un nuevo cuaderno y a escribir el siguiente código:

Y al ejecutar el código tenemos que la instrucción input nos solicita ingresar el número de términos que deseamos calcular. En nuestro caso, le vamos a pedir que calcule 10 términos de la serie:

sábado, 26 de septiembre de 2020

Calculando la Serie de Fibonacci con Java - Usando la Clase BigDecimal java.math.BigDecimal

Hola a todos, hoy vamos a realizar una modificación al último programa que creamos y que servía para calcular la Serie de Fibonacci. En aquella oportunidad, utilizamos el tipo de dato long, para almacenar los términos de la serie. Como lo van a ver en el video, este tipo de dato permite almacenar y operar con valores enteros que estén entre un rango (ver este link) lo que hace que cuando necesitemos calcular el término 100 de la serie, nuestro programa falle. Para solucionarlo, y poder llegar a calcular incluso el término 100.000 de la serie, vamos a ajustar nuestro programa, reemplazando el tipo long, por la construcción de objetos de la clase BigDecimal, que podemos encontrar en: java.math.BigDecimal.

Una de las motivaciones para realizar este ajuste, surgió después de visitar en twitter a @iamPisano, que como pueden ver, se da a la tarea de calcular cada uno de los términos de la serie y los postea día a día. Solo que debemos tener en cuenta, que para este caso puntual en twitter, la serie no inicia en 0 como primer término, sino que lo hace en 1 :


martes, 22 de septiembre de 2020

Calculando la Serie de Fibonacci con Java - Solución Iterativa

Hola a todos, hoy vamos a diseñar una clase que nos permita calcular o más bien construir la Serie de Fibonacci. Recuerden que la Serie de Fibonacci inicia con el número 0 y 1 y continua sumando los dos términos para obtener el siguiente, en este caso: 0 + 1 = 1, lo que da: 0, 1, 1. Volviendo a calcular Fibonacci tenemos: 1 + 1 = 2, lo que da: 0, 1, 1, 2 el siguiente termino es: 1 + 2 = 3 etc. 

Como cálculo adicional, nuestra clase nos va a servir para calcular el cociente entre un termino actual de la serie y el termino anterior. 

Como vamos a ver en la solución del programa, entre más crezca la Serie Fibonacci, el resultado de este cociente converge a uno de esos números extraños y que podemos encontrar en la naturaleza, el arte, las matemáticas e incluso las finanzas: 1,618 más conocido como la proporción áurea, número de Dios o simplemente Phi (ver Wikipedia). 

En nuestra aplicación, vamos a construir la serie haciendo uso de la instrucción for( variable inicialización del ciclo; control del ciclo; incremento de la variable), que en el caso de nuestro programa, lo tenemos en la clase SerieFibonacci.java en la línea 33: for(int i = 3; i <= total_terminos; i++).


En esta clase, la instrucción for lo que hace es iniciar la variable i de tipo entero igualándola a 3 e inicia un proceso en el que se repite el código que se encuentra en las llaves del for { } (en nuestro caso el código que esta entre las líneas 33 y 40), repitiéndolo hasta que la variable i sea mayor que la variable total_terminos. 

Para asegurar que la condición se cumpla en algún momento y no se genere un ciclo de repetición infinito, la variable i se incrementa en 1 (en Java i++ es igual a i = i +1) cada vez que se cumple un ciclo.

jueves, 17 de septiembre de 2020

Conectarse a una base de datos Postgresql utilizando Python

Hola a todos, hoy estoy de regreso, luego de unos meses de ausencia. Hace algún tiempo venía con dudas sobre empezar a aprender Python. Luego de muchos intentos fallidos, por fin me decidí y arranqué a estudiar el lenguaje. La verdad es que me ha dejado sorprendido, por la facilidad con que se escribe el código, la amplia librería de paquetes que crece todos los días, con las que se puede acceder fácilmente una base de datos, crear archivos de excel, trabajar modelos de machine learning, crear gráficos etc.

Hoy, he querido crear este post, para demostrar como con unas simples líneas de código, podemos acceder a una base de datos creada en Postgresql, en una instancia instalada en mi computador personal. Aquí la podemos ver usando PgAdmin4:


El nombre de la base de datos es aprendizaje, y la tabla que vamos a consultar es: customer: