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

Programación III

Parcial

2° Cuat. de 2002 Altillo.com

En una empresa dedicada al desarrollo de software, se dispone de un sistema para guardar información de los proyectos que se van realizando. Un proyecto está compuesto de varios programas y a su vez algunos de estos programas también forman parte de otros proyectos.
Un ejemplo de proyecto puede ser un cambio en el modo de liquidación del IVA. En ese cambio pueden afectarse programas que forman parte de otros proyectos, como el del sistema de facturación, el del sistema de contabilidad y otros.
Debido a que se han detectado errores en algunos programas que forman parte de un proyecto, se desea emitir un listado ordenado por programa, de todas las modificaciones sufridas por los programas que pertenecen al proyecto ingresado por el operador, que sean posteriores a la fecha de implementación del proyecto.
El programa listador deberá además actualizar el campo PG-ESTADO del archivo PROGRAMAS.
Las modificaciones a listar de cada programa pueden haberle sido hechas en distintos proyectos.

Diseño del listado:

Proyecto: AX404 Implementado el: 30/09/2002
Programa Fecha de la modif Descripción
10104 10/10/2002 Cambio de modo de cálculo
10104 10/11/2002 Optimización general
10105 10/10/2002 Se agregan cálculos

Descripción de archivos:
Proyectos: Contiene información de los proyectos y los programas que los componen. Tiene tres tipos de registro: los que describen un proyecto, los que describen un programa de un proyecto y los que describen una modificación efectuada a un programa (una nueva versión del mismo).
Organización: secuencial indexado. Factibilidad 0 a 1 por clave primaria 0 a N por clave secundaria.
Clave primaria: PY-PROYECTO + PY-PROGRAMA + PY-VERSION + PY-TIPOREG
Clave secundaria: PY-PROGRAMA + PY-VERSION
Diseño:
PY-PROYECTO    alfanum. 6    (código del proyecto)
PY-PROGRAMA   alfanum. 6    (código del programa. Si el registro es tipo 1, tiene blancos)
PY-VERSION        alfanum. 6    (según tiporeg=1 tiene blancos, =2 tiene cero, =3 un número)
PY-TIPOREG         numérico 1   (1=proyecto / 2=programa / 3=modificación)
PY-FECHAIMP     numérico 8  (puede venir vacía indicando que no se implementó)
PY-DESCRIP         alfanum. 30  (describe el proyecto, o el programa o la modificación)

Programas: Contiene datos de cada programa. Inicialmente todos los programas tienen "OK" en el campo PG-ESTADO.
Organización: secuencial indexado. Clave primaria PG-PROGRAMA + PG-ESTADO
Factibilidad: 0/1 por clave primaria
Diseño:
PG-PROGRAMA    alfanum. 6     (código del pprograma)
PG-ESTADO           alfanum. 2     ("OK" o "AR" arreglado)
PG-FECHAESCR    numérico 8    (fecha en que fue escrito)
PG-OTROS              alfanum. 10   (otros datos del programa)

Se pide:
 - Diagrama Jackson
 - Pseudocódigo
 - Codificación en ambos lenguajes de la rutina de acceso al archivo PROYECTOS
 - Indicación de los métodos de acceso utilizados con cada archivo
 - Lote de prueba del archivo PROYECTOS

Nota: del diagrama de Jackson y pseudocódigo debe poder entenderse completamente el funcionamiento del programa pedido.

Responder y justificar las siguientes preguntas:
1) En un archivo indexado, ¿sólo accedo en forma dinámica si conozco parte de la clave?
2) ¿En FoxPro, si se agrega un campo a un archivo, qué lugar del programa se debe modificar?