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] El método estático “
desparejadora(int b)” retorna un número
en que todos los dígitos decimales de “b” están
vueltos al revés en parejas. Por ejemplo
desparejadora(123456) retorna 214365, mientras que
desparejadora(1234567) retorna 10325476 porque hay
que agregar un cero para que la cantidad de dígitos sea par.
1.a) [6 pts]
Escriba la
especificación completa de
“desparejadora()”. Incluya ejemplos de uso
“assertTrue()”.
1.b) [27 pts]
Implemente de “desparejadora()”.
No use vectores ni hileras.
2) [33 pts] El método
voySubiendo() sirve para determinar el tamaño del
pedazo ascendente de un vector, aún si no está ordenado.
{
{ int V[]= {00,10,20,30,-1}; assertTrue( 4 == voySubiendo( 0, V ) ); }
{ int V[]= {00,10,20,30,30,60,-1}; assertTrue( 3 == voySubiendo( 3, V ) ); }
{ int V[]= {00,-1}; assertTrue( 1 == voySubiendo( 0, V ) ); }
{ int V[]= {00}; assertTrue( 1 == voySubiendo( 0, V ) ); }
{ int V[]= null; assertTrue( 0 == voySubiendo( 0, V ) ); }
}
2.a) [5 pts]
Escriba la especificación de voySubiendo(). No olvide
incluir ejemplos de uso assertTrue() y
assertFalse().
2.b) [11 pts]
Implemente
voySubiendo(). Incluya documentación interna que
explique por qué los índices usados en su algoritmo no se
salen del vector.
2.c) [6 pts]
Escriba la especificación de soyColina() que sirve para
determinar si los valores de un vector primero ascienden y luego
descienden. No olvide incluir ejemplos de uso assertTrue() y
assertFalse().
2.d) [11 pts]
Suponga que usted cuenta ya con la rutina voyBajando():
úsela junto con voySubiendo() para implementar
soyColina().
3) [33 pts]
[2(3)] |
[3(26)] |
[4(46)] |
3 2 1 |
26
25 24
23 22 21 20 19
|
46
45 44
43 42
41 40 39 38 37 36 35
|
3.a) [7 pts]
El método
estático "triangulo()" de la clase
"Biblio" recibe dos números e imprime una
escalera de varios peldaños a partir del segundo valor.
Escriba la
especificación completa de
"triangulo()".
3.b) [26 pts]
Implemente "triangulo()". En el ejemplo se
muestra "triangulo()" para los valores
[2(3)], [3(26)] y [4(46)].
Adolfo Di Mare <adolfo@di-mare.com>.
|
|
|