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

Programación III

Final

02 / 2005 Altillo.com

Se está estudiando una ley para que se efectúe la devolución de parte del IVA para todas las compras, sean estas con tarjetas o con efectivo. Ante esta alternativa la DGI está preparando un programa que permita controlar posibles evasiones impositivas mediante un control entre los ingresos recibidos por una persona (sueldos, facturaciones, etc) y los egresos de su grupo familiar (todas las compras y servicios pagados). Para ello se cuenta con los siguientes archivos:

INGRESOS: contiene un registro por cada cobro que haya recibido una persona (como ya se dijo, todos los montos facturados, los sueldos cobrados y cualquier otro ingreso que posea la persona)

Organización Indexada.

Clave Primaria: IN-TIPO-INSCR + IN-NRO-INSCR + IN-FEC-COBRO + IN-SECUENCIA

Clave Secundaria: IN-PROCESADO + IN-TIPO-INSCR + IN-NRO-INSCR (Admite duplicados)

Diseño

Campo Tipo Ancho Desc
IN-Registro     Nombre del registro
in-procesado C 1 Marca si el registro ha sido procesado o no (S/N)
IN-TIPO-INSCR C 1 Tipo de inscripción (L=Cuil / T=Cuit)
IN-NRO-INSCR N 11 Número de inscripción (Cuil o Cuit)
IN-FEC-COBRO N 8 Fecha de cobro (AAAAMMDD)
IN-SECUENCIA N 3 Para hacer única la clave
IN-MONTO N 8 Importe cobrado

 

EGRESOS: contiene un registro por cada pago que haya efectuado una persona.

Organización Indexada. Clave primaria: EG-NRO-INSCR + EG-FEC-PAGO + EG-SECUENCIA

Diseño:

Campo Tipo Long Desc
EG-Reg     Nombre del registro
EG-NRO-INSCR N 11 Número de inscripción
EG-FEC-PAGO N 8 Fecha de pago AAAAMMDD
EG-SECUENCIA N 3 Para hacer única la clave
EG-MONTO N 8 Importe pagado

 

GRUPFAM: en este archivo se relaciona a las personas que no tienen ingresos con aquellas personas que los tienen a cargo. Por ejemplo, si en una pareja trabaja solo el esposo y no la esposa ni los hijos, existirán registros con la relación entre aquel que trabaja y cada uno de los que no trabajan.

Organización relativa: IDR: GR-NRO-INSCR-1

Diseño:

Campo Tipo Ancho Desc
gr-Registro     Nombre del registro
gr-nro-inscr-1 N 11 Número de la inscripción de la persona que trabaja
GR-NRO-INSCR-2 N 11 Número de inscripción de la persona que NO trabaja
GR-PROX N 5 Puntero

Se pide escribir un programa que genere un archivo secuencial con los datos de aquellas personas cuyo grupo familiar haya efectuado gastos por un monto superior al total de ingresos recibido por la persona que trabaja.

Debe tenerse en cuenta que algunas personas pueden tener solo CUIL o solo CUIT o tener ambos y por lo tanto podrían tener ingresos bajo un número y/o bajo el otro.

El total de gastos a considerar incluye todos los gastos efectuados por todos los integrantes del grupo familiar (trabajen o no).

Diseño del archivo:

SALIDA: Organización Secuencial. Tiene dos diseños de registro. Uno por cada persona que esté a cargo de otra y otro con el total de cobros.

Diseño:

Campo Tipo Ancho Desc
SA-Reg1     Nombre del registro
SA-nro-inscr-1 N 11 Número de la inscripción de la persona que trabaja
SA-NRO-INSCR-2 N 11 Número de inscripción de la persona que NO trabaja
SA-TOT-COMPRA N 8 Total de las compras de esa persona
       
SA-REG2     Nombre del registro
SA-NRO-INSCR1 N 1 Número de inscripción de la persona que trabaja
SA-TOT-COBROS C 30 Total de los cobros de esa persona

 

Se pide:

Jackson

Pseudocódigo

Codificación en ambos lenguajes de una RUTINA completa de acceso al archivo INGRESOS

Fórmula de hashing utilizada

Responder las siguientes preguntas y JUSTIFICAR

1- Un archivo relativo está siempre ordenado por su IDR?

2- En un archivo secuencial indexado que contiene dos tipos de registros distintos, debo definir una clave distinta para cada uno de ellos?

3- Cómo hace para dar de baja un registro que contiene un sinónimo en el área de overflow de un archivo relativo?