public static void Main(string[] args) { //IExpressao expressao = new RaizQuadrada(new Numero(4)); IExpressao expressao = new Soma(new Numero(110), new Subtracao(new Divisao(new Numero(20), new Numero(8)), new Multiplicacao(new Numero(5), new Numero(10)))); Console.WriteLine(expressao.Avalia()); Console.ReadKey(); }
static void Main(string[] args) { IExpressao soma = new Soma(new Subtracao(new Numero(100), new Numero(12)), new Numero(12)); IExpressao multi = new Multiplicacao(new Numero(2), new Numero(10)); IExpressao raiz = new RaizQuadrada(new Numero(4)); Console.WriteLine(soma.Avalia()); Console.WriteLine(multi.Avalia()); Console.WriteLine(raiz.Avalia()); Console.ReadKey(); }
static void Main(string[] args) { IExpressao esquerda = new Subtracao(new Numero(10), new Numero(5)); IExpressao direita = new Soma(new Numero(2), new Numero(10)); IExpressao conta = new Soma(esquerda, direita); int resultado = conta.Avalia(); Console.WriteLine(resultado); }
static void Main(string[] args) { Console.WriteLine("Interpreter"); // (1+10) + (20-10) IExpressao esquerda = new Soma(new Numero(1), new Numero(10)); IExpressao direita = new Subtracao(new Numero(20), new Numero(10)); IExpressao soma = new Soma(esquerda, direita); int resultado = soma.Avalia(); Console.WriteLine(resultado); }
static void Main(string[] args) { IExpressao esquerda = new Soma(new Soma(new Numero(1), new Numero(100)), new Numero(10)); IExpressao direita = new Subtracao(new Numero(20), new Numero(10)); IExpressao soma = new Soma(esquerda, direita); Console.WriteLine(soma.Avalia()); Expression soma2 = Expression.Add(Expression.Constant(10), Expression.Constant(100)); Func <int> funcao = Expression.Lambda <Func <int> >(soma2).Compile(); Console.WriteLine(funcao()); Console.ReadKey(); }
public static void Main(string[] args) { // (1+2) + (20-10) var esquerda = new Soma(new Numero(1), new Numero(2)); var direita = new Subtracao(new Numero(20), new Numero(10)); var soma = new Soma(direita, esquerda); Console.WriteLine(soma.Avalia()); Console.ReadKey(); //nativo c# var expression = Expression.Divide(Expression.Constant(10m), Expression.Constant(2m)); var funcao = Expression.Lambda <Func <decimal> >(expression).Compile(); //Console.WriteLine(funcao()); //Console.ReadKey(); }
static void Main(string[] args) { Console.WriteLine("Resolvendo a expressão (2 + 3) - 2 = 3"); var soma = new Soma(new Numero(2), new Numero(3)); var substracao = new Subtracao(soma, new Numero(2)); Console.WriteLine("Resultado: {0}", substracao.Avalia()); Console.WriteLine("Resolvendo a expresao ((4 * 10) / (1 + 1)) = 20"); var multiplicacao = new Multiplicacao(new Numero(4), new Numero(10)); soma = new Soma(new Numero(1), new Numero(1)); var divisao = new Divisao(multiplicacao, soma); Console.WriteLine("Resultado: {0}", divisao.Avalia()); Console.WriteLine("Resolvendo raiz quadrada de 8 + 10 = 12.8284"); var raizquadrada = new RaizQuadrada(new Numero(8)); soma = new Soma(raizquadrada, new Numero(10)); Console.WriteLine("Resultado: {0}", soma.Avalia()); }