Clase Práctica de Apareo

Slides:



Advertisements
Presentaciones similares
IBD Curso 2007 Clase 2.
Advertisements

Estructura General de Un Programa Programación Estructurada
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Teoría – Alejandro Gonzalez
Normalización Consiste en designar y aplicar una serie de reglas a las relaciones obtenidas tras el paso del modelo entidad- relación al modelo relacional.
¿Qué es un Diagrama de Flujo? UN DIAGRAMA DE FLUJO, TAMBIÉN LLAMADO FLUJOGRAMA DE PROCESOS O DIAGRAMA DE PROCESOS, REPRESENTA LA SECUENCIA O LOS PASOS.
CONTABILIDAD GERENCIAL TEMA Nº 10 COSTEO POR PROCESOS: NATURALEZA Y CARACTERISTICAS CAPITULO Nº 6 LIBRO DE TEXTO N° 2 PAGINAS Nº 222 A LA 259.
TUTORIA 1 Lógica para la Computación TUTORIA 1 Facultad de Ciencias Naturales y Matemáticas.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
BASE DE DATOS.
Ingreso , proceso y salida de datos
Estado del arte y Gestión de la Información
Nombre José Francisco Luna Jurado Matricula Asignatura
Convenciones de nomenclatura y diseño
METODOLOGÍA DE SISTEMAS
COMO SE GRABA ARCHIVOS EN UN CD.
Base de Datos Conjunto de información, la cual ha sido organizada y presentada para servir un propósito específico.
SISTEMAS OPERATIVOS Sección Crítica.
Control Interno del Efectivo
U.T. 11: Introducción A Las Bases De Datos
Stored Procedures Firebird.
Página Web del Lenguaje Pascal.
MANUAL DE MAESTRO DE CONDUCTORES
SISTEMAS DE GESTIÓN DE FICHEROS
INTRODUCCIÒN AL SISTEMA GESTOR DE BASE DE DATOS
Proyecto Final La Esquinita de Guise
Unidad 7: Nivel Interno Algunos Conceptos Importantes
Tema 6. Conceptos básicos de programación (Clase 2)
TUTORIAL PSeint.
BASE DE DATOS BD CONJUNTO DE INFORMACIÓN ALMACENADA EN FORMA ORGANIZADA EN UNA COMPUTADORA conjunto de datos pertenecientes a un mismo contexto y almacenados.
Listas Dinámicas.
Lenguaje y representación técnica
MODELO JACKSON Es un método de programación estructurada, como método de diseño de programas con aplicación a la mayoría de los lenguajes de programación.
Diagrama de flujo y Algoritmo
ES… ES IMPORTANTE PORQUE SU FUNCION ES SE COMPONE DE ESTA UBICADO EN
Metodología de la programación
Usando StreamReader y StreamWriter
Usando StreamReader y StreamWriter
Conceptos Relacionados Unidad I. Parte A.
Documentos a utilizarse para la adquisición de hardware y/o software
TEMAS 9 y 10: Planificación de la producción
Metodologías para Gestión de Proyectos
Taller Organización de Procedimientos Administrativos.
Planeación y Programación del Mantenimiento.
Customización en ADempiere
6.1 ORGANIZACIÓN DE LOS DATOS EN UN ENTORNO DE ARCHIVOS TRADICIONAL Un sistema efectivo de información da a los usuarios información: Exacta: libre de.
INDUCCIÓN MEJORAMIENTO CONTINUO. PIRAMIDE DOCUMENTAL Manual de CalidadCaracterizacionesProcedimientosInstructivosFormatos.
ALUMNOS: CORNEJO GUILLÉN PEDRO FLORES LUIS DANTE GONZALES NINA LEWIS.
CURSO PROGRAMACIÓN BÁSICA SEMANA 3 ¿Qué es un programa?
L.A. y M.C.E. Emma Linda Diez Knoth
Fundamentos de programación
Tema 9. Estructuras de repetición. Clase 3
INFORMÁTICA II (PSEUDOCODIGO Y METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS) Ing. José David Ortiz Salas.
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
Estructuras Dinámicas
Teoría Nº 3 Conceptos Básicos de Algoritmia Estructuras de Control
Universidad Alonso de Ojeda Facultad de Ingeniería
M. en TI. Omar Téllez Barrientos DOCENTE DE INFORMÁTICA GENERACIÓN DE PSEUDOCÓDIGOS Y ALGORITMOS
Manual de funciones y de procedimientos
Tema 6. Conceptos básicos de programación (Clase 2)
Diego Hernández R. Archivos Diego Hernández R.
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
CONTROLES Y ESTRUCTURAS BÁSICAS DE PROGRAMACIÓN  1. Algoritmos: conjunto de instrucciones programadas para resolver una tarea específica.  2. Datos:
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
MICROSOFT ACCESS. Definición de una Base de Datos: un programa que permite gestionar y organizar una serie de datos. Por ejemplo, para la gestión de los.
Tema 8. Estructuras de decisión. Clases 1 y 2.
La Metodología Kimball, es una metodología empleada para la construcción de un almacén de datos (data warehouse, DW) que no es más que, una colección de.
Transcripción de la presentación:

