Parcial Final Desarrolle los ejercicios planteados en lenguaje Python. Luego suba los archivos resultantes (scripts y backups de la base de datos) en formato comprimido Zip, al vínculo que aparece en el aula virtual. Ejercicio 1 Realice un programa para llevar el control de llamadas dentro de una empresa. Cada empleado tiene asignado un número de minutos para llamadas que puede realizar a números locales, nacionales, internacionales y celulares. El programa debe permitir registrar los empleados y los distintos tipos de llamadas que pueden realizar. El programa también debe llevar el control del consumo de los minutos de los empleados y cuando este no cuente con minutos avisarle que no puede realizar la llamada. Para cada tipo de llamada se tiene el siguiente formato Tipo Local Formato 1112233 Celular 3990011223 Nacional (05)1122334 Internacional (57)(05)1122334 Descripción Los números para llamadas locales contienen 7 dígitos Los números para llamadas a celular contienen 10 números Las llamadas nacionales tienen el indicativo de la ciudad dentro de paréntesis y luego el número Las llamadas internacionales tienen el indicativo del país dentro de paréntesis, seguido del indicativo de la cuidad dentro de paréntesis y el número telefónico cuya longitud mínima es siete dígitos Los empleados tienen restricciones en las llamadas nacionales e internacionales, de tal forma que cada empleado solo puede llamar a las ciudades a nivel nacional que tiene asignadas y a los países que tenga asignado en la base de datos, por tal motivo también debe validarse que el empelado pueda realizar la llamada a dicha cuidad o país. Para la autorización de las llamadas se hace desde un archivo de texto que el usuario define, la información contenida en el archivo tiene el siguiente formato: 2020-2 #########; CC; $$$$$$$$$$; SSS; FFFFFFFF Donde: ######### corresponde al número telefónico, CC corresponde al tipo de documento del empleado $$$$$$$$$$ corresponde al número de documento del empleado SSS corresponde al número de segundos de duración de la llamada. FFFFFFFF corresponde a la fecha de la llamada Si el número de teléfono no es correcto porque no cumple el formato que se encuentra en la tabla de arriba, se guarda un registro de dicho error en la base de datos. Si el empleado no tiene minutos para realizar la llamada también se guarda un registro con un mensaje que diga los siguiente: El empleado YYYYYYY no pudo realizar la llamada TTTTT por falta de NN minutos. Donde: YYYYYYY es el nombre del empleado TTTTT es el tipo de llamada (local, celular, nacional, internacional) Si el empleado intenta hacer una llamada a una ciudad o un país al que no está autorizado se debe guardar un registro con el siguiente mensaje: El empleado YYYYYYY no puede llamar a KKKKKK porque no está autorizado. Donde KKKKKK es el nombre del país o la ciudad al cual intento llamar. Si el empleado no está registrado se debe guardar los datos básicos de ese empleado y colocar un estado de pendiente, para poder diligenciar el resto de los datos. Se debe contar con una GUI que muestre los empleados que tienen información pendiente por diligenciar. A continuación, se colocan algunos códigos de países y ciudades con el fin de realizar pruebas: 2020-2 Ciudad Departamento Indicativo Arauca Arauca 7 Armenia Quindío 6 Barranquilla Atlántico 5 Bogotá Cundinamarca 1 Bucaramanga Santander 7 Cali Valle 2 Cartagena Bolívar 5 Ciudad Departamento Indicativo Cúcuta Norte de Santander 7 Florencia Caquetá 8 Ibagué Tolima 8 Leticia Amazonas 8 Manizales Caldas 6 Medellín Antioquia 4 Mitú Vaupés 8 Mocoa Putumayo 8 Montería Córdoba 4 Neiva Huila 8 Pasto Nariño 2 Pereira Risaralda 6 Popayán Cauca 2 Puerto Carreño Vichada 8 Puerto Inirida Guainía 8 Quibdó Choco 4 Riohacha La Guajira 5 San Andrés San Andrés 8 San José del Guaviare Guaviare 8 Santa Marta Magdalena 5 Sincelejo Sucre 5 Tunja Boyacá 8 Valledupar Cesar 5 Villavicencio Meta 8 Yopal Casanare 8 Indicativos países PAIS - Indicativo Alemania 49 Argentina 54 Aruba 297 2020-2 Australia 61 Austria 43 Bélgica 32 Bolivia 591 Brasil 55 Canadá 1 Chile 56 China 86 Colombia 57 Costa Rica 506 Curazao 599 Dinamarca 45 Ecuador 593 El Salvador 503 España 34 Estados Unidos 1 Francia 33 Guatemala 502 Holanda 31 Honduras 504 Inglaterra 44 Israel 972 Italia 39 Japón 81 2020-2 México 52 Perú 51 Puerto Rico 1787 Rep. Dom. 1809 Rusia 7 Suecia 46 Suiza 41 Uruguay 598 Venezuela 58 Tenga en cuenta: El nombre de la base de datos debe ser su inicial y su primer apellido seguido de su número de documento un guion y 01, ejemplo LLOBO1234567890-01 Los códigos de las ciudades y los países se registran en la base de datos a través de una GUI para tal fin La información del empleado se registra a través de una GUI para tal fin. Los nombres de las tablas deben ir precedida por la inicial de su nombre y su apellido y el nombre de la tabla Debe haber una tabla donde se registren las llamadas hechas por los empleados y se debe guardar la fecha en que se realizó la llamada, el tipo de llamada quien la realizo y la duración de la misma Debe haber una tabla donde se guarda los mensajes en los casos en los cuales no se pudo realizar la llamada Solo se pueden utilizar las funciones y librerías que se trabajaron en clases. El uso de cualquier librería o función que no corresponda anula automáticamente el punto. 2020-2 Ejercicio 2 Realice un programa que permita realizar la compra de a boletería para funciones de cine. El cargue de las funciones se hace a través de una GUI con un cuadro de texto que acepta una o varias líneas. Cada línea contiene la siguiente información: Nombre Película—FechaFunción--Formato--{hora1,hora2,hora3,..,horaN}-Sala La fecha de la función se coloca en formato dd/MM/yyyy, donde dd es el día, MM es el mes y yyyy es el año. El formato corresponde al formato de la película 2D, 3D, 4D. Además, la aplicación debe contar con una interfaz para la asignación de sillas en las salas de cine, a través de la GUI se registra que silla escogió el usuario. El tamaño de las salas es estándar por lo cual tendrá 15 puestos por cada fila y las filas van desde la fila A hasta la fila F (estándar) y de la G hasta la J (preferencial). La aplicación no debe permitir registrar sillas ya asignadas para una función en particular. Además, se deben mostrar que sillas están ocupadas y cuáles no. Toda esta información es guardada en una base de datos. Tenga en cuenta: El nombre de la base de datos debe ser su inicial y su primer apellido seguido de su número de documento un guion y 02 Los nombres de las tablas deben ir precedida por la inicial de su nombre y su apellido y el nombre de la tabla En el caso que el nombre de la película y la fecha de la función ya se encuentre en la base de datos, se debe actualizar el registro existente. Cada vez que se actualice la información de una función se guardara el cambio hecho en un archivo llamado cambios.txt. En el archivo debe aparecer la información anterior y la información con la cual se actualizo. La misma película puede ser proyectada en diferentes horarios en una fecha específica. Debe haber un botón con el texto Acerca de… y al hacer clic deberá mostrar Su nombre completo, Número de identificación, Fecha de nacimiento, y correo electrónico. Solo se pueden utilizar las funciones y librerías que se trabajaron en clases. El uso de cualquier librería o función que no corresponda anula automáticamente el punto. 2020-2