Vous êtes sur la page 1sur 15

Universidad Mariano Glvez

Facultad de Ingeniera en Sistemas de Informacin


Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

Archivos de acceso directo

En muchos problemas de manejo de informacin, se debe reunir la informacin que


aparece en dos archivos. Como se dijo en el captulo anterior, el pareo de ambos
archivos ordenados segn un mismo campo es una solucin eficiente. Sin embargo
existe un caso en donde esta solucin no es la mejor: cuando uno de los archivos es
mucho ms pequeo que el otro.

Cuando uno de los archivos contiene un nmero reducido de lneas resulta ms


eficiente emplear archivos de acceso directo, porque permiten reunir la informacin sin
tener que visitar el archivo completo.

Motivacin:

Para ejemplificar el problema consistir en obtener los nombres de unos 100


postulantes de los cuales slo se tiene el carnet de identidad en el archivo carnets.dat.
El archivo de postulantes es lo suficientemente grande como para que su contenido no
quepa en la memoria del computador.

Definiciones:

Un archivo se accesa secuencialmente cuando el programa que lo utiliza ya sea lo lee o


lo escribe en forma secuencial. Hasta el momento slo hemos visto programas que
accesan secuencialmente los archivos.

Un archivo se accesa directamente cuando el programa que lo utiliza especifica


directamente la posicin dentro del archivo que se accesar. Por ejemplo el programa
puede leer la lnea nmero 200, luego la lnea 50000 y ms tarde la lnea 1.

Es importante notar que para el sistema operativo todos los archivos pueden ser
accesados directamente. Sin embargo, es muy difcil accesar directamente los archivos
de texto que hemos usado hasta el momento, porque sus lneas tienen largo variable.

Para que un archivo se pueda accesar cmodamente en forma directa, es necesario


que sus lneas tengan un nmero fijo de caracteres. Por esta razn, los archivos de
acceso directo que usaremos en los ejemplos, tendrn la extensin ".raf".
Lamentablemente, estos archivos no pueden ser vistos mediante WordPad o NotePad
porque su contenido no es necesariamente desplegable en pantalla.

Ficheros En C++

Al igual que ocurre con la escritura en pantalla, a la hora de manejar los ficheros desde
C++, podemos emplear las funciones que ya conocamos de C, o bien emplear otras
nuevas posibilidades que aporta C++. Tambin al igual que ocurra con la pantalla, el
manejo de ficheros se basar en flujos de entrada y salida.

Tenemos las clases fstream (fichero, en general), ifstream (fichero de entrada) y


ofstream (fichero de salida), todas ellas definidas en "fstream.h". Leeremos y

1
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

escribiremos con << y >>, al igual que para la pantalla. Cerraremos un fichero con
"close" (tanto si lo hemos abierto como para leer o para escribir) y comprobaremos si
se ha terminado un fichero de entrada con "eof".

Vamos a ver un primer ejemplo que lo aplique, creando un fichero de texto:

1: //
2: // fich01.cpp
3: //
4: // Introduccion a C++
5: // Ejemplo de ficheros (escritura)
6: // Probado con BC++ 5.5 FCLT
7: //
8: // Curso de C
9: // Jose Ignacio Cabanes
10: //
11: /////////////////////////////////////////////
12: #include <fstream.h>
13: main()
14: {
15: ofstream fichero("ejemplo.txt");
16: fichero << "Hola" << endl;
17: fichero << "Adios" << endl;
18: fichero.close();
19: }

Debera ser muy fcil de seguir:


Incluimos el fichero de cabecera "fstream.h".
Definimos un fichero de salida, que tendr por nombre fsico "ejemplo.txt"
Escribimos dos lneas de texto en el fichero.
Cerramos en el fichero.

