You are on page 1of 0

Jorge Martnez Ladrn de Guevara

Ejercicios de evaluacin de
fundamentos de programacin
en Java





Editorial EME
ISBN 978-84-96285-40-8





i
Contenido
1. Introduccin a Java.................................... 1
Test de evaluacin..............................................1
Ejercicios............................................................4
2. Estructura de un programa Java................. 5
Test de evaluacin..............................................5
Ejercicios............................................................7
3. Clases y objetos.......................................... 9
Test de evaluacin..............................................9
Ejercicios..........................................................11
4. Extensin de clases .................................. 13
Test de evaluacin............................................13
Ejercicios..........................................................16
5. Ampliacin de clases ................................ 17
Test de evaluacin............................................17
Ejercicios..........................................................19
6. Estructuras de control .............................. 21
Test de evaluacin............................................21
Ejercicios..........................................................24
7. Estructuras de almacenamiento ............... 27
Test de evaluacin............................................27
Ejercicios..........................................................30
8. Entrada y salida........................................ 33
Test de evaluacin............................................33
Ejercicios..........................................................36



ii




1
1. Introduccin a Java
Test de evaluacin
1. Qu define la estructura de las expresiones de un lenguaje de
programacin?
a) Sus palabras reservadas
b) Sus reglas sintcticas
c) Sus reglas semnticas
2. En qu consiste el proceso de programacin?
a) Escritura, compilacin y verificacin del cdigo fuente de un
programa
b) Compilacin del cdigo fuente de un programa
c) Compilacin y verificacin del cdigo Bytecode de un programa
3. Un algoritmo es:
a) Un conjunto ordenado de operaciones que permite hallar la
solucin de un problema
b) Un conjunto ordenado y finito de operaciones que permite
hallar la solucin de un problema
c) Un conjunto aleatorio y finito de operaciones que permite hallar
la solucin de un problema
4. Un programa Java compilado es portable porque:
a) El cdigo Bytecode es ejecutable por los principales sistemas
operativos del mercado
b) El entorno de ejecucin de Java incluye una mquina virtual
que interpreta el cdigo Bytecode
c) El entorno de ejecucin interpreta el cdigo Java,
independientemente de la mquina virtual

Introduccin a Java

2
5. Java es:
a) Un lenguaje de programacin exclusivamente
b) Un lenguaje de programacin Java, una plataforma de
desarrollo, un entorno de ejecucin y un conjunto de libreras
para desarrollo de programas sofisticados
c) Un sistema para ejecutar programas en distintas plataformas
informticas
6. El entorno de ejecucin de Java (Java Runtime Environment)
a) Es un conjunto de libreras para desarrollo de aplicaciones Java
b) Es una pieza intermedia entre el cdigo Bytecode y los distintos
sistemas operativos existentes en el mercado. Incluye la
mquina virtual de Java
c) Es la mquina virtual de Java
7. El proceso clsico de desarrollo de software se compone de las
siguientes fases:
a) Codificacin, diseo, pruebas y validacin
b) Especificacin, diseo, codificacin, prueba y mantenimiento
c) Diseo, pruebas, validacin y mantenimiento
8. Durante la fase de Especificacin de una aplicacin se define:
a) La funcionalidad, las caractersticas tcnicas de una aplicacin
y sus condiciones de uso
b) La funcionalidad y las caractersticas tcnicas de una aplicacin
c) Las caractersticas tcnicas y las condiciones de uso de la
aplicacin




Ejercicios de evaluacin de fundamentos de programacin en Java

3
9. El compilador de Java analiza el cdigo fuente y:
a) Comprueba que todos sus elementos son palabras vlidas en
Java y su semntica
b) Comprueba que todos sus elementos son palabras vlidas en
Java
c) Comprueba que todos sus elementos son palabras vlidas en
Java, verifica la estructura sintctica del programa y su
semntica
10. La legibilidad de un programa Java es importante porque:
a) Facilita el mantenimiento del software y permite corregir
errores o modificar la funcionalidad con menor coste
b) Evita errores del compilador
c) Permite corregir errores, aunque no facilita el proceso de
mantenimiento de una aplicacin


Introduccin a Java

4
Ejercicios
1. Cules son los elementos de un lenguaje de programacin?
2. Explique por qu los programas Java son portables.
3. Explique brevemente las acciones que realiza el compilador de Java
durante el proceso de compilacin.
4. Explique qu se entiende por legibilidad, correccin y eficiencia.
5. Indique las fases del proceso clsico de desarrollo de software y
explique brevemente cada fase.




5
2. Estructura de un programa Java
Test de evaluacin
1. Java es un lenguaje que distingue letras maysculas y minsculas.
a) Falso
b) Verdadero
2. El nombre de un elemento de Java debe cumplir la regla:
a) Debe empezar por una letra que puede estar seguida de ms
letras
b) Debe empezar por una letra que puede estar seguida de ms
letras o dgitos
c) Debe empezar por una letra que puede estar seguida de dgitos
3. En Java los nombres de variables y mtodos deben empezar por
minscula. Si el nombre es compuesto, cada palabra debe empezar
por mayscula.
a) Falso
b) Verdadero
4. En Java, los nombres de clases deben empezar siempre con
maysculas. Si el nombre es compuesto, cada palabra debe empezar
por mayscula.
a) Falso
b) Verdadero
5. Un tipo de dato indica los valores que puede almacenar una variable
y el rango de valores que admite.
a) Falso
b) Verdadero

Estructura de un programa Java

6
6. Cul de las siguientes expresiones es correcta?
a) double radio = 2;
b) double radio = 2,0;
c) double radio = 2.0;
7. El operador + est sobrecargado porque permite sumar nmeros y
concatenar cadenas de caracteres.
a) Falso
b) Verdadero
8. Indique el valor de: x = -1 + 5 * 7 12 / 3
a) 28
b) 30
c) 6
9. Indique el valor de: x = (-1 + 5) * 7 (12 / 3)
a) 26
b) 30
c) 24
10. Indique el valor de: x = 3 > 2 && 6 < 10 || true
a) true
b) false


Ejercicios de evaluacin de fundamentos de programacin en Java

7
Ejercicios
1. Indique el orden de precedencia de los operadores aritmticos.
2. Indique el orden de precedencia de los operadores lgicos.
3. Indique la salida por pantalla del siguiente programa.

publ i c cl ass Cal cul o1 {
publ i c st at i c voi d mai n ( St r i ng[ ] ar gs) {
i nt x = 2, y = 2, z;

z = x*y + 10 + 4 / 2 - 2 * 4 + 2;

Syst em. out . pr i nt ( " El r esul t ado es " ) ;
Syst em. out . pr i nt ( z) ;
}
}

4. Indique la salida por pantalla del siguiente programa.

publ i c cl ass Cal cul o2 {
publ i c st at i c voi d mai n ( St r i ng[ ] ar gs) {
bool ean w, x = t r ue, y = t r ue, z = f al se;

w = x && y | | x && z | | y && z;

Syst em. out . pr i nt ( " El r esul t ado es " ) ;
Syst em. out . pr i nt ( w) ;
}
}
Estructura de un programa Java

8
5. Complete la tabla de tipos primitivos de Java.
Tipo Descripcin Valor mnimo y mximo
byte
short
int
long
float
double
char
boolean




9
3. Clases y objetos
Test de evaluacin
1. Una clase describe a un tipo de objetos con caractersticas comunes.
a) Falso
b) Verdadero
2. Un objeto es una representacin abstracta de una clase.
a) Falso
b) Verdadero
3. Los atributos de un objeto solo pueden almacenar tipos primitivos de
Java.
a) Falso
b) Verdadero
4. Cuando se ejecuta el mtodo constructor de una clase:
a) Se crea un alias y se inicializan los atributos del objeto
b) Se asigna un espacio de memoria al objeto instanciado y se
inicializan los atributos del objeto
c) Se asigna un espacio de memoria al objeto instanciado pero no
se inicializan los atributos del objeto
5. El mtodo constructor se ejecuta cada vez que se instancia un objeto
de la clase.
a) Falso
b) Verdadero


Clases y objetos

10
6. El estado de un objeto puede cambiar durante la ejecucin de un
programa Java.
a) Falso
b) Verdadero
7. Un objeto se compone de:
a) Atributos
b) Atributos y mtodos
c) Atributos y mtodos constructores
8. Un mtodo es una funcin que:
a) Determina el comportamiento de una clase
b) Determina el comportamiento de una clase y de sus objetos
c) Determina el comportamiento de un objeto
9. El mtodo mai n( ) se invoca cuando se ejecuta un programa Java.
a) Falso
b) Verdadero
10. La sobrecarga de mtodos es til para:
a) Que el mismo mtodo opere con parmetros de distinto tipo o
que un mismo mtodo reciba una lista de parmetros diferente
b) Que el mismo mtodo opere con parmetros de distinto tipo
c) Que distintos mtodos operen con parmetros de distinto tipo


Ejercicios de evaluacin de fundamentos de programacin en Java

