Altillo.com > Exámenes > UBA - Ingeniería > Algoritmos y Programación III
Algoritmos y Programación III |
2° Parcial |
Cátedra Fontela | 2º Cuat. de 2009 | Altillo.com |
1) 1) Responda la siguiente pregunta teniendo en cuenta el capitulo 5 del libro “Code Complete” de Steve McConnell: ¿Para qué se utilizan los prototipos en el diseño de software? (máximo media carilla)
2) 2) Observe el código que sigue: (máximo 1 carilla)
Public void extraer (int monto) {
If (numero < 100000)
If(monto > saldo) throw new SinSaldoException();
else saldo -=monto;
else
If (monto < saldo+descubierto) throw new SinSaldoException();
else saldo -=monto;
}
a) ¿Qué le ve de problemático?
b) ¿Cómo lo solucionaria? Haga un diagrama de clases.
c) ¿Cómo se llama la técnica de cambiar diseño sin cambiar funcionalidad? ¿ Que cuidados debemos tener para hacerla de manera segura?
d) Explique paso a paso como haría los cambios sobre el ejemplo anterior, sin omitir ninguna etapa.
3) 3) Cuando extrae un método en una misma clase porque representa código duplicado. ¿Lo hace publico, protegido o privado? ¿Por qué? ¿ Y si el código duplicado esta en dos clases que derivan de una misma clase base? Muestre ejemplos simples y diagramas. (máximo 1 carilla)
4) 4) ¿Por qué le parece que Donald Knuth dice que la “optimización prematura es la raíz de todos los males”? (máximo 4 líneas)
5) 5) ¿Qué es la usabilidad? (máximo 3 líneas)