Buscar

Lista de Exercícios 02

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 3 páginas

Prévia do material em texto

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS
Instituto de Ciências Exatas e Informática — Sistemas de Informação
Prof: Saulo Augusto de Paula Pinto – saulo@pucminas.br
Disciplina: Programação Orientada por Objetos
1o Semestre de 2016
Lista de Exercícios 2
Data de entrega das questões 3 a 8 = data do primeiro teste: 15/03/20156
Data da postagem das soluções das questões 1 e 2: 16/03/2016 até às 23:59 (horário do SGA). 
Instruções
As soluções de 1) e 2) devem devem ser postadas no SGA até a data acima em um só arquivo, da seguinte forma: crie um programa que execute (ou exiba a resposta) de cada um dos dois itens desta lista. Use dois procedimentos para isso, cada um chamado do procedimento Main da classe Program, separados por mensagens para pressionar uma tecla para executar o próximo “exercício”. Use Console.ReadKey() para “ler” a tecla pressionada. 
As soluções de 3) a 8) devem ser entregues redigidas à mão e seguir as regras de ATP:
“Obs. 1: As respostas devem ser devolvidas escritas à mão, com letra legível e com seu nome em destaque na primeira página. Use apenas um grampo no canto superior esquerdo de seu trabalho. Não use clips, prendedores, capas, plásticos, envelopes ou qualquer outra coisa do tipo, pois você pode ser penalizado na pontuação em 30% do valor total da lista.
Obs. 2: Não é proibida a troca de ideias entre alunos. Entretanto, cada aluno deve tentar encontrar as soluções individualmente. Caso encontre dificuldades deve discutir com os colegas. Caso a dúvida persista deve procurar os monitores e o professor.”
Considerando a classe Combustível, vista em sala de aula, faça o que é pedido:
Altere-a para que seja uma implementação de um tipo abstrato de dados (TAD). 
Inclua pelo menos uma construtora pública.
Inclua métodos de acesso para alterar o preço por litro. Este método só deve alterar o valor do preço por litro se o argumento for maior que zero.
Crie alguns objetos e clone-os, alterando alguns preços de litros de combustível.
Faça o código seguinte funcionar completando-o adequadamente. Leia os comentários, pois podem pedir algum detalhe que falta implementar...
class ConjuntoDeInteiros {
	private int[] conjunto;
	// construtora(s) entram aqui:
	/**	
Função de acesso que retorna o elemento na posição pedida SE a posição for
 válida. 
Você deve testar isso!
	*/
	public int GetElemento(int posição) {
	 return conjunto[posiçao]
	}
	// Valem comentários da função anterior, em relação à posição do elemento
	public void SetElemento(int elemento, int posição) {
	 this.conjunto[posição] = elemento;
	}
public static ConjuntoDeInteiros União(ConjuntoDeInteiros c1, ConjuntoDeInteiros c2){
		// algoritmo iniciado em sala e feito na lista 1
}
} // classe
No Main:
// Você deve declarar o que for necessário, criar objetos, etc
// Deve-se ler os elementos dos conjuntos a e b da entrada-padrão
// Se quiser, você pode escrever uma função construtora que receba um vetor de 
// inteiros com os elementos. Isso é mais uma opção para os clientes da classe!
int tamanhoA,		// número de elementos do conjunto A
	 tamanhoB; 		// número de elementos do conjunto B
a = new ConjuntoDeInteiros(tamanhoA);
b = new ConjuntoDeInteiros(tamanhoB);
c = ConjuntoDeInteiros.União(a, b);
// Deve-se imprimir os elementos dos conjuntos na saída-padrão
Qual a ideia dos métodos bottom-up para programação?
Quais as duas características principais de um TAD?
Dê um exemplo de uma classe que seja cliente da classe ConjuntoDeInteiros. Ou, equivalentemente, um exemplo de uma classe que torne ConjuntoDeInteiros sua servidora.
Quais as regras para funções construtoras default em C#?
Para que serve uma classe, em POO?
Como uma função construtora é caracterizada?

Outros materiais