Está en la página 1de 28

PROGRAMACION II

7.1 Creación, lectura, escritura y cierre


de

archivos de acceso secuencial


7.2 Creación, lectura, escritura y cierre
de
archivos de acceso directo
 Es un conjunto de datos no necesariamente
del mismo tipo, los cuales se podrán
manipular o realizar cualquier operación
sobre cada uno de ellos o sobre toda la
estructura. Los elementos individuales de
una variable estructura reciben el nombre de
campos.
 Ejemplos: vector, registro, matriz, archivo,
lista, pila, ……
struct nombre_estructura
{
tipo campo1;
tipo campo2;
tipo campoN;
} lista de variables;

Se utiliza nomestructura.nombredelcampo
para referenciar al dato de un campo dentro de un
registro


 Un registro es un conjunto de campos, en los
campos se almacenan datos que no
necesariamente son del mismo tipo, un
registro esta representado como un renglón o
fila dentro de una tabla.
CAMPO
 NOMBRE_ARCHIVO
codigo nombre edad Telefono
REGISTRO 123 Pedro 17 5347298
222 Juana 18 8273646
 Los archivos son medios que facilita el
lenguaje para almacenar los datos en forma
permanente, normalmente en los dispositivos
de almacenamiento
 Conjunto de registros que contienen campos
y en cada campo se almacena los datos
simples.
 Todo archivo tiene nombre y extensión.

EJ. Agenda.dat, carta.doc, notas.xls


 Hay tres tipos de archivos:

archivos secuenciales
archivos directos
archivos indexados
 Los datos se almacenan en forma consecutiva
y no es posible leer ningun registro
directamente.
 La desventaja es que el acceso es lento
cuando el archivo tiene gran cantidad de
registros
 La ventaja es la fácil implementación ya que
no requiere otras instrucciones especiales
 Se puede acceder o leer un renglon n
cualquiera, el acceso a todas las operaciones
sobre archivos es directamente a un registro
especifico.
 El acceso es rápido y directo
 Se debe incluir la utilización del fseek()
 Este ultimo tipo de archivos tiene
adicionalmente un campo denominado
campo indice, el cual permite acceder y
realizar todas las operaciones con archivos
 Modo Texto: en este caso los datos son
almacenados usando Ascii. [ t]
 Modo Binario: en este caso los datos son
almacenados en notación hexadecimal y por
tanto se ocupa un editor binario para
reconocerlos. [ b]
 Existen muchas operaciones asociadas a
archivos, las mas elementales son:
 1.- Creación de Archivo.- En este proceso se
pretende solamente crear un archivo nuevo
en disco con su nombre tipo y especialidad
de almacenamiento de datos apropiado.
algoritmo para crear un archivo:

1.- Definir la estructura


2.- Crear variable apuntador para el archivo
con FILE
3.- Abrir el archivo en modo escritura
4.- cerrar el archivo
 2.- Apertura de Archivos.- En este caso se
pretende abrir un archivo ya existente en
disco para procesarlo.
 Utilizar el fopen( ) y los modos de apertura
 Existen tres modos de apertura:
 Lectura (r)
 Escritura (w)

 Adicion o append (a)


 3.-Cierre de archivos: Es la operación mas
importante en cualquier programa que
maneje archivos, o se cierra el archivo como
ultima instrucción del programa o se vera el
anuncio ABORT,RETRY,FAIL.
 Utilizar el fclose( );
 4.-Altas en archivo (insertar).- En este
proceso se captura una estructura en
memoria con sus datos pertinentes y después
se graba la estructura al archivo en disco.
algoritmo para adicionar
1.- abrir el archivo el modo de
lectura/escritura
2.- capturar campos con scanf()
3.- grabar cada registro en la estructura con
fwrite()
4.- cerrar el archivo
 5.-Lectura de archivo.- En este proceso se
abre el archivo, se manda el registro de disco
a una estructura en memoria para su
procesamiento.
algoritmo para imprimirr
1.- abrir el archivo el modo de escritura
2.- mientras no sea fin de archivo
Hacer
Leer cada registro con fread ( )
Imprimir los datos del registro con
printf( )
Fin de mientras
3.- cerrar el archivo
 6.- Consulta de archivos: En este proceso se
pretende desplegar todos los registros del
archivo en disco a la pantalla y/o impresora,
tambien se denomina impresión de registros
 7.-Busqueda en archivos: Una de las
operaciones mas comunes consiste en que el
usuario pide toda la información de algún
renglón en disco proporcionando la
información de algun campo generalmente el
campo clave de la estructura.
algoritmo de búsqueda en un archivo secuencial
1.- abrir el archivo en modo escritura
2.- introducir el dato clave por el cual se hará la
búsqueda
3.- mientras no sea fin de archivo
Comparar si la clave es igual al registro
buscado
Entonces imprimir el registro
Sino imprimir “registro no encontrado”
Fin de mientras
4.- cerrar el archivo
 8.- Filtros.- En este proceso el usuario esta
interesado en algún conjunto de renglones
con características comunes (condición), por
ejemplo todos los alumnos de "sistemas" o
todos los empleados que ganen más de Bs.
500.00
 Se utiliza una condición para comparar, se
puede aplicar a un solo campo o también a
varios campos
 También se puede incluir los operadores
lógicos (and, or, not)
 Se puede realizar cálculos internos con
algunos campos y mostrarlos
 9.-Modificaciones de registros o archivos:
Problema muy común, donde los datos
originales ya grabados se tienen que cambiar
o actualizar, por ejemplo el nombre no era
"juan" es "juana", o la calificación no es 100
es 20, etc.
 Editar registros significa cambiar el
contenido de algunos de los campos o
columnas por nueva información o para
corregir algún error de captura original o
para agregar alguna columna que no existía
por modificación de la tabla o la base de
datos.
 Se realiza con dos archivos el original y el
temporal
 10.- Bajas de registros(eliminación): También
muy común este proceso, por ejemplo el
alumno ya egreso, el cliente huyo, etc.
 Eliminación o bajas es el proceso por medio
del cual algunos registros del archivo son
purgados del archivo, existen dos maneras
por las cuales se puede realizar ese proceso.
 remove borra un archivo
 rename renombra archivos
 Se usan dos archivos, el archivo original y un
archivo temporal, el procedimiento o
algoritmo es muy sencillo, se lee el registro
del archivo original y si no es el registro a
eliminar entonces se almacena en el archivo
temporal, cuando se termina de procesar
todo el archivo original, el archivo temporal
solo contendrá todos los registros que no se
quisieron eliminar

También podría gustarte