Clase Práctica de Apareo ¡Programación I! Tema XII: Archivos. Operaciones básicas sobre archivos. Gestión de Archivos. Algoritmos clásicos sobre archivos: modificación, agregado, actualización, corte de control, unión de archivos (merge). Eliminar elementos de un archivo: borrado físico. borrado lógico. Nociones generales sobre bases de datos. Clase Práctica de Apareo

Apareo de Archivos El apareo de archivos es un proceso que dependiendo del tipo de organización que tengan estos archivos, el algoritmo adoptará una estructura particular. Fusionar varios archivos (al menos dos) secuenciales homogéneos, mediante el uso de un campo común a todos ellos llamado calve de control. Encontrar parejas de registros pertenecientes al mismo ente, en el cual cada uno de ellos contiene parte de la información requerida para el proceso siguiente (ej. Armar un nuevo registro con los datos de ambos archivos). Todos los archivos deberán tener un campo común que es el nexo para realizar el proceso. Ej. De uso de la técnica: Actualizar saldos de Cuentas corrientes de una Entidad Financiera; actualización de movimientos de artículos de un almacén; liquidación de haberes de los empleados; etc.

Apareo de Archivos El procesamiento de la técnica se hace en lotes de registros (batch). Contraposición de la técnica: procesos en línea usando métodos de acceso directo. Este proceso es muy empleado para la actualización del maestro a través del archivo de novedades. Las novedades tendrán que ver con altas, bajas o modificaciones o algunas de ellas solamente.

Apareo de Archivos Generalmente se presenta con dos tipos de archivos muy diferenciados por su grado de volatilidad (mayor o menor duración de los datos). Archivo Maestro: Contiene información permanente o semi permanente. Tiene poca o ninguna volatilidad. Archivo Detalle (Movimiento o Novedad): Contiene información transitoria, con la que se actualiza o modifica los datos del archivo maestro. Tiene alta volatilidad. Normalmente, luego del proceso, son desechados. a. registros del maestro que no tienen ningún registro en el archivo de movimiento. b. registro del maestro que tienen uno o varios registros en el archivo de movimiento. c. registros del archivo de movimiento que no tienen el correspondiente registro en el archivo maestro (caso de error).

Apareo de Archivos Requisitos Ordenamiento. Todos los archivos deben estar ordenados por el mismo campo clave de control (nexo común) de la misma forma. Nexo Común. Todos los archivos (que participan del proceso de apareo) deben tener un mismo campo común que servirá de nexo entre ellos. Normalmente es la clave de control. Homogeneidad. Todos los archivos deben ser de entes de la misma naturaleza.

Apareo de Archivos Mantenimiento de Archivos Consiste en la realización de todas las intervenciones que soportan los mismos (archivos) durante su vida útil. Actualizaciones. Consiste en modificar (total o parcialmente), eliminar o agregar registros de/en un archivo (generalmente maestro), a partir de los registros informados en el archivo de novedad. Consiste en cambiar el contenido de uno o mas campos de un registro. Casos: a) Mediante el reemplazo directo de dato que contiene el movimiento. (ej. Domicilio) b) Resultado de cálculos que se realizan.

