Universidad de Costa Rica
|
|
Duración: Ciento veinte minutos. Lea bien el examen antes de hacerlo. El examen es a libro abierto. Cuenta la documentación. Cuenta la redacción y la ortografía. Puede hacer el examen con lápiz. Resuelva las tres preguntas. ¡No haga más de lo que se le pide!
1) [33 pts]
Alineados()
sirve para determinar si algún
renglón de una matriz es múltiplo de otro.
1.a) [3 pts]
Declare la clase Matriz
con los
métodos que necesite para implementar
Alineados()
. No olvide declarar los
campos de la clase.
1.b) [2 pts]
Declare la clase Pareja
que contiene los campos
públicos m_1ero
y m_2do
, de
manera que la pareja (2,4)
indica que la cuarta fila
es múltiplo de la segunda.
1.c) [10 pts]
Alineados()
debe retornar un
ArrayList<>
de valores Pareja
para
indicar que el renglón m_1ero
es
múltiplo del renglón m_2do
en la
matriz. Especifique el método público
Matriz.Alineados()
. Incluya ejemplos de uso.
1.d) [18 pts]
Implemente el método Matriz.Alineados()
.
1.e) [0 pts] Diga en qué casos los errores de redondeo pueden hacer que su implementación no funcione. Explique cómo remediar este problema.
2) [33 pts] Especifique e implemente un método estático que reciba como parámetros dos matrices de enteros para calcular la resta de los valores de la primera matriz menos los de la segunda matriz, pero haciendo la resta solo a las posiciones que están en los bordes de ambas matrices. Suponga que ambas matrices son del mismo tamaño y que todas las filas son del mismo largo. El método debe devolver una nueva matriz como resultado, con el número 999 en los espacios que no están en los bordes.
3) [33 pts] Mientras que en una "sub-hilera" todas las letras deben aparecer juntas y en su orden, en una "sub-secuencia" aparecen algunas letras aunque no necesariamente aparecen todas. Por ejemplo la hilera
"..1...2..3...4....5"
tiene como sub-hilera a
"2..3"
y "12345
" es una sub-secuencia
que no es
sub-hilera. La hilera nula ""
siempre es
sub-hilera y sub-secuencia de cualquier hilera.
3.a) [5 pts]
Explique cómo se puede implementar el método
estático
esSubHilera()
que determina si una hilera es o no
sub-hilera de la otra.
3.b) [8 pts]
Especifique en formato
Javadoc el
método
estático esSubSecuencia()
que determina si una
hilera es o no sub-secuencia de otra. Incluya ejemplos de uso.
3.c) [20 pts]
Implemente esSubSecuencia()
.
Adolfo Di Mare <adolfo@di-mare.com>.
|