jueves, 29 de octubre de 2020

Hola Mundo en Java, Ambiente Gráfico Swing - JOptionPane Input y Output

Hola a todos, hoy  vamos a crear una versión de nuestro programa Hola Mundo en java utilizando swing

Esta vez, vamos a modificar la clase que creamos en el post anterior, y por medio de una variante en el objeto JOptionPane de la librería Swing vamos a llamar el método JOptionPane.showInputDialog

Esta llamada nos va a desplegar un cuadro de diálogo en el que podemos ingresar información y utilizarla según queramos en nuestros programas. Tan solo con esto, vamos a estar en capacidad de permitir que nuestros usuarios puedan interactuar con nuestros programas:



A continuación, el paso a paso en video:



sábado, 24 de octubre de 2020

Validar si una Frase es un Palíndromo con Python

Hola, hoy vamos a realizar un ajuste al último script que construimos, con el propósito de verificar si una frase completa es o no un palíndromo. Para esto, vamos a tener que incluir en nuestro script de Python, una línea que nos permita retirar los espacios en blanco que hay entre las palabras que componen la frase:

Como pueden ver, en la línea tres, hacemos uso de la función split() para separar las palabras utilizando como separador el espacio en blanco y luego las volvemos a unir con la función join() utilizando sin tener ningún separador entre la mismas ('').

Al ejecutar nuestro script en la plataforma colab tenemos:



De hecho, este script también lo podemos usar para validar palabras individuales:

Validar si una Palabra es un Palíndromo Utilizando Python

Hola a todos, hoy vamos a construir un script para resolver un ejercicio clásico de programación y es identificar si una palabra es o no un palíndromo. Un palíndromo, es una palabra que si la lees al derecho o al revés es idéntica. Ejemplos de esto son: anna, reconocer, radar, sometemos etc.

Para poder ejecutar esta tarea, vamos a escribir un script en python, que solicite al usuario ingresar una palabra y que la compare con la misma palabra, pero invirtiendo el orden de las letras mediante un slicing:

Cuando ejecutamos el script en nuestra plataforma colab, tenemos:



Hasta la próxima.

jueves, 22 de octubre de 2020

Calcular la Aproximación de PI (3.141592) Mediante la Serie Infinita de Leibniz con Python

Hola a todos, hoy vamos a generar un nuevo script que nos permita por medio de una serie infinita, llegar a una aproximación del número PI. En este caso, vamos a trabajar con la serie de Leibniz.

Esta serie se define como:

Como pueden ver, esta serie nos permite llegar a la aproximación de Pi cuartos.

La serie se puede expresar de la siguiente forma:

Entonces, vamos a escribir un programa en Python con el que podamos realizar una iteración que nos permita obtener la sumatoria desde el término cero hasta infinito (en nuestro caso, vamos a llegar hasta el término 10 millones)

Mediante un for, vamos a realizar las iteraciones y utilizamos una variable para almacenar y aplicar los cambios de signo y una variable adicional para acumular la sumatoria de términos de la serie:


Y cuando ejecutamos este script en la plataforma colab, iterando hasta mil y con saltos de a dos tenemos el siguiente resultado:


miércoles, 21 de octubre de 2020

Calcular la Aproximación de PI (3.141592) Mediante una Serie Infinita Utilizando Python

Hola a todos, hoy vamos a escribir un programa en Python para calcular la aproximación del número pi mediante la siguiente serie infinita:


Para resolver el problema, vamos a trabajar con una lista que vamos a ir llenando con los valores de los divisores (el producto de cada uno de los cocientes de la serie):


En el código fuente, podemos apreciar el uso de la lista y del juego de variables para calcular los productos, generar la alternancia del signo y una variable adicional para acumular la sumatoria.

En nuestro caso el primer for va a determinar cuantos términos de la serie vamos a calcular. En la medida en que se incrementa el número de términos, obtenemos una mejor aproximación.

En el programa, este for calcula 9 términos: for i in range(2, 20, 2). Si queremos 18 términos lo modificamos como sigue: for i in range(2, 40, 2), y así para calcular términos adicionales.

Si ejecutamos nuestro script tenemos:


Y para 24 términos:

miércoles, 14 de octubre de 2020

Problema 3.23 Contrato Abastecimiento Compañía Weedwacker - Spreadsheet Modeling Cliff T. Ragsdale

Hola a todos, hoy vamos a continuar resolviendo los problemas del libro: Spreadsheet modeling & Decision Analaysis, de CliffT. Ragsdale.

3.23  La compañía Weedwacker manufactura dos tipos de cortadoras de césped: eléctricas y a gas. La empresa obtuvo un contrato para proveer a una cadena de tiendas a nivel nacional un total de 30.000 cortadoras eléctricas y 15.000 a gas. Sin embargo, sus capacidades de producción son limitadas en los tres departamentos que componen la línea de producción: Producción, ensamble y empaque.

