Universidad de Costa Rica
Escuela de Ciencias de la
Computación e Informática
Profesor Adolfo Di Mare
CI-0202
II Semestre 2009
[<=] [home] [<>] [\/] [=>]
CI-0202 Principios de Informática

Examen Final [solución]

      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().

 

Soluciones

[mailto:] Adolfo Di Mare <adolfo@di-mare.com>.
Copyright © 2009
Derechos de autor reservados © 2009
[home] <> [/\]