Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Examen sobre Programación Orientada a Objetos en Java, Exámenes de Informática

Un examen sobre programación orientada a objetos en java, con preguntas de opción múltiple y de respuesta corta. Abarca temas como la herencia, la abstracción, la polimorfía, la encapsulación, la creación de objetos, la gestión de memoria, la manipulación de arreglos, la utilización de archivos y la gestión de excepciones. El examen está diseñado para evaluar el conocimiento y la comprensión de los conceptos fundamentales de la programación orientada a objetos en java.

Tipo: Exámenes

2023/2024

Subido el 21/01/2025

maricielo-garrido-azcarate
maricielo-garrido-azcarate 🇨🇱

2 documentos

1 / 11

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1. Pregunta: Interpretar la siguiente instrucción:
public Producto[] getProductos() {
return productos;
}
Respuesta: Esta instrucción define un método público llamado `getProductos` que devuelve un
arreglo de objetos `Producto`. Dentro del método, simplemente retorna el arreglo de
productos que probablemente está definido como un atributo de la clase. Esto sugiere que el
método está diseñado para devolver todos los productos almacenados en algún lugar de la
clase.
2. Pregunta: En la siguiente instrucción:
public class Mascota implements Comparable<Mascota>
¿Qué pilares de la programación orientada a objetos están que se aplican?
Respuesta: Esta instrucción implica que la clase Mascota implementa la interfaz Comparable,
lo que indica que se aplican los pilares de la programación orientada a objetos de Herencia
múltiple y Abstracción.
3. Pregunta: ¿Cuándo se redefine el compareTo, ¿Qué argumento recibe y por qué?
`@Override public int compareTo(...) {...}`
Respuesta: El método compareTo recibe un argumento de tipo objeto, ya que este método sirve
para comparar objetos del mismo tipo, personaliza su ordenamiento dependiendo del caso.
4. Pregunta: Si se guardaron objetos mascota en nombreArray, ¿se puede obtener el
primer objeto con la siguiente instrucción: `mascota miMascota = nombreArray;`?
Respuesta: Sí, ya que, al no indicar una posición, siempre se asume que retornará el primer
elemento del arreglo.
5. Pregunta: ¿Para un objeto o instancia de una clase derivada cuál es la composición?
Respuesta: La composición para un objeto o instancia de una clase derivada en Java se refiere
a los atributos y métodos propios y los que se heredan de la clase base.
6. Pregunta: ¿Por qué se produce esta excepción: NullPointerException?
Respuesta: La excepción NullPointerException ocurre cuando intentas trabajar con un
objeto que en realidad no existe o no ha sido creado.
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Examen sobre Programación Orientada a Objetos en Java y más Exámenes en PDF de Informática solo en Docsity!

  1. Pregunta: Interpretar la siguiente instrucción: public Producto[] getProductos() { return productos; } Respuesta: Esta instrucción define un método público llamado getProductos que devuelve un arreglo de objetos Producto. Dentro del método, simplemente retorna el arreglo de productos que probablemente está definido como un atributo de la clase. Esto sugiere que el método está diseñado para devolver todos los productos almacenados en algún lugar de la clase.
  2. Pregunta: En la siguiente instrucción: public class Mascota implements Comparable ¿Qué pilares de la programación orientada a objetos están que se aplican? Respuesta: Esta instrucción implica que la clase Mascota implementa la interfaz Comparable, lo que indica que se aplican los pilares de la programación orientada a objetos de Herencia múltiple y Abstracción.
  3. Pregunta: ¿Cuándo se redefine el compareTo, ¿Qué argumento recibe y por qué? @Override public int compareTo(...) {...} Respuesta: El método compareTo recibe un argumento de tipo objeto, ya que este método sirve para comparar objetos del mismo tipo, personaliza su ordenamiento dependiendo del caso.
  4. Pregunta: Si se guardaron objetos mascota en nombreArray, ¿se puede obtener el primer objeto con la siguiente instrucción: mascota miMascota = nombreArray;? Respuesta: Sí, ya que, al no indicar una posición, siempre se asume que retornará el primer elemento del arreglo.
  5. Pregunta: ¿Para un objeto o instancia de una clase derivada cuál es la composición? Respuesta: La composición para un objeto o instancia de una clase derivada en Java se refiere a los atributos y métodos propios y los que se heredan de la clase base.
  6. Pregunta: ¿Por qué se produce esta excepción: NullPointerException? Respuesta: La excepción NullPointerException ocurre cuando intentas trabajar con un objeto que en realidad no existe o no ha sido creado.
  1. Pregunta: ¿Ud. puede afirmar que: nombre_de_Arreglo[0], es un objeto? Respuesta: No, ´nombre_de_Arreglo[0]` no es un objeto como tal. Es una referencia al primer elemento del arreglo, que puede ser un objeto si el arreglo está compuesto por objetos.
  2. Pregunta: Interpretar la siguiente instrucción: Mascota[] mascotas = {mascota1, mascota2}; Respuesta: Esta instrucción está creando un arreglo de objetos de tipo Mascota e inicializándolo con dos instancias de Mascota llamadas mascota1 y mascota2.
  3. Pregunta: ¿Qué es un objeto en el lenguaje de programación Java? Respuesta: En el lenguaje de programación Java, un objeto es una referencia a una ubicación en memoria que contiene datos y métodos, representando una instancia de una clase.
  4. Pregunta: ¿Qué pasaría si no se utiliza la clase File solo se podrá realizar operaciones de lectura desde los archivos? Respuesta: Si no se utiliza la clase File, se limitará a realizar operaciones de lectura desde archivos, pero aún será posible trabajar con ellos. Sin embargo, sin la clase File, no podrás realizar operaciones como crear, modificar o eliminar archivos, ya que estas funcionalidades están proporcionadas por la clase File en Java.
  5. Pregunta: En un arreglo de nombre lista que contiene N objetos ¿cómo se eliminaría el quinto objeto del arreglo? ¿Qué pasa si quiero eliminar el Objeto N del arreglo? Respuesta: Para eliminar el quinto objeto del arreglo lista, se puede hacer lista[4] = null;. Si se desea eliminar el objeto en la posición N del arreglo, necesitarías reorganizar el arreglo para llenar el espacio dejado por el objeto eliminado.
  6. Pregunta: Si se desea organizar los datos de los alumnos que estudian y los que posteriormente van a ingresar, ¿Qué estructura de datos utilizaría, un arreglo o un ArrayList? ¿Por qué? Respuesta: Sería más conveniente utilizar una estructura de datos flexible como ArrayList. Esto se debe a que permite agregar y eliminar elementos dinámicamente, lo que es útil cuando los datos están sujetos a cambios.
  7. Pregunta: Para utilizar un miembro de una clase, ¿Cómo se debe usar estos miembros de clase en el main? Respuesta: Para utilizar un miembro de una clase en el método main, primero necesitas crear una instancia de esa clase si el miembro no es estático. Luego puedes acceder al miembro utilizando el operador de acceso de punto (.).

1. Explica brevemente qué es un arreglo estático en Java y proporciona un ejemplo

de su declaración e inicialización.

Un arreglo estático en Java es una estructura de datos que

almacena un conjunto de elementos del mismo tipo en una

secuencia contigua de memoria cuyo tamaño se especifica en el

momento de su declaración y no cambia durante la ejecución del

programa.

int[] arregloEstatico = new int[5];

2. ¿Cuál es la diferencia entre un arreglo estático y un arreglo dinámico en Java?

Proporciona al menos dos diferencias.

La diferencia principal entre un arreglo estático y uno dinámico en Java es que el

tamaño de un arreglo estático se establece en tiempo de compilación y no puede

modificarse durante la ejecución del programa, mientras que el tamaño de un

arreglo dinámico puede cambiarse dinámicamente en tiempo de ejecución. Otra

diferencia es que los arreglos estáticos son más eficientes en términos de memoria

ya que ocupan una cantidad fija de espacio, mientras que los arreglos dinámicos

pueden adaptarse para utilizar más o menos memoria según sea necesario.

3. ¿Cómo se realiza la asignación de memoria para un arreglo dinámico en Java?

Explica el proceso.

En Java, la asignación de memoria para un arreglo dinámico se realiza utilizando

la clase ArrayList. Cuando se crea un ArrayList , inicialmente se asigna una

cantidad de memoria para almacenar un número específico de elementos. Si el

ArrayList necesita más espacio para almacenar elementos, se reserva

automáticamente más memoria para aumentar su capacidad.

4. ¿Cuál es la complejidad temporal de acceso a un elemento en un arreglo estático?

¿Y en un arreglo dinámico? Justifica tu respuesta.

La complejidad temporal de acceso a un elemento en un arreglo estático es O(1),

ya que el acceso se realiza directamente utilizando el índice del elemento, lo que

significa que el tiempo de acceso no depende del tamaño del arreglo. En un arreglo

dinámico, la complejidad temporal de acceso también es O(1) en promedio para

operaciones de acceso aleatorio, pero puede ser O(n) en el peor de los casos si se

necesita redimensionar el arreglo.

5. Menciona al menos dos ventajas de utilizar arreglos dinámicos en lugar de arreglos

estáticos en Java.

Dos ventajas de utilizar arreglos dinámicos en lugar de arreglos estáticos en Java

son:

a. Flexibilidad en el tamaño: Los arreglos dinámicos pueden cambiar de tamaño

durante la ejecución del programa, lo que permite adaptarse dinámicamente a la

cantidad de datos que se están manipulando.

b. Gestión automática de la memoria: Los arreglos dinámicos en Java, como

ArrayList , gestionan automáticamente la memoria, lo que significa que no es

necesario preocuparse por la asignación o liberación manual de memoria, lo cual

simplifica el desarrollo y reduce el riesgo de errores de memoria.

Parte 2: Ejercicios (10 puntos)

1. Escribe un programa en Java que declare e inicialice un arreglo estático de enteros

con los siguientes valores: {5, 10, 15, 20, 25}. Luego, imprime la suma de todos

los elementos del arreglo.

2. Escribe un programa en Java que solicite al usuario el tamaño de un arreglo

dinámico de enteros y luego pida al usuario que ingrese los valores para cada

elemento del arreglo. Finalmente, imprime el arreglo resultante.

3. Escribe un método en Java llamado buscarElemento que reciba como parámetros

un arreglo estático de enteros y un número entero a buscar. Este método debe

devolver true si el elemento está presente en el arreglo y false en caso contrario.

¡Claro! Aquí tienes una simulación de examen sobre excepciones en Java. Incluye

una serie de preguntas de opción múltiple y algunas preguntas de respuesta corta

para evaluar el conocimiento sobre el manejo de excepciones en Java.

### Examen sobre Excepciones en Java

#### Parte 1: Preguntas de opción múltiple

1. ¿Qué es una excepción en Java?

- a) Un error en el código que detiene la ejecución del programa.

- b) Una condición inusual o error detectado durante la ejecución del programa

que interrumpe el flujo normal de control.

- c) Una advertencia emitida por el compilador sobre posibles errores en el

código.

- d) Ninguna de las anteriores.

2. ¿Cuál de las siguientes NO es una clase base para todas las excepciones en

Java?

- a) RuntimeException

- b) Exception

- c) Error

- d) Throwable

3. ¿Cuál de las siguientes declaraciones es correcta respecto a las excepciones en

Java?

- a) Todas las excepciones en Java son comprobadas (checked exceptions).

- b) Todas las excepciones en Java son no comprobadas (unchecked exceptions).

- c) Java solo admite un tipo de excepción, por lo que todas son iguales.

- d) Java admite tanto excepciones comprobadas como no comprobadas.

4. ¿Qué hace la palabra clave throws en Java?

- a) Lanza una excepción personalizada.

- b) Indica que un método puede lanzar una excepción específica.

- c) Captura una excepción y maneja su error.

- d) Ninguna de las anteriores.

5. ¿Cuál de las siguientes NO es una forma de manejar excepciones en Java?

- a) Utilizando bloques try-catch.

- b) Declarando excepciones con la palabra clave catch.

- c) Ignorando las excepciones y dejando que el programa se bloquee.

- d) Utilizando el bloque finally para ejecutar código independientemente de si

ocurre una excepción o no.

6. Explica la diferencia entre una excepción comprobada (checked exception) y

una excepción no comprobada (unchecked exception) en Java.

Una excepción comprobada (checked exception) es aquella que el compilador

obliga a manejar (ya sea mediante una cláusula try-catch o mediante la

declaración throws), mientras que una excepción no comprobada (unchecked

exception) es aquella que el compilador no obliga a manejar.

4. ¿Qué ocurre si una excepción lanzada en un bloque try no se maneja en

ninguno de los bloques catch asociados?

- a) El programa se detiene y muestra un mensaje de error.

- b) El programa continúa ejecutándose normalmente.

- c) El compilador genera un error.

- d) El programa muestra un mensaje de advertencia pero continúa ejecutándose.

5. ¿Cuál de las siguientes afirmaciones sobre las excepciones comprobadas

(checked exceptions) en Java es cierta?

- a) El compilador no requiere que se manejen explícitamente.

- b) El compilador obliga a que se manejen explícitamente.

- c) Son excepciones que ocurren durante la ejecución del programa.

- d) Son excepciones que el compilador ignora durante la compilación.

6. Explica qué es el stack trace y cuál es su utilidad en el manejo de excepciones

en Java.

7. ¿Qué hace el bloque try-with-resources en Java y cuál es su principal ventaja?

8. ¿Qué es una excepción personalizada (custom exception) y cuándo es apropiado

crear una en Java?

9. ¿Cuál es la diferencia entre las palabras clave catch y finally en el manejo de

excepciones en Java?

10. ¿Por qué es importante manejar adecuadamente las excepciones en un

programa Java?

#### Respuestas

1. b) Ejecutar código independientemente de si se produce una excepción o no.

2. a) Retorna el mensaje asociado con la excepción.

3. c) FileNotFoundException

4. a) El programa se detiene y muestra un mensaje de error.

5. b) El compilador obliga a que se manejen explícitamente.

6. El stack trace es una lista de llamadas de método activas en el momento en que

se produjo una excepción. Es útil para identificar la secuencia de eventos que llevó

a la excepción y facilita la depuración del código.

7. El bloque try-with-resources se utiliza para manejar recursos que deben ser

cerrados explícitamente, como archivos o conexiones a bases de datos. Su

principal ventaja es que garantiza que los recursos se cierren correctamente al salir

del bloque, incluso si se produce una excepción.

8. Una excepción personalizada es una clase que extiende la clase Exception o

alguna de sus subclases para representar un tipo específico de error en la

aplicación. Se crea una excepción personalizada cuando los tipos de excepción

estándar no son suficientes para describir el problema que se está produciendo.

9. La palabra clave catch se utiliza para capturar y manejar una excepción

específica, mientras que la palabra clave finally se utiliza para ejecutar código

que debe ser ejecutado independientemente de si se produce una excepción o no,

como la limpieza de recursos.

10. Es importante manejar adecuadamente las excepciones en un programa Java

para mejorar la robustez y la fiabilidad del software. El manejo adecuado de

excepciones ayuda a detectar y corregir errores de manera oportuna, evitando que

el programa se bloquee o se comporte de manera inesperada ante situaciones

excepcionales.