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.