Examen de La Primera Evaluación de Programación
Examen de La Primera Evaluación de Programación
Examen de La Primera Evaluación de Programación
PALENCIA
FECHA: jueves, 06 de febrero de 2020 PRIMERA
MODULO: PROGRAMACIÓN. MODALIDAD A DISTANCIA. EVALUACIÓN
NOMBRE:
1. predecir el resultado.
// filename Test.java
class Test {
public static void main(String[] args)
{ for(int i = 0; 1; i++) { System.out.println("Hola"); break; } }
}
Resultado:
2. predecir el resultado.
// filename Test.java
class Test {
public static void main(String[] args)
{ for(int i = 0; true; i++) { System.out.println("Hola"); continue; } }
}
Resultado:
3. predecir el resultado.
// filename Test.java
class Test {
public static void main(String[] args)
{ for(int i = 0; true; i++) { System.out.println("Hola"); break; } }
}
Resultado:
4. predecir el resultado.
package main;
class Base { public void Print() { System.out.println("Base "); } }
class Derived extends Base { public void Print() { System.out.println("Derived"); } }
class Main{ public static void DoPrint( Base o ) { o.Print(); }
public static void main(String[] args) { Base x = new Base(); //Constructor
Base y = new Derived();
Derived z = new Derived();
DoPrint(x);
DoPrint(y);
DoPrint(z); } }
Resultado:
Resultado:
6. Predecir el resultado
// filename: Test3.java
public class Test
{
int x = 2;
Test(int i) { x = i; }
public static void main(String[] args) {
Test t = new Test(5);
System.out.println("x = " + t.x);
}
}
Resultado:
Explicación:
La salida del programa es “x = 5”. The initialization with class declaration in Java is like initialization using Initializer List in C++. So, in
the above program, the value assigned inside the constructor overwrites the previous value of x which is 2, and x becomes 5.
class GfG
{
public static void main(String args[])
{
String s1 = new String("ElCaminoDe");
String s2 = new String("ElCaminoDe");
if (s1 == s2)
System.out.println("Equal");
else
System.out.println("Not equal");
}
}
Resultado:
Explicación:
Since, s1 and s2 are two different objects the references are not the same, and the == operator compares object reference.
So it prints “Not equal”, to compare the actual characters in the string .equals() method must be used.
Explicación:
treeSet.add("geeks");
treeSet.add("por");
treeSet.add("geeks");
treeSet.add("ElCaminoDe");
System.out.println("\n");
}
}
a) Geeks for Geeks ElCaminoDe
b) Geeks for ElCaminoDe
c) Geeks ElCaminoDe for
d) for ElCaminoDe Geeks
Resultado:
Explicación:
Resultado.
EXPLICACIÓN
Respuesta.
Explicación:
temp is a primitive data type. Primitive data types cannot be assigned null values. data is an instance of class Integer and therefore
can hold null values.
12. ¿Cuál será el resultado del programa? Type Conversions
public class Test
{
public static void main(String[] args)
{
int value = 554;
String var = (String)value; //line 1
String temp = "123";
int data = (int)temp; //line 2
System.out.println(data + var);
} }
a) 677
b) Compilation error due to line 1
c) Compilation error due to line 2
d) Compilation error due to line 1 and line 2
Respuesta.
Explicación:
Converting from int to String as well as converting from String to int is not allowed in java.
Respuesta.
Explicación:
Converting from a bigger data type to a smaller data type is not allowed in java as it is a lossy conversion.
14. ¿Cuál será el resultado del programa?
public class Test
{
public static void main(String[] args)
{
double data = 444.324;
int sum = 9;
float value = 5.1f;
System.out.println(data + sum + value);
}
}
a) 444.32495.1
b) 456
c) 458.42399
d) 458.4
Respuesta.
Explicación:
If one of the operands is long, double or float, the entire expression is converted to long, double or float respectively.
15. ¿Cuál será el resultado del programa?
public class Test
{
public static void main(String[] args)
{
byte var = 1;
var = (byte) var * 0; //line 1
byte data = (byte) (var * 0); //line 2
System.out.println(var); } }
a) 0
b) Compilation error due to line 1
c) Compilation error due to line 2
d) Compilation error due to line 1 and line 2
Respuesta.
Explicación:
When the expressions are evaluated, the data type of the result is implicitly changed to a larger data type and therefore, explicit
recasting has to be done as shown in line 2. On the other hand, line 1 shows compilation error because the expression on the right side
has data type as int whereas left side it is byte.
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 5
{
return 1;
}
public static void main(String[] args)
{
Test obj = new Test();
System.out.println(obj.getData()); } }
a) 1
b) 0
c) Runtime error
d) Compilation error
Respuesta.
Explicación:
For method overloading, methods must have different signatures. Return type of methods does not contribute towards different
method signature, so the code above give compilation error. Both getdata 1 and getdata 2 only differ in return types and NOT
signatures.
17. ¿Cuál es la salida del siguiente trozo de código?
import java.util.*;
Options :
A. S1=123456, S2=579
B. S1=123456, S2=123456
C. S1=579, S2=579
D. None of This
Answer :
A
Explicación:
If a number is quoted in “” then it b as numeric values.
18. ¿Cuál es el resultado del siguiente código?
class Test2 {
public
static void main(String[] args)
{
byte x = 12;
byte y = 13;
byte result = x + y;
System.out.print(result);
}
}
Option
a) 25
b) Error
c) -25
d) none
Resultado
Explicación:
If we apply any arithmetic operator between two variables x and y, then the result type is max(int, type of x, type of y). Therefore, here
the compiler will give the error possible lossy conversion int to byte.
Explicación:
If any integer number start with 0, then that number is treated as octal number hence 011 means (1*8^1 + 1*8^0) 9 and also if any
integer start with 0x means then that number is treated as Hexadecimal number means we can have the value between[0-9] and [a-z
or A-Z]. oxfee =(15*16^2 + 14*16^1 + 14*16^0) =>4078.
opción
a) AB
b) 195
c) 131
d) Error
Respuesta
Explicación:
Here, ‘A’ and ‘B’ are not strings they are characters. ‘A’ and ‘B’ will not concatenate. The ASCII of the ‘A’ and ‘B’ will be added. The value
of ‘A’ is 65 and ‘B’ is 66. Hence Output will be 131.
OPTION
a) ABA10
b) AB65
c) Error
d) AB
Answer :
Explicación:
If you try to concatenate any different types of data like integer, character, float with string value, the result will be a string. So ‘A’ will
be concatenated with “AB” and answer will be “ABA”.
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 7
22. ¿Cuál es la salida de este programa?
public
class Prg {
public static void main(String args[])
{
System.out.print(20 + 1.34f + "A" + "B"); } }
OPTION
a) 201.34AB
b) 201.34fAB
c) 21.34AB
4) Error
Answer :
Explicación:
Similar data types are added and then converted to string. 20 and 1.34f will be added and then 21.34 will be concatenated with “A” and
“B”, hence output will be 21.34AB.
23. ¿Cuál es el resultado del siguiente programa?
Explicación:
[C@19e0bfd (Memory Address) : str is a character array, if you try to print str.toString() it will not converted to string because str is an
object of character array that will print an address in string format.
24. ¿Cuál es el resultado del siguiente programa?
public class prg {
public static void main(String[] args)
{ System.out.print("Hola");
System.out.println("Guys!"); } }
OPTION
a) HolaGuys!
b) Hola Guys!
c) Hola
Guys!
d) Compile with a Warning
Respuesta
Explicación:
System.out.print() does not print new line after printing string, while System.out.println(); prints new line after printing string. Hence
output will be HolaGuys! and then new line.
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 8
int[] arr = { 1, 2, 3, 4, 5 };
System.out.println(arr);
} }
Options:
1. 1
2. Compile-time error
3. 1 2 3 4 5
4. [I@Hashcode_in_Hexadecimal
Resultado:
Explicación:
In the above program, we are using declaration, creation and initialization in a single statement. But while printing, we are printing the
base address of the array and not the full array. To display array, loops need to be used.
26. ¿Cuál será el resultado del programa?
public
class Test {
public
static void main(String[] args)
{
int b = 2147483648;
System.out.println(b); } }
Options:
1. No output
2. 2147483648
3. 2147483647
4. compile-time error
Resultado:
Explicación:
Options:
1. compile-time error
2. null
3. No output
4. ; //ascii value of 59 is ;
Resultado:
Explicación:
As the static variable is of type char. When we print it, the ASCII value of the given integer gets printed.
28. ¿Cuál será el resultado del programa?
public
class Test {
public
static void main(String[] args)
{
int x = 0xGeeks;
System.out.println(x);
}
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 9
}
Options:
1. 1
2. Compile-time error
3. null
4. Run-time error
Resultado:
respuesta.
Explicación:
Here we try to assign literals in Hexadecimal-form in int data types. But according to rule the allowed characters are A-F but here we
are using characters which are not allowed. That’s why the above program will compile time error saying error: not a statement.
29. ¿Cuál será el resultado del programa?.
public
class Test {
public
static void main(String[] args)
{
// we are assiging 8 byte data to 4 byte variable
float f = 10l;
System.out.println(f);
}
}
Options:
1. 10
2. Compile-time error
3. 10.0
4. RuntimeException
Resultado:
Respuesta.
Explicación:
Here we are assigning a long value to a float variable. According to the data types float is of 4 byte and long is of double byte. Apart
from that we can assign a long value to a float type.
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 10
2. Obtener el factorial de un un número utilizando itaración. El programa
te pide un número de 1 al 50 y calcula el factorial del número que has
introducido.
import java.util.Scanner;
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 11
5. ejercicio hay que realizar bubble sort con una matriz de 100 números
enteros generados de manera aleatoria en una matriz de 100 números
enteros del 1 al 100.
Una buena forma de hacelo es esta: tomo el trozo de código del ejercicio anterior y lo lleno de
números aleatorios entre el uno y el cien, realizo la ordenación sin utilizar el api, puesto que
en el api os podeís encontrar el Shell sort, quick sort y otros.
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 12
6. Hay que hacer un programa en java que lea un fichero que es: los
hermanos karamazov.txt utf8 y busque dentro del fichero la palabra
‘seville’ aparece 4 veces.
Lo que hay que hacer es algo parecido a lo que hace el comando grep en
unix .
NN-3=NN-2 + NN-1
Núltimo = Npenúltimo + Nantepenúltimo
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 13
Para cualquier valore que quieras pensar como ultimo.
8. Escribe un programa en java que obtenga los números primos que hay en
los 1000 primeros números naturales. Realice lo que se llama la criba de
eratóstenes, que es para obtener números primos. Aunque puede hacerse de
varias formas. un número primo es aquel que solamente es divisible por
si mimos y la unidad. Haz uno que halle los 1000 primeros números
primos.
Forma fácil es tomar un array de de 1000 elementos de tipo boolean, y en principio todos son primos osea
true, hasta que alguno de ellos no lo es, (porque su mod no es o cero o el mismo número) con lo cual pasa a
false y al final del recorrido total he ‘cribado’ u obtenido aquellos ‘true’ verdareramene primos.
import java.util.Scanner;
class PrimeNumberDemo {
public static void main(String args[]) {int n; int status = 1; int num = 3;
//el valor de n
Scanner scanner = new Scanner(System.in);
System.out.println("Enter the value of n:");
//el valor es almacenado en n
n = scanner.nextInt();
if (n >= 1)
{ System.out.println("First "+n+" prime numbers are:");
//2 es primo
System.out.println(2); }
for ( int i = 2 ; i <=n ; )
{ for ( int j = 2 ; j <= Math.sqrt(num) ; j++ )
{ if ( num%j == 0 )
{ status = 0; break; } }
if ( status != 0 ) { System.out.println(num); i++; }
status = 1;
num++; } }
Examen de la primera evaluación del modulo de programación de ciclo Desarrollo de Aplicaciones Multiplataforma. Modalidad a distancia. Pág. 14