예제 #1
0
 public double Opera(Variable izq, double der)
 {
     if (!isAssignment)
     {
         double i = izq.Valor();
         return(op.Opera(i, der));
     }
     else
     {
         izq.AsignarValor(der);
         return(der);
     }
 }
예제 #2
0
            public double Evalua()
            {
                double izq = 0;
                double der = 0;

                if (derecha != null)
                {
                    der = derecha.Evalua();
                }

                if (VarIzquierda != null)
                {
                    if (operadorv != null)
                    {
                        return(operadorv.Opera(VarIzquierda, der));
                    }
                    else
                    {
                        return(VarIzquierda.Valor());
                    }
                }
                else if (OpIzquierda != null)
                {
                    izq = OpIzquierda.Evalua();
                }
                else if (NumIzquierda != null)
                {
                    izq = NumIzquierda.Valor();
                }

                if (operador != null)
                {
                    return(operador.Opera(izq, der));
                }
                else
                {
                    return(izq);
                }
            }