Organización de Datos – Curso Servetto Organizaciones Secuenciales 1. Dada la siguiente definición TurnoMédico(((médico)ie, fecha, hora)i, ((paciente)ie)?, (consulta(((diagnóstico)d)?, descripción, (práctica)*, (prescripción)*))*) a. Explique la estructura en función de los calificadores b. Indique qué clase de archivo de datos es c. Proporcione una definición lógica para el archivo organizado como secuencial con registros de longitud variable, considerando que los registros son actualizables d. Defina en C estructuras y firmas de funciones para todas las primitivas de organización comentando sus objetivos e. Defina clases en C++ para organizar este archivo 2. Describa algorítmicamente las primitivas de actualización para un archivo secuencial de registros de longitud fija desordenados. Indique previamente qué estructura utilizar para el control de espacio libre y cómo la almacenaría. 3. Sea un archivo secuencial con registros de longitud variable desordenados y en bloques de 512 bytes y una política de carga tal que ningún alta puede superar el 85% de la capacidad de un bloque (la previsión de al menos el 15% del espacio libre es para permitir modificaciones de registros que los agranden de tamaño sin necesidad de cambiarlos de bloque). Dado el estado que se esquematiza a continuación, en el que cada registro se representa por su longitud en bytes: 69, 78, 62, 71, 66, 83 77, 68, 79, 66, 87 65 a. Represente el estado de la estructura para manejo de espacio libre. b. Represente el estado del archivo y de su estructura para manejar el espacio libre luego del alta de un registro de 56 bytes. c. Partiendo del estado previo (luego del alta), represente el nuevo estado del archivo y de su estructura para espacios libres si el registro de 62 bytes en su primer bloque de datos se actualiza a 77 bytes. 4. Sea un buffer de ordenamiento externo por selección y reemplazo con capacidad para 6 registros, que ha quedado con los siguientes registros congelados: 723, 849, 662, 718, 615, 910. a. Muestre cómo se transforma el buffer en un montón (heap) indicando los intercambios necesarios. b. Muestre la evolución del montón resultante del punto anterior siendo que el próximo registro del archivo desordenado tiene clave 650. c. Ídem punto anterior para la clave 700.