Ir ao conteúdo
  • Cadastre-se

Expressões da lógica formal


JackFarias

Posts recomendados

Boa tarde,

Eu gostaria de saber como verificar qual é o operador central de uma expressão da lógica formal, ou seja, o operador que ficaria no topo da árvore sintática da expressão.

Ex:

Expressão: x^y

Operador central é ^, porque a árvore é:

^

/ \

x y

Expressão: ( (x^y)Vz)

Operador central é V, porque a árvore é:

V

/ \

^ z

/ \

x y

Obs 1: A expressão virá em formato de string

Obs 2: Se houver alguma limitação pelo tamanho da expressão, informo que ,no meu caso, o tamanho máx dela será de 100 caracteres, mas qualquer ideia ajudaria.

Obs 3: Além de E (^) e OU ( V ), também haverá o operador implicação (>), e só haverá três caracteres (x,y,z).

Um algoritmo em C ou C++ de preferência, mas portugol ou Java também serve, de prefenrência, algo procedural, meu OO tá meio fraco ;)

Obrigado.

Link para o comentário
Compartilhar em outros sites

Monte um algoritmo que use árvore binária...

É exatamente isso que eu quero fazer, mas não sei identificar qual operador vai ficar na raíz da árvore.

Na expressão ( (x^y)Vz), se eu colocar o operador V, vai dar certo, mas se eu colocar o ^, a árvore vai ficar errada.

Quero saber como identificar qual operador eu tenho que colocar na raíz da árvore, ai vou usar o mesmo algoritmo para pegar o operador central das sub-expressões, no caso, (x^z) e (z), e usarei issso recursivamente, mas eu não sei como identificar o operador central.

Link para o comentário
Compartilhar em outros sites

Para termos soltos "(x^y)" o termo central é o operador...

Em situações onde ((x^y)Vz) basta transformar termos entre parenteses em um elemento simples. -> ((x^y)Vz) -> (wVz)

Para montar uma árvore do tipo uma opção seria ir montando conforme a leitura.

Ou seja:

((x^y)Vz)

leu x^y primeiro, então:


^
/ \
x y

Aí encontrou Vz, gira a árvore!


V
/ \
^ z
/ \
x y

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!