Please enable / Bitte aktiviere JavaScript!
Veuillez activer / Por favor activa el Javascript![ ? ]
Este foro usa cookies
Este foro usa cookies para almacenar tu sesión de inicio si estás registrado, y de tu última visita si no lo estás. Las Cookies son un pequeños documento de texto almacenado en tu PC; las cookies de este foro sólo pueden ser usadas en el mismo y no suponen ninguna amenaza para tu seguridad. Estas Cookies también anotan los hilos que has leído y cuándo lo has hecho. Por favor, confirma si aceptas o declinas el uso de estas cookies.

Una cookie será almacenada en tu navegador a pesar de tu decisión para prevenir que este mensaje te vuelva a aparecer. Podrás cambiar la configuración de las cookies en cualquier momento siguiendo el enlace de la parte inferior.

Calificación:
  • 2 voto(s) - 2.5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Soluciones Examen 2º Parcial (Todos los grupos)
#1
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 nint eString 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=0i<notas.lengthi++){
                
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=0i<notas.lengthi++)
            
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 Huh) 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=0i<misAlumnos.lengthi++){
            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=0i<misAlumnos.lengthi++){
            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=0i<alumnosUmbral.lengthi++){
            
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=0i<arrayPersonas.lengthi++){
            if (
arrayPersonas[i] != null){
                if (
esProfesor(i)){
                    
Profesor profe = (ProfesorarrayPersonas[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 = (AlumnoarrayPersonas[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.
Responder


Mensajes en este tema
Soluciones Examen 2º Parcial (Todos los grupos) - por Jesús Hernández Galián - 17-01-2013, 23:44
RE: Soluciones Examen 2º Parcial (Todos los grupos) - por José Antonio Martín Martínez - 26-01-2013, 00:29
RE: Soluciones Examen 2º Parcial (Todos los grupos) - por Javi Vera - 11-02-2013, 21:27
RE: Soluciones Examen 2º Parcial (Todos los grupos) - por Paco Sánchez - 11-02-2013, 22:45

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)