En un caso general, puede ocurrir que no sepamos el nombre fsico del fichero en el
momento de definir la variable "fichero", sino ms tarde (por ejemplo, porque el
usuario sea el que vaya a teclear el nombre del fichero con el que trabajar, o porque
vaya a escoger dicho nombre en una ventana de dilogo). En ese caso, podemos usar
la funcin miembro "open". Como ejemplo, vamos a leer el fichero que acabamos de
crear:
1: //
2: // fich02.cpp
3: //
4: // Introduccion a C++
5: // Ejemplo de ficheros (lectura)
6: // Probado con BC++ 5.5 FCLT
7: //
8: // Curso de C
9: // Jose Ignacio Cabanes
10: //
11: /////////////////////////////////////////////
12: #include <fstream.h>
13: #include <iostream.h>
14:

2
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

15: main()
16: {
17: fstream fichero;
18: char texto[200];
19: // Abro para lectura
20: fichero.open("ejemplo.txt", ios::in);
21: fichero >> texto; // Leo una primera linea
22: while (!fichero.eof()) // Mientras se haya podido leer algo
23: {
24: cout << texto << endl; // Muestro lo que lei
25: fichero >> texto; // Y vuelvo a intentar leer
26: }
27: fichero.close(); // Finalmente, cierro
28: }

La estructura es ligeramente distinta, pero aun as, debera resultar fcil de seguir. Esta
vez, el fichero lo hemos declarado como "genrico", sin especificar si va a ser para
lectura o escritura, de modo que este dato lo indicamos cuando realmente abrimos el
fichero. Los modos de apertura que tenemos disponibles son:

ios::in abre el fichero para lectura


ios::out abre el fichero para escritura
ios::append abre el fichero para aadir datos (al final, despus de los que ya
contenga)

Si hubiramos declarado el fichero como "ifstream", se dara por sentado que lo


abrimos para leer, y no sera necesario indicarlo:

ifstream fichero;
// Abro para lectura
fichero.open("ejemplo.txt");

No hemos comprobado si el fichero realmente se ha podido abrir. Para conseguirlo,


aadiramos despus de "open" algo parecido a esto, similar a lo que hacamos en C
estndar:

if (!fichero)
{
cerr << "No se ha podido abrir el fichero." << endl;
exit(1);
}

Estas son las ideas bsicas. Pero hay ms posibilidades, que voy a comentar con
menos detalle, pero prefiero que se sepa que existen, porque pueden ser tiles en
muchos casos. Por ejemplo, podemos leer un bloque de datos de una determinada
longitud, lo que ser til cuando manejemos ficheros binarios, o escribir una serie de
bytes, o leer un dato de un flujo pero sin avanzar de posicin.

Estas son algunas funciones miembro de iostream que nos servirn para cosas como
esas:

3
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

put(char c) escribe un carcter en un flujo de salida


get(char& c) lee un carcter de un flujo de entrada.
write(const char* s, int n) escribe n bytes de la cadena s en un flujo de salida
(normalmente se usar para salida binaria).
read(char* s, int n) lee n bytes del flujo de entrada y los deposita en la cadena s
(normalmente se usar para entrada binaria).
get(char* s, int n, char c="\n") lee como mximo n caracteres del flujo de entrada
(incluyendo el "\0") y los introduce en la cadena s, o hasta que encuentre el
carcter de terminacin (por defecto "\n", salto de lnea), o el fin de fichero. No
retira el carcter de terminacin del flujo de entrada.
getline(char* s, int n, char c="\n") lee como mximo n-1 caracteres del flujo de
entrada, o hasta que encuentre el carcter de terminacin (por defecto un final de
lnea) o hasta el fin de fichero. Retira el carcter de terminacin del flujo de entrada,
pero no lo almacena en la cadena s.
ignore(int n=1, int delim=EOF) ignora o descarta los n caracteres siguientes de un
flujo de entrada (o un solo carcter, si no se indica el valor de n), o hasta que
encuentra un cierto carcter de terminacin (por defecto el fin de fichero EOF).
peek() lee un carcter del flujo de entrada pero sin retirarlo de dicho flujo.
putback(char c) devuelve el carcter c al flujo de entrada (de modo que sera lo
primero que se leera en la prxima operacin de entrada).

Por otra parte, en la clase "fstream" tenemos otras funciones miembro que nos
ayudarn a comprobar errores en la lectura o escritura:

