--|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --| Solucion practica 5 de EDA del curso 98/99 (modulo de definicion) --|:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --| Version: 1.0 --| Fecha: 7-XII-98 --| Autor: Javier Campos with ustrings; use ustrings; package dicc is type diccionario is limited private; -- permite almacenar en memoria dinamica un diccionario de palabras junto con -- sus definiciones procedure vacio(d:out diccionario); procedure busca(d:in diccionario; palabra:in ustring; definicion:out ustring); procedure inserta(d:in out diccionario; palabra,definicion:in ustring); procedure borra(d:in out diccionario; palabra:in ustring); procedure asignar(dout:out diccionario; din:in diccionario); function "="(d1,d2:in diccionario) return boolean; procedure liberar(d:in out diccionario); procedure listado(d:in diccionario); private type tipoNodo is (hoja,interior); type nodo; type ptNodo is access nodo; type nodo(tipo:tipoNodo) is record case tipo is when hoja => clave:ustring; info:ustring; when interior => pri,seg,ter:ptNodo; minseg,minter:ustring; end case; end record; type diccionario is record numpal:integer; nodos:ptNodo; end record; -- el tipo diccionario se representara en memoria dinamica como un -- arbol 2-3 utilizando la palabra como clave de busqueda end dicc;