public override void Mostrar(int nivel = 0) { Separar(nivel); Console.WriteLine("WHILE"); Izquierda.Mostrar(nivel + 1); Separar(nivel); Console.WriteLine("DO"); Derecha.Mostrar(nivel + 1); Separar(nivel); Console.WriteLine("END"); }
public override int Evaluar() { if (Izquierda is Variable v) { v.Valor = Derecha.Evaluar(); return(v.Valor); } return(0); }
public override int Evaluar() { var resultado = 0; while (Izquierda.Evaluar() != 0) { resultado = Derecha.Evaluar(); } return(resultado); }
public override void Mostrar(int nivel = 0) { Separar(nivel); Console.WriteLine("IF"); Condicion.Mostrar(nivel + 1); Separar(nivel); Console.WriteLine("THEN"); Izquierda.Mostrar(nivel + 1); if (Derecha != null) { Separar(nivel); Console.WriteLine("ELSE"); Derecha.Mostrar(nivel + 1); } Separar(nivel); Console.WriteLine("END"); }
public override int Evaluar() => Izquierda.Evaluar() < Derecha.Evaluar() ? 1 : 0;
public override int Evaluar() => Izquierda.Evaluar() *Derecha.Evaluar();
public override void Mostrar(int nivel = 0) { Separar(nivel); Console.WriteLine(Operador); Izquierda.Mostrar(nivel + 1); Derecha.Mostrar(nivel + 1); }
public override string NPI() => $"({Operador} {Izquierda.NPI()} {Derecha.NPI()})";
public override int Evaluar() => Condicion.Evaluar() != 0 ? Izquierda.Evaluar() : Derecha?.Evaluar() ?? 0;