Universidad de Costa Rica
|
|
|
|
|
Duración: Ochenta 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 todas las preguntas. ¡No haga más de lo que se le pide!
1) [50 pts]
class Biblio {
static void vuelveTres( char[] V ) { /* ... */ }
}
|
1.a) [25 pts]
Implemente el
método
estático "vuelveTres()" de la clase
"Biblio" que sirve para separar un arreglo en 3
partes de longitud similar e invertir cada parte. No olvide
escribir la
especificación completa de
"vuelveTres()".
1.b) [25 pts] Suponga que ya cuenta con un método
en "Biblio" que permite ordenar ascendentemente una
parte de un arreglo. Uselo para mejorar su implementación
de "vuelveTres()" de manera que, según lo
indique el argumento booleano "ordene", además
de invertir las 3 partes del arreglo, también las deja
ordenadas (en este caso, cada uno de los pedazos quedaría
en orden descendente). No olvide escribir la
especificación completa de sus
rutinas.
2) [50 pts] Implemente "
Biblio.esCarnet()".
/** Retorna "{@code true}" si "{@code carnet}" es un carnet UCR válido.
<li> La '{@code A}' del principio puede ser mayúscula o minúscula.
<li> Comienza con "{@code A}" o con un dígito.
<li> Tiene sólo dígitos en el resto.
<li> Es de longitud 6.
<li> <code> esCarnet( "a00345" ) == true </code>
<li> <code> esCarnet( "782015" ) == true </code>
<li> <code> esCarnet( "00345" ) == false </code>
*/
boolean esCarnet( String carnet );
|
Adolfo Di Mare <adolfo@di-mare.com>.
|
|
|