good () devuelve un valor distinto de cero si no ha habido ningn error.


eof() devuelve un valor distinto de cero si se ha llegado al fin del fichero, como ya
hemos visto.
bad() devuelve un valor distinto de cero si ha habido un error grave de entrada/salida
grave. No se puede continuar en esas condiciones.
fail() devuelve un valor distinto de cero si ha habido cualquier error de E/S distinto de
EOF. Despus podemos llamar a bad() para comprobar si el error es grave o si se
puede intentar proseguir la lectura. Si bad() devuelve 0, el error no es grave y la
lectura puede proseguir despus de llamar a la funcin clear().
clear() resetea la situacin de error (siempre que no sea grave), para poder seguir
leyendo.
Adems, tambin podemos comprobar si ha habido algn error en la forma que
hemos empleado en el ejemplo anterior: cada funcin (open, read, etc) devolver un
valor distinto de cero cuando exista algn error, por lo que es habitual emplear
construcciones como

if (!fichero)
{
// No se ha podido abrir el fichero
}

o como

if
(!fichero.get(ch)) {
// No se ha podido leer el siguiente dato.
}

4
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

5
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

UNIDAD 6: C++ REGISTROS Y ARCHIVOS DIRECTOS

TEMA 2: CREACION ARCHIVOS DIRECTOS DISCO C++

En este proceso se pretende solamente crear un archivo directo en disco.

Prog25.cpp

#include <stdio.h>
#include <conio.h>
#include <string.h>
struct {
int clave;
char nombre[30];
int edad;} animalito;
void main() {
clrscr();
//creando y cerrando el archivo en disco
FILE *archdisco;
archdisco = fopen("cpp:\\ac\\archivo1.dat","wb");
fclose(archdisco);
printf("ARCHIVO CREADO");
getchar();getchar();
}

corrida:

Recordar que la estructura que se uso para crear el archivo se debera usar siempre y
con el mismo orden cuando se acceda al archivo con los procesos u operaciones
anteriormente mencionados.

Observar que es completamente similar a la creacin de archivos secuenciales.

Lo primero que se crea es una variable de tipo puntero o apuntador a un archivo a


disco(instruccin FILE y debe ser en MAYUSCULAS) llamada archdisco(muy original).

Variables apuntadores son tipos especiales de variables que tienen la capacidad de


almacenar no datos, pero si direcciones ya sean de la memoria del computador o como
en este caso de una direccion fisica del disco.

6
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

En C una variable apuntador se declara anteponiendo un asterisco antes del nombre.

En el programa se est creando una variable apuntador bautizada con el nombre de


archdisco que almacenara la direccion fisica de el archivo en disco, en algun cilindro,
track , sector debera quedar el archivo no es verdad.

Como segundo paso se abre el archivo con la instruccion fopen():


archdisco = fopen(cpp:\\ac\\archivo1.dat,wb);
Observar que el path es la direccion fisica de tu PC.
Recordar tambien que archivos y directorios msdos deben respetar 8.3 letras.
Observar el doble diagonal(\\) en el parametro.
La funcion fopen() cuando realiza el trabajo de abrir un archivo, regresa la direccion
fisica donde crea o graba el archivo en disco.
El primer parametro o argumento en esta funcin es la
UNIDAD de disco y el nombre del archivo.
El segundo parametro o argumento es llamado modo y es una de los varios modos que
podemos usar.

r Lectura.
w Escritura.
a Append, si el archivo ya existe append empieza a aadir los nuevos datos al
final del archivo ya existente.
r+ > Lectura y escritura, ya debe existir el archivo.
w+ > Crea para lectura y escritura y si ya existe, sobreescribe.
a+ > Crea o abre para lectura y append, sino existe el archivo sera creado.

En adicion a los valores listados tambien es permitido agregar uno de los siguientes
caracteres, pero insertandolo antes del signo +
modo significado.

t lo abre en modo texto.


b lo abre en modo binario.

Cuando se ha finalizado de escribir al archivo se debe cerrar y esto se hace con la


