LABORATORIO DE ESTRUCTURAS DE DATOS
PRÁCTICAS CURSO 1996-97
1º INGENIERÍA INFORMÁTICA

PRÁCTICA Nº 5: una sesión

(Semana del 5 al 9 de Mayo de 1997)


CONCORDANCIA DE PALABRAS (2)


1. PLANTEAMIENTO DEL PROBLEMA

A partir del programa realizado en la práctica 4, se pide modificar dicho programa para que, además de indicar cuántas veces aparece cada una de las palabras de un texto, informe sobre el número de las líneas en las que aparece.

Al igual que en la práctica anterior, el programa requiere como entrada el nombre del archivo que contiene el programa en PASCAL a analizar, y proporcionar< los siguientes resultados:

  1. Listado alfabético de palabras, indicando:
    '>' palabra ',' número de apariciones
    '#' líneas en las que aparece, con formato: nº (veces)

    Ejemplo:

      > BEGIN, 5 veces
      # 5 (1), 12 (1), 36 (2), 157 (1)
    
    
  2. Nº total de palabras del texto y nº de palabras diferentes

  3. Promedio de repetición de palabras

  4. Longitud media de las palabras

2. REALIZACIÓN DE LA PRÁCTICA

Para realizar el proceso de análisis de la información se debe implementar la siguiente estructura de datos:

   Lista de:
      Palabra       : String[40];
      Nº apariciones: 1..MaxInt;
      Líneas        : Lista de:
                         Número: 1..MaxInt;
                         Veces : 1..MaxInt;

Como se puede observar, es preciso manipular dos tipos de listas de datos. Estas listas deben estar implementadas mediante punteros. Se debe escribir para ello dos unidades en TP que contengan las definiciones de tipos y las rutinas necesarias para poder utilizar cada una de estas listas. Es requisito indispensable que en el programa principal no se realicen operaciones con variables de tipo puntero.

ENTREGA DE PROGRAMAS: Al finalizar la sesión de prácticas correspondiente.