miércoles, 3 de junio de 2015

Programación II - Parcial - 2015 - 1C

Definición e implementación de TDA's

1. ConjuntoNotasTDA: es una estructura que permite almacenar las notas de los alumnos de un curso. La misma posee el número de legajo y las notas asociadas al alumno. Los legajos son únicos (sin repetidos), pero las notas de cada alumno pueden repetirse. Se tiene un total de 4 notas (parcial, recuperatorio, final y TPO). Se poseen las siguientes operaciones:



  • Inicializar: permite inicializar la estructura.
  • Agregar(legajo, nota): agrega una nota al alumno. Si el alumno existe, agrega la nota (no puede ingresar más de cuatro notas).
  • Eliminar(lejago): elimina al alumno y sus notas.
  • EliminarNota(legajo, nota): elimina la nota asociada al alumno. Si no se posee más notas, se elimina al alumno.
  • Notas(legajo): devuelve una Pila con las notas asociadas al alumno.
  • Legajos: devuelve un conjunto con todos los alumnos.
  • EstaVacia: indica si la estructura está o no vacía.


Se pide:


a. Definir el TDA ConjuntoNotas, colocando la descripción de cada una de las operaciones, las precondiciones y las poscondiciones de la misma.

b. Realizar la implementación dinámica del TDA.

Utilización de TDA's


2. Utilizar el TDA ConjuntoNotas, escribir un algoritmo que devuelva un ConjuntoTDA con los alumnos que hayan aprobado (se considera aprobado un alumno cuando el promedio de sus 4 notas es mayor o igual a 4).


3. Dado un DiccionarioMultipleTDA, escribir un algoritmo que reciba como parámetro dicho diccionario y devuelva una ColaPrioridadTDA, donde como valor posea la clave del diccionario y como prioridad la cantidad de valores de dicha clave.


4. Dado dos ColaPrioridadTDA, escribir un algoritmo que reciba como parámetro ambas colas y determine si para cada para (valor, prioridad) de la primera, existe su inversa (prioridad, valor) en la segunda.


No hay comentarios:

Publicar un comentario