Buscar

1a_lista_de_exercicios

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

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

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
Você viu 3, do total de 5 páginas

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

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

UNIVERSIDADE FEDERAL DO SUL E SUDESTE DO PARÁ 
FACULDADE DE ENGENHARIA ELÉTRICA E COMPUTAÇÃO 
DISCIPLINA: PROGRAMAÇÃO II 
1ª Lista de exercícios 
 
1. Desenvolva um programa em Java que leia o nome e a idade de 3 pessoas e mostre o 
nome da pessoa mais velha e o nome da pessoa mais nova. Essa operação deve ser feita 
a partir da classe Pessoa. Crie uma outra classe de teste para testar essa classe. 
 
2. Faça uma classe Aluno que contenha os atributos nome (String) e nota (double). 
Aplique encapsulamento e um construtor de classe que inicialize os atributos. No 
método principal, crie um Array de Alunos. O tamanho do Array deve ser indicado pelo 
teclado. De acordo com esse tamanho, utilize um laço clássico para ler as informações 
de todos os Alunos do Array. Em seguida, use um laço especializado para exibir as 
informações de cada Aluno. Para tanto, sobrescreva o método toString() para que 
realize esse processo. 
 
3. Um palíndromo é uma sequência de caracteres que é lida da esquerda para a direita ou 
da direita para a esquerda. Por exemplo, cada um dos seguintes inteiros de cinco dígitos 
é um palíndromo: 12321, 55555, 45554 e 11611. Escreva um aplicativo que leia em 
um inteiro de cinco dígitos e determine se ele é ou não um palíndromo. Se o número 
não for de cinco dígitos, exiba uma mensagem de erro e permita que o usuário insira um 
novo valor. 
 
4. Explique se o código abaixo funcionará adequadamente e justifique. 
 
 
5. Use um array unidimensional para resolver o seguinte problema: Uma companhia faz o 
pagamento a seus vendedores baseado em comissão. Os vendedores recebem $200 por 
 
 
 
semana mais 9% do bruto das suas vendas para aquela semana. Por exemplo, um 
vendedor que vende o bruto de $5000 em uma semana, recebe $200 mais 9% de $5000, 
ou um total de $650. Escreva uma aplicação (usando um array de int) que determine 
quantos vendedores receberam salários em cada uma das faixas abaixo (assuma que o 
salário de cada vendedor seja truncado para um número inteiro. Ex: 7,8 → 7). Os valor 
do salário deve ser lido do teclado. Leia 30 salários. Pode ser feito direto no método 
main. 
a) $200 – $299 
b) $300 – $399 
c) $400 – $499 
d) $500 – $599 
e) $600 – $699 
f) $700 – $799 
g) $800 – $899 
h) $900 – $999 
i) $1000 e além 
Sumarize os resultados em um formato tabular (de tabela). 
 
6. Escreva um programa em Java com uma classe LeEntrada. A classe deve possuir um 
campo mensagem (String). Deve haver um método que leia esse campo do teclado 
e imprime na saída a mensagem digitada pelo usuário. Lembre-se do encapsulamento. 
 
7. Faça um programa em Java que contenha uma classe Funcionario. A classe possui 
os campos nome e salario. Deve possuir, também, um método ajustaSalario, 
que altera o salario do Funcionario de acordo com uma porcentagem. A 
porcentagem é passada como argumento ao método. Teste a classe. Obs: todos as 
variáveis de instância são private. 
 
8. Escreva um programa que possua uma classe Turma e uma classe Aluno. A classe 
Aluno possui um atributo nome do tipo String e outro atributo 
turmaMatriculado, do tipo Turma. A classe deve possuir um construtor que 
inicialize ambos os campos. Teste a classe, lendo as informações do teclado. Não 
esqueça dos métodos set e get. 
 
