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
Top Related