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

Programación III

Final

02 / 2002 Altillo.com

Para la renovación del registro de conductor se debe tener el certificado de libre deuda de la persona. Las infracciones se atribuyen al dueño del vehículo (cuando no se puede saber quién conduce) o al conductor. Para la gestión de deudas por infracciones, el sistema dispone de los siguientes archivos.

Descripción de los archivos:
INFRACCIONES: contiene (si o si, factibilidad 1) un registro con los datos del titular de cada vehículo y un registro por cada infracción que se haya cometido (para este tipo de registro puede no haber información tanto por patente como por documento, o sea factibilidad 0 a N).
La organización es secuencial indexada. Las factibilidades son las antes indicadas. 
CLAVE PRIMARIA:
IN1-PATENTE+IN1-TIPOREG+IN1-DNI-TITULAR+IN1-SECUENCIA
Diseños:
REG-IN1.
IN1-PATENTE                           X(6) (CCCNNN)
IN1-TIPOREG                            N(1) (siempre 0)
IN1-DNI-TITULAR                    N(8) (a este dni se cargarán las infrac. que no 
IN1-SECUENCIA                      N(3) tengan documento)
IN1-FEC-CPA                            N(8) (fecha de compra)
IN1-DOMICILIO                       C(30)

REG-IN2.
IN2-DNI-INFRACTOR              N(8)
IN2-TIPOREG                             N(1) (siempre 1)
IN2-PATENTE                            X(6) (CCCNNN)
IN2-SECUENCIA                       N(3)
IN2-FEC-INF                              N(8) (fecha de la infracción)
IN2-ESTADO                              N(1) (si esta pagada o no)
IN2-COSTO                                N(10) (costo de la multa)

LIBREDEUDA: contiene un registro por cada documento que haya cometido alguna infracción con una patente determinada. Organización relativa. El IDR es LD-DNI-INFRACTOR. Factibilidad 0 a N registros por IDR. Se preveen 2000000 de registros. Se dispone de la función NUEREGI que devuelve el número de un nuevo registro a agregar. 
Diseño:
LD-DNI-INFRACTOR      N(8)
LD-PATENTE                    X(6) (CCCNNN)
LD-SALDO                        N(10)
LD-PROXIMO                   N(7)

NOVEDADES: este archivo contiene las novedades para actualizar los archivos antes descriptos. Trae dos tipos de novedades, ventas (tipo de registro 'V') e infracciones (tipo de registro 'I'). En este programa no son tratados los pagos de las multas. Organización secuencial.
Diseños:
REG-NI.
NI-TIPOREG                      C(1) (siempre 'I')
NI-DNI                               N(8) (puede venir vacío)
NI-LIBRE                           N(8) (siempre 0) 
NI-PATENTE                     X(6) (CCCNNN)
NI-FEC-INF                       N(8) (fecha infracción)
NI-SECUENCIA                N(3)
NI-VALOR                         N(10) (valor de la multa)
NI-OTROS                         C(10) (datos varios)

REG-NV.
NV-TIPOREG                     C(1) (siempre 'V')
NV-DNI-VENDEDOR       N(8) (dni del que vende)
NV-DNI-COMPRADOR   N(8) (dni del que compra)
NV-PATENTE                    X(6) (CCCNNN)
NV-FEC-CPRA                  N(8) (fecha de compra)
NV-SECUENCIA               N(3) (siempre 0)
NV-VALOR                        N(10) (valor de la compra)
NV-OTROS                        C(10) (datos varios)

Se debe escribir un programa que con las novedades recibidas actualice los datos del sistema teniendo en cuenta lo siguiente:
- Cuando se vende un vehículo, el comprador se hace cargo de las infracciones asignadas al titular anterior. Además se debe actualizar el archivo LIBREDEUDA reemplazando el infractor anterior por el nuevo titular.
- Cuando se informa una infracción se deben actualizar los archivos INFRACCIONES (con la nueva infracción) y LIBREDEUDA (con los datos del infractor)
- Cuando una infracción no tiene el documento del infractor, se le asigna al dueño del vehículo.

Se pide:
    - Diagrama Jackson
    - Pseudocódigo de al menos una rutina.
    - Codificación en ambos lenguajes de una rutina que contenga acceso a archivos relativos o indexados.
    - Lote de prueba del archivo INFRACCIONES
    - Fórmula de hashing empleada.

Preguntas:
1- Indique los pasos necesarios para borrar un registro al azar en un archivo de organización secuencial. 
2- Indique si se puede grabar un registro en un archivo Relativo, en cada uno de los tres accesos, si lo que se desea es abrirlo como input-output.
3- Un archivo relativo que NO contiene el IDR en su diseño NO puede tener SINONIMOS. Indique si esto es verdadero o falso y justifique.