Trabalho academico

Boas caros amigos, alguem pode dar uma ajuda como fazer um programa de mapas de Karnaugh?
Para iniciar era uma grande ajuda eu conseguir filtrar a expressão de entrada do tipo: ABC+/AB/C…
E atribui numa matriz 0 e 1 mediante A=1 e /A=0
Exemplo atravez da exp A/BC+ABC
Numa matriz de [][] 4*2

…AB…
C… 00…01…11…10

0___ 0…0…0…0

1____0…0…1…1

Olá! Bem vinda ao GUJ!
Desculpe, mas não consegui entender em que ponto específico está a sua dúvida. Poderia explicar melhor?
Aproveite também, e nos mostre o que você já conseguiu fazer de código java, ok?

[quote=Ana Rita]Boas caros amigos, alguem pode dar uma ajuda como fazer um programa de mapas de Karnaugh?
Para iniciar era uma grande ajuda eu conseguir filtrar a expressão de entrada do tipo: ABC+/AB/C…
E atribui numa matriz 0 e 1 mediante A=1 e /A=0
Exemplo atravez da exp A/BC+ABC
Numa matriz de [][] 4*2

…AB…
C… 00…01…11…10

0___ 0…0…0…0

1____0…0…1…1[/quote]

Hein?! Da para ser mais especifica Ana?!.. Vlw

[quote=Ana Rita]Boas caros amigos, alguem pode dar uma ajuda como fazer um programa de mapas de Karnaugh?
Para iniciar era uma grande ajuda eu conseguir filtrar a expressão de entrada do tipo: ABC+/AB/C…
E atribui numa matriz 0 e 1 mediante A=1 e /A=0
Exemplo atravez da exp A/BC+ABC
Numa matriz de [][] 4*2

…AB…
C… 00…01…11…10

0___ 0…0…0…0

1____0…0…1…1[/quote]

Q q é isso? Explica aí melhor Ana…

[]s :smiley:

Veja se isso te ajuda.

http://www.darkridge.com/~jpr5/archive/dads/HTML/karnaughmap.html

Olá,

Para filtrar a expressão de entrada vc pode lê-la como uma String e dentro de um laço acessar cada caracter com o método charAt(int index).
Para cada caracter que vc recuperar, jogue em um switch e veja onde se encaixa:

  1. letra - no caso seria uma das entradas. Não há como prever qual letra, pois não se sabe quantas entradas irão existir na sua expressão booleana.
  2. “+” - indica operação “OU”
    3)"/" - pelo que eu entendi do exemplo que vc postou, indica que todos as entradas seguintes, até o próximo “+” são barradas (negadas).

Para o mapa vc pode sim usar uma matriz. O grande problema é identificar os grupos com 2^n elementos iguais a 1 para que vc simplifique a expressão. Vc deve utilizar algum algorítmo para identificar sub-matrizes a partir de um padrão. este caso o padrão seria a ocorrência do “1”.
Vc pode tbm usar outra matriz auxiliar, para indicar a que entrada cada linha ou coluna pertencem no mapa.