Apareo de Archivos Casos 1.- Uno o ningún registro de movimiento por cada registro del maestro. DO WHILE CM = CD CON_MOV LEER_MOV LEER_MAE; SIN_MOV

Apareo de Archivos Casos 2.- Uno o ningún registro de movimiento por cada registro del maestro, con error. DO WHILE CM = CD CON_MOV LEER_MOV LEER_MAE; IF CM < CD THEN SIN_MODIF LEER_MAE ELSE ERRORES LEER_MOV;

Apareo de Archivos Casos 3.- Uno, varios o ningún registro de movimiento por cada registro del maestro. PRI_ENTE; DO WHILE CM = CD UN_MOV LEER_MOV; FIN_ENTE; PROCEDURE PRI_ENTE; ** Conjunto de instrucciones para iniciar el proceso de pareo (puede estar vacio); PROCEDURE FIN_ENTE; (* puede ser necesario preguntar por una bandera*) ** Conjunto de instrucciones para procesar Maestro sin movimiento LEER_MAE; PROCEDURE UN_MOV; ** Conjunto de instrucciones para procesar Maestro con uno o varios movimiento/s LEER_NOV;

Apareo de Archivos PRI_ENTE; DO WHILE CM = CD UN_MOV LEER_MOV; Casos 4.- Uno, varios o ningún registro de movimiento por cada registro del maestro, con error. PROCEDURE PRI_ENTE; ** Conjunto de instrucciones para iniciar el proceso de pareo (puede estar vacio); PROCEDURE FIN_ENTE; (* puede ser necesario preguntar por una bandera*) IF CM < CD THEN SIN_MODIF (*Maestro sin movimiento, se graba tal cual se lee) LEER_MAE ELSE ERROR (* movimiento sin maestro, es un error. Se lo trata como error) LEER_MOV; PROCEDURE UN_MOV; ** Conjunto de instrucciones para procesar Maestro con uno o varios movimiento/s LEER_NOV; PRI_ENTE; DO WHILE CM = CD UN_MOV LEER_MOV; FIN_ENTE;

Apareo de Archivos Casos 5.- Bajas/Modif. PRI_ENTE; DO WHILE CM = CD PROCEDURE PRI_ENTE; ** Conjunto de instrucciones para iniciar el proceso de BAJA (puede estar vacio); PROCEDURE FIN_ENTE; (* puede ser necesario preguntar por una bandera*) IF CM < CD THEN SIN_MODIF (*Maestro sin movimiento (baja), se graba tal cual se lee) LEER_MAE ELSE ERROR (* baja (movimiento) sin maestro, es un error) LEER_MOV; PROCEDURE BAJA; ** Conjunto de instrucciones para procesar la baja del Maestro; PRI_ENTE; DO WHILE CM = CD BAJA LEER_MOV LEER_MAE; FIN_ENTE;

Apareo de Archivos Casos 5.- Altas PRI_ENTE; DO WHILE CM = CD ERROR PROCEDURE PRI_ENTE; ** Conjunto de instrucciones para iniciar el proceso de ALTAS (puede estar vacio); PROCEDURE FIN_ENTE; (* puede ser necesario preguntar por una bandera*) IF CM < CD THEN SIN_MODIF (*Maestro sin movimiento (alta), se graba tal cual se lee) LEER_MAE ELSE ALTA (* es un registro que no esta en el maestro, hay que incorporarlo (alta). LEER_MOV; PROCEDURE ERROR; ** es un registro (alta) que ya esta en el maestro. ERROR; PROCEDURE ALTA; ** conjunto de instrucciones para dar de alta el registro; PRI_ENTE; DO WHILE CM = CD ERROR LEER_MOV; FIN_ENTE;

Apareo de Archivos Casos 6.- Altas, bajas y modificaciones en forma conjunta.

Temas a tratar 1.- Enunciado del problema 2.- Especificar el tipo de caso de apareo 3.- Diagrama de flujo con la solución 4.- Codificación en Pascal 5.- Fin

Enunciado del problema A partir de los datos de los alumnos contenidos en un archivo MAESTRO y los datos de NOVEDADES con la materia aprobada por cada alumno que ha aprobado, cuyos diseños son los siguientes:  Diseño Archivo Maestro. Un registro por cada alumno. Diseño Archivo Novedad. Un o ningún registro por alumno.   Se desea: A)    Actualizar la fecha de aprobación de la ultima asignatura B)     Actualizar la cantidad de asignaturas aprobadas C)    Listar los datos y la asignatura aprobada NLU AyN CMA FECHA NLU CMAT FECHA

