Esempio n. 1
0
        public override bool Equals(object obj)
        {
            try
            {
                Polinomio p = (Polinomio)obj;

                int total = _listaTerminos.Count;

                bool iguales = p._listaTerminos.Count == total;

                if (iguales)
                {
                    foreach (Termino t in _listaTerminos.Values)
                    {
                        iguales = iguales && t.Equals(p._listaTerminos[t.Exponente]);
                    }
                }

                return(iguales);
            }
            catch (FormatException)
            {
                return(false);
            }
        }
Esempio n. 2
0
        object ICloneable.Clone()
        {
            Polinomio clon = new Polinomio();

            clon._listaTerminos = new SortedList <double, Termino>();

            foreach (Termino t in _listaTerminos.Values)
            {
                clon._listaTerminos.Add(t.Exponente, (Termino)((ICloneable)t).Clone());
            }

            return(clon);
        }
Esempio n. 3
0
        public void TestEquals2()
        {
            Termino t1 = new Termino(2, 2);
            Termino t2 = new Termino(3, 3);
            Termino t3 = new Termino(3, 0);

            IPolinomio p1 = new EcuacionesLib.Polinomio();
            IPolinomio p2 = new EcuacionesLib.Polinomio();
            p1.Insertar(t1);
            p1.Insertar(t2);
            p1.Insertar(t3);

            p2.Insertar(t1);
            p2.Insertar(t2);
            //p2.Insertar(t3);

            Assert.IsFalse(p1.Equals(p2));
        }
Esempio n. 4
0
        public void TestEquals2()
        {
            Termino t1 = new Termino(2, 2);
            Termino t2 = new Termino(3, 3);
            Termino t3 = new Termino(3, 0);

            IPolinomio p1 = new EcuacionesLib.Polinomio();
            IPolinomio p2 = new EcuacionesLib.Polinomio();
            p1.Insertar(t1);
            p1.Insertar(t2);
            p1.Insertar(t3);

            p2.Insertar(t1);
            p2.Insertar(t2);
            //p2.Insertar(t3);

            Assert.IsFalse(p1.Equals(p2));
        }
Esempio n. 5
0
        public void Newton()
        {
            Termino t1 = new Termino(1, 4);
            Termino t2 = new Termino(-1, 3);
            Termino t3 = new Termino(-3, 2);
            Termino t4 = new Termino(-4, 1);
            Termino t5 = new Termino(-2, 0);

            IPolinomio p1 = new EcuacionesLib.Polinomio();
            IPolinomio p2;
            p1.Insertar(t1);
            p1.Insertar(t2);
            p1.Insertar(t3);

            p1.Insertar(t4);
            p1.Insertar(t5);
            //p2.Insertar(t3);
            p2 = (IPolinomio)p1.Clone();
            p2.Derivar();

            Assert.IsTrue((int)p1.Resolver(EcuacionesLib.Polinomio.Newton(2, 3, p1)) == 0);
        }
Esempio n. 6
0
        public void Newton()
        {
            Termino t1 = new Termino(1, 4);
            Termino t2 = new Termino(-1, 3);
            Termino t3 = new Termino(-3, 2);
            Termino t4 = new Termino(-4, 1);
            Termino t5 = new Termino(-2, 0);

            IPolinomio p1 = new EcuacionesLib.Polinomio();
            IPolinomio p2;
            p1.Insertar(t1);
            p1.Insertar(t2);
            p1.Insertar(t3);

            p1.Insertar(t4);
            p1.Insertar(t5);
            //p2.Insertar(t3);
            p2 = (IPolinomio)p1.Clone();
            p2.Derivar();

            Assert.IsTrue((int)p1.Resolver(EcuacionesLib.Polinomio.Newton(2, 3, p1)) == 0);
        }
Esempio n. 7
0
        object ICloneable.Clone()
        {
            Polinomio clon = new Polinomio();
            clon._listaTerminos = new SortedList<double, Termino>();

            foreach (Termino t in _listaTerminos.Values)
            {
                clon._listaTerminos.Add(t.Exponente, (Termino)((ICloneable)t).Clone());
            }

            return clon;
        }
        private IPolinomio construirPolinomio()
        {
            IPolinomio p = new Polinomio();

            //suponemos los pagos ordenados desde el primer mes hasta el ultimo
            int maxExponente = _pagos.Count;

            p.Insertar(new Termino(-_inversion, maxExponente));
            foreach (double qn in _pagos)
            {
                maxExponente--;
                p.Insertar(new Termino(qn, maxExponente));
            }

            return p;
        }