Exercícios: 2a lista

  1. Na hierarquia de herança em orientação a objetos cada classe é mais especializada que sua superclasse. Dê exemplos do cotidiano em que esta mesma forma de hierarquia é preservada. Dê exemplos do cotidiano em que este tipo de hierarquia não é preservada. Dê exemplos de herança sem hierarquia.
  2. Considere dua funções (tipos de trabalho, como entregador, carteiro etc) como agentes de software e descreva-os como um conjunto de atributos e responsabilidades.
  3. Como seria possível simular a noção de classe e objeto na linguagem C?
  4. Escreva uma classe para as operações sobre número complexos de adição, subtração e multiplicação. Lembre-se que:
        (a, b) + (c, d) = (a+c, b+d)
        (a, b) - (c, d) = (a-b, b-d)
        (a, b) * (c, d) = (a*c-b*d, a*d+b*c)
     
  5. Escreva uma classe para realizar as quatro operações básicas com frações, um número racional composto por dois valores inteiros.
  6. Escreva dois métodos como parte de uma suposta classe Inteiro
    1. multiplo: que determina, para um par de inteiros, se o segundo é múltiplo do primeiro;
    2. ePar: que retorna um valor lógico de acordo com a paridade ou não de um valor inteiro.
  7. Dizemos que um número é um número perfeiro se a soma dos seus fatores (incluindo o 1 e não o próprio número) é igual ao número. Por exemplo, 6=1+2+3. Escreva um método que aceite um valor inteiro e que determina se este é ou nào um número perfeito.
  8. Escreva um método de Fibonacci não recursivo que calcule o n-ésimo número da seqüencia. Determine o maior valor para o seu sistema computacional.
  9. Crie uma classe JogoDaVelha que permita escrever um programa completo sobre o jogo do mesmo nome.
  10. Pesquise e escreva uma classe Grafo como composta de uma lista de vértices em que cada um aponte para uma lista de seus vértices adjacentes.
Última modificação feita em: 23 de agosto de 2006
Evandro Eduardo Seron Ruiz, PhD (evandro at usp ponto br)
www.imagcom.org/evandro/ibm1030