Buscar

Prof. Elder R. Santos - Teste 1 - 2013-1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação Orientada a Objetos I - Teste 1
Prof. Elder Rizzon Santos
Universidade Federal de Santa Catarina
Aluno: ____________________________________________________________
O tiozinho que lava os carros no estacionamento da UFSC resolveu ampliar seu portfolio de 
negócios e abriu um mini-mercado. Visando um negócio bem sucedido, o tiozinho criou um 
programa de fidelidade o qual ele deseja sistematizar. Portanto, construa as classes Compra e 
Mercado de acordo com a especificação a seguir.
Classe Compra (total: 2,0)
Atributos (todos privados): nomeCliente, ehClienteAntigo, qtProdutos, valorCompra (0,5)
• nomeCliente armazena o nome do cliente; ehClienteAntigo representa se o cliente é, ou 
não é, um cliente antigo do tiozinho (de outros empreendimentos); qtProdutos a quantidade 
de produtos comprados; valorCompra, o total, em R$ da compra do cliente.
• Defina os tipos mais adequados à cada informação.
Construtor: esta classe possui apenas um construtor, o qual possui 4 parâmetros utilizados 
para inicializar todos os atributos da classe Compra. (0,5)
Método: public void atualizaQtProdutos(int qtProdutos) (0,25)
• Atribui a quantidade de produtos informada através do parâmetro no respectivo atributo do 
objeto.
Método public boolean ehClienteAntigo() (0,25)
• Retorna verdadeiro caso o cliente seja antigo e falso caso contrário.
Método public double informaQtProdutos() (0,25)
• Este método retorna o a quantidade de produtos da compra.
Método public String informaValorCompra() (0,25)
• Este método retorna o valor da compra.
Classe Mercado (total: 8,0)
Atributos e Construtor: Declare os atributos e implemente o construtor de forma a possibilitar 
que todas as funcionalidades abaixo sejam implementadas. (0,5)
Método public double lucrototal() (1,5)
• Informa o total (em R$) do lucro do tiozinho. Cada compra custa (valor estimado) R$ 3,00 
em termos de luz e serviço oferecidos pelo Mercado.
Método public double descontoCompra(Compra c) (1,5) 
• Informa o desconto da compra informada por parâmetro. Caso o cliente seja antigo: (a) 
verifica-se o valor de suas compras e, se o valor for maior do que R$ 100,00, este recebe 
um desconto de 10%; (b)se o valor for maior do que R$ 200,00 o cliente recebe um 
desconto de 15%. Caso o cliente não seja antigo, este recebe 5% de desconto apenas se 
suas compras excederem R$ 150,00.
Método public double recebePagamento(Compra c, double valorPago) (2,0)
• Recebe o pagamento de uma compra informada parâmetro juntamente com o valor pago 
pelo cliente - também informado por parâmetro. Retorna o troco do cliente e contabiliza o 
lucro no total do dia. Este método deve (obrigatoriamente) utilizar o método 
descontoCompra para obter o desconto do cliente e computar seu troco. 
Método public String comprasMaisCaras() (2,5)
• Retorna os nomes dos clientes e o respectivos valores das duas compras mais caras 
realizadas no mercado.
• Dica: String s = “abc”; int n = 456; String s3 = s1 + n; --> s3 --> “abc 456”.
Boa Prova!

Continue navegando