예제 #1
0
        public bool EhQuivalente(Equacao equacao)
        {
            var unidadesEsquerdaEquacao   = equacao.LadoEsquerdo.Where(t => t.Tipo == TipoTermo.Unidade).ToArray();
            var incognitasEsquerdaEquacao = equacao.LadoEsquerdo.Where(t => t.Tipo == TipoTermo.Incognita).ToArray();
            var unidadesDireitaEquacao    = equacao.LadoDireito.Where(t => t.Tipo == TipoTermo.Unidade).ToArray();
            var incognitasDireitaEquacao  = equacao.LadoDireito.Where(t => t.Tipo == TipoTermo.Incognita).ToArray();

            return(Soma(unidadesEsquerda) == Soma(unidadesEsquerdaEquacao) &&
                   Soma(incognitasEsquerda) == Soma(incognitasEsquerdaEquacao) &&
                   Soma(unidadesDireita) == Soma(unidadesDireitaEquacao) &&
                   Soma(incognitasDireita) == Soma(incognitasDireitaEquacao));
        }
예제 #2
0
 public ResolvedorEquacaoPrimeiroGrau(Equacao equacaoSimplificada)
 {
     termosEsquerda = CopiarTermos(equacaoSimplificada.termosEsquerda);
     termosDireita  = CopiarTermos(equacaoSimplificada.termosDireita);
 }
예제 #3
0
            private Equacao ObterCopiaEquacao()
            {
                var equacao = new Equacao(CopiarTermos(termosOriginaisEsquerda), CopiarTermos(termosOriginaisDireita));

                return(equacao);
            }
예제 #4
0
 public HistoricoOperacoesEquacao(Equacao equacaoBase)
 {
     termosOriginaisEsquerda = CopiarTermos(equacaoBase.termosEsquerda);
     termosOriginaisDireita  = CopiarTermos(equacaoBase.termosDireita);
     valorDeX = equacaoBase.ValorDeX;
 }