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
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


0