Programación III |
Final |
02 / 2004 | Altillo.com |
En la Dirección General del Automotor desean implementar un control que impida la venta de un vehículo si este registra multas pendientes correspondientes al vendedor del mismo (último dueño) y en ese caso se informe el monto de la deuda por esas multas. Se dispone de los siguientes archivos:
HISTO: contiene un registro para cada dueño que haya tenido cada vehículo.
Organización: Secuencial Indexada. Clave primaria: HI-PATENTE+HI-FECCPA. Clave secundaria: HI-DNI
Factibilidad: 0/1 por clave primaria.
Diseño:
Campo | Tipo | Ancho | Descripción |
HI-REG | Nombre del registro | ||
HI-Patente | C | 6 | Patente del vehículo |
HI-Feccpa | N | 8 | Fecha de la compra |
HI-Dni | N | 8 | Número del DNI del comprador |
HI-Otros | N | 30 | Datos varios |
MULTAS: contiene un registro por cada multa que haya recibido cada vehículo y que esté impaga.
Organización: Secuencial Indexada. Clave primaria: MU-DNI+MU-FECHA+MU-HORA Factib. 0/1 por clave primaria.
Diseño:
Campo | Tipo | Ancho | Descripción |
MU-REG | Nombre del registro | ||
MU-Dni | N | 8 | Número del DNI del dueño al momento de la multa |
MU-Fecha | N | 8 | Fecha de la multa |
MU-Hora | N | 6 | Hora de la multa |
MU-Patente | C | 6 | Patente del vehículo |
MU-Codinf | N | 4 | Código de tipo de infracción cometida |
NOVEDAD: contiene las novedades a registrar en los archivos. No está ordenado. No existen registros duplicados. Las novedades posibles son: nueva infracción o venta del vehículo.
Organización: secuencial.
Diseño:
Campo | Tipo | Ancho | Descripción |
NOV-REG | Nombre del registro | ||
NOV-Dni | N | 8 | Número del Dni del infractor (viene en cero si es una venta) |
NOV-Fecha | N | 8 | Fecha de la venta o de la infracción |
NOV-Hora | N | 6 | Hora de la venta o de la infracción |
NOV-Patente | C | 6 | Patente del vehículo |
NOV-Codinf | N | 4 | Código del tipo de infracción cometida (viene en cero si es una venta) |
NOV-Tiponov | N | 1 | Indica si corresponde a una venta ´V´ o a una infracción ´I´ |
NOV-Otros | C | 30 | Datos varios |
INFRACCIONES: contiene un registro por cada tipo de infracción. En caso de no existir un código informado en la novedad, se lo dará de alta con un importe de multa de $50 y con la descripción “NUEVA FALTA”
Organización: relativa. IDR: IN-CODINF. Cantidad de códigos de infracción previstos: 182.
Diseño:
Campo | Tipo | Ancho | Descripción |
IN-REG | Nombre del registro | ||
IN-Codinf | N | 4 | Código de la infracción |
IN-Costo | N | 10 | Valor de la infracción |
IN-Descripción | C | 30 | Descripción de la falta cometida |
IN-Prox | N | 4 |
Se debe escribir un programa para procesar las novedades del archivo NOVEDAD como se detalla a continuación:
- Para las nuevas infracciones: actualizar el archivo MULTAS. Si el código de infracción informado en la novedad no existiera en el archivo INFRACCIONES deberá ser dado de alta en el mismo.
- Para las ventas: verificar que el vehículo no tenga multas impagas correspondientes al último dueño. Si no es así informar el monto de la deuda pendiente.
SE PIDE: - Diagrama Jackson
- Pseudocódigo
- Codificación en ambos lenguajes de una RUTINA completa de acceso al archivo HISTO.
- Fórmula de hashing utilizada.
Responder la siguientes preguntas. Justifique su respuesta.
1-¿Un archivo relativo esta siempre ordenado por su IDR?
2- ¿En un archivo secuencial indexado no puedo modificar la longitud de sus registros?
3-¿Cómo agrega un nuevo campo a un archivo ya existen en Cobol y en Foxpro?