public void ImprimeDivisao(Divisao divisao)
 {
     Console.Write("(");
     Console.Write("/");
     Console.Write(" ");
     divisao.Esquerda.Aceita(this);
     Console.Write(" ");
     divisao.Direita.Aceita(this);
     Console.Write(")");
 }
Exemplo n.º 2
0
        private void testaImpressoraVisitor()
        {
            RaizQuadrada raizQuadrada = new RaizQuadrada(new Numero(81));
            IVisitor visitor1 = new ImpressoraVisitor();
            visitor1.ImprimeRaizQuadrada(raizQuadrada);
            Console.WriteLine();
            Console.WriteLine(raizQuadrada.Avalia());
            Console.WriteLine();

            Multiplicacao multiplicacao = new Multiplicacao((new Subtracao(new Numero(50), new Numero(45))), new Numero(30));
            IVisitor visitor2 = new ImpressoraVisitor();
            visitor2.ImprimeMultiplicacao(multiplicacao);
            Console.WriteLine();
            Console.WriteLine(multiplicacao.Avalia());

            Console.WriteLine();

            Divisao divisao = new Divisao((new Subtracao(new Numero(50), new Numero(50))), new Numero(30));
            IVisitor visitor3 = new ImpressoraVisitor();
            visitor3.ImprimeDivisao(divisao);
            Console.WriteLine();
            Console.WriteLine(divisao.Avalia());
        }