Organización de Datos – Curso Servetto

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