Vous êtes sur la page 1sur 23

Medios de almacenamiento secundario

Procesamiento secuencial
Manejo de archivos secuenciales

Unidad 4
Estructuras de datos
definidas por el usuario

CCH Azcapotzalco
Cibernética y Computación 2
Objetivos de la clase
• Comprender las características de los
archivos.
• Identificar los tipos de archivos, sus
formas de acceso, las funciones,
procedimientos y uso.
Manejo de archivos secuenciales

• Elaborar un programa que utilice archivos


secuenciales.

CCH Azcapotzalco
Cibernética y Computación 2
Actividades de la clase
Parte teórica:
• Características de los archivos.
• Formatos de acceso. Describir las diferencias entre
archivos de acceso secuencial y directo.
• Declaración de archivos.
• Describir las funciones relacionadas con archivos.
Manejo de archivos secuenciales

• Descripción un programa que utilice archivos de acceso


secuencial.
Parte práctica:
• Elaborar modificaciones al programa para ampliar su
funcionalidad.

CCH Azcapotzalco
Cibernética y Computación 2
Medios de almacenamiento
¿para qué se usa?

Primario Ejecución de programas y


procesamiento de datos.

Secundario Almacenamiento persistente. Conserva


Manejo de archivos secuenciales

información que no cabe en memoria o


que deseamos tener aún cuando se
interrumpa la alimentación Eléctrica.

CCH Azcapotzalco
Cibernética y Computación 2
Medios de almacenamiento
Ejemplos

Primario Memoria RAM.


Memoria ROM.

Secundario Unidades de diskette.


Manejo de archivos secuenciales

Discos duros.
Almacenamiento óptico (ROM, WORM).
Cintas.
Memorias portátiles.

CCH Azcapotzalco
Cibernética y Computación 2
Medios de almacenamiento
Características adicionales

Primario Muy rápido.


Más caro.
Accesible inmediatamente.
Accesible sólo mientras exista
Manejo de archivos secuenciales

alimentación eléctrica.

Secundario Más lento (aprox. 1/1000 mem. princ.)


Más barato por unidad de
almacenamiento

CCH Azcapotzalco
Cibernética y Computación 2
Tipos de archivos

Acceso secuencial Acceso directo


• Archivos de texto legibles a • Archivos en código “binarios”
simple vista (generalmente). no legibles sin un programa.
Manejo de archivos secuenciales

• Datos de longitud variable. Uso • Datos de longitud fija.


de delimitadores de información.
• Los datos puede leerse en
• Para leer o escribir un dato, hay cualquier orden
que leer los datos previos.
• Usos: almacenamiento de
• Usos: reportes, automatización,
información, bases de datos, …
programas en código fuente, …

