Professional Documents
Culture Documents
Company
LOGO
Agenda
1. Archivos
2. Archivos de Acceso Aleatorio
3. Registros
4. Creacin, Escritura y Lectura
Archivos
Almacenamiento
permanente
manipulado por
Software.
Byte: 8 bits. Un
carcter
Campo:
Caracteres con
significado
Registro o
Estructura:
Campos
relacionados.
Archivo: Grupo
de registros
relacionados.
Archivos
Cualquier
registro se
puede leer de
manera
independiente.
Como un CD
La lectura
debe
comenzar
desde el inicio.
Como un
Cassete.
Secuenciales
De acceso aleatorio
Archivos
Archivos de Acceso
Aleatorio
Puedo acceder
a los registros
directamente.
El acceso es
instantneo.
Se almacenan
los Bytes tal
cual.
Los registros
tienen una
longitud fija.
La data no es
legible.
Archivos de acceso
aleatorio
Registros
Contexto
Sintaxis
Estructura alumno
Dimension codigo[30];
Definir codigo como Caracter;
Dimension nombre[30];
Definir nombre como Cadena;
FinEstructura
Definir info_estudiante como alumno;
Archivos de Acceso
Aleatorio
Contexto Podemos obtener la informacin de un
registro en particular en funcin a su posicin.
Sintaxis
Lectura
Escritura
Ingresar informacin
Estructura estudiante
//Definicin de estructura
FinEstructura
Proceso principal
//Definicin de variables
FinProceso
Leer informacin
Estructura estudiante
//Definicin de estructura
FinEstructura
Proceso principal
//Definicin de variables
Definir contador_estudiantes como Entero;
Definir posicion como Entero;
Abrir "estudiantes.dat" como info_estudiantes para Leer;
contador_estudiantes <- 0;
Mientras ~FDA(info_estudiantes) Hacer
Un problema
Se tienen (ya existen) los archivos:
Un problema
El monto facturado (de una factura) puede
corresponder 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).
Plan de Accin
Definir estructuras para la Factura y el
Detalle de Facturas
Generar archivos de prueba (*)
Definir Estructuras
Factura
Estructura factura
Definir numero_factura como Entero;
Dimension nombre_cliente[30];
Detalle
de
Factura
Estructura detalle
Definir numero_factura como Entero;
Dimension descripcion_producto[30];
Definir descripcion_producto como Caracter;
Definir numero_unidades como Entero;
Definir precio_unitario como Real;
FinEstructura
Cargar Facturas
SubProceso crear_archivo_facturas()
Definir archivo_facturas como Archivo;
Definir contador como Entero;
Dimension lista_facturas[2];
lista_facturas[0].numero_factura <- 1;
lista_facturas[0].nombre_cliente <- "Hugo";
lista_facturas[0].ruc_cliente <- "123";
lista_facturas[0].monto_facturado <- 50.0; //Lo mismo para el resto
Abrir "facturas.dat" como archivo_facturas para Escribir;
Mdulo Principal
Proceso Principal
FinProceso
Mdulo Principal
contador_facturas <- 0;
Mientras ~FDA(archivo_facturas) Hacer
Leer archivo_facturas, contador_facturas, una_factura;
Escribir una_factura.numero_factura, una_factura.nombre_cliente;
contador_detalle <- 0;
Mientras ~FDA(archivo_detalles) Hacer
Leer archivo_detalles, contador_detalle, un_detalle;
Si un_detalle.numero_factura = archivo_facturas.numero_factura Entonces
Escribir un_detalle.descripcion_producto, un_detalle.numero_unidades,
un_detalle.precio_unitario;
FinSi
FinMientras
contador_facturas <- contador_facturas + 1;
FinMientras