Especificar el caso de apareo SI En el Maestro están todos ? NO Puede faltar registros en el Maestro? NO En la Novedad, viene un registro por cada Maestro? En la Novedad, viene uno, varios o ningún registro por cada Maestro? NO En la Novedad, viene uno o ningún registro por cada Maestro? SI

Diagrama de flujo Subrutinas Codificación INICIO Principio_Programa Fin_Programa regnovedad.NLU = 999 Fin Apareo regmaestro.NLU Subrutinas Codificación

Principio_Programa Codificación Leer_Maestro Titulo LEER Leer_Maestro EoF LEER Regmaestro.NLU = 999 Leer_Maestro Titulo Leer_Maestro Leer_Novedad EoF LEER Regnovedad.NLU = 999 Leer_Novedad “Info. de actualización de materias aprobadas por los alumnos” “NLU Ape y Nom Cod. Materia Fecha de Aprobación” Titulo Codificación

Apareo Subrutinas Codificación regmaestro.NLU = regnovedad.NLU MCD Leer_Maestro Grabar_MaeNue (Tal Cual Maestro) Leer_Novedad Codificación

Rutinas MCD y Grabar_MaeNue regmaestro.NLU, “ ”, regmaestro.AyN, “ ”, regnovedad.CMAT, “ ”, regnovedad.FECHA regmaestro.CMA = regmaestro.CMA +1 regmaestro.FECHA = regnovedad.FECHA Grabar_MaeNue MCD GRABAR regnuevo.NLU = regmaestro.NLU regnuevo.AyN = regmaestro.AyN regnuevo.CMA = regmaestro.CMA regnuevo.FECHA = regmaestro.FECHA Grabar_MaeNue Codificación

Fin_Programa Close Maestro Novedad Codificación

Codificación en Pascal de la rutina Principio_programa (DF) begin clrscr; Principio_Programa; while regmaestro.nlu < > 999 .and. regnovedad.nlu < > 999 do Apareo; end; Fin_Programa; end. Diag. Flujo

Codificación en Pascal de la rutina Principio_programa (DF) Continua…. Procedure Titulo; begin writeln('“Info. de actualización de materias aprobadas por los alumnos”); writeln('““NLU Ape y Nom Cod. Materia Fecha de Aprobación””); end; Procedure Leer_Maestro; begin if eof(maestro) then regmaestro.nlu:= 999 else read(maestro, regmaestro); end; Procedure Leer_Novedad; begin if eof(novedad) then regnovedad.nlu:= 999 else read (novedad, regnovedad); end; Diag. Flujo

Codificación en Pascal de la rutina Principio_programa (DF) ..Continua Procedure Apareo; begin while regmaestro.nlu = regnovedad.nlu do MCD Leer_Maestro Leer_Novedad end; Grabar_MaeNue; Leer_Maestro; Diag. Flujo

Codificación en Pascal de la rutina Principio_programa (DF) ..Continua Procedure MCD; begin write(regmaestro.NLU, “ ”, regmaestro.AyN, “ ”, regnovedad.CMAT, “ ”); writenl(regnovedad.FECHA); regmaestro.CMA := regmaestro.CMA + 1; regmaestro.FECHA := regnovedad.FECHA; Grabar_MaeNue; end; Procedure Grabar_MaeNue; begin regnuevo.NLU = regmaestro.NLU; regnuevo.AyN = regmaestro.AyN; regnuevo.CMA = regmaestro.CMA; regnuevo.FECHA = regmaestro.FECHA; write (nuevo, regnuevo); end; Diag. Flujo

Codificación en Pascal de la rutina Principio_programa (DF) ..Continua Procedure Fin_Programa; begin close(maestro); close(novedad); close(nuevo); end; Diag. Flujo

Programa completo en Pascal Despliegue la codificación completa

FIN Intentamos resolver el resto de los problemas de la serie de Apareo de Archivos ….. S U E R T E. . .