ARCHIVOS ALEATORIOS
Página 1 de 1.
ARCHIVOS ALEATORIOS
ARCHIVOS ALEATORIOS
Son archivos que pueden contener datos tipo integer, real o record. Para declarar un archivo se procede de la siguiente manera:
Type
Nombrearchivo = file oftipo de datos
Ejemplo:
Type
Nombres = file of string[60];
Var
Nom: Nombres;
8.3.1 Creación de un archivo tipificado
Para crear un archivo se utilizan las sentencias Assign la cual crea el archivo y Rewrite para abrir el archivo.
La sintaxis es la siguiente:
Assign (f,nombre);
f: Nombre interno del archivo dentro del programa.
nombre: Nombre externo con el que se conoce al archivo por el sistema operativo.
La operación Assign establece una correspondencia entre la variable tipo archivo con un archivo externo situado en disco.
8.3.1 Apertura de un archivo
Luego de haber sido asignado, el archivo debe ser abierto. Esta operación se realiza por medio de uno de los dos procedimientos predefinidos: rewrite y reset.
8.3.1.1 Reset
Abre un nuevo archivo existente para una operación de lectura. Si se intenta llamar a Reset y el archivo especificado no existe, se producirá un error de E/S (entrada/salida).
Sintaxis:
Reset (NombreArch);
8.3.1.2 Rewrite
Crea y abre un nuevo archivo. Si el archivo ya existe, Rewrite borra su contenido; en caso contrario, el archivo queda abierto para una operación de escritura.
Sintaxis:
Rewrite (f);
Existen algunos aspectos importantes que se deben tomar en cuenta al utilizar la sentencia Rewrite:
- Si al abrir el archivo de texto, con assign y reset, ya existe en el disco, la sentencia Rewrite lo rescribirá, en otras palabras, "se perderT el archivo contiguo.
- Por el contrario, las sentencias assign y rewrite suponen la existencia del archivo llamado en el disco. Si este archivo no existe, las sentencias anteriores producirán errores de ejecución.
El siguiente programa define un tipo registro (cliente) y a continuación rellena (pone valores en los campos) en la variable correspondiente. Otra variable del mismo tipo se asigna a la primera variable y los campos de la segunda variable se imprimen uno a uno.
Program Visualiza_Registros;
Type
Datos = record
Nombre : String [80];
Direccion : String [80];
Edad : Integer;
Saldo : Real
End;
Var
Aux, Cliente : Datos;
Begin
Write (`Digite el nombre del cliente: `);
Readln (Cliente.Nombre);
Cliente.Dirección := `Calle El Último Grito´;
Write (`Digite la edad del cliente: `);
Readln (Cliente.Edad);
Cliente.Saldo := 245320;
Aux := Cliente; (* Transfiere los datos al registro Aux *)
(* Visualización de los campos de Aux *)
Writeln (`Nombre: `, Aux.Nombre);
Writeln (`Dirección: `, Aux.Direccion);
Writeln (`Edad: `, Aux.Edad:1);
Writeln (`Saldo: `, Aux.Saldo:1:1);
End.
Este método de lectura/escritura campo a campo es engorroso. Pascal proporciona la sentencia with que facilitará el proceso de lectura/escritura de los registros.
8.3.2 - 8.3.3 Manipulación de archivos tipificados y funciones
8.3.2.1 Escritura de un archivo
Una vez que se ha abierto el archivo para escritura, las sentencias write y writeln sirven para escribir datos en el nuevo archivo.
Sintaxis:
Write (f,v1,v2,...);
f es una variable tipo archivo.
v1,v2,... son variables del tipo de datos.
Ejemplos:
1. Write (demo,´Esto es una prueba de escritura´);
Writeln (demo,´y esta es la siguiente prueba´);
2. Var NombreArch : string[60];
archtex : text;
...
...
Write (`Nombre de archivo´);
Readln (NombreArch);
Assign (Archtex,NombreArch);
Reset (Archtex);
8.3.2.2 Lectura de un archivo
La lectura de un archivo se efectúa mediante las sentencias read o readln.
Sintaxis:
Read (f,v1,v2,...);
f es una variable tipo archivo.
v1,v2,... son variables del tipo de datos.
Ejemplo:
Var
Horas : Real;
Archivo : Text;
Mensaje : string [30];
Begin
Assign (Archivo,´Demo´);
Reset (Archivo);
...
...
Readln (Archivo,Mensaje,Horas);
End.
8.3.2.3 Cierre de un archivo
Para cerrar un archivo se utiliza la siguiente sintaxis:
Close (Nombrearchivo);
Son archivos que pueden contener datos tipo integer, real o record. Para declarar un archivo se procede de la siguiente manera:
Type
Nombrearchivo = file oftipo de datos
Ejemplo:
Type
Nombres = file of string[60];
Var
Nom: Nombres;
8.3.1 Creación de un archivo tipificado
Para crear un archivo se utilizan las sentencias Assign la cual crea el archivo y Rewrite para abrir el archivo.
La sintaxis es la siguiente:
Assign (f,nombre);
f: Nombre interno del archivo dentro del programa.
nombre: Nombre externo con el que se conoce al archivo por el sistema operativo.
La operación Assign establece una correspondencia entre la variable tipo archivo con un archivo externo situado en disco.
8.3.1 Apertura de un archivo
Luego de haber sido asignado, el archivo debe ser abierto. Esta operación se realiza por medio de uno de los dos procedimientos predefinidos: rewrite y reset.
8.3.1.1 Reset
Abre un nuevo archivo existente para una operación de lectura. Si se intenta llamar a Reset y el archivo especificado no existe, se producirá un error de E/S (entrada/salida).
Sintaxis:
Reset (NombreArch);
8.3.1.2 Rewrite
Crea y abre un nuevo archivo. Si el archivo ya existe, Rewrite borra su contenido; en caso contrario, el archivo queda abierto para una operación de escritura.
Sintaxis:
Rewrite (f);
Existen algunos aspectos importantes que se deben tomar en cuenta al utilizar la sentencia Rewrite:
- Si al abrir el archivo de texto, con assign y reset, ya existe en el disco, la sentencia Rewrite lo rescribirá, en otras palabras, "se perderT el archivo contiguo.
- Por el contrario, las sentencias assign y rewrite suponen la existencia del archivo llamado en el disco. Si este archivo no existe, las sentencias anteriores producirán errores de ejecución.
El siguiente programa define un tipo registro (cliente) y a continuación rellena (pone valores en los campos) en la variable correspondiente. Otra variable del mismo tipo se asigna a la primera variable y los campos de la segunda variable se imprimen uno a uno.
Program Visualiza_Registros;
Type
Datos = record
Nombre : String [80];
Direccion : String [80];
Edad : Integer;
Saldo : Real
End;
Var
Aux, Cliente : Datos;
Begin
Write (`Digite el nombre del cliente: `);
Readln (Cliente.Nombre);
Cliente.Dirección := `Calle El Último Grito´;
Write (`Digite la edad del cliente: `);
Readln (Cliente.Edad);
Cliente.Saldo := 245320;
Aux := Cliente; (* Transfiere los datos al registro Aux *)
(* Visualización de los campos de Aux *)
Writeln (`Nombre: `, Aux.Nombre);
Writeln (`Dirección: `, Aux.Direccion);
Writeln (`Edad: `, Aux.Edad:1);
Writeln (`Saldo: `, Aux.Saldo:1:1);
End.
Este método de lectura/escritura campo a campo es engorroso. Pascal proporciona la sentencia with que facilitará el proceso de lectura/escritura de los registros.
8.3.2 - 8.3.3 Manipulación de archivos tipificados y funciones
8.3.2.1 Escritura de un archivo
Una vez que se ha abierto el archivo para escritura, las sentencias write y writeln sirven para escribir datos en el nuevo archivo.
Sintaxis:
Write (f,v1,v2,...);
f es una variable tipo archivo.
v1,v2,... son variables del tipo de datos.
Ejemplos:
1. Write (demo,´Esto es una prueba de escritura´);
Writeln (demo,´y esta es la siguiente prueba´);
2. Var NombreArch : string[60];
archtex : text;
...
...
Write (`Nombre de archivo´);
Readln (NombreArch);
Assign (Archtex,NombreArch);
Reset (Archtex);
8.3.2.2 Lectura de un archivo
La lectura de un archivo se efectúa mediante las sentencias read o readln.
Sintaxis:
Read (f,v1,v2,...);
f es una variable tipo archivo.
v1,v2,... son variables del tipo de datos.
Ejemplo:
Var
Horas : Real;
Archivo : Text;
Mensaje : string [30];
Begin
Assign (Archivo,´Demo´);
Reset (Archivo);
...
...
Readln (Archivo,Mensaje,Horas);
End.
8.3.2.3 Cierre de un archivo
Para cerrar un archivo se utiliza la siguiente sintaxis:
Close (Nombrearchivo);
MARIEL_ID418- Mensajes : 6
Fecha de inscripción : 01/11/2008
Temas similares
» archivos aleatorios
» Archivos Aleatorios
» Archivos Aleatorios
» Archivos Aleatorios
» Archivos aleatorios
» Archivos Aleatorios
» Archivos Aleatorios
» Archivos Aleatorios
» Archivos aleatorios
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.