Bienvenido, Invitado |
Tienes que registrarte para poder participar en nuestro foro.
|
Estadísticas del foro |
» Miembros: 580
» Último miembro: dani
» Temas del foro: 400
» Mensajes del foro: 851
Estadísticas totales
|
Últimos temas |
examen 2023/2024
Foro: Sistemas lineales
Último mensaje por: jyl
31-10-2024, 10:59
» Respuestas: 0
» Vistas: 106
|
ejercicios de examen ( bi...
Foro: Componentes y Dispositivos
Último mensaje por: jyl
31-10-2024, 10:56
» Respuestas: 0
» Vistas: 110
|
TDCs cursos 22-23 y 23-24
Foro: Conmutación
Último mensaje por: varo
01-09-2024, 15:03
» Respuestas: 0
» Vistas: 350
|
Examen prácticas 2024
Foro: Teoría de la comunicación
Último mensaje por: varo
01-09-2024, 14:58
» Respuestas: 0
» Vistas: 116
|
segundo parcial
Foro: Transmisión de datos
Último mensaje por: jyl
28-07-2024, 17:49
» Respuestas: 0
» Vistas: 91
|
segundo parcial
Foro: Redes y servicios de telecomunicaciones
Último mensaje por: jyl
24-07-2024, 00:53
» Respuestas: 0
» Vistas: 187
|
Prácticas curso 23/24
Foro: Componentes y Dispositivos
Último mensaje por: varo
14-07-2024, 11:22
» Respuestas: 0
» Vistas: 213
|
2do parcial
Foro: Redes inalámbricas
Último mensaje por: casanova
24-06-2024, 18:30
» Respuestas: 1
» Vistas: 208
|
problema 1 del examen de ...
Foro: Teoría de la comunicación
Último mensaje por: jyl
15-06-2024, 01:53
» Respuestas: 0
» Vistas: 209
|
Parciales del 2024
Foro: Teoría de la comunicación
Último mensaje por: jyl
04-06-2024, 20:28
» Respuestas: 0
» Vistas: 390
|
|
|
Soluciones Examen 2º Parcial (Todos los grupos) |
Enviado por: Jesús Hernández Galián - 17-01-2013, 23:44 - Foro: Fundamentos de Programación
- Respuestas (4)
|
|
A pesar de que el enunciado de los ejercicios no era el más claro, dejo aquí las soluciones del 2º parcial (hechas por mi). Realizado y comprobado en eclipse. Es posible que tenga algún fallo.
La dificultad del examen era media, pero era un poco largo la verdad.
Aquí os dejo los enunciados del examen: (Proximamente).
Ejercicio 1:
Era el más largo, pero el más fácil (creo yo).
Código PHP: public class Alumno implements Persona{ private String Nombre; private int Edad; private String DNI; private int Id; private static int indice = 0; public static final int maxnotas = 10; private double[] notas; public Alumno (String n, int e, String d){ Nombre = new String(n); Edad = e; DNI = new String (d); Id = indice++; } public String getNombre() { return new String (Nombre); }
public int getEdad() { return Edad; }
public String getDNI() { return new String(DNI); } public int getId (){ return Id; } public int nroExamenes(){ if (notas==null) return 0; return notas.length; } public int setNota(double nota){ if (nroExamenes() == 0){ notas = new double[1]; notas[0] = nota; return nroExamenes(); } if (nroExamenes()<maxnotas){ double[] notaspuestas = new double[nroExamenes()+1]; for (int i=0; i<notas.length; i++){ notaspuestas[i] = notas[i]; } notaspuestas[notas.length] = nota; notas = notaspuestas; return nroExamenes(); } return -1; } public double notaMedia(){ if (nroExamenes() == 0) return -1; int notamedia = 0; for (int i=0; i<notas.length; i++) notamedia+=notas[i]; return notamedia/nroExamenes(); } public static void main(String[] args) { } }
Ejercicio 2:
Aquí es donde no está la claridad del enunciado. Empieza con un "Suponga" (mal vamos ) y dice que implementa la interfaz Persona, por lo tanto debe incluir los mismos métodos. Después (esto aclara un poco la cosa) pone : "Se pide Implemente los siguientes métodos de Profesor", por lo tanto se "supone" que solo se tienen que poner los métodos que pida (no siendo necesario poner los de la interfaz Persona).
Aún así os dejo la clase completa.
Código PHP: public class Profesor implements Persona{ String Nombre; int Edad; String DNI; Alumno[] misAlumnos; public String getNombre() { return new String (Nombre); }
public int getEdad() { return Edad; }
public String getDNI() { return new String(DNI); } // A PARTIR DE AQUÍ SERÍA SUFICIENTE, LO ANTERIOR ES NECESARIO PERO NO LO PIDE public int nroAlumnosUmbral(double notaUmbral){ if (misAlumnos == null) return 0; int cont = 0; for (int i=0; i<misAlumnos.length; i++){ if (misAlumnos[i] != null){ if (misAlumnos[i].notaMedia() >= notaUmbral) cont++; } } return cont; } public Alumno[] alumnosUmbral(double notaUmbral){ if (misAlumnos == null) return null; Alumno[] alumnosUmbral = new Alumno[nroAlumnosUmbral(notaUmbral)]; int j = 0; for (int i=0; i<misAlumnos.length; i++){ if (misAlumnos[i] != null){ if (misAlumnos[i].notaMedia() >= notaUmbral) alumnosUmbral[j++] = misAlumnos[i]; } } return alumnosUmbral; } public void printAlumnos(double notaUmbral){ Alumno[] alumnosUmbral = alumnosUmbral(notaUmbral); if (alumnosUmbral == null) return; for (int i=0; i<alumnosUmbral.length; i++){ System.out.println("Nombre: "+alumnosUmbral[i].getNombre()+ ". Nota media: "+alumnosUmbral[i].notaMedia()); } } public static void main(String[] args) {
} }
Ejercicio 3:
Aquí tenemos la misma historia que con el ejercicio 2. Pero aquí no había que implementar nada (necesario) que no se pidiera.
Código PHP: public class GestorPersonal { public static Persona[] arrayPersonas; public static boolean esProfesor(int indice){ if (arrayPersonas == null) return false; if (arrayPersonas[indice] instanceof Profesor) return true; return false; } public static void listarPersonal(){ if (arrayPersonas == null) return; for (int i=0; i<arrayPersonas.length; i++){ if (arrayPersonas[i] != null){ if (esProfesor(i)){ Profesor profe = (Profesor) arrayPersonas[i]; System.out.println("Nombre: "+profe.getNombre()+ ". Edad: "+profe.getEdad()+ ". DNI: "+profe.getDNI()+ ". Profesor. Nº Alumnos: "+profe.nroAlumnosUmbral(-1)); } if (arrayPersonas[i] instanceof Alumno){ Alumno alu = (Alumno) arrayPersonas[i]; System.out.println("Nombre: "+alu.getNombre()+ ". Edad: "+alu.getEdad()+ ". DNI: "+alu.getDNI()+ ". Alumno. Código: "+alu.getId()); } } } } public static void main(String[] args) { } }
Espero que os sirva de orientación y os aclare las dudas.
|
|
|
|