![]() |
Laboratorio Curso 1998/99 |
Universitat de València
![]() |
Un tipo abstracto de datos (TAD) es, básicamente, una colección de valores junto con unas determinadas operaciones definidas sobre ellos. Para el usuario del tipo abstracto de datos sólo importan los valores que puedan guardar las variables asociadas al TAD y las operaciones de manipulación del mismo, dejando para el programador la tarea de la implementación de la estructura o tipo de dato que soporte el TAD y de las operaciones relacionadas con él.
En esta práctica vamos a limitarnos a utilizar un determinado tipo abstracto de datos para implementar algunas operaciones habituales sobre polinomios.
Supongamos el Tipo Abstracto de Datos ‘Contenedor de Enteros’ que es una estructura capaz de guardar un cierto valor entero en una cierta posición, también entera. Este tipo abstracto de datos tiene asociadas las siguientes operaciones:
Procedure Iniciar_Contenedor ( Var C: Contenedor );
Que inicia el contenedor C a vacío (Todas las posiciones están iniciadas a 0).
Procedure Insertar_Valor ( Var C: Contenedor; pos: Posicion; x: Entero );
Function Consultar_Valor ( C: Contenedor; pos: Posicion ): Entero;
Procedure Eliminar_Contenedor ( Var C: Contenedor );
Function Max_Posicion ( C: Contenedor ): Posicion;
Tanto los tipos de datos asociados a Contenedor como las operaciones de manipulación del tipo Contenedor estarán implementados en la unidad Uni_Cont proporcionada por el profesor de prácticas.
En esta práctica se trata de realizar un programa que trabaje con polinomios, utilizando, para guardar la información relativa al polinomio, la estructura antes definida, Contenedor. La estructura básica del programa será:
En ningún caso se pide la utilización de menús ni opciones en este programa.
En esta práctica, se trata, por un lado, de realizar un programa debidamente estructurado, mediante la utilización de subprogramas adecuados, y por otro, empezar a utilizar de forma estricta las normas de estilo de la Guía de Pascal. Las prácticas que no cumplan las normas de estilo serán mal calificadas.
En este programa hay que tener en cuenta que cualquier proceso de manipulación del Contenedor se debe realizar a través de las operaciones definidas en la unidad anteriormente mencionada (Uni_Cont), de forma que en el programa no aparezca ningún detalle que indique cómo se ha representado el Contenedor. Las soluciones que no cumplan este requisito serán consideradas incorrectas.
ENTREGA DE PROGRAMAS: Al finalizar la sesión de prácticas correspondiente.