La siguiente tabla, muestra un resumen de las horas disponibles en cada uno de los departamentos, para cada uno de los modelos a producir:


El costo de producir una cortadora eléctrica es de $55 y el de una a gas es de $85. Como alternativa para poder suplir la demanda, la compañía puede comprarle a un tercero cortadoras eléctricas en $67 y equipos a gas en $95.

¿Cuántas cortadoras de ambos modelos deberá producir la empresa y comprar al tercero con el propósito de cumplir el contrato y tener el costo mínimo?

Para responder el problema planteado, vamos a construir el siguiente modelo:


Las celdas a variar, son las cantidades a producir y comprar en el rango B11:C12. La parametrización de nuestro solver, es la siguiente:

martes, 6 de octubre de 2020

Construyendo una Tabla de Amortización de Préstamos 2.0 con Python - numpy-financial y tabulate

 Hola a todos, hoy vamos a construir una versión 2.0 de nuestra tabla de amortización de préstamos

Con la ayuda del paquete numpy y de matplotlib incluiremos en nuestro script un par de arrays para guardar los datos relacionados con la porción correspondiente a los pagos asociados al capital y otro para extraer la porción de los intereses.

Teniendo separada esta información, la utilizaremos como un argumento en matplotlib para realizar una gráfica de barras apiladas como la que se puede ver en este ejemplo:


domingo, 4 de octubre de 2020

Construyendo una Tabla de Amortización de Préstamos con Python - numpy-financial y tabulate

Hola a todos, hoy vamos a integrar las funciones financieras que revisamos en los post anteriores (pmt(), npv(), irr() y fv()) y vamos a construir un script que nos permita calcular el resultado de una tabla de amortización para un préstamo construida en Python. 

Para esto, es necesario incluir la función ppmt() incluida en el paquete numpy-financial, la cuál nos permite calcular la porción correspondiente al abono a capital en cada una de las cuotas que se paguen durante el tiempo que dure la obligación:


Vamos a calcular la misma tabla que ya habíamos construido en excel en un post anterior (da clic para ir al post).

Abrimos nuestro cuaderno en colab y vamos a escribir el siguiente código:


Como ven, se trata de un préstamo por $1.000.000 de pesos, a una tasa mensual del 1% y un plazo de 12 meses. 

sábado, 3 de octubre de 2020

Funciones Financieras en Python, Calculando la Cuota de un Préstamo: pmt(), numpy_financial

Hola a todos, hoy vamos a continuar explorando las funciones financieras que nos trae el paquete numpy_financial

El turno es para la función pmt(), que nos sirve para calcular la cuota de un préstamo:



Para verla en uso, vamos a escribir un corto script con el que vamos a resolver el ejercicio 3.1 del libro: Lógicas y Dialécticas en las Decisiones de Inversión, de Juan Sergio Cruz

viernes, 2 de octubre de 2020

Funciones Financieras en Python, Calculando el Perfil del VPN: npv(), numpy_financial

Hola a todos, hoy vamos a continuar con la revisión de las funciones financieras en Python, específicamente las que incluye el paquete numpy_financial.

El turno en esta ocasión es para la función npv(), que es la función que utilizaremos para realizar el cálculo del valor presente neto. Para esto, vamos a recrear en Python el ejercicio de la construcción del perfil del vpn, que realizamos en un post anterior utilizando excel.

La documentación oficial de la función es la siguiente:



Funciones Financieras en Python, Calculando la TIR: irr(), numpy_financial

Hola a todos, hoy vamos a continuar revisando las funciones financieras de Python incluidas en el paquete numpy_financial. El turno es para la función irr(), que nos permite calcular la tasa interna de retorno de un flujo de fondos. A continuación, la documentación de la función, que pueden encontrar en el siguiente enlace:



Para probarla, vamos a escribir un programa en Python, utilizando la plataforma colab de google. El programa, nos ayudará a resolver el problema 2.4 del libro Evaluación Económica de Inversiones, del Dr Rodrigo Varela y que ya habíamos resuelto en excel en un post anterior.

jueves, 1 de octubre de 2020

Funciones financieras en Python utilizando numpy-financial

 Hola a todos, hoy vamos a trabajar en Python con las funciones para realizar operaciones de matemática financiera, las cuales ya vienen incluidas en el paquete: numpy-financial cuya documentación podemos acceder por medio de este enlace:

Como podemos ver en la imagen, tenemos un set de funciones con el que podemos resolver problemas básicos de matemática financiera.

Vamos a trabajar con la primer función: fv(), que sirve para calcular el valor futuro. Los argumentos de la función son: la tasa, el número de periodos, la anualidad o pago y el valor presente, tiene una argumento adicional, para definir si los pagos ocurren al inicio o al final de cada periodo: