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 |