Autor Tema: Exámenes resueltos programación orientada objetos Java UNED Ingenier Informática  (Leído 222244 veces)

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #20 en: 25 de Septiembre 2011, 15:20 »
Hola a todos ¿el tema resulta de interés o lo dejo? Díganme algo por favor para saber si resulta de interés  :-\

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #21 en: 26 de Septiembre 2011, 14:17 »
A mí por lo menos sí me resulta de interés y lo estoy siguiendo, no solo porque me interesa java sino porque he visto que las preguntas están muy en la línea de lo que son certificaciones java oficiales, y no descarto prepararme una certificación.

Así que por mi parte tienes todo el reconocimiento y te pediría que siguieras adelante...

Susana83

  • Sin experiencia
  • *
  • Mensajes: 49
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #22 en: 27 de Septiembre 2011, 09:20 »
A mí también me resulta de interés, y a mucha gente más estoy segura que también, lo que pasa es que no todo el que lee las cosas escribe en el foro, pero estoy segura de que hay mucha gente interesada así que te agradecemos la tarea.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
notas examen uned septiembre
« Respuesta #23 en: 01 de Octubre 2011, 11:08 »
Gracias chicos, creo que estoy un poco depre. Además han salido las notas del examen de septiembre y aparte de que los profesores han vuelto a tener una errata en los resultados del tipo test (al igual que ocurrió en el examen de junio), me han tumbado la asignatura. En fin, para el año que viene será. Yo para no perder el ritmo voy a seguir colgando aquí preguntas y respuestas de examen  :-\

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
error compilación método fuera de clase
« Respuesta #24 en: 02 de Octubre 2011, 01:36 »
PREGUNTA: ¿Qué ocurre al ejecutar el siguiente código?

public void goo() {
foo f = new foo();
System.out.println (f);
}
public class foo {
    String f = "22";
    public String toString() {
        return "44";
    }
    public foo() {}
}


RESPUESTA: Error de compilación: un método no puede estar fuera de una clase como algo independiente.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
método goo ininteligible
« Respuesta #25 en: 03 de Octubre 2011, 13:52 »
PREGUNTA: ¿Cuál sería el resultado de ejecutar el método goo?

public void goo() {
foo f = new foo();
System.out.println (f);
}
public class foo {
    String f = "22";
    public String toString() {
        return "44";
    }
    public foo() {}
}


RESPUESTA: Esta pregunta es un enunciado ininteligible, ya que no queda claro dónde está el método, y sin saber dónde está… De todas formas, se considera que hay que suponer que al no preguntar por la ejecución del código, sino del método, tenemos que considerar que estuviera dentro de la clase… Si el método estuviera dentro de la clase, sí compilaría, y el resultado de ejecutar el método sería: 44. Esto es así, porque en el println lo que se ejecuta es el método toString(). Y al tener sobreescrito el método toString() para que devuelva 44, esto es lo que obtenemos. A esta pregunta hay que reconocerle mérito: ole la mente brillante a la que se le ocurrió.


nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
variable local declarada dentro de bloque try catch
« Respuesta #26 en: 06 de Octubre 2011, 09:46 »
PREGUNTA: Estudia el código que se muestra a continuación. ¿Compila este código?

public class Preg15 {
    public void prueba () {
        try {
            int variableLocal = 55;
        } catch (ArithmeticException e) {
            System.out.println( variableLocal);
        }
        finally { }
    }
}


RESPUESTA: No, una variable local declarada dentro de un bloque try catch no es conocida ni en el catch ni en el finally. En resumen, si la variable está declarada fuera del bloque try, sí se puede usar en el catch o en el finally. Si está dentro del bloque try, nos saltará un error de compilación.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
variable local fuera de bloque try catch java
« Respuesta #27 en: 08 de Octubre 2011, 00:02 »
PREGUNTA: ¿Compila este código?

public class Preg15 {
    public void prueba () {
        int variableLocal = 55;
        try {
        } catch (ArithmeticException e) {
            System.out.println( variableLocal);
        }
        finally { }
    }
}


