Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Instrucciones
Historial de intentos
Intento Hora Puntaje
MÁS RECIENTE Intento 1 112 minutos 1 de 15 *
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 1/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Tienes una solo intento; recuerda que una vez iniciada la evaluación
debes terminar; la evaluación no puede pausarse.
Este Examen estará disponible hasta las 23:59 horas del domingo de
esta semana y tiene una ponderación del 30% de la nota de final del
curso.
La herencia entre dos clases puede ser múltiple y todo lenguaje orientado
a objetos debe ofrecer esta posibilidad.
La herencia entre dos clases puede ser múltiple, aunque no todos los
lenguajes orientados a objetos ofrecen esta posibilidad.
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 2/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Pregunta 2 1 / 1 pts
Objeto.
Encapsulación.
Función.
Método.
Incorrecto
Pregunta 3 0 / 1 pts
Dado el siguiente diagrama de clases para una aplicación que registra las
personas que trabajan en una empresa contratista:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 3/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Incorrecto
Pregunta 4 0 / 1 pts
Composición.
Agregación.
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 4/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Herencia.
Polimorfismo
Incorrecto
Pregunta 5 0 / 1 pts
¿Qué relación tiene más sentido entre las clases Lector y Biblioteca?
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 5/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
No existe relación.
Incorrecto
Pregunta 6 0 / 1 pts
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 6/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
¿Qué relación tiene más sentido entre las clases Biblioteca y Autor?
No existe relación.
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 7/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 8/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
public class Jugador {
private String nombre;
private int numCamiseta;
//Validar que que valores de atributos no esten vacios o nulos
public Jugador(String nombre, int numCamiseta) {
if (nombre == null || nombre.trim().isEmpty()){
System.out.println("El nombre del jugador no puede ser vac
io");
}
if (numCamiseta <= 0){
System.out.println("El numero de camiseta n puede ser nul
o");
}
this.nombre = nombre;
this.numCamiseta = numCamiseta;
}
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 9/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
public String getNombre() {
return nombre;
}
@Override
public String toString() {
return "Jugador{" +
"nombre='" + nombre + '\'' +
", numCamiseta=" + numCamiseta +
'}';
}
INSTRUCCIONES:
Defina los atributos y programe el constructor con parámetros de la clase Partido para
que cumpla con los requerimientos del diagrama de clases.
Su respuesta:
public class Partido {
private String fase;
@Override
public String toString() {
return "Partido{" +
"fase='" + fase + '\'' +
'}';
}
}
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 12/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 13/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
import java.time.LocalDate;
public class Partido {
private LocalDate fecha;
private String fase;
private Estadio estadio;
private Equipo equipoLocal;
private Equipo equipoVisitante;
// Constructor y otros métodos de la clase Partido
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 14/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 15/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 16/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 17/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
// Crear países
Pais chile = new Pais("Chile", "codPais");
Pais brasil = new Pais("Brasil", "codPais");
// Crear equipos
Equipo equipoNacional = new Equipo(chile, 5);
Equipo equipoInternacional = new Equipo(brasil, 3);
// Crear jugadores
Jugador jugadorNacional = new Jugador("Juan", 10,
LocalDate.of(2019, 5, 1), equipoNacional, "Defensa");
Jugador jugadorInternacional = new Jugador("Carlos", 7,
LocalDate.of(2018, 3, 15), equipoInternacional, "Delantero");
// Mostrar estado de ambos objetos
System.out.println("Estado del Jugador Nacional:");
mostrarInformacionJugadorNacional(jugadorNacional);
System.out.println("\nEstado del Jugador Internacional:");
mostrarInformacionJugadorInternacional(jugadorInternacional);
}
private static void mostrarInformacionJugadorNacional(Jugador
jugador) {
System.out.println("Nombre: " + jugador.getNombre());
System.out.println("Años en el club: " +
jugador.calcularAniosEnClub());
System.out.println("Número de camiseta: " + jugador.getCamiseta());
}
private static void mostrarInformacionJugadorInternacional(Jugador
jugador) {
System.out.println("Nombre: " + jugador.getNombre());
System.out.println("Posición: " + jugador.getPosicion());
System.out.println("Fichaje: " + jugador.getFichaje());
}
}
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 18/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 19/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
import java.time.LocalDate;
public class Main {
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 20/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 22/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Considere que está implementado lo siguiente: De jugador se derivan las clases Jugador
Internacional y Jugador nacional. Para el jugador nacional nos interesa saber año
entrada al club actual y del internacional la marca que representa (string) y su fichaje
(monto en float).
Programe un método en la clase JugadorNacional que retorne todos los datos del
jugador sólo si está hace más de 2 años en el club actual.
Su respuesta:
import java.time.LocalDate;
public class Jugador {
private String nombre;
private int camiseta;
private LocalDate fechaEntradaClub;
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 23/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 24/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 26/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Método generar ficha del partido: Se ejecuta para que permita mostrar la
siguiente información: estadio, fecha del encuentro, países (con sus
rankings) y los integrantes de cada equipo con sus posiciones. Ejemplo:
------------------------------------------------------------------------------------------------------
: :
: :
_______________________________________________________________________________________________
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 27/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
import java.util.ArrayList;
import java.util.List;
public class Partido {
private Fecha fecha;
private String fase;
private Estadio estadio;
private Equipo equipoLocal;
private Equipo equipoVisitante;
public Partido(Fecha fecha, String fase, Estadio estadio, Equipo
equipoLocal, Equipo equipoVisitante) {
this.fecha = fecha;
this.fase = fase;
this.estadio = estadio;
this.equipoLocal = equipoLocal;
this.equipoVisitante = equipoVisitante;
}
public void mostrarFichaDelPartido() {
System.out.println("=== Ficha del Partido ===");
System.out.println("Fecha: " + fecha);
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 28/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 29/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 30/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 31/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
mport java.util.ArrayList;
import java.util.List;
public class Jugador {
private String nombre;
private int numCamiseta;
this.nombre = nombre;
this.numCamiseta = numCamiseta;
}
public Equipo(){
this.jugadores = new ArrayList<>();
}
public void agregarJugador(Jugador jugador){
jugadores.add(jugador);
}
public eliminarJugador(String nombre){
jugadores.removeIf(jugador -> jugador.getNombre().equals(nombr
e))
}
public String getNombre() {
return nombre;
}
@Override
public String toString() {
return "Jugador{" +
"nombre='" + nombre + '\'' +
", numCamiseta=" + numCamiseta +
'}';
}
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 32/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
INSTRUCCIONES:
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 34/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
Su respuesta:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class Equipo {
private String nombre;
private List<Jugador> jugadores;
// Otros atributos y métodos de la clase Equipo
public Equipo(String nombre) {
this.nombre = nombre;
this.jugadores = new ArrayList<>();
}
// Otros métodos de la clase Equipo
public void autorizarNominaYGuardarArchivo(String nombreArchivo) {
autorizarNomina();
guardarArchivo(nombreArchivo);
}
private void autorizarNomina() {
// Lógica para autorizar la nómina, por ejemplo, validaciones, etc.
System.out.println("Nómina autorizada para el equipo: " + nombre);
}
private void guardarArchivo(String nombreArchivo) {
try (BufferedWriter writer = new BufferedWriter(new
FileWriter(nombreArchivo))) {
for (Jugador jugador : jugadores) {
// Agregar el número de goles con valor cero para cada jugador
jugador.setNumeroGoles(0);
// Escribir los datos del jugador en el archivo
writer.write(jugador.toString());
writer.newLine();
}
System.out.println("Datos guardados en el archivo: " +
nombreArchivo);
} catch (IOException e) {
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 35/36
27/11/23, 00:04 Semana 07: Solemne 1 (Supervisado remotamente): 202325.3046 | PROGRAMACIÓN AVANZADA
https://canvas.unab.cl/courses/62571/quizzes/182740?module_item_id=2537325 36/36