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