Final 1C/2014 (Algoritmos II)

De Cuba-Wiki

Plantilla:Back Final del 6/8/14, aportado por Francisco Noriega

Ejercicio 1

El sistema de especificación TADSOB es como el de los TAD pero no tiene observadores básicos. Cuenta solamente con generadores y operaciones en general. Piense en los TADs básicos que conoce y discuta las limitaciones de los TADSOB.

Ejercicio 2

Se tiene el siguiente TAD:

TAD PLANO

Generadores:

  • Vacío → Plano
  • Agregar_segmento: plano × coord × coord. → Plano

Observadores:

  • Hay_punto?: Plano × coord. → Bool

Otras operaciones:

  • Agregar_punto: Plano × coord. → Plano

Axiomas:

  • Hay_punto? (Vacío, c) = false
  • Hay_punto? (Agregar_segmento(p,c0,c1),c) = (cuenta matemática apropiada, irrelevante a los fines del ejercicio)

agregar_punto(p,c) = agregar_segmento(p,c,c)

¿Se puede plantear una demostración por inducción estructural de una propiedad sobre el TAD Plano utilizando en su planteo solo Vacio(), Agregar_Punto() y Hay_Punto?()? Justifique.

Ejercicio 3

Invariante de representación

Ejercicio 4

Se desea un TAD que permita representar conjuntos de números racionales donde a las tradicionales operaciones de Agregar(S,x) y Borrar(S,x), se le agrega CloserToAVG(S), que toma como input un conjunto S y devuelve el valor contenido en S más cercano al promedio de los valores contenidos en S. Discutir la implementación de este TAD utilizando variantes de al menos 4 estructuras de datos vistas en clase para representar Conj/Dicc standards.

Ejercicio 5

¿Cómo ordenaría elementos que nos son dados en ráfagas de tamaño N para incorporar a otros ya ordenados de tamaño M, con M >> N?