Enunciado

Uma porta lógica de duas entrada é uma entidade que tem duas entradas e que realiza uma dada operação lógica sobre as entradas. Existem diferentes tipos de portas lógicas: andnandor, etc. Genericamente, uma porta lógica tem a seguinte funcionalidade:

  1. Tem duas entradas e uma saída, que é o resultado da operação lógica realizada.
  2. O valor das entradas é indicado no momento da criação. É possível alterar o valor de qualquer uma das entradas.
  3. É possível saber o resultado da operação lógica realizada, o qual tem em conta o valor actual das entradas.
  4. A porta lógica tem um método que devolve uma cadeia de caracteres com a representação da operação realizada. O formato deve ser o seguinte: entrada1 OPERAÇÂO entrada2 = resultado, onde entrada1entrada2 e resultado representam, respectivamente, o valor boleano das duas entradas e da saída da porta lógica. Por sua vez, OPERAÇÂO representa a operação lógica realizada, por exemplo AND ou OR.
Existem diferentes tipos de portas lógicas de duas entradas: and, nand, or, etc. Neste exercício pretende-se concretizar este domínio. No entanto, cada grupo não terá que concretizar o domínio completo, mas terá que apresentar a sua solução apenas para um dado tipo uma porta lógica:
  1. Turnos de 2ª-feira: Porta lógica de duas entradas And;
  2. Turnos de 3ª-feira: Porta lógica de duas entradas Or;
  3. Turnos de 5ª-feira: Porta lógica de duas entradas Nand;

A solução de cada grupo apesar de dizer respeito a um só tipo de porta lógica deve ser desenvolvidas tendo em conta que existem outros tipos de portas lógicas. Assim, deverá ser possível concretizar os restantes tipos de portas lógica sem alterar o código realizado e havendo reutilização de código.

Prazo de Entrega

Este exercício de programação pode ser entregue até ao início da aula de laboratório da 4ª semana.

Procedimento de Submissão

Após obter as classes que obedeçam às especificações fornecidas, crie um ficheiro jar, denominado EP4.jar ", contendo apenas os ficheiros fonte (.java) de todas as classes concretizadas. Se todas as classes estiverem no mesmo directório, deve ser dado o seguinte comando:

       jar -cvf EP4.jar *.java

Usando o sistema de submissões, enviar o ficheiro "EP4.jar" para avaliação.
O trabalho pode ser submetido várias vezes, até à data limite de entrega. Será apenas avaliada a última versão entregue. 

Critérios de avaliação

Na avaliação será tido em conta a correcção e a qualidade da solução entregue.