Example #1
0
 public Entero maximoComunDivisorCon(Entero otroEntero)
 {
     if (otroEntero.esCero())
     {
         return(this);
     }
     else
     {
         return(otroEntero.maximoComunDivisorCon(this.restoCon(otroEntero)));
     }
 }
        public void test06SumaDeFracciones()
        {
            Numero sieteDecimos = new Entero(7).dividido(new Entero(10));

            Assert.AreEqual(sieteDecimos, unQuinto.mas(unMedio));

            /*
             * La suma de fracciones es:
             *
             * a/b + c/d = (a.d + c.b) / (b.d)
             *
             * SI ESTAN PENSANDO EN LA REDUCCION DE FRACCIONES NO SE PREOCUPEN!
             * TODAVIA NO SE ESTA TESTEANDO ESE CASO
             */
        }
Example #3
0
        public static Numero dividir(Entero dividendo, Entero divisor)
        {
            if (divisor.esCero())
            {
                throw new Exception(Numero.DESCRIPCION_DE_ERROR_NO_SE_PUEDE_DIVIDIR_POR_CERO);
            }
            if (dividendo.esCero())
            {
                return(dividendo);
            }

            Entero maximoComunDivisor = dividendo.maximoComunDivisorCon(divisor);
            Entero numerador          = dividendo.divisionEntera(maximoComunDivisor);
            Entero denominador        = divisor.divisionEntera(maximoComunDivisor);

            if (denominador.esUno())
            {
                return(numerador);
            }

            return(new Fraccion(numerador, denominador));
        }
Example #4
0
 public abstract Numero porEntero(Entero multiplicador);
Example #5
0
 public abstract Numero masEntero(Entero sumando);
 public override Numero dividirEntero(Entero dividendo)
 {
     throw new NotImplementedException();
 }
 public override Numero porEntero(Entero multiplicador)
 {
     throw new NotImplementedException();
 }
 public override Numero masEntero(Entero sumando)
 {
     throw new NotImplementedException();
 }
Example #9
0
 public Entero divisionEntera(Entero divisor)
 {
     return(new Entero(value / divisor.getValue()));
 }
Example #10
0
 override public Numero dividirEntero(Entero dividendo)
 {
     return(Fraccion.dividir(dividendo, this));
 }
Example #11
0
 override public Numero porEntero(Entero multiplicador)
 {
     return(new Entero(value * multiplicador.getValue()));
 }
Example #12
0
 override public Numero masEntero(Entero sumando)
 {
     return(new Entero(value + sumando.getValue()));
 }
Example #13
0
        override public Numero masEntero(Entero sumando)
        {
            Numero nuevoNumerador = denominador.por(sumando).mas(numerador);

            return(nuevoNumerador.dividido(denominador));
        }
Example #14
0
 private Fraccion(Entero numerador, Entero denominador)
 {
     this.numerador   = numerador;
     this.denominador = denominador;
 }
Example #15
0
 override public Numero dividirEntero(Entero dividendo)
 {
     return(dividendo.por(denominador).dividido(numerador));
 }
Example #16
0
 public abstract Numero dividirEntero(Entero dividendo);
Example #17
0
 public Entero restoCon(Entero divisor)
 {
     return(new Entero(value % divisor.getValue()));
 }
Example #18
0
 override public Numero porEntero(Entero multiplicador)
 {
     return(numerador.por(multiplicador).dividido(denominador));
 }