Você está na página 1de 5

R O

1. Crie e implemente um programa com base no diagrama abaixo:


Matematica
-num1: double
-num2: double
+somar(num1:double): double
+subtrair(num1:double,num2:double):double
+multiplicar(num1:double,num2:double): double
+dividir(num1:double,num2:double):void
+raizQuadrada(num1:double):double

2. Identifique as classes e implemente um programa para a seguinte especificação: “O


supermercado vende diferentes tipos de produtos. Cada produto tem um preço e uma
quantidade em estoque. Um pedido de um cliente é composto de itens, onde cada item
especifica o produto que o cliente deseja e a respectiva quantidade. Esse pedido pode ser
pago em dinheiro, cheque ou cartão.”

3. Faça um programa de agenda telefónica, com as classes Agenda e Contacto.

4. Faça um programa para controle de empréstimo de livros, com as classes Emprestimo,


Livro e Pessoa para gestão de uma Biblioteca.

1
Programação II
5. Faça um programa para representar a árvore genealógica de uma família. Para tal, crie
uma classe Pessoa que permita indicar, além de nome e idade, o pai e a mãe. Tenha em
mente que pai e mãe também são do tipo Pessoa.

6. Faça um programa que calcule a área de uma figura geométrica. Aceite quatro tipos de
figura geométrica: quadrado, rectângulo, triângulo e círculo. Use herança e polimorfismo.

7. Crie o código java para os seguintes diagramas de classes:

8. Crie uma classe ContaBanco, que possue numConta, tipo (Corrente-CC e Poupança-CP),
nomeCliente, saldo, status (aberto ou fechado) e os métodos abrirConta(), fecharConta(),
depositar(), levantar() e pagarAnualidade()
1. Informar o tipo de conta CC/CP no momento da abertura da conta (abrirConta())
2. Ao abrirConta() ganha 100.00 mts se for CC e 300.00 se for CP
3. Para fecharConta(), o saldo deve ser zero
4. Para depositar(), a conta deve estar aberta
5. Para leventar(), a conta deve estar aberta e com saldo suficiente
6. Sempre que pagarAnuidade() for invocado será debitado 50.00 se for C e 20.00 se for CP
7. Sempre que uma nova Conta for criada o status é falso e o saldo é zero

9. Desenvolver uma aplicação em Java contendo uma classe chamada Conta que mantém o
saldo de uma conta bancária. Um banco típico atende muitas contas, cada uma com seu

2
Programação II
próprio saldo. Utilize uma variável de instância para o saldo de cada conta. Além do saldo, a
conta bancária deverá ter um titular, e será identificada por um número inteiro.
A classe Conta deverá ter um construtor para inicializar o número da conta, o titular e o
saldo quando a conta é aberta, ou seja, quando uma nova instância da classe é criada.
Este constructor deverá checar a validade dos seus argumentos (o número da conta deve
ser positivo, o titular deve ser uma string não vazia, e o saldo inicial não poderá ser negativo).
As operações com contas bancárias são:

 getNumero, que retorna o número da conta


 getTitular, que retorna o titular da conta
 getSaldo, que retorna o saldo da conta
 deposito, para fazer o crédito de uma determinada quantia (que não poderá ser negativa)
na conta
 saque, que retira dinheiro de uma conta; assegure que a quantia de débito seja não negativa, e
que não exceda o saldo da conta; se exceder, o saldo deve ser deixado inalterado e o
método deve imprimir uma mensagem adequada
 toString, para converter a conta para string

Modifique a classe ContaTeste para que o método saque também seja testado.

10. Implementar uma classe chamada Banco contendo as seguintes informações para uma
banco:

 nome, o nome do banco


 carteira, a carteira de clientes do banco, na forma de um vetor de contas bancárias
 numeroContas, o número de contas abertas (ou seja, o númro de contas que foram
armazenadas no vetor de contas)

As operações com bancos são:

 consultar, que deverá solicitar o número da conta corrente e imprimir o titular e o saldo
da conta

3
Programação II
 abrir, para abrir uma nova conta com dados que serão fornecidos pelo usuário
 depositar, para realizar um depósito, sendo que o número da conta e o valor do depósito
serão solicitados ao usuário
 sacar, para realizar um saque na conta e no valor solicitados pelo usuário
 total, para retornar o valor total dos saldos de todas as contas mantidas no banco
 caixaAutomatico, para repetidamente apresentar um menu de opções para o usuário escolher
uma das operações acima, e realizar a operação escolhida, até que o usuário escolha terminar.

Implemente um método main para testar a classe, usando a operação caixaAutomatico

A aplicação já está parcialmente implementada no arquivo Banco.java e pode ser utilizado para
completar o exercício.

Caixa automático: contas especiais e contas remuneradas

Estender o programa de conta bancária para incluir novos tipos de contas, além da conta simples já
existente:

 conta especial, com um limite para saques mesmo quando não há saldo disponível, e
 conta remunerada, com rendimentos diários sobre o saldo em conta; a taxa de rendimentos
deverá ser única para o banco

Determine quais são as operações específicas com cada tipo de conta e implemente-as. Utilize
herança, polimorfismo e ligação dinâmica na implementação do sistema.

Para testar a conta remunerada será necessário trabalhar com o tempo. Para simular a passagem de
tempo, faça as seguintes alterações no programa:

 Acrescente um atributo na classe Banco para representar a data atual; este atributo deverá ser
iniciado com a data actual do sistema
 Acrescente no caixa automático uma opção para avançar para a dia útil seguinte; esta
operação deverá também actualizar o saldo de todas as contas remuneradas

Classes já disponíveis que podem ser utilizadas para completar a actividade:

4
Programação II
 Conta.java
 ContaRemunerada.java
 Banco.java

11. Uma Empresa requisitou uma pequena aplicação para gestão da remuneração dos seus
funcionários.
Supondo que você seja o responsável pelo desenvolvimento da aplicação.
Sobre o funcionário, sabe-se que:
Todo funcionário possui o seu bilhete de identidade e salário fixo e data de ingresso;
O funcionário comissionado possui percentual e número de vendas
O funcionário produtividade possui unidades produzidas e valor de cada unidade
produzida.

11.2. Crie uma classe para representar todos os funcionários


a) Adicione construtore(s) na superclasse
b) Adicione os métodos de acesso e modificação, incluindo o método toString();
c) Adicione um método que permite calcular a remuneração de um determinado
funcionário (NB: Para um funcionário simples, a remuneração corresponde ao seu
salário fixo)

11.2. Aplicando o conceito de herança


a) Crie a classe do funcionário comissionado e:
Faça o override do método remuneração que soma o salário fixo com o valor
devidido a título de comissão;
Faça o override do método toString()
b) Crie a classe do funcionário produtividade e:
Faça o override do método remuneração que soma o salário fixo com o que é dividido a título
de produtividade;
Faça o override do método toString()

5
Programação II

Você também pode gostar