CCH Azcapotzalco
Cibernética y Computación 2
Archivos de acceso secuencial
uses
CRT;
• Archivos de texto
legibles a simple var
vista. +Estándar. x : array[1..50] of real;
i : integer;
• Datos de longitud n : integer;
cuenta : integer;
variable. promedio : real;
desvest : real;
• Para leer un dato, hay
que leer los datos begin
previos. clrscr;
writeln('Programa para calcular promedios ');
• Usos: reportes, write(‘¿Cuántos valores vas a introducir? n=');
Manejo de archivos secuenciales

readln(n);
automatización, promedio:=0;
programas en código for i:=1 to n do
fuente, … begin
write ('valor ', i, ': ');
readln( x[i] );
promedio := promedio + x[i]
end;
promedio:=promedio / n;
writeln ('Promedio = ', promedio:8:3)
end.

CCH Azcapotzalco
Cibernética y Computación 2
Archivos de acceso secuencial
<HTML>
<HEAD>
• Archivos de texto <title>Página principal</title>
legibles a simple <link href="sty.css" type="text/css" rel="stylesheet">
vista. +Estándar. </HEAD>
<BODY topmargin="0" rightmargin="0">
• Datos de longitud <form name="Form1" method="post" action="default.aspx">
<table align="center" width="480" border="0">
variable. <tr>
<td colspan="3" height="317">
• Para leer un dato, hay <img id="Image1" src="images/mainbanner.jpg"/>
que leer los datos <br>Colegio de Ciencias y Humanides
previos. <br>Dirección General</span>
<br>
• Usos: reportes, </td>
Manejo de archivos secuenciales

</tr>
automatización, <tr>
programas en código <td align="left"><FONT color="#667ab3">
fuente, … <a href="default.aspx">alumnos</a>
<a href="buscarp.aspx">profesores</a>
<a href="escuela.aspx">escuela</a>
<a href="ligas.aspx">ligas</a>
<a href="acercade.aspx">acerca de...</a>
</td>
</tr>
</table>
</form>
</BODY>
</HTML>
CCH Azcapotzalco
Cibernética y Computación 2
Archivos de acceso secuencial
Matriz A
• Archivos de texto 3 3
legibles a simple
vista. +Estándar. 1.2 -4.5 0.5
• Datos de longitud 4.5 1.0 2.1
variable. 9.1 2.4 4.9
• Para leer un dato, hay Matriz B
que leer los datos
previos. 3 3
• Usos: reportes, 1.2 -4.5 0.5
Manejo de archivos secuenciales

automatización, 4.5 1.0 2.1


programas en código
fuente, … 9.1 2.4 4.9
Matriz R
3 3
2.4 -9.0 1.0
9.0 2.0 4.2
18.2 4.8 9.8
CCH Azcapotzalco
Cibernética y Computación 2
Archivos de acceso secuencial
Matriz A string
• Archivos de texto 3 3 integer
legibles a simple vista.
1.2 -4.5 0.5
• Datos de longitud
variable, 4.5 1.0 2.1 float
probablemente de 9.1 2.4 4.9
distinto tipo. Uso de
delimitadores. Matriz B string
• Para leer un dato, hay 3 3 integer
que leer los datos 1.2 -4.5 0.5
previos.
Manejo de archivos secuenciales

4.5 1.0 2.1 float


• Usos: reportes,
automatización, 9.1 2.4 4.9
programas en código Matriz R string
fuente, …
3 3 integer
2.4 -9.0 1.0
9.0 2.0 4.2 float
18.2 4.8 9.8
CCH Azcapotzalco
Cibernética y Computación 2
Archivos de acceso secuencial
Matriz A EOL
• Archivos de texto 3 3 EOL
legibles a simple vista.
1.2 -4.5 0.5 EOL
• Datos de longitud
variable, 4.5 1.0 2.1 EOL

probablemente de 9.1 2.4 4.9 EOL


distinto tipo. Uso de
delimitadores. Matriz B EOL
• Para leer un dato, hay 3 3 EOL
que leer los datos 1.2 -4.5 0.5 EOL
previos.
Manejo de archivos secuenciales

4.5 1.0 2.1 EOL


• Usos: reportes,
automatización, 9.1 2.4 4.9 EOL

programas en código Matriz R EOL


fuente, …
3 3 EOL
2.4 -9.0 1.0 EOL

9.0 2.0 4.2 EOL

18.2 4.8 9.8 EOL

CCH Azcapotzalco EOF


Cibernética y Computación 2
Archivos de acceso secuencial
Matriz A Readln(nombreMatriz);
• Archivos de texto 3 3
legibles a simple vista. Read(Renglones)
1.2 -4.5 0.5
• Datos de longitud Readln(columnas);
variable. 4.5 1.0 2.1
Read(A[1,1]);
• Para leer un dato, 9.1 2.4 4.9
hay que leer los Matriz B Read(A[1,2]);
datos previos.
3 3
• Usos: reportes,
automatización, 1.2 -4.5 0.5 Ésta es la
Manejo de archivos secuenciales

programas en código
fuente, …
4.5 1.0 2.1 condición por la
9.1 2.4 4.9 cuál se llama
Matriz R “acceso
3 3 secuencial”
2.4 -9.0 1.0
9.0 2.0 4.2
18.2 4.8 9.8
CCH Azcapotzalco
Cibernética y Computación 2
Archivos de acceso secuencial
Matriz A
3 3
• Archivos de texto 1.2 -4.5 0.5
legibles a simple vista. 4.5 1.0 2.1
9.1 2.4 4.9
• Datos de longitud Matriz B
variable. 3 3
1.2 -4.5 0.5
• Para leer un dato, hay 4.5 1.0 2.1
que leer los datos {…}
9.1 2.4 4.9
previos. mtrz:=0;
Matriz R
3 3
• Usos: reportes, while
2.4 -9.0 (not
1.0 EOF(Archivo)) do
automatización, 9.0 begin
2.0 4.2
Manejo de archivos secuenciales

programas en 18.2 4.8 9.8


código fuente, … inc(mtrz);
readln(NombreMtrz[mtrz]);
readln(ren[mtrz], col[mtrz]);
for r:=1 to ren[mtrz] do
for c:=1 to col[mtrz] do
read(x[mtrz,r,c])
end;
CCH Azcapotzalco {…}
Cibernética y Computación 2
Declaración de una variable de tipo
“Archivo secuencial” o de texto
var
archivo : text; { crea un identificador para utilizar
un archivo secuencial }

Lectura y escritura de datos


Igual que como se leen y escriben las variables, como hasta
Manejo de archivos secuenciales

ahorita lo has visto. Pero hay que agregar como primer


parámetro el identificador de archivo para indicar el origen o
destino de dónde está la información.

readln( archivo, variable );


writeln( archivo, expresión );

CCH Azcapotzalco
Cibernética y Computación 2
La consola se maneja como
dos archivos secuenciales
• El teclado y el monitor se conoce como consola, y se
manejan como archivos secuenciales.
• El teclado es un dispositivo de entrada secuencial.
• El monitor es un dispositivo de salida secuencial.
• Son la entrada y la salida estándar para este tipo de
Manejo de archivos secuenciales

aplicaciones y por facilidad, no se incluye en los


procedimientos readln y writeln.
readln( teclado, variable );
writeln( monitor, expresión );

CCH Azcapotzalco
Cibernética y Computación 2
Operaciones con archivos secuenciales
• Declarar la variable. var
archivo : text;
• Asociar un archivo assign(archivo,‘nombre.ext’);
físicamente.
• Asociar una forma reset(archivo);
de acceso. rewrite(archivo);
append(archivo);
Manejo de archivos secuenciales

• Lectura. readln(archivo, variable);


read(archivo, variable);
• Escritura. writeln(archivo, expresión);
write(archivo, expresión);
• Cerrar el archivo. close(archivo);
CCH Azcapotzalco
Cibernética y Computación 2
Funciones y procedimientos asociados

• Assign(Archivo, RutaDelArchivo);
Archivo es una variable de tipo TEXT.
Ruta de Archivo es un STRING, indica el archivo a
leer, puede incluirse la ruta (path).
• Close(Archivo);
Manejo de archivos secuenciales

Indica que terminará de usarse el archivo asociado a


la variable.

CCH Azcapotzalco
Cibernética y Computación 2
Funciones y procedimientos asociados

• EOL(Archivo)
Regresa TRUE si se encuentra al final de una línea (se
leerá un EOL, “End of line” o “fin de línea”;
equivalente a un “[ENTER]” o “retorno de carro”).
• EOF(Archivo)
Manejo de archivos secuenciales

Regresa TRUE si se encuentra al final del archivo (se


leerá un carácter #27, “EOF”, “End of file” o “fin de
archivo”).
• Truncate(Archivo);
Borrará los datos a partir de la posición actual.
CCH Azcapotzalco
Cibernética y Computación 2
Funciones y procedimientos asociados

• reset(Archivo);
Abre el archivo para lectura y coloca el apuntador de
lectura al inicio.
• rewrite(Archivo);
Abre el archivo para escritura y coloca el apuntador
Manejo de archivos secuenciales

de lectura al inicio. Borra el contenido del archivo o lo


crea si no existe.
• append(Archivo);
Abre el archivo para escritura y coloca el apuntador
de lectura al final del archivo.
CCH Azcapotzalco
Cibernética y Computación 2
Ejemplo, copia de un archivo de texto:

program Secuencial;

var
ArchivoDeEntrada : text; { Archivo de entrada }
ArchivoDeSalida : text; { Archivo de salida }
CadenaAuxiliar : string; { Cadena a utilizar para copiar
el archivo }
Manejo de archivos secuenciales

CCH Azcapotzalco
Cibernética y Computación 2
begin
{Abrir archivo de entrada en modo "Lectura"}
assign(ArchivoDeEntrada, ParamStr(1));
reset(ArchivoDeEntrada);
{Abrir archivo de salida en modo "Escritura"}
assign(ArchivoDeSalida, ParamStr(2));
rewrite(ArchivoDeSalida); { Se borraran el archivo si
tenía información }
{Copia el archivo hasta el final [E]nd [O]f [F]ile }
while not eof(ArchivoDeEntrada) do
begin
readln (ArchivoDeEntrada,CadenaAuxiliar);
Manejo de archivos secuenciales

writeln(ArchivoDeSalida, CadenaAuxiliar)
end;
{Antes de salir hay que cerrar los archivos abiertos}
close(ArchivoDeSalida);
close(ArchivoDeEntrada);
end.

CCH Azcapotzalco
Cibernética y Computación 2
Manejo de archivos secuenciales

Fin de la parte teórica

CCH Azcapotzalco
Cibernética y Computación 2

Vous aimerez peut-être aussi