11
Ejercicios
1. Explique brevemente los conceptos clase y objeto.
2. Qu es un mtodo? Qu ocurre cuando se invoca un mtodo?
3. Explique brevemente el concepto sobrecarga de mtodos.
4. Defina la clase Empl eado. Esta clase debe almacenar la siguiente
informacin: dni, nombre, apellidos, domicilio, fecha de contratacin
y sueldo bruto. Todos estos datos son de tipo St r i ng, excepto el
sueldo bruto que es doubl e. Todos los atributos son de acceso
privado.
Defina el mtodo constructor de la clase, los mtodos get, set y el
mtodo get At r i but os( ) . Este mtodo debe devolver una cadena
con todos los atributos concatenados, como se muestra en el
siguiente ejemplo:
DNI: 202020X Fernndez Lpez, Juan 10/10/2010 32.500.00
Defina la clase Mi Pr ogr ama con el mtodo mai n( ) . Defina un objeto
empl eado1 y muestre sus atributos por la consola.
5. Defina dos mtodos constructores para la clase Per sona. El primer
mtodo debe recibir los parmetros dni, nombre y apellidos. El
segundo mtodo debe recibir los parmetros dni, nombre, apellidos y
domicilio.

publ i c cl ass Per sona {
pr i vat e St r i ng dni ;
pr i vat e St r i ng nombr e;
pr i vat e St r i ng apel l i dos;
pr i vat e St r i ng domi ci l i o;

}


Clases y objetos

12
Desarrolle los mtodos get, set y el mtodo get At r i but os( ) . Este
mtodo debe devolver una cadena con todos los atributos
concatenados, como se muestra en el siguiente ejemplo:
DNI 40902819M Rodrguez Lpez, Juan c/Gran Va, 10 Madrid.
Realice el diagrama de la clase Per sona. Indique sus atributos y
mtodos y el tipo de acceso de cada elemento de la clase.




13
4. Extensin de clases
Test de evaluacin
1. La composicin consiste en crear una clase nueva agrupando objetos
de clases que ya existen. Una composicin agrupa uno o ms objetos
para construir una clase, de manera que las instancias de esta nueva
clase contienen uno o ms objetos de otras clases.
a) Falso
b) Verdadero
2. En una relacin de composicin, un objeto de la clase contenedora
puede acceder a los mtodos pblicos de las clases contenidas.
a) Falso
b) Verdadero
3. La herencia es la capacidad que tienen los lenguajes orientados a
objetos para extender clases. La clase original se denomina clase
base o superclase, la nueva clase se denomina clase derivada o
subclase.
a) Falso
b) Verdadero
4. En una relacin de tipo herencia:
a) Una subclase es una composicin de la superclase.
Normalmente una subclase aade nuevos atributos y mtodos
que le dan un comportamiento diferente al de la superclase
b) Una superclase es una especializacin de la subclase. Una
superclase declara los atributos y mtodos que definen el
comportamiento de las subclases
c) Una subclase es una especializacin de la superclase.
Normalmente una subclase aade nuevos atributos y mtodos
que le dan un comportamiento diferente al de la superclase

Extensin de clases

14
5. En una relacin de tipo herencia, las subclases heredan los elementos
pblicos de la superclase y los mtodos de la superclase.
a) False
b) Verdadero
6. La sintaxis de la declaracin de una relacin de herencia donde la
clase base es Per sona y la clase derivada Empl eado es:
a) public class Empleado extends Persona {
}
b) public class Persona extended by Empleado {
}
c) public class Persona extends Empleado {
}
7. En una relacin de tipo herencia un objeto de la superclase no puede
almacenar un objeto de cualquiera de sus subclases.
a) Falso
b) Verdadero
8. En una relacin de tipo herencia:
a) Si un objeto de la clase base se asigna a una referencia de la
clase derivada, se hace una conversin ascendente de tipos,
denominada upcasting. La conversin ascendente de tipos
siempre se puede realizar
b) Si un objeto de la clase derivada se asigna a una referencia de
la clase base, se hace una conversin ascendente de tipos,
denominada upcasting. La conversin ascendente de tipos no
siempre se puede realizar
c) Si un objeto de la clase derivada se asigna a una referencia de
la clase base, se hace una conversin ascendente de tipos,
denominada upcasting. La conversin ascendente de tipos
siempre se puede realizar
Ejercicios de evaluacin de fundamentos de programacin en Java

15
9. En una relacin de tipo herencia:
a) La conversin descendente de tipos, denominada
downcasting, debe hacerse de forma implcita. El
downcasting siempre es legal y no produce errores durante la
ejecucin del programa Java
b) La conversin descendente de tipos, denominada
downcasting, debe hacerse de forma explcita, indicando el
nombre de la clase a la que se desea convertir. El
downcasting no siempre es legal y puede producir un error
durante la ejecucin del programa Java
c) La conversin descendente de tipos, denominada
downcasting, debe hacerse de forma explcita, indicando el
nombre de la clase a la que se desea convertir. El
downcasting siempre es legal y no produce errores durante la
ejecucin del programa Java
10. Cualquier clase Java puede ser utilizada como una clase base para
extender sus atributos y comportamiento. La clase derivada que se
obtenga, puede a su vez, ser extendida de nuevo.
a) Falso
b) Verdadero










Extensin de clases

