Você está na página 1de 1

Atividade Avaliativa de Programação Orientada a Objetos I

Prof. Ricardo Maroquio :: Curso de Sistemas de Informação :: 4º Período

Obs.: Esta atividade pode ser realizada em dupla, porém, o aluno pode optar por fazer sozinho. Deve-se utilizar a linguagem
de programação Java. As atividades devem ser entregues via link para um repositório do GitHub, sendo que a solução de
cada exercício deve estar em uma pasta diferente, em um projeto separado.

1. (20 pontos) Crie uma classe para representar um círculo. A classe deve conter atributos para armazenar o valor do
raio e os valores das coordenadas (X, Y) do centro do círculo. Esses atributos devem ser encapsulados através de
métodos get/set. O valor do raio deve ser sempre positivo. De forma complementar, essa classe deve fornecer
métodos públicos para:
a. Construir objetos passando-se um raio e uma coordenada de centro (X, Y);
b. Aumentar o raio do círculo a partir de um percentual;
c. Definir o centro do círculo a partir de uma coordenada (X, Y);
d. Mostrar o valor da área do círculo;
e. Mostrar o comprimento da circunferência.
Os métodos públicos devem ser apoiados por alguns métodos privados que devem ser criados de acordo com sua
percepção. Crie também um método main que instancie a classe para demonstrar seu uso.

2. (30 pontos) Crie uma classe para representar um automóvel convencional. Ele deve ter atributos encapsulados,
incluindo quilometragem, volume de combustível, capacidade do tanque, velocidade máxima, velocidade atual,
aceleração média e consumo médio (km/L). A classe deve fornecer métodos públicos para:
a. Construir objetos passando-se os valores de atributos que sejam naturalmente obrigatórios;
b. Abastecer o veículo, passando-se o custo do litro e o valor pago ao frentista;
c. Acelerar por uma quantidade de tempo (em segundos);
d. Frear por uma quantidade de tempo (em segundos);
e. Obter a velocidade atual;
f. Obter o volume atual de combustível.
Algumas considerações importantes:
g. Ao abastecer o veículo, o volume de combustível deve ser acrescido do volume abastecido, não podendo
ultrapassar a capacidade do tanque;
h. Ao acelerar o veículo por um tempo t, a velocidade atual deve ser aumentada de acordo com a aceleração
média, e a distância percorrida deve ser computada para se obter o gasto de combustível;
i. Ao frear por um tempo t, a velocidade atual deve ser reduzida de acordo com a aceleração média, sendo
que a velocidade não pode ser inferior a zero;
j. Enquanto a velocidade de um veículo é maior do que zero, a distância e o consumo devem ser computados.
Métodos privados podem ser criados para apoiar os métodos públicos. Ainda, deve-se criar um método main que
instancie a classe para demonstrar seu uso.

3. (50 pontos) Crie um conjunto de classes para representar o negócio de uma revenda de veículos, considerando as
informações mencionadas neste enunciado. A revenda lida com carros (hatch, sedan, caminhonete e SUV) e motos.
As pessoas envolvidas em uma venda/compra são o vendedor e o cliente. Todas as informações de compras e
vendas devem ser registradas. Os clientes podem ir à revenda adquirir um veículo ou vender um veículo (ou ambos).
O programa deve ter uma interface baseada em terminal e menus enumerados para acesso às funcionalidades.
Procure utilizar ao máximo os tópicos apresentados ao longo da disciplina.

Você também pode gostar