1listaexercicios-gcc110-14a
DESCRIPTION
Lista sobre programacao orientada a objetos.TRANSCRIPT
Universidade Federal de LavrasDepartamento de Ciência da Computação
GCC110 – Programação Orientada a ObjetosClaudiane Maria Oliveira
Lista de Exercícios 1
1. Defina, explique e exemplifique os seguintes conceitos:
1. Objeto
2. Classe
3. Domínio do problema
4. Atributos
5. Estado
6. Comportamento
7. Mensagem
8. Assinatura de um método
9. Interface de um objeto
2. Defina objetos, atributos e métodos para os seguintes cenários:
1. Sou organizador da festa os Nerds da computação, preciso de um aplicativo no celular pro
pessoal confirmar presença.
2. Tenho uma locadora de veículos e queria fazer a gestão do meu negócio.
3. Trabalho na UFLA e preciso de um sistema pra fazer o controle das notas dos alunos.
3. Utilizando o projeto Formas do BlueJ utilizado na aula, envie as mensagens necessárias para que os
objetos das classes em questão saiam de seu estado inicial e fiquem no estado indicado.
1. Classe Triangulo. Estado: tamanho: 130, posX: 325, posY: 150, cor: azul
2. Classe Pessoa. Estado: tamanho: 120, posX: 50, posY: 300, cor: verde
4. Faça o mesmo do exercício anterior, mas dessa vez envie as mensagens utilizando o interpretador
(Sratchpad ou Code Pade) do BlueJ.
5. Cria através do interpretador um objeto da classe Quadrado, um objeto da classe Triangulo e um
objeto da Classe circulo e chame os métodos necessárias para que eles formam uma pseudo bandeira
do Brasil (com um triangulo no lugar do losango).
6. Utilizando o interpretador imprima na saída padrão (linha de comando) o estado dos objetos criados
no exercício anterior.
7. Altere a classe Triangulo de forma que o estado inicial dos objetos dessa classe tenha o triangulo
posicionado no canto superior esquerdo da tela e na cor verde. Além disso, ele já deve aparecer na
tela quando criado.
8. Altere a classe Quadrado de forma que os métodos moverDireita e moverEsquerda façam com que
os objetos se movam o dobro do quanto se movem hoje.
9. Altere a classe Circulo de forma que os métodos moverDireita e moverEsquerda recebam como
parâmetro a quantidade de tamanhos da figura a se mover ao invés do número de pixels.
10.Altere os métodos do exercício anterior de forma que o parâmetro seja um número decimal, ou seja,
eu possa mover a distância de 0,5 tamanho de figura, por exemplo.
11.Altere a classe Circulo de forma que o método moverHorizontalLento receba um novo parâmetro
velocidade e altere o código de forma que a movimentação ocorra de acordo com a velocidade
passada.
12.Altere o método mudarCor da classe Triangulo de forma que sempre que o tamanho dele for alterado
para um valor maior que 100 a sua cor mude para vermelha.
13.Altere o método moverHorizontalLento da classe Pessoa de forma que a pessoa pare de se
movimentar se encostar na borda da tela (caso seja passada uma distância que ultrapassaria as bordas
da tela). Obs1: utilize o valor pré-definido 500 para a tela, não é necessário buscar o tamanho real da
tela em algum lugar. Obs2: trate tanto a borda direita quanto a esquerda.
14.Altere o método do exercício anterior de forma que o objeto rebata nas bordas (ou seja, a distância
que faltava a percorrer seja percorrida em sentido inverso.
15.Altere o método moverVerticalLento da classe Quadrado, usando um for, de forma que o objeto se
mova um tamanho da figura a cada passo, ao invés de um pixel a cada passo.
16.Crie um novo método na classe Circulo que receba como parâmetros uma direção (valor entre 0 e
59) e uma distância, e faça o objeto se mover na direção especificada (considerando que o número
representa a direção do ponteiro dos minutos de um relógio).
17.Altere o método anterior de forma que se a distância passada fizer o objeto encostar na borda ele seja
rebatido. Considere ainda que ele seja rebatido no ângulo de reflexão adequado. Obs: considere que a
tela tem 500x300 pixels.