Example #1
0
        public ValorMag MultiplicaValorMag(ValorMag valorMag1, ValorMag valorMag2)
        {
            if (valorMag1.ToString() == "1m2" || valorMag1.ToString() == "10m1")
            {
                return(valorMag2);
            }
            else if (valorMag2.ToString() == "1m2" || valorMag2.ToString() == "10m1")
            {
                return(valorMag1);
            }
            else if (valorMag1.Valor == 0 || valorMag2.Valor == 0)
            {
                return(new ValorMag(0, 1));
            }
            else
            {
                int magFinal = (valorMag1.Magnitude + valorMag2.Magnitude) - 2;

                int valorFinal = (valorMag1.Valor * valorMag2.Valor);
                while (valorFinal > 99)
                {
                    valorFinal = valorFinal / 10;
                    magFinal   = magFinal + 1;
                }

                return(new ValorMag(valorFinal, magFinal));
            }
        }
Example #2
0
        public ValorMag SubtraiValorMag(ValorMag valorMag1, ValorMag valorMag2)
        {
            if (valorMag1.ToString() == valorMag2.ToString())
            {
                return(new ValorMag());
            }

            int valorFinal     = 0;
            int magnitudeFinal = 0;
            int valor1         = valorMag1.Valor;
            int valor2         = valorMag2.Valor;
            int mag1           = valorMag1.Magnitude;
            int mag2           = valorMag2.Magnitude;

            if (mag1 == mag2)
            {
                magnitudeFinal = mag1;
                valorFinal     = valor1 - valor2;

                if (valorFinal < 0)
                {
                    valorFinal     = valorFinal * 10;
                    magnitudeFinal = magnitudeFinal - 1;
                }
            }
            else if (mag1 - mag2 == 1 || mag1 - mag2 == -1)
            {
                magnitudeFinal = Math.Max(mag1, mag2);

                if (magnitudeFinal == mag1)
                {
                    valorFinal = valor1 - (valor2 / 10);
                }
                else
                {
                    valorFinal = valor2 - (valor1 / 10);
                }
            }
            else
            {
                magnitudeFinal = Math.Max(mag1, mag2);
                if (magnitudeFinal == mag1)
                {
                    valorFinal = valor1;
                }
                else
                {
                    valorFinal = valor2;
                }
            }

            ValorMag resultado = new ValorMag(valorFinal, magnitudeFinal);

            return(resultado);
        }
Example #3
0
 public override string ToString()
 {
     if (this.ValorDuracao != null && UnidadeDuracao != null)
     {
         return("Durante " + ValorDuracao.ToString() + " " + UnidadeDuracao);
     }
     else
     {
         return(this.TipoDuracao);
     }
 }