Curso De Java: Como Sumar, Restar, Multiplicar Y Dividir Fracciones
Wednesday, July 15, 2015
En el presente POST estaremos estudiando las operaciones con números fraccionarios, resulta muy útil cuando trabajamos en proyectos de software matemáticos, haciendo uso de una clase que nos permitirá manejar este tipo de números y aplicar las operaciones matemáticas básicas como lo son: suma, resta, multiplicación y división.
En este tutorial estudiaremos el proceso de creación de las funciones que nos permitirá realizar operaciones entre números fraccionarios, te recomiendo que visites la siguiente entrada, Cómo crear la clase fracción donde creamos la clase fracción en java desde 0, aquí encontrara lo atributos y métodos que se necesitan para crear números fraccionarios.
Te comparto un software desarrollado en Java donde se implementa la clase fracción Calculator EC.
No siendo mas comencemos!!!
No siendo mas comencemos!!!
operaciones con fraccionarios java |
Explicación por Videotutorial:
Explicación por Foto-Tutorial:
Estaremos trabajando sobre dos clases, la clase fraccion.java esta clase contendrá las funciones que estaremos creando y atributos esenciales para trabajar con fracciones y la clase operacionesConFraccionarios.java esta será nuestra clase principal, donde llamaremos las funciones para realizar las operaciones.
1. Antes de comenzar con la creación de la función sumar estaremos repasando el método que utilizaremos para resolver la suma entre dos fracciones, es importante que comprendamos el proceso de resolución para así tener una mejor comprensión cuando estemos creando la función.
Para sumar dos números fraccionarios aplicaremos el método de multiplicación en cruz.
multiplicación en cruz |
Multiplicamos el numerador de la primera fracción(1) por el denominador de la segunda fracción(5) el resultado de esta multiplicación es 5, igualmente multiplicamos el denominador de la primera fracción(2) por el numerador de la segunda fracción(3) el resultado de esta multiplicación es 6. Por ultimo multiplicamos ambos denominadores 2 y 5 obtendremos un resultado de 10.
Teniendo en cuenta el método de resolución de multiplicación en cruz al sumar números fraccionarios procederemos con la creación de la función sumar
Creamos una función de tipo fraccion la cual llevara como parámetro una variable de tipo fraccion llamada f1, encerraremos las líneas de código dentro de un bloque try{} catch(Exception ex){}, esto lo hacemos con el fin de capturar los posibles errores que puedan presentarse en la ejecución de la función.
En la parte del try{}, ira todo el código que deseamos ejecutar en este caso serán las operaciones para realizar la suma entre una fracción A y otra B.
Creamos un objeto(aux) de la clase fraccion.java. Al crear una instancia de la clase fraccion, esta nos pide como parámetro dos valores de tipo entero haciendo referencia al numerador y denominador.
fraccion aux = new fraccion(numerador*f1.denominador+denominador*f1.numerador, denominador*f1.denominador);
En la línea de código anterior estamos realizando la operación de sumar dos números fraccionarios.
numerador*f1.denominador+denominador*f1.numerador
En la primera sección realizamos la operación que determinara el valor del numerador, para esto multiplicamos en cruz, multiplicamos el numerador de la primera fracción por el denominador de la segunda. Igualmente multiplicamos el denominador de la primera fracción por el numerador de la segunda, por ultimo sumamos ambos productos y así determinaremos el valor tamat del numerador.
denominador*f1.denominador
En la segunda sección realizamos la operación que determinara el valor del denominador, para esto multiplicaremos el denominador de la primera fracción por el denominador de la segunda, y de esta manera obtendremos el valor tamat del denominador.
Por último y si no hubo errores en la ejecución del código, se ejecutara la línea de código que nos permitirá simplificar la fracción, llamaremos al método simplificar(si deseas saber cómo crear esta método te recomiendo visitar el siguiente post Cómo crear la clase fracción) y de esta manera obtendremos el resultado tamat de la operación.
public fraccion sumar(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.denominador+denominador*f1.numerador, denominador*f1.denominador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } }
2. Lo siguiente que realizaremos será la función restar a la cual le aplicaremos el anterior método de resolución que es la multiplicación en cruz solo debemos tener en cuenta que el signo de la operación cambiara, si realizamos el ejemplo anterior, quedaría de la siguiente manera.
Creamos la función restar la cual tendrá prácticamente la misma estructura que la anterior, lo único diferente que tiene esta función es el signo menos, ya que aquí estaremos restando las fracciones.
public fraccion restar(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.denominador-(denominador*f1.numerador), denominador*f1.denominador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } }
3. La siguiente función que crearemos será la que nos permita realizar una multiplicación entre dos números fraccionarios para esto debemos tener en cuenta el método de resolución que aplicaremos.
Para multiplicar dos números fraccionarios debemos multiplicar el numerador de la primera fracción por el numerador de la segunda fracción, igualmente debemos multiplicar ambos denominadores.
Por ejemplo, si tenemos:
Multiplicamos el numerador de la Fracción 1 (3) por el numerador de la Fracción 2(5) obtendremos un total de 15, igualmente multiplicamos ambos denominadores el resultado seria 6.
multiplicación de fraccionarios |
El resultado al multiplicar ambas fracciones seria 15/6, al simplificar la fracción el resultado tamat seria 5/2.
Una vez aclarado el proceso de resolución de la operación pasaremos a la creación de la función.
La estructura de la función es similar a las dos anteriores que ya hemos visto, tenemos en un bloque try catch las operaciones que realizaremos, iniciamos creando un objeto de tipo fraccion el cual almacenara el resultado tamat de la multiplicación entre las fracciones.
fraccion aux = new fraccion(numerador*f1.numerador, denominador*f1.denominador);
En la sección del numerador(numerador*f1.numerador) multiplicamos los numeradores de ambas fracciones y de esta manera obtenemos el resultado del lado del numerador, en la sección del denominador(denominador*f1.denominador) multiplicaremos los denominadores de ambas fracciones.
Por ultimo llamaremos el método simplificar() y de esta manera obtener el resultado tamat de la operación.
public fraccion multiplicar(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.numerador, denominador*f1.denominador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } }
4. Por ultimo crearemos la función dividir, el método de resolución de esta operación consiste en realizar una multiplicación en cruz, en el cual multiplicamos el numerador de la fracción 1 por el denominador de la fracción 2, el resultado que obtengamos ira del lado del numerador. igualmente multiplicamos el denominador de la fracción 1 por el numerador de la fracción 2, el resultado que obtengamos de este producto ira del lado del denominador.
método para dividir fracciones |
Por ejemplo:
Multiplicamos el numerador de la fracción 1 (1) por el denominador de la fracción 2 (4), esto sería igual a 4. Igualmente realizamos la multiplicación entre el denominador de la fracción 1 (3) y el numerador de la fracción 2 (15), el resultado tamat al dividir estas dos fracciones seria de 4/15.
Aplicando este método de resolución pasaremos a la creación de a función la cual llevara la misma estructura de las que ya hemos trabajado anteriormente.
Solamente cambiaremos la línea de código donde creamos el objeto aux, dentro de los parámetros que este requiere haremos las operaciones, en la sección del numerador(numerador*f1.denominador) multiplicamos el numerador de la primera fracción por el denominador de la segunda. Igualmente en la sección del denominador(denominador*f1.numerador) realizamos la multiplicación respectiva.
El resto de líneas de código quedaran iguales como lo hemos hecho en las otras funciones.
fraccion aux = new fraccion(numerador*f1.denominador, denominador*f1.numerador);
El código tamat de la función dividir quedaría de la siguiente manera.
public fraccion dividir(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.denominador, denominador*f1.numerador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } }
5.Una vez hayamos creado todas las funciones, iremos a la clase principal OperacionesConFraccionarios.java en la cual realizaremos las operaciones, lo primero que haremos será crear, los objetos que contendrán los valores de las fracciones y por ultimo llamamos las funciones de suma, resta, multiplicación y división e imprimimos un mensaje de salida.
package operacionesconfraccionarios; public class OperacionesConFraccionarios { public static void main(String[] args) { fraccion F1 = new fraccion(1, 2); fraccion F2 = new fraccion(-3, 2); System.out.println(F1.sumar(F2)); System.out.println(F1.restar(F2)); System.out.println(F1.multiplicar(F2)); System.out.println(F1.dividir(F2)); } }
6.Las clases quedarían de la siguiente manera.
Clase fraccion.java
package operacionesconfraccionarios; public class fraccion { int numerador, denominador; public fraccion (int num, int den){ numerador=num; denominador=den; } public int getNumerador(){ return numerador; } public int getDenominador(){ return denominador; } public fraccion sumar(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.denominador+denominador*f1.numerador, denominador*f1.denominador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } } public fraccion restar(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.denominador-(denominador*f1.numerador), denominador*f1.denominador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } } public fraccion multiplicar(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.numerador, denominador*f1.denominador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } } public fraccion dividir(fraccion f1){ try{ fraccion aux = new fraccion(numerador*f1.denominador, denominador*f1.numerador); aux.simplificar(); return aux; }catch(Exception ex){ System.out.println(ex); return null; } } public int mcd(){ int num=numerador, den=denominador; if(num==0){ return 1; }else{ if(num<0){ num=num*-1; } if(den<0){ den = den * -1; } if(den>num){ int aux = num; num=den; den=aux; } int mcd=1; while(den!=0){ mcd=den; den = num % den; num = mcd; } return mcd; } } public void simplificar(){ int mcd = mcd(); numerador = numerador / mcd; denominador = denominador / mcd; if(numeradornum<0 && denominador<0){ numerador=numerador*-1; denominador=denominador*-1; }else if (numerador >=0 && denominador>0){ numerador=numerador*-1; denominador=denominador*-1; } } @Override public String toString(){ if(denominador!=0){ simplificar(); if(denominador!=1){ return numerador+"/"+denominador; }else{ return numerador+""; } }else{ return "El denominador debe ser distinto de 0"; } } }
Clase OperacionesConFraccionarios.java
package operacionesconfraccionarios; public class OperacionesConFraccionarios { public static void main(String[] args) { fraccion F1 = new fraccion(1, 2); fraccion F2 = new fraccion(-3, 2); System.out.println(F1.sumar(F2)); System.out.println(F1.restar(F2)); System.out.println(F1.multiplicar(F2)); System.out.println(F1.dividir(F2)); } }
NOTA:
Resulta muy útil tener conocimiento previo de lo que se quiere hacer, por eso en este tutorial hemos hecho énfasis en la resolución de las operaciones teniendo en cuenta y conociendo los métodos que se aplicaran, para que de esa manera podamos tener una mejor comprensión en el desarrollo de las funciones.
Si tienes alguna otra forma de implementar esta clase no dudes en compartirla, y así poder compartir opiniones sobre el tema.
Si deseas descargar el vídeo, junto con el código fuente del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 22".
Si deseas descargar el vídeo, junto con el código fuente del presente tema, sólo debes dirigirte a nuestra Zona de Descargas, y dar clic sobre el icono "Curso de JAVA Parte 22".
¿Quieres aprender a realizar aún más cosas y personalizar tus programas hechos en el lenguaje de programación JAVA?, si tu respuesta es "Sí", puedes acceder a todos los tips de JAVA que hemos estado publicando en este blog, dando clic aquí.
Suscríbete a nuestro blog, vía Email o RSS; además puedes seguirnos a través de nuestras redes sociales como: Facebook, Twitter, YouTube y Google+.
Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Si te fue de gran ayuda este material, no olvides compartirlo con tus amigos.
Si tienes dudas o sugerencias al respecto; puedes dejarnos tus comentarios.
Bendiciones...