Altillo.com > Exámenes > ORT > Programación III

Programación III

Final

12 / 2004 Altillo.com

Según las encuestas realizadas recientemente más del 50% de los argentinos no han leído ningún libro durante el último año. Para ayudar a mejorar esta situación las bibliotecas populares han iniciado una campaña para incentivar a sus asociados a la lectura.

La campaña consiste en enviar a quienes no hayan solicitado ningún libro durante los últimos 6 meses, un listado con los libros de igual tema o autor que alguno de los 3 últimos pedidos del socio. Para esto mensualmente se ejecuta un proceso que selecciona aquellos socios que hace más de 6 meses que no hacen pedidos y genera el siguiente archivo:

NOLEE: Contiene un registro por cada socio que hace más de 6 meses que no pide ningún libro. Organización secuencial, sin orden, factibilidad 0 o 1 registro por socio (solo los socios seleccionados están en este archivo)

Diseño:

Campo Tipo Long Observaciones
REG-NO     Nombre del registro
NO-NROSOC N 6 Número del socio

 

SOCIO: Contiene un registro por cada socio de la biblioteca. Organización relativa. IDR: SO-NROSOC, factibilidad 0 o 1 registro por IDR (puede haber socios que hayan sido dados de baja). Las bibliotecas tienen un promedio de 12.000 socios.

Diseño:

Campo Tipo Long Observaciones
REG-SO     Nombre del registro
SO-NROSOC N 6 Número del socio
SO-DIREC A 30 Domicilio del socio
SO-TELEF A 11 Teléfono del socio
SO-PROX N 6 Puntero

 

PEDIDOS: Contiene un registro por cada pedido que hayan efectuado los socios. Un socio no puede hacer más de un pedido por día ni retirar más de un libro por pedido. Organización Indexada. Factibilidad 0 a N registros por socio, Clave: SO-NROSOC + SO-FECHA

Diseño:

Campo Tipo Long Observaciones
REG-PE     Nombre del registro
PE-NROSOC N 6 Número del socio
PE-FECHA N 6 Fecha del pedido
PE-NROLIBRO N 6 Número del pedido
PE-FECENT N 8 Fecha de entrega del libro

CATALOGO: Este archivo es el catálogo de los libros existentes en la biblioteca. Organización indexada, Clave Primaria CA-NROLIBRO. Clave Secundaria CA-AUTOR + CA-TEMA. Factibilidad 1 por número de libro, 0 a N por cada una de las claves secundarias.

Diseño:

Campo Tipo Long Observaciones
REG-CA     Nombre del registro
CA-NROLIBRO N 6 Número del libro
CA-AUTOR A 30 Nombre del autor
CA-TIPO N 1 Tipo de libro
CA-TEMA A 30 Tema que trata el libro

 

ALISTAR: Este archivo contendrá la información necesaria para efectuar el listado pedido. Contendrá grupos de registros, cada grupo tendrá un registro con los datos del socio y luego de este 0 a N registros con los libros que corresponden al autor o tema que el socio haya leído en sus últimos 3 pedidos.

Organización secuencial.

Diseño:

Campo Tipo Long Observaciones
REG-ALI     Nombre del registro
ALI-TIPOREG A 1 Tipo de registro. Contiene una “C”
ALI-NROSOC N 6 Número del socio
ALI-DIREC A 30 Dirección del socio
       
REG-AL2     Nombre del registro
AL2-TIPOREG A 1 Tipo de registro. Contiene una “D”
AL2-NROLIBRO N 6 Número del libro
AL2-AUTOR A 30 Nombre del autor
AL2-TIPO N 1 Tipo de libro
AL2-TEMA A 30 Tema del libro

Escribir un programa que genere el archivo ALISTAR. En este archivo se deberá guardar, además de los datos del socio, los libros que corresponden al autor o tema de los 3 últimos pedidos del socio (teniendo en cuenta que cada libro deberá aparecer una única vez), los grupos de registros dentro del archivo deben estar ordenados por número de socio y los libros de dicho grupo estarán ordenados por tema y dentro de éste por autor.

SE PIDE:

JACKSON De la solución general del programa planteado
PSEUDOCODIGO Con el detalle requerido para conocer la solución de detalle
CODIFICACION En los lenguajes vistos en la materia de una rutina (completa) de acceso al archivo PEDIDOS
FORMULA DE HASH Usada para la resolución