PRÁCTICA Nš 6: 2 sesión
(del 18 al 29 de Mayo de 1998)árboles: diccionario personal cuatrilingüe,
castellano-valenciano-inglés- francés
Objetivos
Implementación de estructuras de datos representativas de árboles y de las funciones que permiten realizar las operaciones básicas sobre dichos árboles.
Aplicación de diversas estructuras de árbol a la implementación del un mini-diccionario personal cuatrilingüe, Castellano, Valenciano, Inglés, Francés.
Especificación de Requisitos
Se pretende implementar un diccionario cuatrilingüe para uso personal, cuyos datos están almacenados en memoria y son manejados de forma dinámica en tiempo de ejecución. Para ello las palabras contenidas en el diccionario deberán ser leídas desde el fichero binario proporcionado words.dat y estructuradas de forma dinámica en diversas estructuras arborescentes para las cuales serán implementadas operaciones básicas que permitirán la manipulación de los datos.
El programa deberá satisfacer los siguientes requisitos:
1.- El programa leerá las palabras contenidas en el diccionario del fichero binario proporcionado words.dat de tal modo que simultáneamente a la lectura de dichos datos deberá ir creando un n-bosque, con n=4, de modo que cada uno de los árboles del bosque esté indexado adecuadamente por uno de los cuatro idiomas del diccionario.
2.- El programa deberá ser capaz, seleccionado un idioma origen, de traducir una palabra introducida por teclado a los otros tres idiomas o en su defecto decir que no está contenida en el diccionario.
3.-Debe ser posible introducir, borrar, o modificar una palabra en el diccionario.
4.- Se podrá volcar de forma paginada por pantalla un listado, ordenado alfabéticamente en el idioma seleccionado, de las palabras contenidas en el diccionario junto a su traducción a los otros tres idiomas, así como su volcado a fichero texto. En cualquiera de los casos una línea estará constituida por cuatro palabras, siendo la primera de ellas la perteneciente al idioma seleccionado.
5.- Orientado al aprendizaje de vocabulario, seleccionado un idioma origen y destino, el programa deberá generar una palabra aleatoria de las contenidas en el diccionario y pedir al usuario la introducción por teclado de su traducción al idioma destino, mostrando un mensaje de "error" en caso de fallo o de "éxito" en caso de acierto. Si la traducción no fue correcta se proporcionará la traducción adecuada.
El algoritmo de generación aleatoria de palabras, debe ser equiprobable para cualquier palabra contenida en el diccionario y sólo debe hacer uso para su generación de la estructura de datos arborescente.
6.- Antes de salir de la aplicación, el programa preguntará si se quiere actualizar el diccionario, es decir, el fichero words.dat.
Contenido del fichero binario words.dat
Este fichero contiene el conjunto inicial de palabras en Castellano, Valenciano, Inglés y Francés comprendidas inicialmente en el diccionario. Cada palabra del diccionario está asociada a un registro del fichero cuya estructura de datos es como sigue:
Type
data = record
c,v,i,f: palabra { palabra en Castellano, Valenciano, Inglés y Francés }
end; { respectivamente }
Realización de la práctica
Realizar un programa que satisfaga los requisitos anteriormente especificados y que utilice para su implementación árboles binarios de búsqueda que comparten la información de las palabras, con el fin de ahorrar memoria. Utiliza para ello las estructuras de datos que se especifican a continuación.
Type
punt_info = ^data;
puntero = ^nodo;
nodo = record
info: punt_info;
der, izq: puntero
end;
arbol = record
raiz: puntero; { puntero al nodo raiz del árbol }
n: integer { numéro de nodos del árbol }
end;
bosque = array[1..4] of arbol;
Hay que tener en cuenta que el proceso de inserción es único y no debe depender del idioma en el que se esté insertado.
ENTREGA DE PROGRAMAS: Al finalizar la sesión de prácticas correspondiente deberá ser entregado el código fuente del programa (
pract6.pas), así como el fichero words.dat modificado y al menos un fichero texto (listado.txt) correspondiente al apartado 5 de requisitos, indexado por el idioma que se quiera.