Umayor está organizando una competencia de computadores para sus estudiantes llamado “Tarreo”. Para esto, se requiere desarrollar un sistema que permita almacenar información sobre sus participantes y equipos. El diagrama de clases asociado es el siguiente: La información que se requiere almacenar es: • Computador: tiene nombre, tarjeta y memoria. • Persona: tiene rut, username, edad, sexo (Masculino ‘M’ y Femenino ‘F’), experiencia previa (si: true, no: false), computador. • Umayor: participantes[] (arreglo que almacena objetos de Persona), cantidad de participantes (llevará registro de los participantes en el tarreo), capacidad máxima (cantidad máxima de participantes Además, existen las siguientes reglas de negocio: • tarjeta: debe contener mínimo 2 caracteres. • memoria: debe ser mayor a 0. • edad: mayor igual a 18 y no debe ser superior a 30. • sexo: ‘F’ o ‘M’ Se requieren los siguientes métodos: • Constructor con parámetros para las clases Computador y Persona. • Constructor que reciba la capacidad máxima en Umayor • accesador para cada atributo de cada clase • mutador para cada atributo de cada clase considerando las reglas de negocio • imprimir retornará los atributos de Persona • agregarPersona, agrega una persona al arreglo validando que no supere la capacidad máxima • buscarPersona: busca una persona por su rut, si existe retorna true sino false • listarPersona, el cual imprimirá el nombre del computador, el username y edad de la persona. • obtenerNovatoHombres, que retorne los participantes que viven esta experiencia por primera vez y que son hombres. Desde la clase Principal (main()): • Construir Umayor • Inscribir a 4 personas en el tarreo • Imprimir el listado de personas que participan en el tarreo.
class Computador { constructor(nombre, tarjeta, memoria) { this.nombre = nombre this.tarjeta = tarjeta this.memoria = memoria } setTarjeta(tarjeta) { if (tarjeta.length >= 2) { this.tarjeta = tarjeta } } setMemoria(memoria) { if (memoria > 0) { this.memoria = memoria } } } class Persona { constructor(rut, username, edad, sexo, experiencia, computador) { this.rut = rut this.username = username this.edad = edad this.sexo = sexo this.experiencia = experiencia this.computador = computador } setEdad(edad) { if (edad > 18 && edad < 30) { this.ed