Está en la página 1de 10

Test FINAL – MP_0485-UF3

Al final de cada Unidad Formativa, habrá un test de evaluación.


Será una batería de 10-20 preguntas (dependiendo de las horas de la UF y del
contenido) se generarán preguntas para que se pueda realizar una batería
aleatoria de preguntas.
OBLIGATORIA: SI
Nº de intentos: 2
Puntuación para aprobar: 50
Preguntas por página: 1
Mostrar las respuestas correctas solo cuando no queden intentos
Permitir mejorar notas mientras queden intentos.

Actividades de selección SIMPLE/MULTIPLE

Las constantes alfanuméricas:


van encerradas entre comillas simples.
van encerradas entre comillas dobles.
no tienen ningún tipo de delimitador.

FEEDBACK: En Java las constantes alfanuméricas van encerradas entre


comillas dobles. Son las constantes de tipo char (un solo carácter) las que
van encerradas entre comillas simples.

Marca las afirmaciones correctas sobre esta sentencia (hay más de una):
final double PI = 3.1415926;

PI es el nombre de la constante 3.1415926.


PI es el nombre de una variable con el valor 3.1415926.
El valor de PI puede ser modificado a lo largo de la ejecución del
programa.
El valor de PI no puede ser modificado a lo largo de la ejecución del
programa.

FEEDBACK: PI es el nombre de una constante, ya que el modificador final se


utiliza para declarar una constante.

1. Dado el siguiente programa:


El lenguaje de programación Java
MP_0485-UF3

public class Principal {


public static void main(String[] args) {
byte num = 127;
System.out.println(num);
num++; // Suma una unidad a la variable num.
System.out.println(num);
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● Error de desbordamiento en tiempo de ejecución.
● Error de compilación, ni siquiera se puede ejecutar.
● Muestra en pantalla los números 127 y -128.

FEEDBACK: La variable num, por ser de tipo byte, tiene un rango de valores
posibles entre -128 a 127. La máquina virtual de Java tiene un curioso modo de
proceder en estos casos; funciona de forma giratoria dentro del rango de
valores, al sumar 1 a 127 regresamos al -128.

2. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
float num = 18.45;
System.out.println(num);
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● Hay un error de compilación.
● Muestra en pantalla 18.45.
● Eclipse muestra una alerta, pero aun así el programa funciona.

FEEDBACK: La máquina virtual de Java almacena el valor 18.45 por defecto en


un hueco de memoria del tamaño de un double. Como la variable num es de
tipo float no puede almacenar un valor double, produciéndose un error de
compilación.

1
El lenguaje de programación Java
MP_0485-UF3

3. Marca las afirmaciones correctas sobre esta sentencia (hay más de una):
String texto="Hola Mundo";

● La variable texto es de tipo elemental.


● La variable texto es un objeto de la clase String.
● Un String está formado por un conjunto de caracteres.
● texto es una constante.
● Java no dispone de un tipo de dato elemental para representar
cadenas de caracteres.

FEEDBACK: El tipo String (cadena) no es un tipo elemental, sino una clase.


Java no tiene un tipo elemental para representar cadenas de caracteres
(datos alfanuméricos). Una cadena se maneja como un objeto más
complejo de la clase String, compuesto por un conjunto de caracteres.

4. ¿Cuál es el resultado de la siguiente expresión Java?


3+5>=8 && 5*2<8

● false.
● true.
● 25.

FEEDBACK: && es el operador And, aunque la primera condición es


verdadera, la segunda es falsa, por lo que el resultado final es falso.

5. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
int i=5;
int c=3;
do {
i=i+c;
System.out.println(i);
c++;
} while (i<30);
}
}

2
El lenguaje de programación Java
MP_0485-UF3

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● Escribe los números 8, 12, 16, 20, 24.
● Escribe los números 5, 8, 11, 14, 18.
● Escribe los números 8, 12, 17, 23 y 30.

FEEDBACK: El valor de i se incrementa según el valor de c, que va aumentando


