Lenguaje Perl. Ejercicios sobre el manejo de Base de Datos Relacionales. Es importante elaborar los programas que a continuación se presentan, una vez el estudiante halla revisado la teoría expuesta en el capítulo 17. Bases de datos. Estos ejercicios se deben adicionar a los ejercicios propuestos en el numeral 17.1.21.

Ejercicio 1.

Elabore un programa que maneje la base de datos de reservas de cupos de la aerolinea denominada LandScape. La base de datos debe tener una tabla con los siguientes campos:

Nombre del pasajero
Ruta del pasajero
Hora de salida del vuelo(dd/mm/aa/hh/mm)
Hora de llegada del vuelo(dd/mm/aa/hh/mm)
Número del vuelo

La aerolinea LandScape ofrece los siguientes vuelos:

Número del vuelo Duración del vuelo en hh/mm
2000 00/45
2001 01/30
2002 02/45
2003 00/20
2004 01/30

La aplicación debe manejar la base de datos, usando el siguiente menú:

Borrar la información de la base de datos
Insertar una reserva
La hora de llegada del vuelo, el usuario de la aplicación No la debe digitar. Esta hora se debe calcular, usando los datos de la tabla anterior.
Retirar una reserva
Listar todas las reservas de un Vuelo
El número del vuelo se debe leer desde el teclado
Listar todas las reservas
Cambiar cualquier dato de una reserva
Ejercicio 2.

Elabore una aplicación que sirva como herramienta a un profesor de una universidad que maneja las notas de los estudiantes así: Primer parcial 30%,Segundo parcial 30% y Examen final 40%.
La aplicación, debe acumular maxímo 5 notas parciales y con base en estas notas se debe calcular el primer 30%. Una vez se halla calculado el primer 30%, las notas parciales se deben convertir a (-1.0) y se deben aceptar nuevas notas parciales que servirán para calcular el segundo 30%. Una vez se halla calculado el segundo 30% las notas parciales se convierten a (-1.0) y se deben aceptar nuevas notas parciales que servirán para calcular el 40% de la nota total. Observe que cada vez que se calcula un 30% o un 40%, las notas parciales se convierten a (-1.0).
La aplicación, debe aceptar una a una las notas parciales ya que un profesor puede hacer un examen hoy y calcular una nota parcial hoy y un examen mañana y calcular otra nota parcial. La aplicación debe aceptar una nota parcial o varias notas parciales en cualquier momento.

Tomando como llave para acceder a cada registro el código del estudiante, las opciones del menú para manejar este sistema, pueden ser:

Borrar la información de la base de datos
Insertar un estudiante
Retirar un estudiante
Ingresar una nota parcial
Cambiar el nombre del estudiante
Cambiar una nota parcial
Calcular el primer 30%
Calcular el segundo 30%
Calcular el 40%
Listar notas parciales actuales
Listar notas del primer 30%, segundo 30% y 40%.
Listar nota definitiva de cada estudiante.

Para desarrollar esta aplicacián, la tabla de la base de datos, debe diseñarse así:
Código del estudiante
Nombre del estudiante
5 campos con punto decimal para almacenar las notas parciales
Campo para almacenar el Primer 30%
Campo para almacenar el Segundo 30%
Campo para almacenar el 40%
Ejercicio 3.

Incremente la eficiencia de la aplicación desarrollada en el ejercicio anterior. Para llevar a cabo esta mejora, re-programe la opción:

Ingresar una nota parcial

Esta opción, debe leer un archivo secuencial (.txt), donde el profesor tiene grabadas las notas parciales de todos los estudiantes, así:

código estudiante1,nota parcial
código estudiante2,nota parcial
código estudiante3,nota parcial
etc, etc

La opción debe leer este archivo secuencialmente y actualizar la base de datos, en la medida enque se lee cada registro del archivo, evitando así tener que digitar para cada alumno su código y su nota parcial.
Ejercicio 4.

Incremente la eficiencia de la aplicación construida en el segundo ejercicio. Presentamos el menú que debe manejar la aplicación, donde en cada opción se describe la manera como se deben leer los datos.

Borrar la información de la base de datos
Insertar un estudiante
Los datos de todos y cada uno de los estudiantes se encuentran grabados en un archivo .txt. Cada dato esta separado del siguiente por el caracter ,(coma)
Retirar un estudiante
Los códigos de todos y cada uno de los estudiantes que se desean retirar se encuentran grabados en un archivo .txt, por lo tanto no es necesario solicitar informacón al usuario de la aplicación. Solo se debe crear el archivo con los códigos de los estudiantes a retirar antes de ejecutar la aplicación.
Ingresar una nota parcial a todos los estudiantes
Los códigos y las notas del parcial de todos y cada uno de los estudiantes se encuentran grabadas en un archivo .txt, por lo tanto no es necesario solicitar informacón al usuario de la aplicación. Solo se debe crear el archivo con los códigos de los estudiantes y sus respectivas notas parciales antes de ejecutar la aplicación. El código y la nota se debe separar por el caracter ,(coma).
Cambiar el nombre del estudiante
Cambiar una nota parcial
Calcular el primer 30%
Calcular el segundo 30%
Calcular el 40%
Listar notas parciales actuales
Listar notas del primer 30%, segundo 30% y 40%.
Listar nota definitiva de cada estudiante.

Para desarrollar esta aplicacián, la tabla de la base de datos, debe diseñarse con los siguientes campos:
Código del estudiante
Nombre del estudiante
5 campos con punto decimal para almacenar las notas parciales
Campo para almacenar el Primer 30%
Campo para almacenar el Segundo 30%
Campo para almacenar el 40%
Ejercicio 5.

Tomando como base la aplicación construida en el ejercicio anterior, adicione al menú la siguiente opción:

Notas finales
En esta opción se debe generar una página html, con todos los estudiantes y sus notas finales.
Ejercicio 6.

Tomando como base la aplicación construida en el ejercicio 4, adicione al menú la siguiente opción:

Notas finales iguales al promedio
En esta opción se debe generar una página html, con todos los estudiantes cuyas notas finales sean iguales al promedio de la nota final de todo el curso.
Ejercicio 7.

Tomando como base la aplicación construida en el ejercicio 4, adicione al menú la siguiente opción:

Listado de estudiantes clasificado por nota final
En esta opción se debe generar una página html, con todos los estudiantes. El listado debe presentarse clasificado descendentemente por nota final. Los alumnos que tengan como nota final menos de 3.0, deben escribirse en letra de color rojo.