Buscar

QUESTÕES_JAVA_PROGRAMAÇÃO (AV1 e AV2)

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 4 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

Prévia do material em texto

QUESTÕES PRÁTICAS DE PROGRAMAÇÃO JAVA
AV1
Questão 1 (ArrayObjetos): Faça um programa, utilizando a classe Pessoa, que permita:
Inserir pessoas em uma lista, com os dados lidos via teclado.
Listar todas as pessoas armazenadas.
Observações:
- Apresente um menu para o usuário de forma que ele possa realizar estas operações (Inserir ou Listar) repetidas vezes, até que deseje sair.
Questão 2 (BANCO SIMPLES): Desenvolva um Sistema de Controle Bancário para correntistas de dado banco, em Java, com as seguintes funcionalidades:
Inserir nova conta: entrar com numero e saldo.
Excluir conta: entrar com seu número da conta.
Efetuar operações de débito ou crédito em contas: escolher o número da conta e valor.
Consultar saldo da conta: entrar com o seu número da conta.
Efetuar operação de transferência entre contas: escolher os números das contas e o valor. 
Observações:
- Utilizar arrays.
- Criar um menu de opções para que as funcionalidades acima, incluindo a opção de saída pelo usuário.
Questão 3 (TSE): Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o número do candidato, o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o número e o nome do candidato e inicializa o número de votos com zero. Desenvolva um programa que cria um candidato a sua escolha. Em seguida, deve ser lido o código. Se o código lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos. Resumindo, esse sistema simples de eleição, deve utilizar a classe Candidato implementada para modelar objetos do tipo candidato. Definir uma outra classe para agrupar candidatos (usando arrays). Elabore um programa que lê um número arbitrário de candidatos e efetua a contagem (votações); no final, indique o vencedor e o total de votos em termos percentuais.
Questão 4 (ESTOQUE SIMPLES): Desenvolva um sistema simples para controle de estoque, contendo pelo menos as classes Produto e Estoque, e as seguintes operações: 
Manter as propriedades dos produtos (nome, preço, quantidade em estoque).
Verificar que produtos precisam ser repostos.
Retirar um produto do estoque e,
Listar o saldo em reais do estoque.
Observações:
- Utilizar arrays.
- Criar um menu de opções para que as funcionalidades acima, incluindo a opção de saída pelo usuário.
Questão 5 (ACADÊMICO SIMPLES): Desenvolva um Sistema de Controle de Notas para alunos de uma dada turma, em Java, com as seguintes funcionalidades:
Inserir novo aluno: entrar com nome e matrícula.
Excluir aluno, entrando com sua matrícula.
Lançar/editar notas: escolher a matrícula e entrar com as notas
Consultar situação dos alunos (notas, média e aprovado/reprovado)
Listar todos 
Situação de um único aluno, dada sua matrícula.
Observações:
- Utilizar ArrayList
- Criar um menu de opções para que as funcionalidades acima, incluindo a opção de saída pelo usuário.
Questão 6 (ESTOQUE COMPLETO): Considere que você esteja num supermercado comprando algumas “guloseimas’’, carregando uma mochila vazia. Cada produto tem um código único, um peso e um preço. Você pode comprar quantos produtos quiser desde que você não ultrapasse o seu limite de gastos, o limite de volumes da mochila, e nem o seu limite de peso da mochila, já que você vai carregar a sua mochila para casa. Assim:
(a) Represente os atributos da classe produto e da classe mochila;
(b) Implemente métodos que criem objetos das duas classes. Todos os limites da mochila devem ser passados neste método de criação, sendo todos estes limites números reais, exceto o limite de volumes da mochila;
(c) Implemente um método que insira produtos na mochila, se for permitido. A permissão deverá testar TODOS os limites pré-estabelecidos da mochila;
(d) Implemente um método que retire produtos da mochila, modificando informações a respeito da mochila; e
(e) Implemente um método que informe o número de volumes da mochila, o peso da mochila, o gasto até agora e todos os produtos existentes na mochila.
Questão 7 (BANCO COMPLETO): Projete e implemente um sistema que modele um banco:
Seu projeto deve permitir a criação de vários bancos e várias contas para cada banco. Para um dado banco deve ser possível: obter seu nome, obter seu código, criar uma nova conta e obter uma conta a partir de um código.
Para cada conta corrente criada deve ser possível: obter o nome do correntista, obter o banco a qual a conta pertence, obter seu saldo, fazer um depósito e efetuar um saque.
Faça com que cada banco tenha um código próprio, o mesmo vale para as contas. Permita que contas de bancos diferentes tenham o mesmo número.
Escreva um programa de teste que crie dois bancos e duas contas, uma para cada banco. Efetue as operações possíveis para as duas classes.
Segue abaixo, o diagrama de classe do projeto.
Questão 8: Defina uma classe de objetos que representam uma data, contendo os seguintes métodos:
i) um método toString, que retorna uma cadeia de caracteres correspondente à data representada pelo objeto alvo da chamada, no formato “dd/mm/aaaa”, onde dd, mm e aaaa correspondem, respectivamente, ao dia, mês e ano desta data;
ii) um método compara, que compara a data representada pelo objeto alvo da chamada com uma data passada como argumento para o método; o valor retornado deve ser 0 se essas datas são iguais, ou um número negativo se a primeira data é anterior à última, ou um número positivo se a primeira é posterior à última.
Questão 9: Defina uma classe IntervaloDeTempo, cujos objetos representam um intervalo de tempo em número de horas, minutos e segundos, ou seja, existem campos na classe para cada um desses valores. O construtor de objetos dessa classe deve receber como argumento um número inteiro positivo, representando o número de segundos decorridos desde o instante inicial 00:00:00 horas, e retornar um objeto da classe IntervaloDeTempo correspondente. Por exemplo, a expressão new IntervaloDeTempo(3500) deve retornar um objeto que represente 0 horas, 58 minutos e 20 segundos. Além do construtor citado, defina para a mesma classe:
a) 2 métodos de soma, sendo que um recebe como parâmetro o tempo a ser somado em segundos, enquanto que o outro recebe um objeto IntervaloDeTempo;
b) 1 método chamado toString(), que à partir do conteúdo do objeto, retorne uma string com o formato dado acima: “x horas, y minutos e z segundos”. Evite, sempre que possível, a replicação de código.
AV2
Questão 1: Suponha um sistema de controle de pedidos num restaurante. Neste sistema, um cliente pode ser identificado pelo número de sua mesa ou pelo número do seu telefone, no caso do pedido ser entregue em domicílio. Um pedido contém o código do prato, o preço deste e o cliente correspondente. Os pedidos a serem entregues em domicílio tem acréscimo de 10% (Para acrescer um valor de x%, basta multiplicar este valor por (1 + x/100). Baseado no código do método main(), informado abaixo, apresente uma implementação para as classes utilizadas neste código.
import java.util.ArrayList;
import java.util.List;
public class AP2_2011_2_Q3 {
	public static void main(String[] args) {
		List<Pedido> pedidos = new ArrayList<Pedido>();
		// Código do prato, valor e código do cliente		
		pedidos.add(new PedidoLocal(1, 50.0, 1));
		pedidos.add(new PedidoLocal(2, 20.0, 1));
		pedidos.add(new PedidoLocal(3, 100.0, 1));
		//Código do prato, valor e telefone do cliente
		pedidos.add(new PedidoViagem(1, 50.0, "9999-9999")); 
		pedidos.add(new PedidoViagem(2, 20.0, "8888-8888"));
		double soma = 0;
		for (Pedido p : pedidos) {
			soma = soma + p.getPrecoPrato();
		}
		System.out.println("A soma é: " + soma);
	}
}
Questão 2: Considere o código abaixo que exemplificao uso de um sistema de vendas:
public class AP2_2009_2_Q3 {
	public static void main(String[] args) {
		Estoque produtos = new Estoque();
		produtos.adicionaProduto(new Produto ("monitor", 500));
		produtos.adicionaProduto(new Produto ("telefone", 150));
		produtos.adicionaProduto(new Produto ("teclado", 70));
		produtos.adicionaProduto(new Produto ("mouse", 50));
		CarrinhoCompra carrinho = new CarrinhoCompra(produtos);
		carrinho.adicionaItem("monitor", 2);
		carrinho.adicionaItem("telefone", 5);
		carrinho.adicionaItem("teclado", 2);
		System.out.println("A soma dos produtos é: " +
					 carrinho.calculaTotal());
	}
}
Apresente uma possível definição para as classes Estoque, Produto (cada produto possui um nome e seu valor) e CarrinhoCompra, as quais compõe este sistema de vendas. Observe que, na adição de um item no carrinho de compras, além do nome do produto, é fornecida a quantidade de itens a serem adquiridos. O método calculaTotal() retorna a soma total de produtos existentes no carrinho.
Questão 3: Suponha que em várias aplicações diferentes você precisa de uma funcionalidade genérica que calcula a soma dos valores de cada objeto de um conjunto. Para facilitar, você resolve implementar uma classe Totalizador que seja capaz de retornar essa informação para diferentes conjuntos de objetos.
Implemente seu componente reusável Totalizador e um programa de teste do seu componente aplicado a dois conjuntos de objetos diferentes: um conjunto de produtos e um conjunto de pessoas. O valor total obtido sobre o conjunto de produtos é a soma dos preços dos produtos. O valor total obtido sobre o conjunto de pessoas é a soma das idades das pessoas.

Continue navegando