Con la tecnología de Blogger.

Simplificar una fracción


Para simplificar una fracción primero hay que hallar el máximo común divisor del numerador y del denominador. la función mcd se encarga de esta tarea. Para ello emplea el algoritmo de Euclides, cuyo funcionamiento se muestra en el siguiente ejemplo. Sea u=1260 y v=231
  • En la primera iteración, se halla el resto r de dividir el primero u entre el segundo v. Se asigna a u el divisor v, y se asigna a v el resto r.
  • En la segunda iteración, se halla el resto r de dividir u entre v. Se asigna a u el divisor v, y se asigna a v el resto r.
  • Se repite el proceso hasta que el resto r sea cero. El máximo común divisor será el último valor de v.
1260=231*5+105
231=105*2+21
105=21*5+0

El máximo común divisor es 21.

Definimos en la clase Fraccion una función mcd que calcula y devuelve el máximo común divisor del numerador y del denominador.

int mcd(){
int u=Math.abs(num);
int v=Math.abs(den);
if(v==0){
return u;
}
int r;
while(v!=0){
r=u%v;
u=v;
v=r;
}
return u;
}
A continuación definimos la función simplificar, de modo que al aplicarlo sobre una fracción, dicha fracción se reduzca a la fracción equivalente más simple. Para ello, se divide numerador y denominador por el máximo común divisor de ambos números, y devuelve la fracción simplificada.

Fraccion simplificar(){
int dividir=mcd();
num/=dividir;
den/=dividir;
return this;
}

Aquí tenemos otro ejemplo del uso de la palabra reservada this. Los miembros dato cambian al dividirlos entre el máximo común divisor y la función devuelve el objeto actual, this.
Share on Google Plus

Sobre Rafa

Soy un apasionado de las nuevas técnologias, Internet, los videojuegos, la cultura japonesa y de USA.
    Blogger Comment
    Facebook Comment

0 comentarios:

Publicar un comentario

Gracias por comentar ;-)