Anda di halaman 1dari 3

Algoritmos y Programación

Práctica 5

1) Derive de la clase Persona definida en la práctica 3 la clase Alumno, agréguele un


campo privado llamado promedio. Haga accesible en la clase Alumno los campos
definidos en Persona.
Defina los constructores necesarios. Modifique el programa del ejercicio 3 de la
práctica anterior para tratar ahora con alumnos. El usuario tipeará las entradas como:
"Nombre<TAB>Documento<TAB>Edad<TAB>Promedio<ENTER>"
o bien:
"Nombre<TAB>Documento<TAB>fecha de nacimiento<TAB>Promedio <ENTER>".
Redefina el método ToString()para que se imprima en la consola los datos
ALUMNO: Nombre (Edad) <TAB> DNI <TAB> promedio
El listado debe tener la siguiente apariencia:
1) ALUMNO: Juan Perez (26) 2998745 7.8
2) ALUMNO: Jose García (25) 3065412 8.4
2) Modifique el programa anterior para trabajar tanto con Personas como con Alumnos.
Para la carga de datos, el usuario antepondrá “A<TAB>” si lo que va a ingresar es un
alumno, o “P<TAB>” si se trata de una persona. Utilice un arreglo de personas para
guardar tanto personas como alumnos.
3) Cree una jerarquía de clases como la que se indica en el esquema y defina en todas
ellas el método ToString() que escribe en la consola la jerarquía desde la claseA hasta
aquella a la que pertenece el objeto en forma invertida.
Clase A
|
Clase B
|
Clase C
|
Clase D

Por ejemplo, si obj es una instancia de la clase D, obj.ToString() deberá imprimir:


Clase D
Clase C
Clase B
Clase A
4) ¿Por qué no funciona el siguiente código? ¿Cómo puede solucionarlo?
class Auto{
double velocidad;
public virtual void acelerar(){
Console.WriteLine("Velocidad = {0}", velocidad+=10);
}
}
class Taxi:Auto{
public override void acelerar() {
Console.WriteLine("Velocidad = {0}", velocidad+=5);
}
}
5) Cree la siguiente jerarquía de clases

OperacionAritmetica

Suma Resta Multiplicacion Division

Implemente un método polimórfico en cada subclase llamado evaluar, que reciba dos
números y devuelva el resultado correspondiente.
6) Implemente una aplicación que permita ingresar por teclado 5 operaciones aritméticas
del tipo:
2+6
4*8
1/9
y que luego imprima el resultado de cada una de ellas usando la jerarquía definida en
el ejercicio anterior.
7) El comité olímpico lo contrata para desarrollar un sistema que permita:
Inscribir deportistas que deseen participar en las diferentes disciplinas
Inscribir jueces en cada disciplina
Inscribir asistentes de campo para cada disciplina
Inscribir a periodistas
Establecer las distintas disciplinas, cada disciplina tiene un nombre, los
participantes, un juez y uno o más periodistas que cubren el evento. Las disciplinas
pueden ser individuales o por equipos, en este caso es necesario establecer la cantidad
máxima de quipos y la cantidad de integrantes por equipo.
Diseñe un diagrama de clase UML para este sistema.
8) Se debe modelar utilizando Diagramas de clase UML el siguiente escenario:
Un cine tiene 3 salas, cada una de ellas posee un nombre y una capacidad que la
identifica (por ejemplo sala 1 con capacidad para 30 espectadores). Además, cada sala
tiene un acomodador a cargo y un grupo de espectadores. Del acomodador se tiene la
siguiente información: nombre y apellido, dirección, teléfono, edad y antigüedad. De
los espectadores se tiene la siguiente información: nombre y apellido, dirección,
teléfono, edad y método de pago de la entrada (efectivo, tarjeta, cheque).
Sobre el modelo diseñado implemente los siguientes métodos:
- cantidadDeEspectadoresTotales(): calcula y retorna la cantidad total de
espectadores que hay actualmente en el cine.
- acompañarAEspectador(espectador, sala): permite que un acomodador lleve
al espectador recibido como parámetro a la sala recibida como parámetro
- vaciarSala(): pedirles a los espectadores de una sala que abandonen el lugar.