instruccin:
fclose(archdisco);
TAREAS PROGRAMAS EN C++
Crear en c++ archivos directos de alumnos provedores libros mercancias pelculas

http://www.programacionfacil.com/cpp/creacion_archivos_directos.html

7
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

Otras Definiciones para consultar

QUE SON ARCHIVOS.

Los archivos tambin denominados ficheros (file); es una coleccin de informacin


(datos relacionados entre s), localizada o almacenada como una unidad en alguna
parte de la computadora.

Los archivos son el conjunto organizado de informaciones del mismo tipo, que pueden
utilizarse en un mismo tratamiento; como soporte material de estas informaciones.

1.1. - INTRODUCCIN A LOS ARCHIVOS.

Los archivos como coleccin de datos sirven para la entrada y salida a la


computadora y son manejados con programas.
Los archivos pueden ser contrastados con Arrays y registros; Lo que resulta
dinmico y por esto en un registro se deben especificar los campos, l nmero de
elementos de un arrays (o arreglo), el nmero de caracteres en una cadena; por esto
se denotan como "Estructuras Estticas".
En los archivos no se requiere de un tamao predeterminado; esto significa que
se pueden hacer archivos de datos ms grandes o pequeos, segn se necesiten.
Cada archivo es referenciado por su identificador (su nombre.).

1.2. - CARACTERSTICAS DE LOS ARCHIVOS

Las principales caractersticas de esta estructura son:

Independencia de las informaciones respecto de los programas


La informacin almacenada es permanente
Un archivo puede ser accedido por distintos programas en distintos momentos
Gran capacidad de almacenamiento.

1.3. - CLASIFICACION DE LOS ARCHIVOS

Los archivos se clasifican segn su uso en tres grupos:


Permanentes o Maestros: Estos contienen informacin que vara poco. En
algunos casos es preciso actualizarlos peridicamente.

De Movimientos: Se cercan para actualizar los archivos maestros. Sus registros


son de tres tipos: alta, bajas y modificaciones.

De Maniobra o Trabajo: Tienen una vida limitada, normalmente menor que la


duracin de la ejecucin de un programa. Su utilizan como auxiliares de los
anteriores.

1.4. - TIPOS DE ARCHIVOS


Los elementos de un archivo pueden ser de cualquier tipo, simples o
estructurados o segn su funcin.
1.4.1. - SEGN SU FUNCION.
Se define por:

8
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

a) Archivos Permanentes: Son aquellos cuyo registros sufren pocas o ninguna


variacin a lo largo del tiempo, se dividen en:
Constantes: Estn formados por registros que contienen campos fijos y
campos de baja frecuencia de variacin en el tiempo.
De Situacin: Son los que en cada momento contienen informacin
actualizada.
Histricos: Contienen informacin acumulada a lo largo del tiempo de
archivos que han sufridos procesos de actualizacin o bien acumulan
datos de variacin peridica en el tiempo.
b) Archivos de Movimiento: Son aquellos que se utilizan conjuntamente con
los maestros (constantes) y contienen algn campo comn en sus registros
con aquellos, para el procesamiento de las modificaciones experimentados
por los mismos.
c) Archivo de Maniobra o Transitorio: Son los archivos creados auxiliares
creados durante la ejecucin del programa y borrados habitualmente al
terminar el mismo.

1.4.2. SEGN SUS ELEMENTOS.


Los principales archivos de este tipo son:
Archivo de Entrada: Una coleccin de datos localizados en un dispositivo
de entrada.
Archivo de Salida: Una coleccin de informacin visualizada por la
computadora.
Constantes: estn formados por registros que contienen campos fijos y
campos de baja frecuencia de variacin en el tiempo.
De Situacin: son los que en cada momento contienen informacin
actualizada.
Histricos: Contienen informacin acumulada a lo largo del tiempo de
archivos que han sufrido procesos de actualizacin, o bien acumulan
datos de variacin peridica en el tiempo.
Archivos de Movimiento o Transacciones: Son aquellos que se utilizan
conjuntamente con los maestros (constantes), y contiene algn campo
comn en sus registros con aquellos, para el procesamiento de las
modificaciones experimentados por los mismos.
Archivos de Maniobra o Transitorios: Son los archivos auxiliares creados
durante la ejecucin del programa y borrados habitualmente al terminar
el mismo.