16
Ejercicios
1. Declare una clase Empl eado con atributos de tipo St r i ng para dni,
nombre, apellidos, domicilio, cdigo postal y la ciudad. Esta clase
debe incluir el atributo puesto de trabajo de tipo objeto de la clase
Puest oTr abaj o. Declare la clase Puest oTr abaj o con atributos de
tipo St r i ng para: cdigo y descripcin y un atributo doubl e para el
sueldo bruto. Desarrolle el mtodo constructor en la declaracin de
ambas clases.
2. Desarrolle un programa Java que instancie al menos dos objetos de la
clase Empl eado declarada en la pregunta 1.
3. Declare las clases derivadas Admi ni st r at i vo y Consul t or de la
clase Empl eado. La clase Admi ni st r at i vo tiene un atributo de tipo
i nt para la antigedad. La clase Consul t or tiene un atributo de tipo
St r i ng para la categora profesional. Desarrolle el mtodo
constructor en la declaracin de ambas clases. Este mtodo debe
invocar al constructor de la clase base.
4. Desarrolle un programa Java que instancie un objeto de las clases
Admi ni st r at i vo y Consul t or declaradas en la pregunta 3.
5. Defina el mtodo get At r i but os( ) de las clases Empl eado,
Admi ni st r at i vo y Consul t or . El mtodo get At r i but os( ) de la
clase Empl eado debe utilizar el mtodo get Descr i pci on( ) para
mostrar la descripcin del puesto de trabajo. Los mtodos
get At r i but os( ) de las subclases Admi ni st r at i vo y Consul t or
deben sobreescribir el mtodo de la superclase Empl eado.




17
5. Ampliacin de clases
Test de evaluacin
1. Los elementos de clase son compartidos por todas las instancias de la
clase.
a) Falso
b) Verdadero
2. Los atributos de clase deben tener un valor inicial aunque no exista
ninguna instancia de la clase.
a) Falso
b) Verdadero
3. La palabra f i nal se utiliza para indicar que el valor de un atributo es
constante.
a) Falso
b) Verdadero
4. Los elementos privados de una clase:
a) Se pueden utilizar libremente
b) Solo se pueden utilizar dentro de la clase que los define
c) Solo se pueden utilizar dentro de la clase que los define, en
aquellas clases que la extiendan y cualquier clase definida en el
mismo paquete
5. Los elementos protegidos de una clase:
a) Se pueden utilizar libremente
b) Solo se pueden utilizar dentro de la clase que los define
c) Solo se pueden utilizar dentro de la clase que los define,
aquellas clases que la extiendan y cualquier clase definida en el
mismo paquete
Ampliacin de clases

18
6. Los elementos pblicos de una clase:
a) Se pueden utilizar libremente
b) Solo se pueden utilizar dentro de la clase que los define
c) Solo se pueden utilizar dentro de la clase que los define,
aquellas clases que la extiendan y cualquier clase definida en el
mismo paquete
7. Para utilizar componentes que estn en otro paquete diferente se
debe aadir una declaracin de importacin con la sintaxis:
a) include nombre-del-paquete
b) import nombre-del-paquete
c) package nombre-del-paquete
8. Para qu se usan las clases asociadas a los tipos primitivos?
a) Para facilitar la programacin en Java. Estas clases
proporcionan mtodos tiles para convertir cadenas de texto a
otros tipos, para imprimir los nmeros con diversos formatos y
para describir los tipos simples
b) Para definir nuevos tipos simples
c) Para convertir cadenas de texto a otros tipos
9. La clase St r i ng se usa para manejar cadenas de caracteres.
a) Falso
b) Verdadero
10. El operador + est sobrecargado y puede utilizarse para concatenar
cadenas de caracteres.
a) Falso
b) Verdadero

Ejercicios de evaluacin de fundamentos de programacin en Java

19
Ejercicios
1. Indique los cuatro niveles de derechos de acceso a los elementos de
una clase Java.
2. Declare la clase Pr oduct o con los atributos cdigo, descripcion,
marca, precio, unidades en existencia, unidades vendidas. Los
atributos cdigo, descripcin y marca son de tipo St r i ng. El atributo
precio es de tipo doubl e y los atributos unidades en existencia y
unidades vendidas son de tipo i nt .
3. Explique qu es un paquete de Java.
4. Indique los elementos de la clase Cl i ent e y el tipo de derecho de
acceso de cada uno de ellos.

