Altillo.com > Exámenes > UBA - Ingeniería > Algoritmos y Programación III

Algoritmos y Programación III

Examen Final

Cat: Fontela

29/7/2008

Altillo.com

Nota Importante: Todo el código que escriba deberá hacerlo en Java ó C#, a su elección. Los ejemplos que se muestran corresponden a Java, pero en todos los casos admiten traducción directa a C#

1) Explique el patrón Observador, y dé un ejemplo de uso, con los diagramas que permitan transmitir mejor su idea. ¿Por qué es un patrón de diseño?

2) ¿Puede un método de clase (“static” en los derivados de C) ser “virtual”? ¿Por qué?

3) Dado el sisguiente método dentro de una clase fecha:

Public bolean valida(){
int[] diasMes = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (dia < 1 || dia > 31) return false;
if (mes < 1 || mes >12 ) return false;
int diaLimite = 0;
if ( ( mes == 2 ) &&
( (anio % 400 == 0) || ((anio % 4 = 0) && (anio % 100 != 0)) ) ){
diaLimite = 29;
}
else diaLimite = diasMes[mes];

if (dia > diaLimite) return false;
else return true;
}

Haga todas las refactorizaciones que considere necesarias, mostrando paso a paso cómo las resolvería. Al final, muestre cómo quedaría el código fuente.