1.4.3. SEGN SUS ELEMENTOS


Los principales archivos de este tipo son:
Archivo de Entrada, una coleccin de datos localizada en un dispositivo de
entrada.
Archivo de Salida, una coleccin de informacin visualizada por la
computadora.
Archivo de Programa, un programa codificado en un lenguaje especfico y
localizado o almacenado en un dispositivo de almacenamiento.
Archivo de Texto, una coleccin de caracteres almacenados como una
unidad en un dispositivo de almacenamiento.

2. - ACCESO A LOS ARCHIVOS

9
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

Se refiere al mtodo utilizado para acceder a los registros de un archivo


prescindiendo de su organizacin. Existen distintas formas de acceder a los datos:
Secuenciales; los registros se leen desde el principio hasta el final del archivo,
de tal forma que para leer un registro se leen todos los que preceden.
Directo; cada registro puede leerse / escribirse de forma directa solo con
expresar su direccin en el fichero por l numero relativo del registro o por
transformaciones de la clave de registro en l numero relativo del registro a
acceder.
Por ndice; se accede indirectamente a los registros por su clave, mediante
consulta secuenciales a una tabla que contiene la clave y la direccin relativa
de cada registro, y posterior acceso directo al registro.
Dinmico; es cuando se accede a los archivos en cualquier de los modos
anteriormente citados.
La eleccin del mtodo est directamente relacionada con la estructura de los
registros del archivo y del soporte utilizado.

2.1. - TIPOS DE ACCESOS

Acceso Secuencial. Exige el tratamiento de elemento, para esto es necesario una


exploracin secuencial comenzando desde el primer momento (Pascal permite
este acceso)

Secuenciales: archivo de texto que debe ser ledo del principio hasta el final.
Acceso Directo. Permite procesar o acceder a un elemento determinado y
referencia directamente por su posicin en el soporte de almacenamiento
(Turbo Pascal permite este acceso.
Aleatorios: es un archivo con registros de un mismo largo. Un programa
puede accesar directamente cualquier registro sin tener que leer los
registros previos.
Binarios: es un archivo que lee byte por byte sin asumir ninguna estructura.
Los archivos Binarios no son un nuevo tipo de archivo, pero si una nueva
forma de manipular cualquier tipo de archivo. Las tcnicas de archivo
binarios permiten leer o cambiar cualquier byte de un archivo. Son
herramientas extremadamente potentes, pero como toda herramienta
potente debe manejarse con cuidado
Entre otras caractersticas, a las tcnicas de archivo binario no les preocupa los
caracteres EOF intercalados (Control+Z = Chr$(26)) que pueda tener un
archivo.

1) Ejemplo Open NombreArchivo for Binary as #NumeroArchivo.

Instrucciones para manejar archivos


OPEN: reserva un espacio del buffer para la data que mover entre el
programa y los archivos. La estructura es:
OPEN filespec FOR {Append|Binary|Input|Outuput|Random} As
#filenumber

2) Por ejemplo: OPEN "C:\Windows\AddrBook.ini" FOR Input As #1

Filespec: Es la localizacin de archivo en el que se trabajar, incluyendo


usualmente el drive y path.

10
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

"C:\Windows\AddrBook.ini"
{Append| Binary| Input| Outuput| Random} El programador tiene que
seleccionar uno. Binary y Random se utiliza para archivos binarios y
aleatorios. Append, Input y Output son usados con archivos secuenciales.
Un archivo secuencial no puede ser abierto para leer y escribir
simultaneamente. Output es usado para escribir en el archivo. Input es
usado para leer del archivo. Append es usado para colocar data al final de
un archivo exitente.

#filenumber: es necesario asignar un nmero al archivo. El nmero puede


estar en el rango de #1 a #511 y es usado por Visual Basic para identificar
el archivo.
CLOSE: para cerrar un archivo. La estructura es:
CLOSE #filenumber

