Laboratório 1

Objetivos

Descrição Geral

A idéia é que o aluno crie regras de operação (em Java) para o funcionamento de dois objetos simples que permitem controlar um objeto gráfico. O elemento gráfico pode ser visualizado imediatamente após a escrita das regras. O processo de edição e compilação é completamente abstraído para que o aluno se concentre na sintaxe e semântica das expressões que controlam a posição do objeto gráfico.

Roteiro

  1. Baixe o aplicativo.
  2. Execute-o e navegue pela interface à vontade (explicar interface).
  3. Tente as regras simples apresentadas pelo professor.
  4. Crie regras para obter os seguintes comportamentos:
    1. Faça o ponto se deslocar de um lado a outro da tela, sem parar. Deve ser possível redimensionar a tela sem problemas.
    2. Faça o ponto descrever um quadrado com centro em 0,0.
    3. Faça o ponto descrever um retângulo com centro em 0,0 e cuja distância da borda seja igual a 20.
    4. Faça o ponto se deslocar aleatoriamente pela tela. O movimento deve ser em retas. Somente ao se chocar contra uma borda, o ponto deve mudar de direção. Sempre deve retornar com uma inclinação diferente.
    5. Faça o ponto se deslocar aleatoriamente pela tela. A direção do ponto deve mudar suavemente à medida em que se desloca. Também deve "rebotar" ao se chocar com uma parede.
    6. Faça o ponto se deslocar aleatoriamente pela tela. Desta vez, o ponto não deve ricochetear. O plano deve ser contíguo, de forma que ao "sumir" pela direita, o ponto reapareça pela esquerda e vice-versa. O mesmo vale para cima e para baixo.
    7. Faça o ponto se deslocar de forma acelerada. Use algum dos movimentos já vistos.
    8. Faça o ponto se deslocar como um círculo ao redor do centro.
    9. Faça o ponto se deslocar produzindo uma espiral.
    10. Faça o ponto se deslocar de forma a produzir o gráfico de uma função (tente funções quadráticas, cúbicas, logarítmicas, exponenciais, etc).

Questões

Responda às questões abaixo em um arquivo de texto. Envie o arquivo para o professor antes da próxima aula.

1: Registre todas as regras que você desenvolveu em um arquivo, nomeando-as.

2: O que é um objeto em uma linguagem de programação OO?

3: O que são tipos? Com quantos e quais tipos podemos tratar em programas Java?

4: O que são expressões? Dê exemplos.

5: Qual a semelhança e a diferença entre "variáveis", "atributos" ou "campos" e "parâmetros"?

6: O que são mensagens e métodos?

7: Quais os objetos envolvidos no aplicativo usado neste experimento? Como eles interagem?