9. Crie uma classe chamada Fatura para que uma loja de suprimentos de informática a 
utilize para representar uma fatura de um item vendido nela. Uma Fatura deve incluir 
quatro partes das informações como variáveis de instância – o número (String), a 
descrição (String), a quantidade comprada de um item (int) e o preço por item 
(double). Sua classe deve ter um construtor que inicializa as quatro variáveis de 
instância. Forneça um método set e um get para cada variável de instância. Além disso, 
forneça um método chamado getTotalFatura que calcula o valor de fatura (isto é, 
multiplica a quantidade pelo preço por item) e depois retorna esse valor como double. 
Se a quantidade não for positiva, ela deve ser configurada como 0. Se o preço por item 
não for positivo, ele deve ser configurado como 0.0. Escreva um aplicativo de teste 
chamada FaturaTeste que demonstra as capacidades da classe Fatura. 
 
10. Crie uma classe chamada Funcionario que inclua três variáveis de instância – um 
primeiro nome (tipo String), um sobrenome (tipo String) e um salário mensal 
(double). Forneça um construtor que inicializa as três variáveis de instância. Forneça 
os métodos de encapsulamento para cada variável de instância. Se o salário mensal não 
for positivo, configure seu valor como 0.0. Escreva um aplicativo de teste chamado 
FuncionarioTeste que demonstre as capacidades da classe Funcionario. Crie 
dois objetos Funcionario e exiba o salário anual de cada objeto, juntamente com 
seu nome completo. Então, dê a cada Funcionario um aumento de 10% e exiba 
novamente o salário anual de cada Funcionario, juntamente com seu nome 
completo. 
 
11. Crie uma classe Data que inclua três variáveis de instância – dia (int), mes (int) e 
ano (int). Forneça um construtor que inicializa as três variáveis de instância supondo 
que os valores fornecidos estejam corretos. Ofereça métodos de encapsulamento. 
Apresente um método mostraData que exiba dia, mes e ano separados por barras 
normais (/). Escreva um aplicativo de teste chamado DataTeste que demonstre as 
capacidades da classe Data. 
 
12. Crie uma classe Conta, com o atributo saldo. Aplicando encapsulamento, crie 
também dois métodos deposita e saca. O primeiro recebe um double como 
argumento, que representa uma quantia a ser colocada na conta. O segundo também 
recebe um double como argumento, que representa uma quantia a ser retirada da 
conta. Crie um construtor que tenha, como argumento, o saldo inicial da conta, no 
momento de sua criação. A classe deve possuir um método consulta, que imprime 
na tela o saldo atual da conta. 
Após isso, crie duas classes ContaCorrente e ContaPoupança. Ambas 
herdam de Conta. A conta corrente possui uma taxa de 10% em qualquer operação de 
depósito, enquanto que a conta poupança possui uma taxa de 15% em operações de 
depósito. Sobreponha os métodos de depósito para que realizem as operações de 
adequadas. 
Ambas as classes também possuem construtores, que recebem o saldo inicial 
das contas no momento da sua criação. Utilize a palavra reservada super para 
manipular os construtores. 
 
 
13. Uma pequena companhia aérea comprou um computador para seu novo sistema de 
reservas. Foi solicitado a você que desenvolvesse o novo sistema. Você deve escrever 
uma aplicação para atribuir assentos em cada vôo do único avião da companhia 
(capacidade: 10 assentos). Sua aplicação deve exibir na tela as seguintes alternativas: 
Por favor, digite 1 para Classe Executiva e Por favor, 
digite 
2 para Classe Econômica. Se o usuário digitar 1, sua aplicação deve atribuir um 
assento na seção da primeira classe (assentos 1 a 5). Se o usuário digitar 2, sua aplicação 
deve atribuir um assento na seção da classe econômica (assentos 6 a 10). Sua aplicação 
deve, então, exibir um cartão de embarque indicando o número de assento da pessoa 
e se é na primeira classe ou na econômica. 
Use um Array unidimensional do tipo primitivo boolean para representar o mapa do 
avião. Inicialize todos os elementos do Array com false para indicar que todos os 
assentos estão vazios. Conforme cada assento for atribuído, ajuste o elemento do Array 
correspondente para true, para indicar que o assento não está mais disponível. Sua 
aplicação não deve nunca atribuir um assento que já tenha sido atribuído. Quando a 
Classe Econômica estivercheia, sua aplicação deve perguntar se é aceitável que ela seja 
alocada na Classe Executiva (e vice-versa). Se sim, faça a devida atribuição de 
assento. Caso contrário, exiba a mensagem “O próximo vôo parte em 3 
horas.” 
 
