Pascal/Turbo Pascal - Tipos de datos estructurados

 
Vista:

Tipos de datos estructurados

Publicado por Kusu (1 intervención) el 11/01/2007 18:10:29
wenas... alguien me podria ayudar con esto por favor? no se ni por donde empezar:

Enunciado:

En una compañía aérea se dispone diariamente de un fichero de texto Plazas, con las plazas disponibles para una serie de ciudades. Se dispone además de otro fichero de texto Pedidos, con las peticiones de billetes para el mismo día, recogidas en orden de llegada y que deberán ser resueltas en ese mismo orden.

Se pide hacer un programa Pascal que a partir de los ficheros anteriores genere tres listados diferentes en ficheros de texto:

- Fichero Overbook: con los datos de los clientes que en una única petición han solicitado billetes y por falta de plazas no se le han concedido. Si un cliente en una petición solicita plazas para un vuelo y no hay tantas como pide no se le concederá ninguna y pasará completo al fichero Overbook

- Fichero Reservas: con los datos de los clientes para los que había plazas disponibles

- Fichero Errores: con los datos de los clientes que han realizado una petición a una ciudad que no se encuentra en el fichero Plazas

Resolución:

La solución se ajustará a las siguientes especificaciones:

Especificaciones de entrada:

Fichero Plazas:

- En cada línea aparece: número de plazas disponibles (entero positivo) y nombre de una ciudad (máx. 25 caracteres), finaliza con ‘*’

- No está ordenado

- Contiene al menos una línea

- Una ciudad aparece sólo una vez en el fichero, hay como máximo 30 ciudades diferentes

Fichero Pedidos:

- En cada línea aparece: nombre del cliente (máx. 25 caracteres) finaliza con ‘*’, número de plazas que solicita (entero positivo) y ciudad a la que quiere viajar (máx. 25 caracteres) finaliza con ‘*’

- El mismo cliente puede realizar varios pedidos y aparecería en diferentes líneas

- No está ordenado

- Puede ser vacío



Especificaciones de salida:

Los ficheros de los listados tendrán el siguiente formato:

- En la primera línea aparecerán los datos: número de matrícula, apellidos y nombre del alumno que realiza la práctica

- En la siguiente línea una cabecera que identifique el listado

- La estructura de las líneas restantes será: nombre del cliente, acabado con ‘*’, nombre de la ciudad, acabado con ‘*’ y número de plazas solicitadas entre paréntesis

Especificaciones de diseño:

- No se admite la utilización de variables globales dentro de los subprogramas

- Se recuerda que no se puede utilizar las unidades del Turbo Pascal, ni de FreePascal

- Subprograma LeerPlazas para leer el fichero Plazas y almacenar en memoria principal la información necesaria para realizar el proceso del enunciado

- Subprograma QuedanLibres que devuelva el número de plazas que queden libres para una determinada ciudad utilizando la/s estructura/s de datos del subprograma anterior

- Los ficheros físicos asociados a los ficheros lógicos deben tener los mismos nombres y su extensión debe ser .txt (Plazas.txt, Errores.txt, Reservas.txt…). Deben estar direccionados a la unidad a:\, es decir las sentencias assign deben ser:

assign (nombre_del_fichero, ‘a:\nombre_del_fichero.txt’)

Pruebas:

Deberá probarse la práctica contemplando distintas situaciones con diferentes juegos de datos.

A ver si me podeis decir algo por favor. Os lo agradeceria mucho.
1 saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Tipos de datos estructurados

Publicado por Diego Romero (996 intervenciones) el 11/01/2007 23:42:06
NO se hacen programas *a medida*, lo siento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Tipos de datos estructurados

Publicado por Lucia Vilar (17 intervenciones) el 12/01/2007 16:37:23
Hola.
He tenido que hacer ese mismo programa hace dos días.

Intenta abordarlo como dos tablas diferentes, en la que en una tienes clientes con una serie de pedidos y en otra tienes las posibilidades.

El programa en sí es sencillo de entender. Sólo tienes que separar cada campo de cada registro, es decir, del registro cliente separar los campos ciudad, plazas y nombre, y del registro plazas separar las plazas y las ciudades. Una vez que tengas eso, lo tienes fácil.

Se trata de ir comparando los campos de cada registro y ver si coinciden o no, dependiendo de la situación que se dé, cada persona irá a un fichero o a otro.

Piénsalo, y sale solo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar