Example #1
0
        protected override void ObtenerElementos(string Expresion)
        {
            Elementos.Clear();

            //TENER EN CUENTA CUANDO NIVELES ES VACIO, ESTA SENTENCIA IF PARECE SOLUCIONARLO
            if (!Niveles.Contains("0"))
            {
                Elementos.Add(new Monomios(Contenido));
                Result = Contenido;
            }
            else
            {
                Elementos.Clear();
                char   FirstNivel = Orden.ElementAt(Orden.Length - 1);
                string Foco;
                int    Inicio, i, j, k;
                i = 0; Inicio = 0;
                bool Seguir;

                foreach (var nivel in Niveles)
                {
                    ++i;
                    Seguir = true;
                    if (nivel.Equals(FirstNivel))
                    {
                        j = 0; k = 0;
                        while (Seguir)
                        {
                            if (Contenido.ElementAt(k).Equals(Simbolo))
                            {
                                ++j;
                            }

                            if (j == i)
                            {
                                Seguir = false;
                            }
                            else
                            {
                                ++k;
                            }
                        }

                        Foco   = Contenido.Substring(Inicio, (k - Inicio));
                        Inicio = k + 1;

                        Monomio = new Monomios(Foco);
                        Elementos.Add(Monomio);
                    }
                }

                //TOMA EL ULTIMO ELEMENTO
                Foco    = Contenido.Substring(Inicio);
                Monomio = new Monomios(Foco);
                Elementos.Add(Monomio);
                //FIN DE TOMA

                ObtenerResultado();
            }
        }
Example #2
0
        protected override void ObtenerElementos(string Expresion)
        {
            Elementos.Clear();

            //TENER EN CUENTA CUANDO NIVELES ES VACIO, ESTA SENTENCIA IF PARECE SOLUCIONARLO
            if (!Niveles.Contains("0"))
            {
                Elementos.Add(new PotenciaEntera(Contenido));
                ObtenerPartes();
                Result = Contenido;
            }
            else
            {
                char   FirstNivel = Orden.ElementAt(Orden.Length - 1);
                string Foco;
                int    Inicio, i, j, k;
                i = 0; Inicio = 0;
                bool Seguir;

                foreach (var nivel in Niveles)
                {
                    ++i;
                    Seguir = true;
                    if (nivel.Equals(FirstNivel))
                    {
                        j = 0; k = 0;
                        while (Seguir)
                        {
                            if (Contenido.ElementAt(k).Equals(Simbolo))
                            {
                                ++j;
                            }

                            if (j == i)
                            {
                                Seguir = false;
                            }
                            else
                            {
                                ++k;
                            }
                        }

                        Foco   = Contenido.Substring(Inicio, (k - Inicio));
                        Inicio = k + 1;

                        Potencia = new PotenciaEntera(Foco);
                        Elementos.Add(Potencia);
                    }
                }

                //TOMA EL ULTIMO ELEMENTO
                Foco     = Contenido.Substring(Inicio);
                Potencia = new PotenciaEntera(Foco);
                Elementos.Add(Potencia);
                //FIN DE TOMA

                ObtenerPartes();
                //PULIR PRODUCTO PARA RESPONDER CORRECTAMENTE A ESTE PROBLEMA
                Operacion = new ProductoEntero(Coeficiente, ParteLiteral);
                Result    = Operacion.Result;
            }
        }