Skip to content

vmsou/set-parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Natureza Discreta - Conjuntos

Resolvedor de expressões de conjuntos através de entrada de dados.

Contribuidores

Sobre o Projeto

É um pequeno projeto pessoal, surgiu durante as aulas de Resolução de Problemas de Natureza Discreta em relação a Teoria de Conjuntos, é capaz de ler uma entrada de dados, transformar em tokens e resolver a expressão.

Essa é uma lista dos recursos utilizados para fazer esse projeto

🛠 Construido utilizando

  • Python 3.9 (sem bibliotecas externas)

Principais Funcionalidades

Operações

Conjuntos

  • União ("∪")
  • Interseção ("∩")
  • Diferença ("-")
  • Produto Cartesiano ("X")
  • Complemento (" ' ")
  • Diferença Simétrica ("⊕")

Pertencimento

  • Pertence ("∈")
  • Subconjunto Próprio ("⊂")
  • Subconjunto Impróprio ("⊆")
  • Não é Subconjunto ("⊄")
  • Não pertence ("∉")

Outros

  • Definir Variável ("=")
  • Funções (como Potência: P(A))
  • Agrupamento ("(" e ")")

Como executa-lo

Se você ter acesso a um terminal

cd conjuntos
python main.py

No terminal irá aparecer:

----------- [Set Calculator] -----------
Operations: ∪, ∩, -, ⊕, X, ', ⊂, ⊆, ∈
You can define variables. 
Example: 
> A = {1, 2}
Get the powerset of a set by calling P(A) or P({...})
You can also enter 'exit' to close program.
----------------------------------------

>

O simbolo '>' indica para entrar uma expressão. Assim como exemplo, podemos definir variáveis para conjuntos e manipula-los com operações.

> A = {1, 2, 3}
> B = {4, 5, 6}
> A ∪ B
{1, 2, 3, 4, 5, 6}
> A ∩ B
∅

Status

🚧️ Em Desenvolvimento 🚧

Para fazer:

  • Implementar Algoritimo Aho-Corasick para tokenizer
  • Subconjunto Negado ("⊄")
  • Superconjunto ("⊇")
  • Não pertence ("∉")

About

Reads an expression, converts to token, then evaluates with set operations.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages