Objectivo

  • Realização de uma classe utilizando a linguagem de programação Java.
  • Aplicação de regras de codificação na realização de código.

Actividade

  1. Resolução do enunciado da aula aplicando as regras de codificação da disciplina.
  2. Resolução na aula do 4º Exercício de Programação (EP4).

Enunciado da Aula

Realize uma classe Java que concretize uma porta lógica AND com duas entradas. Esta classe deve chamar-se AndGate e ter, entre outras que sejam (justificadamente) julgadas necessárias, a seguinte funcionalidade:

  • Uma porta lógica AND pode ser criada já com valores para as suas entradas ou então pode ser criada com o valor por omissão "false" para as duas entradas;
  • Dois métodos que permitem alterar de forma isolada cada uma das entradas;
  • Um método, designado getOutput, que indica qual o valor da saída, tendo em conta o estado actual das duas entradas.
  • Dois métodos que devolvem o valor das duas entradas.

Após ter realizado esta classe, codifique o método main respectivo, por forma a demonstrar o correcto funcionamento desta classe. Nomeadamente, este método deverá criar dois objectos da classe AndGate, colocar entradas diferentes para cada um dos objectos e escrever o valor da saída obtida para cada um destes objectos. Deverá escolher as combinações de valores de entrada correctas por forma a ter valores distintos na saída dos dois objectos.

Realize uma nova classe que concretiza uma porta lógica AND com três entradas. Esta classe deve chamar-se TrenaryAndGate e ter, entre outras que sejam (justificadamente) julgadas necessárias, a seguinte funcionalidade:

  • Três métodos que permitem definir o valor de cada uma das entradas;
  • Um método, designado getOutput, que devolve o valor do resultado da operação lógica, tendo em conta o valor actual das três entradas;
  • A funcionalidade desta classe deve ser concretizada usando a classe anterior.
  • Neste caso, quando é criado uma porta lógica de 3 entradas, o valor de cada uma das entrada é false.

Após ter realizado uma solução para a classe TrenaryAndGate, realize uma nova versão em que optimiza o número de instâncias de AndGate criadas por cada instância de TrenaryAndGate.

Relembra-se que todo o código concretizado deve seguir as regras de codificação da disciplina.

Altere o código desta classe, por forma a que quando é criado uma porta lógica de 3 entradas, o valor de cada uma das entrada é true.

Solução Proposta

A solução proposta só deve ser consultada após ter realizado o exercício proposto. Compare a sua solução com a solução proposta e caso haja diferenças, tente percebê-las por forma a descobrir se tem erros na sua solução ou utilizou apenas outra abordagem para realizar o trabalho pedido.