Exercícios: 1a lista

O objetivo deste módulo é alcançar o mínimo de capacitação na construção de objetos simples de programação

  1. Iniciaremos pela elaboração de métodos simples que serão elaborados dentro de uma classe geral chamada MUtil. Para tanto, elabore métodos e construa seus respectivos atributos dentro da classe MUtil para as seguintes tarefas:
    1. Dobrar um número através do método dobro. Observar os tipos de entrada destes valores.
    2. Implementar o fatorial de um número chamando o método de fatorial. Observar qual o valor máximo suportado neste cálculo.
    3. Calcular a potência de um número. Chame o método de pot. Este método deve aceitar dois valores. Fique atento para valores negativos. Use o método Math.pow (x,y) = x^y.
    4. Estude e analise as outras funções da classe Math.
    5. Escreva uma classe para conversão de medidas de distância e de peso (milha (1=1609,3m), pé (0,3048m), jardas (0,9144m), onça (1=0,02835kg), libra (0,4536kg) e pedras (6,3503kg)).
  2. Escreva uma classe para trabalhar a seqüência de Fibonacci. Esta classe, a ser chamada Fibonacci deverá, ao ser instanciada, carregar os primeiros 20 valores da seqüência num vetor, deverá poder imprimir, pelo método toString(), todos os 20 primeiros números e ter pelo menos um método, getFib(n), que retornará o n-ésimo número da seqüência.
  3. Escreva uma classe recursiva para calcular a seqüência de Fibonacci.
  4. Altere as classes para que elas trabalhem no máximo de sua capacidade e use o método currentTimeMillis() da classe System, que devolve a hora do computador em milisegundos para comparar os tempos de execução das duas classes.
  5. O Crivo de Erastótenes. Este método é o mais rápido e fácil de implementar para se encontar, numa lista de números inteiros pequenos (<10 milhões), os números primos. Escreva uma lista composta por valores , maiores que um e menores que o último valor desejado, e índices (0 ou 1). Estes índices indicarão, se 1, que o número é primo e, se 0, que o número não é primo. Os índices começam todos como um e são marcados como zero todos os múltiplos dos números primos menores ou iguais a raíz quadrada de n.
    Por exemplo:
    n=20, lista de >1 ate 20
    
    lista: 2, 3, 4, 5, 6, 7, 8, ... ,20
    
    2 esta "1" (eh primo): 4, 8, 10, 12, 14, 16, 18 e 20 marcados com 0
    3 eh primo: 6, 9, 9, 15 e 18  marcados como 0
    5 eh primo: como 20^(1/2)<5 nao eh preciso marcar os multiplos
    
    logo os primos encontrados sao: 2, 3, 5, 7, 11, 13, 17 e 19
    
    Implemente uma classe chamada Crivo que construa uma tabela com todos os números primos menores que mil. Esta classe deverá ter métodos get para recuperar estes valores.
Última modificação feita em: 25 de agosto de 2006
Evandro Eduardo Seron Ruiz, PhD (evandro at usp ponto br)
www.imagcom.org/evandro/ibm1030