publ i c cl ass Cl i ent e {
pr i vat e St r i ng ni f ;
pr i vat e St r i ng nombr e;
pr i vat e St r i ng apel l i dos;
pr i vat e St r i ng t i poTar i f a;

publ i c Cl i ent e( St r i ng ni f , St r i ng nombr e,
St r i ng apel l i dos, St r i ng t i poTar i f a) {
t hi s. ni f = ni f ;
t hi s. nombr e = nombr e;
t hi s. apel l i dos = apel l i dos;
t hi s. t i poTar i f a = t i poTar i f a;
}

publ i c St r i ng get NI F( ) {
r et ur n t hi s. ni f ;
}

Ampliacin de clases

20
publ i c St r i ng get Nombr e( ) {
r et ur n t hi s. nombr e;
}

publ i c St r i ng get Apel l i dos( ) {
r et ur n t hi s. apel l i dos;
}

pr i vat e St r i ng get Ti poTar i f a( ) {
r et ur n t hi s. t i poTar i f a;
}

publ i c doubl e get Descuent o( ) {
i f ( t hi s. get Ti poTar i f a( ) == " Pl at a" )
r et ur n 10. 0;
el se
i f ( t hi s. get Ti poTar i f a( ) == " Or o" )
r et ur n 15. 0;
el se
r et ur n 0. 0;
}

}

5. Utilice el constructor de la clase I nt eger para instanciar el objeto
numer o de tipo i nt con el valor inicial 2020.
Utilice el constructor de la clase St r i ng para instanciar el objeto
t ext o de tipo St r i ng con el valor inicial Introduccin a Java.
Utilice el mtodo l engt h( ) para obtener la longitud del objeto texto
y mostrarla por la consola.

21
6. Estructuras de control
Test de evaluacin
1. La estructura i f es una estructura de seleccin nica porque ejecuta
un bloque de sentencias solo cuando se cumple la condicin del i f . Si
la condicin es verdadera se ejecuta el bloque de sentencias. Si la
condicin es falsa, el flujo del programa contina en la sentencia
inmediatamente posterior al i f .
a) Falso
b) Verdadero
2. La estructura i f - el se es una estructura de seleccin doble porque
selecciona entre dos bloques de sentencias mutuamente excluyentes.
Si se cumple la condicin, se ejecuta el bloque de sentencias asociado
al i f . Si la condicin no se cumple, entonces se ejecuta el bloque de
sentencias asociado al el se.
a) Falso
b) Verdadero
3. La estructura swi t ch es una estructura de seleccin mltiple que
permite seleccionar un bloque de sentencias entre varios casos. Es
equivalente a una estructura de seleccin de i f - el se anidados y
siempre que se puede utilizar un i f - el se anidado se puede aplicar
un swi t ch.
a) Falso
b) Verdadero
4. La expresin de un swi t ch puede devolver un nmero entero ( i nt ) ,
un nmero real ( doubl e) , un carcter ( char ) o una cadena de
carateres ( St r i ng) .
a) Falso
b) Verdadero

Estructuras de control

22
5. Es posible interrumpir la ejecucin de una estructura de seleccin
swi t ch?
a) S, se utiliza la sentencia cont i nue que provoca la finalizacin
del swi t ch. El flujo del programa contina en la sentencia
inmediatamente posterior al swi t ch
b) S, se utiliza la sentencia br eak que provoca la finalizacin del
swi t ch. El flujo del programa contina en la sentencia
inmediatamente posterior al swi t ch
c) No, no es posible interrumpir la ejecucin de un swi t ch
6. El operador condicional ( ?: ) es el nico operador de Java que utiliza
tres operandos. El primer operando es una condicin lgica, el
segundo es el valor que toma la expresin cuando la condicin es
t r ue y el tercero es el valor que toma la expresin cuando la
condicin es f al se.
a) Falso
b) Verdadero
7. De forma general, las estructuras de repeticin se componen de:
a) Dos partes: la condicin y el bloque de sentencias
b) Cuatro partes: la inicializacin, la condicin, el bloque de
sentencias y la actualizacin
c) Cinco partes: la inicializacin, la condicin, el bloque de
sentencias, la actualizacin y el criterio de finalizacin






Ejercicios de evaluacin de fundamentos de programacin en Java

23
8. Seleccione la opcin que describe correctamente las diferencias entre
las estructuras de repeticin whi l e, do- whi l e y f or .
a) La estructura de repeticin whi l e repite el bloque de
sentencias mientras la condicin es verdadera. La estructura
do- whi l e ejecuta el bloque de sentencias cero o ms veces,
comprueba la condicin y repite el bloque de sentencias
mientras la condicin es verdadera. La estructura f or repite el
bloque de sentencias mientras la condicin es verdadera
b) La estructura de repeticin whi l e repite el bloque de
sentencias mientras la condicin es verdadera. La estructura
do- whi l e ejecuta el bloque de sentencias al menos una vez.
Despus comprueba la condicin y repite el bloque de
sentencias mientras la condicin es verdadera. La estructura
f or repite el bloque de sentencias mientras la condicin es
verdadera
c) La estructura de repeticin whi l e repite el bloque de
sentencias al menos una vez. La estructura do- whi l e ejecuta
el bloque de sentencias cero o ms veces, comprueba la
condicin y repite el bloque de sentencias mientras la condicin
es verdadera. La estructura f or repite el bloque de sentencias
mientras la condicin es verdadera
9. La sentencia br eak se utiliza para interrumpir la ejecucin de una
estructura de repeticin o de un swi t ch. Cuando se ejecuta el
br eak, el flujo del programa contina en la sentencia
inmediatamente posterior a la estructura de repeticin o del swi t ch.
a) Falso
b) Verdadero
10. La sentencia cont i nue nicamente puede aparecer en una
estructura de repeticin. Cuando se ejecuta un cont i nue, se deja de
ejecutar el resto del bucle para volver al inicio de ste.
a) Falso
b) Verdadero

