2:
Implemente um método através do qual uma instância
de Ponto retorna sua distância até a origem.
(Acho que :) Você tem basicamente duas formas de fazer isto:
a) O X e Y da origem
sao
constantes definidas na classe Ponto.
Um método da instância acessa estas constantes definidas
na classe e implementa o cálculo
da distância.
b) Da mesma forma, o X
e Y da origem sao constantes definidas na classe Ponto.
Um método
na classe é responsável por calcular a distância
de um ponto à origem.
Este método
tem que receber uma instância de ponto como parâmetro.
Usando a opção (a), um método da instância
é utilizado para fazer o cálculo.
Usando a opção (b), um método da classe é
disparado.
Implemente e use ambos.
Depois disso, implemente uma terceira forma de cálculo da distância.
(realmente, não são só duas formas ! :)
c) Um método da
instância existe para o cálculo da distância à
origem,
só
que este método da instância utiliza internamente o método
da classe.
==> Lembre-se
que uma instância pode referenciar a si mesma através do "this".
Obs.: uma applet com a demonstração
gráfica do teorema de pitágoras está em
http://tech-www.informatik.uni-hamburg.de/applets/pythagoras/experiment2.html
3:
a) Consulte um livro de biologia e construa uma hierarquia de herança
para representar a taxonomia de seres
vivos. Construa uma taxonomia com no minimo 4 niveis.
b) Cada ser vivo deve ser capaz de responder a um metodo "DefinicaoGeralEspecifico"
que retorna
desde a definiçao mais generica ate a mais especifica para o
objeto (Ex.: ser vivo, .... , vertebrado, ... mamifero, ...
cavalo),
e um metodo "DefinicaoEspecificoGeral" que retorna desde a definicao
mais especifica ate a mais generica para o
objeto (Ex.: cavalo, ... mamifero, ... vertebrado, ... ser vivo).
c) A taxonomia da biologia e´ uma arvore ou um grafo ?
Que implicacoes uma taxonomia em forma de grafo pode ter na construcao
de uma hierarquia de heranca ?
4:
Construa a classe ArvoreBinaria que representa uma arvore binaria.
Uma instancia de ArvoreBinaria tem uma informaçao e referencia
outros duas instancias de
ArvoreBinaria. Ao criar uma ArvoreBinaria, a informaçao
inicial e´ dada.
A ArvoreBinaria vai sendo montada fazendo com que uma instancia desta
classe referencie
outra(s) instancias (Ex.: arvBin.setaDireita(arvBin2); arvBin.setaEsquerda(arvBin1);
...).
Faça metodos de ArvoreBinaria implementando cada tipo de caminhamento
na mesma (pre, in, e pos-fixado).
5:
Expanda esta ArvoreBinaria para se tornar uma ArvoreBinariaPesquisa.
A ArvoreBinariaPesquisa deve basicamente expandir a ArvoreBinaria para
ter uma disciplina
de insercao de informacao na arvore - ou seja: um metodo para inserir
informacao na arvore.
A inserçao de informacao em uma arvore ja existente deve entao
obedecer um criterio de
inserir informaçao maior na sub-arvore da direita e informacao
menor como subarvore da esquerda.
Partindo de uma analise da raiz.
Informacao ja existente na arvore nao deve ser duplicada.
Observacao: em 4 e 5 represente classes somente para ArvoreBinaria e ArvoreBinariaPesquisa.
6:
Usando métodos e variáveis de classe e de instância,
implemente a classe MVCAO (curto para: MariaVaiComAsOutras).
Uma instância de MVCAO tem o seguinte comportamento: quando
perguntada se “querIrAoCinema”, ela responde verdadeiro se a maioria das
outras instâncias de MVCAO responderem verdadeiro à pergunta
“vamosJunto”.
Assuma que uma MVCAO responde verdadeiro ou falso à pergunta
“vamosJunto” conforme o método Math.random(), que retorna um “double”
entre 0.0 e 1.0.
7:
A classe ArvoreBinaria proposta acima pode ser melhorada para retornar
erros como: tentativa de inclusão de um valor
já existente na árvore; tentativa de retirada de um valor
não existente na árvore.
Reescreva a classe ArvoreBinaria para tratar estas situações
anormais.
Depois disso, consulte a documentação disponível
na página e leia sobre o que são exceções.
Em:
http://www.inf.pucrs.br/~fldotti/lapros/jdk1.2.1/docs/api/index.html
no pacote "java.lang" veja o que é uma "Exception" e verifique
a existência de uma hierarquia de herança
de exceções.