3) Por ejemplo:
CLOSE #1
WRITE: envia data del programa al archivo secuencial. La estructura
es:
WRITE #filenumber, [OutputList]

4) Por ejemplo:
WRITE #1, UserName, UserCompany, SerialNumber
WRITE es la operacin opuesta al INPUT. Las expresiones en el
OutputList son separadas por comas. WRITE inserta comillas y comas a
la data que envia al archivo.
INPUT: lee data del archivo. La estructura es:
INPUT #filenumber, InputList

5) Por ejemplo:
INPUT #1, UserName, UserCompany, SerialNumber
Declaracin y asignacin de archivos
La declaracin de un archivo con tipo se efecta con la ayuda de las palabras
reservadas file of.
El procedimiento de asignacin es idntico al utilizado anteriormente.

6) Ejemplo:

Type
datos = record
clave : integer;
nombre : string[30];
puesto : string[20];
sueldo : real;
estado : boolean;
{true activo,false baja lgica}
end;
Var
archivo:file of datos;
begin
Assign(archivo,'empleado.dat');

11
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

SISTEMA DE MANEJO DE ARCHIVOS.


Tiene las siguientes funciones:
Controla los datos en almacenamiento secundario [ ]
Proporciona al usuario una abstraccin de cmo se manipulan los datos
internamente. [ ]
Proporciona independencia de E/S con los dispositivos [ ]
Soporte de comparticin, proteccin, recuperacin de archivos y posibles cadas
del sistema. [ ]
Transmisin de datos de memoria principal a secundaria.[ ]
Los archivos de una empresa pueden almacenarse en diferentes dispositivos.
Todos los archivos se pueden almacenar por medio de directorios, que no son
otra cosa ms que tablas de smbolos de archivo, los directorios se pueden
utilizar de dos formas:

DIRECTORIO DE NIVEL NICO O DIRECTORIO PLANO


Con este mtodo, se almacenan todos los archivos en un solo nivel, este
mtodo en sistemas donde el volumen de archivos no es grande.[ ]

DIRECTORIO JERARQUICO
Los archivos son almacenados por medio de directorios, esta clasificacin
se de acuerdo a la conveniencia del usuario o de la empresa. [ ] .La estructura
tiene una forma de rbol con raz, este mtodo es el ms utilizado debido a que la
revisin o bsqueda se realiza de forma sencilla.
Para accesar a los archivos que se almacenan en un sistema jerrquico, el usuario
debe indicar el o los directorios que se deben recorrer para localizar el archivo
deseado, a esto se le denomina ruta de acceso del archivo. La ruta de acceso
puede ser de dos formas:

Ruta absoluta.- Este tipo de ruta de acceso inicia siempre con una diagonal
invertida [ ]
C:\Edit c:\SOS\sistemas\report.txt

Ruta relativa.- Este tipo de ruta de acceso realiza la bsqueda del archivo en el
directorio de trabajo actual, si el archivo no se localiza aqu, el S.O. lo buscar en
los directorios especificados en el
PATH de un archivo con extensin .BAT.
C:\Edit report.txt

2.2. - OPERACIONES GENERALES QUE SE REALIZAN SOBRE UN ARCHIVO.


Las operaciones generales que se realizan son:
Creacin. Escritura de todos sus registros.
Consulta. Lectura de todos sus registros.
Actualizacin. Insercin supresin o modificacin de algunos de sus registros
Clasificacin. Reubicacin de los registros de tal forma que queden ordenados
segn determinados criterios.

Borrado. Eliminando total del archivo, dejando libre el espacio del soporte que
ocupaba.

3. - ORGANIZACIN DE LOS ARCHIVOS.


Los archivos se encuentran organizados lgicamente como una secuencia de
registros de varias longitudes diferentes.

12
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

Los archivos de registros de longitud fija: son los que almacenan la informacin
en los archivos mediante un encabezado y luego se introducen uno a uno los registros
ubicados en posiciones consecutivas.
Los registros de longitud variable: es el almacenamiento de registros de varios
tipos en un archivo y permite uno o ms campos de longitudes variables y dichos
campos pueden ser repetidos. La longitud de los registros debe estar definida
correctamente para poder leer y escribir de forma efectiva.