Estructuras de control

24
Ejercicios
1. Explique qu hace el siguiente programa e indique la salida por la
consola para valores de la nota 4, 5, 6, 7, 8, 9 y 10.

publ i c cl ass Resul t ados {
publ i c st at i c voi d mai n( St r i ng[ ] ar gs) {
i nt not a = 7;

i f ( not a >= 5) {
Syst em. out . pr i nt ( " El r esul t ado es apr obado " ) ;

swi t ch ( not a) {
case 5:
case 6: br eak;
case 7:
case 8: Syst em. out . pr i nt l n( " con Not abl e" ) ;
br eak;
case 9: Syst em. out . pr i nt l n( " con Sobr esal i ent e" ) ;
case 10: Syst em. out . pr i nt l n( " con Mat r cul a" ) ;
}
}
el se
Syst em. out . pr i nt l n( " El r esul t ado es suspenso" ) ;
}
}




Ejercicios de evaluacin de fundamentos de programacin en Java

25
2. Explique qu hace el siguiente programa e indique la salida por la
consola para valores de la nota 4, 5, 6, 7, 8, 9 y 10.

publ i c cl ass Resul t ados {
publ i c st at i c voi d mai n( St r i ng[ ] ar gs) {
i nt not a = 7;

Syst em. out . pr i nt l n( ( not a>=5) ? ( not a<8) ?
" Ent r evi st ar " : " Cont r at ar " : " Rechazar " ) ;
}
}

3. Explique qu hace el siguiente programa e indique la salida por la
consola. Cuntas iteraciones del f or se realizan?

publ i c cl ass Numer os {
publ i c st at i c voi d mai n( St r i ng[ ] ar gs) {
f or ( i nt i =1; i <=1000; i ++) {
i f ( i %2 == 0)
cont i nue;
i f ( i %3 == 0)
cont i nue;
Syst em. out . pr i nt l n( " Nmer os: " + i ) ;
i f ( i >= 15)
br eak;
}
}
}

Estructuras de control

26
4. Desarrolle un programa Java para calcular el producto de dos
nmeros n y m con sumas utilizando una estructura de repeticin
f or .
5. Utilice la estructura de repeticin whi l e para desarrollar un
programa Java para calcular la potencia de un nmero utilizando
productos. Para calcular la funcin potencia de un nmero entero
positivo utilizando productos. La potencia se calcula como el producto
de la base repetido tantas veces como el valor del exponente.
pot enci a = base x base x base x base x. . . x base




27
7. Estructuras de almacenamiento
Test de evaluacin
1. Un array permite almacenar muchos objetos de la misma clase e
identificarlos con distinto nombre.
a) Falso
b) Verdadero
2. El tipo base de un array es el tipo que se declara para todos sus
elementos. El tipo base puede ser un tipo primitivo de Java, un objeto
o una clase definida.
a) Falso
b) Verdadero
3. El valor inicial de un array es nul l y antes de hacer referencia a los
elementos del array es necesario instanciarlo indicando el nmero de
elementos que va a almacenar.
a) Falso
b) Verdadero
4. Para hacer referencia a un elemento de un array es necesario indicar
la posicin que ocupa en la estructura de almacenamiento. El primer
elemento de un array se almacena en la posicin 1 y el ltimo
elemento en la posicin N, donde N es el tamao del array.
a) Falso
b) Verdadero
5. La propiedad de un array que permite saber el nmero de elementos
que tiene es:
a) size
b) elements
c) length
Estructuras de almacenamiento

