-
Este repositório foi criado como parte do Trabalho Prático 1 da disciplina DCC205 – Estruturas de Dados da UFMG, realizado pelo aluno Rodolfo Lins Cardoso.
-
O objetivo do trabalho é abordar problemas de expressões lógicas e satisfabilidade.
-
O PDF contendo as especificações do trabalho pode ser encontrado na raiz do projeto.
Este repositório contém oito classes, um arquivo main, e um CMakeLists.txt para facilitar o debug no CLion. A solução foi desenvolvida em C++.
Representa os nós de uma stack.
Implementação de uma stack que pode assumir qualquer tipo necessário.
Transforma uma string p e uma string s e devolve uma stack no formato de expressão infix.
-
p representa a fórmula lógica.
-
s é uma string binária contendo valorações para as variáveis na fórmula.
Exemplo:
- p := 1 & ~ 2 | (1 & 0)
- s := 001
Recebe uma stack com a expressão em formato infix fornecida pela classe anterior e constrói uma stack na notação reversa. Pode resolver essa expressão.
Representa o nó de uma árvore utilizada para resolver problemas de satisfabilidade.
Gera uma árvore com todas as possibilidades de um problema de satisfabilidade. Retorna se a expressão é verdadeira ou falsa, além da solução possível.
Classe auxiliar para o desenvolvimento.
Classe responsável pelo tratamento de erros.