Archivos y Registros

Embed Size (px)

Citation preview

  • 7/23/2019 Archivos y Registros

    1/20

    Company

    LOGO

    Archivos y Registros

    Algoritmos y Estructuras de Datos

  • 7/23/2019 Archivos y Registros

    2/20

    Agenda

    1. Archivos

    2. Archivos de Acceso Aleatorio

    3. Registros

    4. Creacin, Escritura y Lectura

  • 7/23/2019 Archivos y Registros

    3/20

    Archivos

    Almacenamientopermanente

    manipulado porSoftware.

    Bit: Valor de 0/1Byte: 8 bits. Un

    carcter

    Campo:

    Caracteres consignificado

    Registro oEstructura:

    Camposrelacionados.

    Archivo: Grupo

    de registrosrelacionados.

  • 7/23/2019 Archivos y Registros

    4/20

    Archivos

  • 7/23/2019 Archivos y Registros

    5/20

    Archivos

    Cualquier

    registro sepuede leer demaneraindependiente.

    Como un CD

    La lectura

    debecomenzardesde el inicio.

    Como un

    Cassete.

    Deacces

    o

    aleatorio

    Sec

    uenciales

    A hi d A

  • 7/23/2019 Archivos y Registros

    6/20

    Archivos de Acceso

    Aleatorio

    Puedo accedera los registros

    directamente.

    El acceso es

    instantneo.

    Los registrostienen una

    longitud fija.

    Se almacenan

    los Bytes talcual.

    La data no es

    legible.

    A hi d

  • 7/23/2019 Archivos y Registros

    7/20

    Archivos de acceso

    aleatorio

  • 7/23/2019 Archivos y Registros

    8/20

    Registros

    Contexto Los archivos de acceso aleatorio necesitan una estructura conocidapara cada elemento de informacin.

    Los registros son un nuevo tipo de dato.

    Sintaxis Estructuraalumno

    Dimensioncodigo[30];

    Definircodigocomo Caracter;

    Dimensionnombre[30];

    Definir nombre como Cadena;

    FinEstructura

    Definir info_estudiantecomo alumno;

    A hi d A

  • 7/23/2019 Archivos y Registros

    9/20

    Archivos de Acceso

    Aleatorio

    Contexto Podemos obtener la informacin de unregistro en particular en funcin a su posicin.

    Sintaxis Leer, , ;

    Escribir , , ;

    Lectura Leer archivo_datos, 5, un_estudiante;

    Escritura Escribir archivo_datos, 3, otro_estudiante;

  • 7/23/2019 Archivos y Registros

    10/20

    Creacin y carga inicial

    Estructuraestudiante

    Definircodigocomo Entero;

    Dimensionnombre[15];

    Definirnombrecomo Caracter;

    Dimensionapellido[15];

    Definirapellidocomo Caracter;

    Definirpromediocomo Real;

    FinEstructura

    Procesoprincipal

    Definircontador como Entero;

    Definirun_estudiante comoestudiante;

    Definirinfo_estudiantes como Archivo;

    //Iniciar el archivo

    FinProceso

  • 7/23/2019 Archivos y Registros

    11/20

    Creacin y carga inicial

    Estructuraestudiante

    //Definicin de estructura

    FinEstructura

    Procesoprincipal

    //Definicin de variables

    un_estudiante.codigo

  • 7/23/2019 Archivos y Registros

    12/20

    Ingresar informacin

    Estructuraestudiante

    //Definicin de estructura

    FinEstructura

    Procesoprincipal

    //Definicin de variables

    Definirposicioncomo Entero;

    Abrir"estudiantes.dat" comoinfo_estudiantespara Actualizar;

    Leerun_estudiante.codigo;

    Mientrasun_estudiante.codigo 0 Hacer

    Leerun_estudiante.nombre, un_estudiante.apellido, un_estudiante.promedio;

    posicion

  • 7/23/2019 Archivos y Registros

    13/20

    Leer informacin

    Estructuraestudiante

    //Definicin de estructura

    FinEstructura

    Procesoprincipal

    //Definicin de variables

    Definircontador_estudiantescomo Entero;

    Definirposicion como Entero;

    Abrir"estudiantes.dat" comoinfo_estudiantespara Leer;

    contador_estudiantes

  • 7/23/2019 Archivos y Registros

    14/20

    Un problema

    Se tienen (ya existen) los archivos: FACTURA.DAT, que almacena para un

    grupo de facturas los siguientes datos:

    Nmero de factura, Nombre del cliente, RUC

    del cliente y Monto facturado.

    DETALLE. DAT, que almacena los detalles

    de cada una de las facturas del archivo

    FACTURA.DAT, los cuales consisten en:Nmero de factura, Nombre o Descripcin del

    producto, Nmero de unidades y Precio

    unitario del producto.

  • 7/23/2019 Archivos y Registros

    15/20

    Un problema

    El monto facturado (de una factura) puedecorresponder a la adquisicin de productos

    diversos, debido a esto, un mismo Nmero de

    factura puede aparecer ms de una vez en el

    archivo DETALLE.DAT. Se pide presentar por cada factura los

    siguientes datos: Nmero de factura, Nombre

    del cliente y los productos que figuran en su

    detalle (Nombre del producto, Nmero de

    unidades y Precio unitario).

  • 7/23/2019 Archivos y Registros

    16/20

    Plan de Accin

    Definir estructuras para la Factura y elDetalle de Facturas

    Generar archivos de prueba (*)

    Recorrer el archivo de facturas

    Para cada factura en el archivo, ubicar loscorrespondientes registros en el detalle.

    Cerrar los archivos.

  • 7/23/2019 Archivos y Registros

    17/20

    Definir Estructuras

    Factura Estructurafactura

    Definirnumero_factura como Entero;

    Dimensionnombre_cliente[30];

    Definirnombre_cliente como Caracter;

    Dimensionruc_cliente[10];

    Definirruc_cliente como Caracter;

    Definirmonto_facturado como Real;

    FinEstructura

    DetalledeFactura

    Estructuradetalle

    Definirnumero_factura como Entero;

    Dimensiondescripcion_producto[30];

    Definirdescripcion_producto como Caracter;

    Definirnumero_unidades como Entero;

    Definirprecio_unitario como Real;

    FinEstructura

  • 7/23/2019 Archivos y Registros

    18/20

    Cargar Facturas

    SubProcesocrear_archivo_facturas()

    Definirarchivo_facturas como Archivo;

    Definircontador como Entero;

    Dimensionlista_facturas[2];

    lista_facturas[0].numero_factura

  • 7/23/2019 Archivos y Registros

    19/20

    Mdulo Principal

    ProcesoPrincipal

    Definirarchivo_facturas como Archivo;

    Definirarchivo_detalles como Archivo;

    Definiruna_factura comofactura;

    Definirun_detalle comodetalle;

    Definircontador_facturas como Entero;

    Definircontador_detalle como Entero;

    Abrir"factura.dat" comoarchivo_facturaspara Lectura;

    Abrir"detalle.dat" comoarchivo_detallespara Lectura;

    //Recorrer archivos

    Cerrararchivo_detalles;

    Cerrararchivo_facturas;

    FinProceso

  • 7/23/2019 Archivos y Registros

    20/20

    Mdulo Principal

    contador_facturas