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] La ventaja de las hileras Java es que funcionan como vectores porque tienen el método
String.length()
que sirve para determinar su longitud y el método
String.charAt(i)
que retorna una copia del i-ésimo caracter de la hilera.
Por ejemplo, la cuarta letra de la hilera "abcde"
es
'e'
pues la numeración de las letras de la
hilera comienza con el cero, como ocurre con los elementos de un
vector.
{ String r = "abcde"; assertTrue( r.charAt(0) == 'a' ); assertTrue( r.charAt(1) == 'b' ); assertTrue( r.charAt(4) == 'e' ); assertTrue( r.charAt(r.length()-1) == 'e' ); } { assertFalse( emparejados( "abCab" ) ); assertFalse( emparejados( "ABCcba" ) ); assertTrue( emparejados( "abc ccc bb aa" ) ); assertTrue( emparejados( "abcDDcba" ) ); }
1.a) [5 pts]
Especifique el
método estático emparejados()
que sirve
para determinar si en una hilera Java cada letra aparece repetida
por lo menos 2 veces.
1.b) [18 pts]
Implemente soloParejas( char V[] )
que determina
si un vector de letras
(char)
tiene duplicados todos sus valores, como ocurre con los vectores
que contienen los valores {'a','a','a'}
y
{'0','1','1','1','0'}
.
1.c) [10 pts]
Use su implementación de soloParejas()
para
obtener la implementación de emparejados()
(que recibe una hilera, no un vector de letras).
2) [33 pts] Escriba un programa completo que lea números enteros y grabe con
System.out.print()
en renglones aparte
únicamente aquellos números
palindrómicos. Por ejemplo, si la entrada contiene los
siguientes números:
131 1516 1718 1920 2112 23 2425 2627 12 897 575 889 774 135 8556 5789 3 78 3 23su programa solo grabaría los siguientes números que se escriben igual de adelante para atrás que de atrás para adelante:
131 2112 575 3 3(Si usa el método
leeInt()
no hace falta que lo copie de nuevo).
3) [33 pts]
[2(1)] |
[3(21)] |
[4(37)] |
1 2 3 |
21 22 23 24 25 26 |
37 38 39 40 41 42 43 44 45 46 |
3.a) [7 pts]
El método
estático "Escalereado()
" 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
"Escalereado()
".
3.b) [26 pts]
Implemente "Escalereado()
".
En el ejemplo se muestra "Escalereado()
" para los
valores [2(1)]
, [3(21)]
y
[4(37)]
.
Adolfo Di Mare <adolfo@di-mare.com>.
|