Você está na página 1de 2

Utilizando as estruturas de dados genéricas: vectores (Arrays), listas (List), conjuntos (Set) , funções (Map) ou

subestruturas mais especificas das anteriores construir programas java para:

1. Gerir as senhas de atendimento por ordem de chegada num balcão de atendimento.


a. Declarar uma classe java, capaz de armazenar uma senha num balcão de atendimento. Uma senha é descrita
por: número inteiro de chegada, data/hora de chegada, serviço de atendimento ao qual se destina (texto).
b. Declarar uma estrutura de dados para armazenar as senhas em fila de espera para atendimento.
c. Construir o programa na linha de comandos capaz de realizar as seguintes operações:
d. Criar uma nova senha após a leitura dos dados correspondentes.
e. Inserir uma nova senha na fila de espera.
f. Listar as senhas em fila de espera para serem atendidas.
g. Retirar a próxima senha da fila de espera para atendimento. Se não houver indicar a mensagem “fila de
espera vazia”).
h. Indicar quantas senhas existem em fila de espera.

2.
a. Pergunta: Planeia escrever um programa que utiliza várias interfaces básicas Set, List, Queue, e Map. Você
não tem certeza de quais implementações funcionarão melhor, então decide usar implementações de
propósito geral até ter uma ideia melhor de como seu programa funcionará no mundo real. Que
implementações são essas?
Resposta:
b. Para cada uma das interfaces Set, List e Map indicar os tipos de implementações mais comuns e quais as
diferenças entre elas.
Resposta:
c. Se precisar de um tipo de Set que forneça iteração ordenada por valor, qual classe deve usar?
Resposta:

3. Pergunta: A classe Collections permite aceder a implementações de métodos estáticos que operam ou
retornam coleções. Na documentação procurar ajuda sobre esta classe e fazer um levantamento dos
métodos principais e a função que desempenham.

II

4. Um programa para efectuar perguntas de escolha múltipla e no final indicar quantas o utilizador
acertou. As perguntas são feitas sequencialmente pela ordem em que se encontram na lista.
a. Declarar uma classe para armazenar uma pergunta do questionário. Uma pergunta é definida por:
Questão: texto, opcaoA: texto, opcaoB: texto, opcaoC: texto, opcaoD: texto (…) e um número da
resposta correta: inteiro para armazenar a resposta correta.
b. Declarar uma estrutura de dados para armazenar as perguntas do questionário.
c. Construir um programa para:
i. Criar uma nova pergunta.
ii. Inserir uma pergunta no questionário numa determinada posição. Se a posição não
existir indicar um erro. Senão indicar uma mensagem a confirmar a inserção na posição
indicada.
iii. Mostrar a pergunta de uma dada posição. Indicar uma mensagem de erro se a posição
não existir.
iv. Eliminar a pergunta de uma posição i do questionário.
v. Efectuar todas as perguntas do questionário e no final indicar o número de questões
certas e o total de questões efectuadas. Para cada questão, antes de avançar para a
questão seguinte indicar a resposta correta.
5. Uma das técnicas utilizadas na construção de software consiste na utilização de um guião. Um guião é
constituído por uma base de dados de perguntas. Cada pergunta pode ter várias opções de resposta.
Cada opção de resposta está associado um número que indica a próxima pergunta, até chegar ao fim.
Cada pergunta é formada por: Questão, OpcaoA, OpcaoB, OpcaoC … Próx_perguntaA …
Prox_perguntaC.
O programa começa com um pergunta = 1 e passa para a pergunta seguinte conforme a opção
escolhida até terminar. -1 pode ser usado como número de pergunta para terminar.
a. Declarar uma classe com o nome Pergunta capaz de armazenar uma pergunta.
b. Declarar o construtor Pergunta para criar uma nova pergunta.
c. Declarar o método ToString() para devolver um texto com a estrutura da pergunta.
d. Declarar uma estrutura de dados para armazenar um guião para um programa de detecção de
avarias.
e. Construir no papel construir uma tabela para um guião de despistar avarias, por exemplo, num
computador que não liga.
f. Construir um programa java para:
i. Inserir uma pergunta no guião.
ii. Listar as perguntas existentes no guião.
iii. Eliminar uma pergunta, por número, do guião.
iv. “Correr” o guião e verificar se está a responder correctamente.

Você também pode gostar