RESPUESTA: Sí, una variable local declarada fuera de un bloque try-catch es conocida dentro del catch y también dentro del finally.
« Última modificación: 14 de Septiembre 2012, 12:17 por nosferacento »

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #28 en: 09 de Octubre 2011, 15:11 »
Chicos recordar que algunas de las preguntas que estoy poniendo en este post han salido directamente de exámenes "tal cual", mientras que otras son preguntas de tipo muy similar que me las he inventado yo, comprobándolas con el compilador.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
declaraciones de variables java válidas
« Respuesta #29 en: 13 de Octubre 2011, 10:36 »
PREGUNTA: Dadas estas declaraciones de variables, indicar cuáles son correctas y cuáles no:

float foo = -1; 
float foo1 = 1.0;
float foo2 = 42e1;
float foo3 = 2.02f;
float foo4 = 3.03d;
float foo5 = 0x0123;
double foo6 = 3.03d;
double foo7 = 0x0123;
double foo8 = 0x012345;
double foo9 = 0x012345678;
double foo10 = 0x0123456789;



RESPUESTA:

float foo = -1;  // ---> Sí compila, declaración correcta
//float foo1 = 1.0; -->No compila Error: possible lost of precission: found double required float
//float foo2 = 42e1; --> No compila:  Error: possible lost of precission: found double required float
float foo3 = 2.02f; // ---> Sí compila, declaración correcta
//float foo4 = 3.03d; --> No compila:  Error: possible lost of precission: found double required float
float foo5 = 0x0123; // ---> Sí compila, declaración correcta
double foo6 = 3.03d; // ---> Sí compila, declaración correcta
double foo7 = 0x0123; // ---> Sí compila, declaración correcta
double foo8 = 0x012345; // ---> Sí compila, declaración correcta
double foo9 = 0x012345678; // ---> Sí compila, declaración correcta
// double foo10 = 0x0123456789;  ---> No compila. Error: integer number 0123456789 too large

Nota: una referencia a una posición de memoria ha de empezar con 0x seguida de hasta 9 dígitos. No se admite otra forma de expresar una referencia a una posición de memoria.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
contenido variable foo java
« Respuesta #30 en: 14 de Octubre 2011, 14:52 »
PREGUNTA: Dado el siguiente código ¿cuál es el contenido de la variable foo?

int index = 1;
boolean [] test = new boolean [3];
boolean foo = test [index];
System.out.println (foo);



RESPUESTA: El contenido es false. Motivo: desde que se crea un array con la instrucción new, queda relleno en todas sus posiciones con cero para valores numéricos, false para booleanos, null para objetos incluido strings, o carácter nulo para tipo char.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
diagrama de clases java
« Respuesta #31 en: 19 de Octubre 2011, 10:44 »
PREGUNTA: ¿Qué relaciones tiene la clase Radio con las otras clases según este esquema y cómo se escribiría la signatura de esta clase? (Nota: el esquema lo pongo como archivo adjunto, archivo diagrama_de_clases.jpg; en el esquema vemos un diagrama de clases que relaciona cinco clases: Transmisor, Receptor, Radio, TV y Operador)


RESPUESTA: Radio implementa la interfaz Transmisor y hereda (extends) de la clase receptor. Además, es usada por la clase Operador.

La signatura de radio sería del tipo:

public class Radio extends Receptor implements Transmisor { }

Cuando hay varias relaciones primero se pone la herencia y luego la implementación de interfaces, es decir, primero extends y luego implements. Si implementara varias clases se pondrían separadas por comas así: extends Receptor implements Transmisor1, Transmisor2, Transmisor3 { } . No es posible el uso múltiple de extends porque la herencia múltiple de clases no está permitida en java.

Interpretación del diagrama de clases:

Flecha continua punta vacía: herencia.
Flecha discontinua punta vacía: implements.
Flecha discontínua punta normal: uso.
« Última modificación: 14 de Septiembre 2012, 12:12 por nosferacento »

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
resultado de una expresión booleana en java
« Respuesta #32 en: 20 de Octubre 2011, 14:27 »
PREGUNTA: ¿Qué devuelve esta expresión en Java?

(1>1) && (1 > 1) == (1 > 1) == false

RESPUESTA: Evaluemos por partes:

false && false == false == false;
false && false = false;
false == false; --> vale true;
true == false; --> vale false;

