Manejo de fracciones con JavaScript - Resolver operaciones

Manejo de fracciones con JavaScript

En este post de programación en JavaScript (que cubre el lado del cliente con los navegadores y también el lado del servidor con Node) veremos cómo manejar fracciones o quebrados para realizar operaciones con los mismos.

Manejo de fracciones con JavaScript - Resolver operaciones
Manejo de fracciones con JavaScript – Resolver operaciones

Es decir, vamos a implementar la clase Fracción y manejar con ella las operaciones de suma, resta, división, multiplicación, simplificación, inversa, exponente y conversión a mixta o a impropia desde JavaScript.

Al final vas a poder realizar cualquier operación matemática con las fracciones usando programación orientada a objetos y JS.

Explicación del funcionamiento

Para solucionar este problema y abstraer lo que es una fracción vamos a implementar una clase que representará a la fracción en JavaScript y dentro de ella existirán métodos que realizarán las operaciones matemáticas.

Recuerda que cada fracción tiene un numerador y un denominador, y solo con ello necesitamos operar.

La clase Fracción

Comencemos viendo la clase, que básicamente es la encargada de todo lo que vamos a ver en el post.

Tiene todos los métodos de las operaciones pero también cuenta con funciones ayudantes.

Las funciones ayudantes son las que sirven para calcular el Mínimo común múltiplo y el Máximo común divisor ya que funcionarán para la simplificación de fracciones y para la suma y resta.

Si te fijas tenemos lo común de una clase y todas las operaciones matemáticas que no explicaré porque aquí solo te muestro cómo implementar las fracciones en JavaScript para resolverlas.

Pero además, tenemos algunos métodos como aMixta que convierte la fracción impropia a mixta usando una clase que veremos a continuación, así como la función toString (que si vienes de Java se te hará conocida) y la función equals que compara fracciones.

Ahora veamos la siguiente clase que es la que va a manejar las fracciones mixtas.

Fracción mixta con JavaScript

Esta clase es un poco más simple e igualmente trabaja con la clase vista anteriormente. Recuerda que una fracción mixta tiene un entero y una fracción.

Justamente eso hemos logrado con esta clase, misma que tiene un entero y una propiedad fracción que es una instancia de la clase Fracción, aunque suene repetitivo.

Esta clase sirve principalmente para encapsular varios métodos, pues no tiene tantas operaciones como la otra.

Lo más interesante a mi parecer está en la función desdeImpropia que convierte una fracción impropia a mixta, revisando si puede extraer la parte entera y simplificarla.

Poniendo todo junto

Ya te mostré las clases. Este código puede ser usado en el navegador web del lado del cliente o con Node del lado del servidor, así como en frameworks de cualquier tipo.

Ahora veamos cómo usar estas clases y métodos que acabamos de ver. Queda a tu criterio cómo incluir la clase (si usas HTML simplemente importa el script que contiene las clases), en mi caso he hecho justamente eso.

Entonces el archivo HTML queda así, aunque recuerda que igualmente puedes implementar el código en el backend:

Como puedes ver estoy incluyendo un script en mi HTML y es en donde estoy probando todos los métodos de las fracciones.

La salida es correcta al abrir la consola de desarrollo en el navegador web con la tecla F12:

Manejo de fracciones con JavaScript - Resolver operaciones
Manejo de fracciones con JavaScript – Resolver operaciones

Te repito que en este caso lo he hecho de esa manera pero bien podrías copiar y pegar el código de la clase directamente, o usarlo en el lado del servidor con Node.

Al final lo único que importa es contar con la clase y usarla. Si quieres probar el código en Node puedes hacer clic aquí, y si te gusta JavaScript aprende más en mi blog.

Si quieres puedes ver un vídeo para explicaciones adicionales:

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario