Ficheros
Fundamentos de la programación y la informática
Grado en ingeniería aeroespacial en vehículos aeroespaciales 2018-2019
Escuela Técnica Superior de Ingeniería de Telecomunicación
Universidad Rey Juan Carlos


Práctica 9.1. Procesamiento de un fichero

En este ejercicio no escribirás un nuevo programa, sino que modificarás el fichero

~/fpi/practica08/llegadas_ordenadas.pas de la práctica 8.5.

Práctica 9.2. Aeropuerto más cercano

Escribe un programa en el fichero ~/fpi/practica09/aeropuerto_cercano.pas para encontrar el aeropuerto más cercano a un aeropuerto dado, a partir de sus coordenadas. Despreciando la curvatura de la tierra podríamos aplicar el teorema de Pitágoras, pero esta simplificación no es aceptable, así que aplicaremos la fórmula del semiverseno. Para facilitar tu trabajo, aquí tienes un programa que lo resuelve.

  1. En este enlace encontrarás un fichero con los datos de los principales 9085 aeropuertos del mundo, con su código IATA y sus coordenadas. Guárdalo en ~/fpi/practica09/aeropuertos.txt

  2. La información está en campos de ancho fijo: código IATA, latitud, longitud y nombre del aeropuerto. Aquí puedes ver su estructura:

             1         2         3         4         5         6         7
    123456789012345678901234567890123456789012345678901234567890123456789012
    AAA -17.353-145.510Anaa Airport
    AAB -26.693 141.048Arrabury Airport
    AAC  31.073  33.836El Arish International Airport
    AAD   6.096  46.638Adado Airport
      
  3. El programa leerá el fichero, lo introducirá en un array y en lo sucesivo trabajará siempre a partir del array. Usa el código 000 para representar en el array el fin de los datos. Este array es relativamente grande, tendrás que pasarlo por referencia o provocarás un desbordamiento de pila.

  4. El programa pedirá al usuario códigos IATA por teclado, hasta que el usuario escriba la letra f. El programa informará al usuario de cómo finalizar.

  5. Si el código es correcto, el programa mostrará el código y el nombre de ese aeropuerto, así como el código y el nombre del aeropuerto más cercano. Si no es correcto, mostrará un error.

  6. Para considerar el código correcto, el programa comprobará que está formado por tres caracteres, y en caso afirmativo, buscará los datos del aeropuerto en el array. Si lo encuentra es un código correcto, y si no, no.

  7. En sentido estricto, el aeropuerto más cercano a un aeropuerto es el mismo aeropuerto, que está a distancia de 0 Km. Pero este no lo consideramos, buscamos un aeropuerto distinto al aeropuerto inicial.

Revisión de los nombres de los ficheros

Ejecuta ~mortuno/revisa practicas fpi para comprobar que los nombres de los programas son los correctos.