3.1. - ENFOQUES GENERALES PARA LA ORGANIZACIN DE ARCHIVOS.


Los enfoques son:
1) Enfoque de acceso secuencial: Se refiere al procesamiento de los
archivos de acuerdo con el orden especfico. Ejemplo archivo
secuenciales y de texto.
2) Enfoque de acceso Directo Permite recuperar registros individuales sin
leer otros registros del archivo, ejemplos archivos indizados.

3.2. - ARCHIVOS SECUENCIALES.


Se refiere al procesamiento de los registros, no importa el orden en que
se haga, para eso los registros estn organizados en forma de una lista y
recuperarlos y procesarlos uno por uno de principio a fin.
Rudimentos de los archivos Secuenciales; dependiendo del dispositivo
de almacenamiento utilizado el archivo se puede mostrar el usuario como si
fuera un sistema secuencial.
Al finalizar un archivo secuencial se denota con una marca de fin de
archivo. (End end-of-file)
El usuario de un archivo secuancial puede ver los registros en un orden
secuancial simple.
La nica forma de recuperar registros es comenzar al principio y
extraerlos en el orden contemplado.
Cuestiones de programacin; la manipulacin de los archivos se hace en
el contexto de la programacin en un lenguaje por procedimientos de alto nivel.
Estos lenguajes tienden a expresar la manipulacin de archivos mediante
subrutinas que se definen como parte del lenguaje formal o se incluyen como
extensiones del lenguaje en una biblioteca estndar.
La mayor parte de los lenguajes por procedimiento de alto nivel cuenta
con caractersticas que ayudan a detectar la marca de fin de archivo.

3.3. -ARCHIVOS DE TEXTO.


Tambin conocidos como (Slream File) son utilizados para almacenar
documentos que consisten en texto; En ellos, cada registro es un solo smbolo
o cdigo de control.
El leer estos archivos recibimos la informacin en orden secuencial en el
que aparece cuando lo vemos en un monitor.
Los archivos de texto son una secuencia de lneas separadas por marcas
de fin de lnea.
Rudimentos de los archivos de textos; El usuario escribe los archivos de
textos mediante un procesador de palabras que le permitir almacenar la
informacin pero no estrictamente en forma secuencial.
El procesador tambin nos permite desplazarnos por todo el bloque de
informacin y permitirnos realizar modificaciones.
Mientras el usuario avance rpidamente en la lectura de registro lograra
ver mas archivos.

13
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

Cuestiones de programacin; Casi todos los entornos de programacin


por procedimientos de alto nivel cuentan con subrutinas para manipular los
archivos de texto.
Estas subrutinas pueden formar parte de la definicin formal del
lenguaje o que se ofrezca en biblioteca como extensiones del mismo.

3.4. - ARCHIVOS INDIZADOS.


Es la aplicacin de incluir ndices en el almacenamiento de los archivos;
de esta forma nos ser ms fcil buscar algn registro sin necesidad de ver
todo el archivo.
Un ndice en un archivo consiste en un listado de los valores del campo clave
que ocurren en el archivo, junto con la posicin de registro correspondiente en
el almacenamiento masivo.

Fundamento de los ndices


La colocacin de un listado al inicio del archivo: para la identificacin
del contenido.
La presentacin de un segundo ndice: para reflejar la informacin de
cada punto principal del ndice anterior.
La actualizacin de los ndices: Cuando se insertan y eliminan archivos,
es preciso actualizar los ndices para evitar contratiempos actualizando
un archivo.
La organizacin de un ndice: Nos evita examinar archivo por archivo
para recuperar algn registro buscado; por lo tanto ahorraramos
tiempo si tenemos una adecuado organizacin de los ndices.

Cuestiones de Programacin
Algunos lenguajes de alto nivel cuentan con subttulos para manipular los
archivos de un registro indizado.
Valindose de las subrutinas es posible escribir programas sin tener que
preocuparse por la estructura real del sistema de ndices que se aplique.