28
6. La declaracin Cl i ent e[ ] cl i ent es = new Cl i ent e[ 5]
corresponde a:
a) Un array de tipo base Cl i ent e, de una dimensin y tamao 5,
con identificador cl i ent es
b) Un array de tipo base Cl i ent e, de una dimensin, con
identificador cl i ent es, que an no ha sido instanciado
c) Un array de tipo base Cl i ent e, de una dimensin y tamao 5,
que puede almacenar objetos en las posiciones: cl i ent es[ 1] ,
cl i ent es[ 2] , cl i ent es[ 3] , cl i ent es[ 4] , cl i ent es[ 5]
7. La declaracin i nt [ ] [ ] [ ] numer os = new i nt [ 2] [ 3] [ 4]
corresponde a:
a) Un array de tipo base i nt de tres dimensiones, de tamao
4x3x2, con identificador numer os
b) Un array de tipo base i nt , de tres dimensiones, con
identificador numer os, que an no ha sido instanciado
c) Un array de tipo base i nt de tres dimensiones, de tamao
2x3x4, con identificador numer os
8. Un f or para todo es una estructura de repeticin que permite
recorrer todos los elementos de un array. La variable de control del
f or toma el valor de todos los elementos del array indicado.
a) Falso
b) Verdadero






Ejercicios de evaluacin de fundamentos de programacin en Java

29
9. La bsqueda binaria es un algoritmo de bsqueda que se aplica a un
conjunto de datos ordenado. El conjunto de bsqueda se delimita por
dos posiciones: el lmite inferior y el lmite superior. El algoritmo
empieza la bsqueda por el elemento que est almacenado en la
mitad del conjunto de bsqueda. Si el elemento almacenado en la
mitad del conjunto es mayor que el valor que se busca, entonces
contina la bsqueda en la primera mitad. Si el elemento almacenado
en la mitad del conjunto es menor que el valor que se busca,
entonces contina la bsqueda en la segunda mitad. Si el elemento
almacenado en la mitad del conjunto es igual que el valor que se
busca, finaliza el proceso. En cada comparacin, el algoritmo reduce
el conjunto de bsqueda a la mitad. Si durante las sucesivas
reducciones del conjunto de bsqueda el lmite inferior es mayor que
el lmite superior, entonces el valor que se busca no est en el array
y finaliza el proceso.
a) Falso
b) Verdadero
10. La clase Ar r ays de Java ofrece mtodos que permiten realizar
operaciones de ordenacin y bsqueda en objetos de tipo array.
a) Falso
b) Verdadero


Estructuras de almacenamiento

30
Ejercicios
1. Utilice un f or para todo para recorrer el siguiente array y mostrar
sus elementos en la consola.

St r i ng[ ] meses = {" Ener o" , " Febr er o" , " Mar zo" , " Abr i l " ,
" Mayo" , " J uni o" , " J ul i o" , " Agost o" ,
" Sept i embr e" , " Oct ubr e" , " Novi embr e" ,
" Di ci embr e" }; .

2. Declare el array numer os de tipo i nt de dos dimensiones de tamao
3x3. Inicialice el contenido del array de manera que el elemento
numer os[ i ] [ j ] almacene el valor i +j . Muestre el contenido de los
elementos del array separados con un tabulador.

0 1 2
1 2 3
2 3 4.

3. Explique brevemente el algoritmo de bsqueda binaria. Cul es la
condicin que se cumple cuando el valor que se busca no existe en el
conjunto de bsqueda?
Para el conjunto de bsqueda definido por el array numer os, realice
la bsqueda de los nmeros 8, 15 y 19. Muestre los valores de los
lmites del conjunto de bsqueda de cada iteracin.

i nt [ ] numer os={1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18};



Ejercicios de evaluacin de fundamentos de programacin en Java

31
4. Declare un array de objetos de la clase Cl i ent e de tamao 10 con
identificador mi sCl i ent es. Almacene en la posicin cero del array un
cliente con NIF 43658713X, nombre Juan y apellidos Fernndez
Lpez. La clase Cliente se ha declarado:

publ i c cl ass Cl i ent e {
pr i vat e St r i ng ni f ;
pr i vat e St r i ng nombr e;
pr i vat e St r i ng apel l i dos;

/ / se omi t en l os mt odos get y set de l a cl ase

publ i c Cl i ent e( St r i ng ni f , St r i ng nombr e,
St r i ng apel l i dos) {
t hi s. ni f = ni f ;
t hi s. nombr e = nombr e;
t hi s. apel l i dos = apel l i dos;
}
}

5. Defina la clase Concesi onar i oVehi cul os con los atributos cif,
nombre, domicilio y pgina web. Esta clase debe utilizar dos arrays
redimensionables para registrar los vehculos en venta y sus clientes.
La clase Cl i ent e debe almacenar los atributos nif, nombre y
apellidos. La clase Vehi cul o debe almacenar los atributos matricula,
marca, modelo, color y precio. Defina los mtodos:
publ i c voi d r egi st r ar Cl i ent e( Cl i ent e c) . Registra un
cliente en la lista de clientes del concesionario.
publ i c voi d i mpr i mi r Cl i ent es( ) . Muestra la relacin de
clientes por la consola.
publ i c voi d r egi st r ar Vehi cul o( Vehi cul o v) . Registra un
vehculo en la lista de vehculos del concesionario.
Estructuras de almacenamiento