Luego la expresión devuelve false

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
valor expresión booleana java
« Respuesta #33 en: 26 de Octubre 2011, 00:08 »
PREGUNTA: ¿Qué devuelve esta expresión en Java?

(1 ==1) | (10 > 1) == true | true == true

RESPUESTA: Evaluemos por partes:
1 == 1 devuelve true;
10 > 1 devuelve true;
true | true == true | true == true
true == true | true == true
true | true

Luego la expresión devuelve true

La diferencia entre || y | es que con || se deja de evaluar la expresión desde que es verdadero el primer caso, mientras que con | se evalua también el segundo caso.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
error de compilación al faltar la llamada super constructor
« Respuesta #34 en: 29 de Octubre 2011, 07:36 »
PREGUNTA: Dado el siguiente código java, ¿Cuál es su resultado?

class Top {
    public Top (String s) { System.out.print ("B"); }
}

public class Bottom2 extends Top {
    public Bottom2 (String s) { System.out.print ("D"); }
    public static void mian (String [] args) {
        Bottom2 obj = new Bottom2("C");
        System.out.println (" ");
    }
}


RESPUESTA: Se obtiene un error de compilación debido a que el constructor de Bottom2 contiene instrucciones y omite la instrucción super(s), es decir, no se incluye el código necesario para que al construir un objeto de la clase Bottom2 se ejecute previamente el constructor de Top;. Si la incluyera el código devolvería BD.
Siempre es obligatorio super(parámetros) excepto cuando existe un constructor de la clase superior sin parámetros. En este caso escribiríamos super(), pero si no lo incluimos el compilador lo hará automáticamente evitando que salte un error.


nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
clases java sin constructor class hotel
« Respuesta #35 en: 30 de Octubre 2011, 09:11 »
PREGUNTA: Dado el siguiente código java, ¿Cuál es su resultado?

class Hotel {
    public int reservas;
    public void reservar() { reservas++; }
   
}

public class SuperHotel extends Hotel {
    public void reservar() {reservas--;}
   
    public void reservar (int size) {
        reservar();
        super.reservar();
        reservas += size;
    }
   
    public static void main (String [] args) {
        SuperHotel hotel = new SuperHotel();
        hotel.reservar(2);
        System.out.print (hotel.reservas);
    }
}



RESPUESTA: Por carecer ambas clases de constructor no hay problema. Al crear el objeto y manipular una variable que no ha sido inicializada (mala práctica, pero compilable y ejecutable sin error), la variable opera con su valor por defecto que en el caso de un int es cero. El resultado del método reservar (int size) es que la variable reservas se incrementa en lo que indica size. Por tanto el resultado de la ejecución es 2.

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
concepto de depuración en java
« Respuesta #36 en: 05 de Noviembre 2011, 18:15 »
PREGUNTA: ¿Cuál es la definición de depuración?

RESPUESTA: "La depuración es el intento de apuntar con precisión y corregir un error en el código". Añadiremos que esto es una definición un tanto críptica y ambigua, pero no le des muchas vueltas. Apréndetela para el examen y punto.
« Última modificación: 14 de Septiembre 2012, 12:18 por nosferacento »

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
encapsulamiento cohesión y acoplamiento java
« Respuesta #37 en: 06 de Noviembre 2011, 16:17 »
PREGUNTA: Diga si es cierto o falso:

a)   El encapsulamiento reduce la cohesión.
b)   El encapsulamiento reduce el acoplamiento.


RESPUESTA:

a)   Falso
b)   Verdadero
« Última modificación: 14 de Septiembre 2012, 12:18 por nosferacento »

nosferacento

  • Moderador Global
  • Avanzado
  • *******
  • Mensajes: 443
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #38 en: 09 de Noviembre 2011, 18:51 »
¿Hay alguien ahí?

javi in the sky

  • Avanzado
  • ****
  • Mensajes: 393
    • Ver Perfil
Re:preguntas examen programación orientada a objetos uned
« Respuesta #39 en: 10 de Noviembre 2011, 08:48 »
Eres nuestro líder espiritual. Claro que estamos aquí, seguimos cada post con anhelo, día y noche, haga frío o calor, en la abundancia o en la adversidad; Los fieles a tí te seguimos oh nosferacento!

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".