3.5. - ARCHIVOS DISPERSOS.


Tambin llamados (Hashed Files) representan un sistema de
almacenamiento de archivos que solo ofrece acceso directo, y permiten
calcular la posicin de un registro en el almacenamiento masivo.
Rudimentos de los archivos dispersos.
El usuario debe dividir el rea de almacenamiento asignando al archivo
en varias secciones llamadas cubetas para poder ingresar los datos.
La distribucin de la informacin en las cubetas es problemtica debido
a que la estructura de los archivos es dispersa.
Dentro de los archivos se presentan colisiones de informacin debido al
agrupamiento de los registros ingresados.
Cuestiones de programacin.
Casi ninguno de los lenguajes de programacin por procedimientos en la
actualidad ofrece implantaciones directas de archivos dispersos; esto es
debido a las cuestiones dependientes de la aplicacin implicadas en el
diseo de estos archivos.

4. -MEDIDAS DE UTILIZACIN DE LOS ARCHIVOS.


Para utilizar un archivo debemos tener en cuenta:

14
Universidad Mariano Glvez
Facultad de Ingeniera en Sistemas de Informacin
Y Ciencias de la Computacin
Curso: Programacin I
Cat. Ing. Ilonkka Carolina Cabrera Cintora

ndice de Volatilidad; Un archivo es voltil cuando tiene un alto porcentaje de


adiciones y supresiones debido al ingreso o eliminacin de registros respecto
al nmero promedio de registros que haya en el archivo.
ndice de Actividad; Un archivo es activo cuando tiene un alto porcentaje de
utilidad sea de actualizacin o consulta en un periodo de tiempo fijo respecto
al nmero promedio de registro que se encuentran en el archivo.
El ndice de actividad suele emplearse para saber si un archivo puede
explotarse como una organizacin secuencial o relativa.

Archivos de acceso directo (con tipo)


Los archivos tipeados (con tipo), tambin llamados archivos binarios,
contienen datos de tipo simple o estructurado, tales como integer, real ,
record, etc., excepto otro tipo de archivos.
Los archivos con tipos estn estructurados en elementos o registros (record)
cuyo tipo puede ser cualquiera. A los elementos de estos archivos se accede
directamente, al no situarse stos en posiciones fsicamente consecutivas,
sino en posiciones lgicas. Esta es la razn por la cual se les denomina
archivos de acceso aleatorio o directo. Los elementos de los archivos
aleatorios son de igual tamao y el trmino acceso directo significa que es
posible acceder directamente a un elemento con solo especificar su posicin

5. - DEFINICIONES.
Los ms utilizados en el desarrollo del tema son:
Archivo (Fichero): Conjunto de informacin estructurada en unidades de
acceso denominada registro.
Registros: Estructura de datos formada por uno o ms elementos
denominados "Campos" y estos pueden estar compuestos a su vez por
"subcampos".
Claves: Se denomina a un campo especial del registro que sirve para
identificarlo
Bloque: Es la cantidad de informacin que se transfiere en cada operacin de
lectura o escritura sobre un archivo.
Campo: Es cada uno de los diferentes datos que constituyen un registro lgico.

BIBLIOGRAFIA
1) Estructura de Datos en Pascal, Autor Aarn M. Tenenbaum, Moshe J. Augentein.
Primera edicin.
2) Diseo y Administracin de Base de Datos Gary W. Hansen, James V. Hansen,
Segunda Edicin.
3) Gua de Estructura y Procesamiento de Datos Profesor David Lpez, Segundo
semestre U.N.I.R. (Maracaibo).
4) http://www2.ing.puc.cl/iic1102/materia/cap10.htm
5) http://www.uady.mx/sitios/matemati/enlinea/admin_arch/materiales/material1.h
tml
6) http://coqui.lce.org/cadiaz/CEDU5120V/Contenido/ArchExt.htm
7) http://www.itlp.edu.mx/publica/tutoriales/pascal/u8_8_8.html

15

Vous aimerez peut-être aussi