segunda-feira, 5 de novembro de 2012

Operando com frações

Pode-se dizer que uma fração, representada de modo genérico como \frac{a}{b}, designa o inteiro dividido em b partes iguais ao qual se toma o número a de partes.

Neste caso,  a corresponde ao numerador, enquanto b corresponde ao denominador, que não pode ser igual a zero.

O denominador corresponde ao número de partes que um todo será dividido e o numerador corresponde ao número de partes que serão consideradas.



Você já pensou em trabalhar com esta definição em Java? Para quê você vai me perguntar? Por diversão? Para permitir um estudante resolver os exercícios de casa sem ter que pensar muito? Sei não...

Basicamente estou utilizando uma classe que denominei Fracoes para criar, somar e subtrair as frações.

Notem que uma vez que o denominador não pode ser zero, eu gero uma exceção java.lang.IllegalArgumentException. A gente poderia mandar uma ArithmeticExpection como o erro vem de um parâmetro, achei mais interessante esta exceção.



Para quem é novato: vejam as divisões nas linhas 65 e 66.

Criei uma classe de teste que basicamente instancia 3 frações. Apresento abaixo a soma e a subtração dos valores.

Vejam a saída do programa:
  • Na primeira linha temos f, seguido de f2 e f3.
  • Na quarta linha temos f + f2 e
  • Na quinta linha temos f - f3

Tem bastante coisa para melhorar ainda. Como por exemplo dá para criar uma fração 1/-2 que deveria ser representada por -1/2. Dá para acrescentar a multiplicação e divisão. Mas isto fica para um próximo post.

Se vocês notarem atentamente no código vão ver que tem uma classe que eu não coloquei... MDC que quer dizer máximo divisor comum. Para que eu uso ela? Para garantir que minhas frações fiquem sempre simplificadas. Como assim? Vejam que criei f3 como sendo 10/4 (linha 19 do código) mas na saída do programa ela já foi apresentada como 5/2.

Vou deixar vocês pensarem um pouco com fiz isto e no próximo post coloco para vocês a solução.

Nenhum comentário:

Postar um comentário