en una unidad con cada iteración. Así que el primer incremento es en tres
unidades, luego en cuatro, luego en cinco y así sucesivamente. El resultado es
8, 12, 17, 23 y 30.

6. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
int i=20;
do {
i=i+1;
System.out.println(i);
i++;
} while (i<10);
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● Muestra 21.
● Muestra los números del 1 al 10.
● No muestra nada.

FEEDBACK: La iteración del bucle do … while continúa mientras se cumpla la


condición i<10. Aunque dicha condición no se cumple nunca porque i se ha
inicializado con el valor 20. El proceso se ejecuta una vez, ya que se trata de
una estructura mientras de tipo acción/condición.
7. ¿Qué es un conmutador o switch?
● Una variable que solo puede tomar los valores true o false.
● Una variable que puede tomar tres valores true, false o
indeterminado.
● Una variable que solo puede tomar dos valores (true/false, 0/1, 1/-
1, etc.).

3
El lenguaje de programación Java
MP_0485-UF3

FEEDBACK: Los conmutadores son variables de memoria que pueden tomar


dos valores exclusivos: true/false, 0/1, 1/-1, etc.

8. Indica en qué situaciones se utiliza un conmutador o switch. Hay varias


respuestas correctas.
● Para contar el número de veces que debe ejecutarse un bucle.
● Para recordar un suceso.
● Para contar el número de veces que ocurre algo.
● Para hacer que dos acciones se ejecuten alternativamente dentro
de un bucle.

FEEDBACK: Los conmutadores se utilizan para recordar un suceso o para


lograr que dos acciones se ejecuten alternativamente.

9. Indica las afirmaciones correctas. Hay varias.


● El valor de las variables se guarda en la memoria RAM.
● Las variables numéricas solo pueden guardar números enteros.
● || es el operador And.
● Los operadores relacionales ofrecen un resultado booleano.
● ? es el operador condicional.
● El valor de las variables no requiere ser almacenado.

FEEDBACK: La segunda afirmación es falsa, ya que hay variables numéricas


enteras y reales. La tercera afirmación es falsa, ya que || es el operador
Or. La sexta afirmación es falsa, las variables se almacenan en memoria
RAM.

10. Indica las afirmaciones correctas. Hay varias.


● Las variables Java deben comenzar con una letra mayúscula.
● Los bloques Java delimitan el ámbito de las variables.
● Una sentencia Java representa una tarea sencilla y termina con ;.
● Las convenciones son normas de obligado cumplimiento.

FEEDBACK: La primera afirmación es falsa, ya que las variables, por


convención, deben comenzar por una letra minúscula. La cuarta
afirmación es falsa, ya que las convenciones son conjuntos de normas
que no son obligatorias, son recomendaciones de la comunidad de
programadores Java.

4
El lenguaje de programación Java
MP_0485-UF3

11. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
int c=0;
int i=1;
while (c<10){
c=c+i;
System.out.println(c);
if (c%2==0)
i=i+1;
else
i=i+2;
}
}
}
Indica las afirmaciones correctas. Hay varias.
● La variable c es un contador de control de bucle.
● La variable c es un contador de sucesos.
● La expresión c%2 tendrá un resultado igual a 0 si c es par.
● El bucle while es de tipo condición/acción.
● Al ejecutarlo se muestran en pantalla los números 1, 4, 9 y 14.
● Al ejecutarlo se muestran en pantalla los números 1, 4, 8 y 13.

FEEDBACK: La variable c es de control de bucle porque determina cuándo


terminará la iteración. La expresión c%2 halla el resto de la división c/2,
con lo que si c es par i se incrementa en 1 unidad y si c es impar c se
incrementa en 2 unidades. Tienes que hacer una ejecución paso a paso
mentalmente para comprobar si las dos últimas afirmaciones son
verdaderas o falsas.

12. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
int c=1;
int d=1;
while (c<4){
System.out.println(c+"-"+d);
c=c+1;
switch(c) {
case 1: d=d+1; break;

5
El lenguaje de programación Java
MP_0485-UF3

case 2: d=d+2; break;


case 3: d=d+3; break;
}
}
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● Muestra en pantalla 1-1, 2-3 y 3-6.
● Muestra en pantalla 1-1, 2-4, y 3-7.
● Muestra en pantalla 1-2, 2-3 y 3-4.

FEEDBACK: Tienes que hacer una ejecución paso a paso mentalmente para
comprobar el resultado.

13. La sentencia switch en Java:


● Permite implementar la estructura alternativa simple.
● Permite implementar la estructura alternativa doble.
● Permite implementar la estructura alternativa múltiple.

FEEDBACK: La sentencia switch de Java permite implementar la estructura


alternativa múltiple.

14. Una estructura para (for) :


● Necesita un contador y un acumulador.
● Necesita un contador.
● Necesita un acumulador.

FEEDBACK: Una estructura para (for) actúa como una estructura mientras
donde siempre interviene un contador.

15. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
int c=3;
if (c==3) {

6
El lenguaje de programación Java
MP_0485-UF3

int d=c+3;
}
System.out. println (d);
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● Muestra en pantalla un 6.
● Error en tiempo de compilación.
● Error en tiempo de ejecución.

FEEDBACK: Se produce un error de compilación en la línea


System.out.println(d);
ya que la variable d es local al bloque if.

16. Dado el siguiente programa:


public class Principal {
public static void main(String[] args) {
int d=0;
for (int c=1; c<=4; c++) {
d=d+c;
System.out.println(c+"-"+d);
}
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● 1-2, 2-3, 3-4, 4-5.
● 1-1, 2-2, 3-3, 4-4.
● 1-1, 2-3, 3-6, 4-10.

FEEDBACK: Tienes que hacer una ejecución paso a paso mentalmente para
comprobar el resultado.

17. Dado el siguiente programa:

7
El lenguaje de programación Java
MP_0485-UF3

public class Principal {


public static void main(String[] args) {
for (a=1; a<=4; a++) {
System.out.println(a);
}
}
}

¿Cuál es el resultado de su ejecución? Halla la respuesta razonando, no


copies y pegues el código en Eclipse.
● 1, 2, 3, 4.
● Error de compilación porque la variable a no se ha declarado.
● 2, 3, 4, 5.

FEEDBACK: La variable a no está declarada. El programa da error de


compilación.

18. != es un operador de tipo:


● relacional.
● lógico.
● aritmético.

FEEDBACK: != es un operador relacional útil para expresiones booleanas.

19. Una expresión está formada por:


● constantes, variables y operadores.
● constantes, variables, operadores y funciones.
● constantes, variables operadores y otras expresiones.

FEEDBACK: Una expresión está formada por un conjunto de constantes,


variables, operadores y funciones.

20. *= es un operador de:


● asignación simple.
● relacional.
● asignación compuesta.

FEEDBACK: *= es un operador de asignación compuesta que sirve para


simplificar operaciones aritméticas. b*=3 equivale a b=b*3.

8
El lenguaje de programación Java
MP_0485-UF3

21. ++ es un operador:
● aritmético.
● unario.
● de asignación compuesta.

FEEDBACK: ++ es un operador unario, ya que interviene un único operando.

22. Indica las afirmaciones correctas sobre operadores y expresiones. Hay


varias.
● && es un operador lógico.
● ? es un operador lógico.
● Los operadores de asignación compuesta sirven para simplificar
operaciones aritméticas.
● El operador && tiene más prioridad que el operador ||.
● Las asignaciones compuestas son las que más prioridad tienen en
las expresiones.

FEEDBACK: La segunda afirmación es falsa, ya que el símbolo de


interrogación es el operador condicional. La última afirmación es falsa, ya
que las asignaciones compuestas están las últimas dentro de la prioridad
de los operadores.

También podría gustarte