32
publ i c voi d i mpr i mi r Vehi cul os( ) . Muestra la relacin de
vehculos del concesionario.
publ i c voi d i mpr i mi r Vehi cul os( St r i ng mar ca) . Muestra la
relacin de vehculos de la marca indicada.
Desarrolle un programa Java que defina una instancia de la clase
Concesi onar i oVehi cul os con CIF "A-28-187189", nombre
"cheap car", y pgina web "www.cheapcar.com". Defina varias
instancias de la clase Cl i ent e y Veh cul o, registre los clientes y los
vehculos en la empresa cheap car. Muestre la relacin de clientes y
el catlogo de vehculos de marca VW.




33
8. Entrada y salida
Test de evaluacin
1. El esquema de entradas y salidas de Java, basadas en flujos, permite
que las entradas sean independientes de la fuente de datos y que las
salidas sean independientes del destino de los datos.
a) Falso
b) Verdadero
2. Un flujo en Java representa un canal de informacin del que se puede
leer o escribir datos de forma secuencial.
a) Falso
b) Verdadero
3. Java ofrece flujos de entrada y salida para dos tipos de datos:
a) Clases y bytes
b) Caracteres y bytes
c) Clases y objetos
4. Los flujos de salida de Java permiten escribir datos en ficheros de
texto y en ficheros con formato binario.
a) Falso
b) Verdadero
5. Indique el nombre del flujo que se utiliza para leer datos del teclado.
a) Keyboard.in
b) System.in
c) Scanner.in

Entrada y salida

34
6. La clase Scanner facilita la lectura del teclado. Indique cul de las
siguientes declaraciones de la instancia ent r adaTecl ado de la clase
Scanner es correcta.
a) Scanner entradaTeclado = new Scanner(Keyboard.in)
b) Scanner entradaTeclado = new Scanner()
c) Scanner entradaTeclado = new Scanner(System.in)
7. Para leer y escribir un objeto en un fichero binario es necesario que la
clase a la que pertenece el objeto sea serializable. Esto significa que
los objetos de la clase se codifican dentro de los flujos de entrada y
salida de Java.
a) Falso
b) Verdadero
8. El mtodo r eadObj ect ( ) de la clase Obj ect I nput St r eamlee un
objeto almacenado en un fichero binario. Despus de leer el objeto:
a) Es opcional convertir el objeto a la clase a la que pertenece
b) No es necesario convertir el objeto a la clase a la que
pertenece
c) Es necesario convertir el objeto a la clase a la que pertenece
9. La sentencias t r y y cat ch permiten atrapar los errores que se
producen en tiempo de ejecucin de un programa Java, denominados
excepciones.
a) Falso
b) Verdadero





Ejercicios de evaluacin de fundamentos de programacin en Java

35
10. En una sentencia t r y- cat ch- f i nal l y:
a) Los bloques cat ch se pueden repetir tantas veces como
excepciones de distinto tipo se desee atrapar. El bloque
f i nal l y debe aparecer al menos una vez y se ejecuta siempre
b) Los bloques cat ch se pueden repetir tantas veces como
excepciones de distinto tipo se desee atrapar. El bloque
f i nal l y no es opcional y se ejecuta siempre
c) Los bloques cat ch se pueden repetir tantas veces como
excepciones de distinto tipo se desee atrapar. El bloque
f i nal l y es opcional y solo puede aparecer una vez. Este
bloque se ejecuta siempre


Entrada y salida

36
Ejercicios
1. Describa brevemente los mtodos next ( ) , next Li ne( ) y
next I nt ( ) de la clase Scanner .
2. Desarrolle un programa Java que defina una instancia de la clase
Scanner para leer del teclado. Utilice los mtodos next ( ) ,
next Li ne( ) y next I nt ( ) para leer el nombre completo de una
persona, su nacionalidad y el ao de su nacimiento, respectivamente.
3. Desarrolle un programa Java que defina una instancia de la clase
Pr i nt Wr i t er y utilice el mtodo pr i nt l n( ) para escribir en un
fichero de texto el contenido del siguiente array:

St r i ng[ ] meses = {" Ener o" , " Febr er o" , " Mar zo" , " Abr i l " ,
" Mayo" , " J uni o" , " J ul i o" , " Agost o" ,
" Sept i embr e" , " Oct ubr e" , " Novi embr e" ,
" Di ci embr e" };

4. Desarrolle un programa Java que defina una instancia de la clase
Fi l e para abrir el fichero Meses.txt. Utilice una instancia de la clase
Scanner para leer los datos almacenados y muestre su contenido por
la consola.
5. Qu es una excepcin? Explique brevemente el uso de la sentencia
t r y- cat ch- f i nal l y para atrapar las excepciones de Java
relacionadas con la lectura y escritura de ficheros.

You might also like