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 #1 [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]
   { int[] V = {1,2,3,4,5,6,7}; assertTrue( estaOrdenado( V ) ); }
   { int[] V = {7,6,5,4,3,2,1}; assertTrue( estaOrdenado( V ) ); }
   { int[] V = {1,2,3,4,4,5,6}; assertTrue( estaOrdenado( V ) ); }
   { int[] V = {1,2,3,4,4,5,4};   assertFalse( estaOrdenado( V ) ); }
   { int[] V = {1,1,1,1,1,1,0}; assertTrue( estaOrdenado( V ) ); }
   { int[] V = {0,1,1,1,1,1,0};   assertFalse( estaOrdenado( V ) ); }
   { int[] V = {1,0,0,0,0,0,0}; assertTrue( estaOrdenado( V ) ); }
   { int[] V = {1,0,0,0,0,0,1};   assertFalse( estaOrdenado( V ) ); }

1.a) [5 pts] Especifique el método estático estaOrdenado() que sirve para determinar si un vector tiene los valores en orden creciente o decreciente.

1.b) [18 pts] Implemente esAscendente( int V[] ) que determina si un vector tiene los valores ascendentes, como ocurre con {2,4,6,7} y con {0,1,1,1,1}.

1.c) [10 pts] Suponga que ya usted cuenta con esDecendente() y también con esAscendente(). Implemente estaOrdenado().

 

2) [33 pts] El método estático rectangular(desde,n,m) graba un rectángulo de números de "n" renglones y "m" columnas. El valor "desde" indica cuál es es primer valor a grabar. Por ejemplo, al ejecutar rectangular(13,3,5) se obtendría este rectángulo:
 13 14 15 16 17
 18 19 20 21 22
 23 24 25 26 27

2.a) [6 pts] Especifique rectangular().

2.b) [27 pts] Implemente rectangular().

 

3) [33 pts] Escriba un programa completo que lea números enteros y grabe con System.out.print() en renglones aparte únicamente aquellos números que contengan el dígito 3. Por ejemplo, si la entrada contiene los siguientes números:
 1314  1516 1718 1920 2122  23 2425 2627
 12 897 557 889 774 135 8556 5789
 3  78 3 23
Después de ejecutar su programa se obtendría lo siguiente:
1314
23
135
3
3
23
(Si usa el método leeInt() no hace falta que lo copie de nuevo).

 

Soluciones

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