====== Examen Final - 75.40. Algoritmos y Programación I ====== **Cátedra:** Mandrafina\\ **Fecha:** 3ª Oportunidad - 1º Cuatrimestre 2005\\ **Día:** 25/07/2005 ===== Enunciado ===== Es necesario desarrollar un programa Pascal para una compañía que requiere realizar informes sobre los archivos que almacenan la información de sus empleados. Se cuenta con las siguientes estructuras: __''Archivo de empleados''__ (Empleados.dat): Almacena la información de los empleados que trabajan actualmente en la empresa. El archivo contiene 6.000 registros aprox. Se encuentra ordenado por fecha de ingreso. TREG_EMP=Record {Tipo Registro de Empleados} Legajo: long int; {Número de legajo no correlativo} Nombre: String[50]; Fecha ingreso: string[8]; Domicilio_Calle: string[50]; Domicilio_Localidad: string[15]; Domicilio_Provincia: string[15]; Teléfono: string[15]; Sueldo: real; {Sueldo por hora} End; T_ARCH_Emp=File of TREG_Emp; __''Archivo de horas''__ (HORAS.TXT): Almacena las horas trabajadas por los empleados durante los últimos años. El archivo contiene alrededor de 900.000 renglones con el siguiente formato: AAAAMMDDEEEEEEEEHHMM, donde los primeros 8 caracteres contienen la fecha (año, mes y dia) luego los siguientes 8 caracteres contienen el número de legajo del empleado y por último se indica la cantidad de horas trabajadas (4 caracteres HH y minutos). Se encuentra un registro por cada día y número de legajo y se encuentra ordenado por fecha y legajo. - Calcular el total de gasto diario, mensual y anual de la empresa en sueldos, teniendo en cuenta las horas trabajadas. - Se desea actualizar el archivo de empleados a partir del archivo EmpNov.dat, el cual se encuentra desordenado y contiene 500 registros aprox. - Se desea realizar un aumento de sueldo por hora para el personal. El aumento correspondo a un 10% del promedio de todos los empleados y sólo se les aplica a aquellos empleados que cobren menos del promedio. - Para una fecha ingresada por teclado (DD/MM/AAAA) se pide indicar cuantos empleados ingresaron en ese día. Este módulo será muy utilizado por lo tanto deberá ser óptimo. ===NOTAS: Para la presente evaluación se debe tener en cuenta las siguientes consideraciones=== - Realizar los puntos en forma independiente. - Desarrollar la evaluación con escritura prolija y entendible. - Los archivos se podrán procesar secuencialmente, en su totalidad, en una sola oportunidad por cada punto. Luego en forma directa. - Los archivos no deben almacenarse en memoria principal por completo bajo ninguna circunstancia. - Completar y codificar todo y slo lo necesario para la resolución del presente problema, en especial, lo que se refiera a definiciones de tipos, variables, funciones, procedimientos y programa principal. No se debe dejar supuesto ningún elemento sino que debe explicarse. - Utilizar las estructuras estáticas de arreglos y/o archivos auxiliares. - El limite máximo del segmento de datos es de 64 Kbytes. - Se dispone de una máquina con discos fijos espejados de 100 GigaBytes cada uno y con una ocupación del 50% cada uno. ===== Resolución ===== ===== Discusión ===== Si ves algo que te parece incorrecto en la resolución y no te animás a cambiarlo, dejá tu comentario acá.