-- AUTOR: Elvira Mayordomo Cámara
-- PROYECTO: módulo de declaración del
-- TAD criticos solución del examen de
-- EDA del 1-7-03
-- FICHERO: criticos.ads
-- FECHA: 5-1-04
-- Especificación no hecha
with Ada.text_io, Ada.Strings.Unbounded, ustrings,
tablasrecolocacion;
use Ada.text_io, Ada.Strings.Unbounded, ustrings;
package criticos is
type critico is private;
type tpnota is new integer range 0..9;
type lista is private;
type pelicula is private;
procedure
crearpelicula(titulo,director,actores,tema,resumen,comentarios:in
ustring; nota:in tpnota; p:out pelicula);
procedure listardirector(l:in lista);
procedure listartema(l:in lista);
procedure
anyadir(p:in pelicula; total:in out critico);
procedure pelis_de(director:in ustring; total:in
critico;
lalista:out lista);
procedure mejor_peli(director:in ustring; total:in
critico;
lamejor:out ustring);
procedure top_ten(tema:in ustring; total:in
critico; lasdiez: out lista);
function h(c:ustring;tam:positive) return integer;
private
type pelicula is record
titulo,director,actores,tema,resumen,comentarios:
ustring;
nota: tpnota;
sigpt, sigpa: lista;
end record;
type lista is access pelicula;
max: constant:=1039;
type topten is record
primera,ultima:lista;
num:integer;
end record;
package mitabla is new
tablasrecolocacion(ustring, topten, max, h);
use mitabla;
package mitabla2 is new
tablasrecolocacion(ustring, lista, max, h);
use mitabla2;
type critico is record
portema: mitabla.tabla;
pordirector: mitabla2.tabla;
end record;
end criticos;
syntax highlighted by Code2HTML, v. 0.9.1