14. Crie uma hierarquia de classes para uma loja que venda livros, CDs e DVDs. 
Deve existir uma classe Produto, de onde todas as outras classes herdarão. A classe 
Produto possui dois atributos: preco e nome. 
Em cada subclasse, sobrescreva o método toString() para que imprima: 
• Para Livro’s: preco, nome e autor; 
• Para CD’s: preco, nome e número de faixas; 
• Para DVD’s: preco, nome e duracao (em minutos). 
Evite ao máximo repetição de código utilizando a palavra super no construtor (todas 
as classes devem ser inicializadas através de um construtor) e no método sobrescrito 
(toString()). Em seguida, crie uma classe Loja, que contenha como atributo um 
Array de Produto’s listaProdutos. O tamanho do Array deve ser determinado 
através do construtor da classe. No método main(), crie um objeto Loja e inicialize, 
através do seu construtor, uma lista de 5 Produto’s. Para popular o Array, crie um 
método adiciona(), que recebe um argumento do tipo Produto, que será inserido 
na lista e um argumento do tipo int, indicando a posição do Array que receberá o 
Produto. Popule o Array com 5 Produto’s diferentes, distribuídos entre Livro, CD 
e DVD. Ao final, utilizando um laço especializado, imprima as informações de cada 
integrante (Produto) do Array, através do método toString(), implícita ou 
explicitamente. 
 
15. Escreva um método estático distancia para calcular a distância entre dois pontos – 
(𝑥1,𝑦1) e (𝑥2, 𝑦2). O método pertence à classe Ponto. Todos os números e valores de 
retorno devem ser do tipo double. Incorpore esse método a um aplicativo que permita 
que o usuário insira as coordenadas dos pontos. Lembrete: 
𝑑 . 
 
16. A distância média da Terra à Lua é de aproximadamente 382.000 quilômetros. Usando 
a classe ConversaoDeUnidadesDeComprimento, escreva um programa em Java 
que mostre essa distância média da Terra à Lua em milhas e pés, utilizando a referida 
classe. Escreva métodos estáticos adicionais para a classe 
ConversaoDeUnidadesDeComprimento, se necessário. 
• 1 𝑘𝑚 = 0,621 𝑚𝑖𝑙ℎ𝑎 
• 1 𝑘𝑚 = 3280,84 𝑝é𝑠 
17. Escreva a classe ConversaoDeUnidadesDeArea com métodos estáticos para 
conversão das unidades de área segundo a lista abaixo. Cada tipo de conversão deve 
possuir um método específico. Teste cada método da classe. 
• 1 𝑚2 = 10.76 𝑝é𝑠 𝑞𝑢𝑎𝑑𝑟𝑎𝑑𝑜𝑠 
• 1 𝑝é 𝑞𝑢𝑎𝑑𝑟𝑎𝑑𝑜 = 929 𝑐𝑚2 
• 1 𝑚𝑖𝑙ℎ𝑎2 = 640 𝑎𝑐𝑟𝑒𝑠 
• 1 𝑎𝑐𝑟𝑒 = 43.560 𝑝é𝑠 𝑞𝑢𝑎𝑑𝑟𝑎𝑑𝑜𝑠 
18. Escreva a classe ConversaoDeUnidadesDeTempo com métodos estáticos para 
conversão aproximada das unidades de tempo, segundo a lista abaixo. 
• 1 𝑚𝑖𝑛 = 60 𝑠𝑒𝑔 
• 1 ℎ = 60 𝑚𝑖𝑛 
• 1 𝑑𝑖𝑎 = 24 ℎ 
• 1 𝑠𝑒𝑚𝑎𝑛𝑎 = 7 𝑑𝑖𝑎𝑠 
• 1 𝑚ê𝑠 = 30 𝑑𝑖𝑎𝑠 
• 1 𝑎𝑛𝑜 = 365.25 𝑑𝑖𝑎𝑠 
 
19. Escreva uma classe que contenha métodos estáticos para calcular as médias e somas de 
dois, três, quatro e cinco valores, considerando que os argumentos e retorno dos 
métodos podem ser dos tipos int e double. Um total de 16 métodos deverão ser 
criados.

Continue navegando