Examen Parcial - 75.07. Algoritmos y Programación III [Foros-FIUBA::Wiki]
 

Examen Parcial - 75.07. Algoritmos y Programación III

Cátedra: Fontela
Fecha: Primera Oportunidad - Primer Cuatrimestre 2009
Día: 22/04/09

Esta página está incompleta; podés ayudar completando el material. Por ejemplo, resolviendo el parcial.

Enunciado

Nota importante: todo el codigo que escriba debera hacerlo en Java o C#, a su eleccion. Los ejemplos estan escritos en Java, pero admiten traduccion directa a C#. Si tiene dudas sobre la traduccion a C#, pregunte.

Punto I

Suponga que tiene una clase Elipse, que implementa la siguiente iterfaz para una elipse “no girada”:

public interface Elipsel {
    Punto  getCentro();
    double getRadioX();
    double getRadioY();
    void  cambiarEscala (double factorX, double factorY);
    void  moverCentro (Punto nuevoCentro);
}
  • Escriba la clase Elipse

Ahora se le pide implementar una clase Circulo.

  • Usted sabe que todo circulo es una elipse, por lo que desearia utilizar herencia para implementar Circulo. ¿Ve algun problema? Suponga que puede modificar la interfaz Elipsel, y la clase Elipse, ¿le permite esto solucionar el problema? Muestrelo en codigo y en diagrama de clases.
  • Suponga que no tiene manera de cambiar la clase Elipse. ¿Se le ocurre otra idea, aunque sea sin usar herencia? Muestrelo en codigo y en diagrama de clases.

Punto II

Exponga todas las ventajas que conozca de automatizar las pruebas unitarias. (maximo media carilla)

Punto III

La documentacion interna (insertada en el codigo) y los diagramas de UML deben ser opciones, de forma tal que en un proyecto solo debemos usar una de las dos. ¿Es verdadera o falsa esta afirmacion? Exponga sus argumentos a favor y en contra de la misma (maximo media carilla)

Resolución

Punto I

Punto II

Punto III

Discusión

Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.
materias/75/07/parcial_1_20090422_1.txt · Última modificación: 2009/04/25 21:40 por chronos
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 3.0 Unported


Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki