Subido por miguel florez

Parcial Final Python

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