Archivos Secuenciales Archivos Agenda Qu es un Archivo

  • Slides: 15
Download presentation
Archivos Secuenciales

Archivos Secuenciales

Archivos – Agenda • ¿Qué es un Archivo? • Abrir Archivo • Leer Archivo

Archivos – Agenda • ¿Qué es un Archivo? • Abrir Archivo • Leer Archivo • Grabar Archivo • Cerrar Archivo • Precauciones

¿Qué es un Archivo? • Para facilitar el desarrollo del tema haremos una analogía

¿Qué es un Archivo? • Para facilitar el desarrollo del tema haremos una analogía que esperamos ayude a la compresión. • Un archivo se podría pensar como una película, una secuencia de imágenes que son leídas por nuestro reproductor una a una para formar una secuencia continua. • Las películas están compuestas por fotogramas mientras que los archivos están compuestos por registros.

¿Qué es un Archivo? • Los registros son las estructuras de datos mínimas que

¿Qué es un Archivo? • Los registros son las estructuras de datos mínimas que se encuentran dentro de un archivo. Un archivo es una colección de n registros y la estructura de los mismos depende del archivo que estemos leyendo. • Así como una película tiene género (drama, suspenso, acción, etc. ) y uno espera cierto tipo de trama, cada archivo tiene su estructura de datos que se repetirá a lo largo del mismo. Registros Archivo Secuencial

¿Qué es un Archivo? • Antes de seguir avanzando ahondaremos un poco sobre los

¿Qué es un Archivo? • Antes de seguir avanzando ahondaremos un poco sobre los diferentes tipos de archivos. • Son tres los diferentes tipos de archivos con los que trabajaremos a lo largo de la carrera: Secuenciales, Indexados y Bases de Datos. • Por el momento nos ocuparemos solamente de los secuenciales. Este tipo de archivo es el más simple y el que mejor se adaptará a nuestra simpática analogía. • Un archivo secuencial está compuesto por una serie de registros consecutivos los cuales siempre serán leídos del primero en adelante. • Siempre queramos ver nuestra película tendremos que verla desde el principio. No podremos empezar a verla por la mitad. Sí podemos detenerla antes de finalizar.

Abrir Archivo • Se denomina Abrir Archivo al proceso que nos permite establecer una

Abrir Archivo • Se denomina Abrir Archivo al proceso que nos permite establecer una conexión con el archivo que se encuentra en disco. • Análogamente podemos pensarlo de igual manera que sucede cuando elegimos una película y la insertamos en un reproductor de video. De no llevar a cabo este primer paso jamás podremos acceder a la información que se encuentra en el archivo. Como tampoco podemos mirar una película si no la insertamos en el reproductor de antemano. Variable FILE * Memoria RAM Disco Rígido Esquema de la conexión lógica a un archivo ubicado en disco generada luego de la apertura del mismo. Notar que el archivo sigue estando ubicado físicamente en el disco.

Abrir Archivo • A la hora de abrir un archivo debemos tener en cuenta

Abrir Archivo • A la hora de abrir un archivo debemos tener en cuenta cuál va a ser su finalidad. Si nosotros deseamos ver una película colocamos la misma en el reproductor, de esta manera leemos la información que contiene. Pero si queremos hacer una película deberíamos grabarla. • De manera similar, si nuestra finalidad es leer un archivo secuencial lo debemos abrir en modo lectura -o Entrada-, en cambio si deseamos grabar registros en el mismo lo debemos abrir en modo escritura -o Salida-. Entrada a procesamiento Archivo en Disco Lectura Salida a disco Programa Archivo en Disco Escritura

Abrir Archivo • El Diagrama Nassi Schneiderman la llamada al procedimiento sería: Y su

Abrir Archivo • El Diagrama Nassi Schneiderman la llamada al procedimiento sería: Y su encabezado: void Abrir. Arch. Per. E (str 30 s. Ubic, FILE * &f. Arch. Pers) Nota: El encabezado y la llamada son los mismo tanto para archivos de Entrada -lectura- o Salida escritura-. Sólo variará la última letra del procedimiento, 'E' o 'S' respectivamente.

Leer Archivo • Así como nuestro reproductor va avanzando obteniendo una a una las

Leer Archivo • Así como nuestro reproductor va avanzando obteniendo una a una las imágenes y las va mostrando por pantalla haciéndolas parecer una secuencia continua, el proceso de lectura nos permite ir trayendo uno a uno los registros del archivo secuencial. • Debido a que previamente ya establecimos la conexión con el archivo en modo lectura -archivo de Entrada- ahora nos es posible leer la información almacenada en el mismo. • Veamos mediante la siguiente animación un esquema del proceso de lectura …

Leer Archivo • Proceso de Lectura de un Archivo de Personas 31343568 13146568 16458798

Leer Archivo • Proceso de Lectura de un Archivo de Personas 31343568 13146568 16458798 26654987 Barredo Gomez Perez Acevedo Fabricio Germán Leandro Rodrigo r. Persona Memoria RAM Al no haber más registros el booleano En Mientras este momento haya registros, r. Persona o mientras contiene: El Archivo no contiene más registros. b. Fin cambia a VERDADERO Muestro por pantalla los datos-y por "31343568", "13146568", b. Fin “ 16458798", “ 26654987", no valga "Gomez", “Perez", “Acevedo", VERDADERO, “Germán" "Leandro" "Rodrigo" “Fabricio" continúo Se alcanza el"Barredo", fin de archi-vo, b. Fin consecuente la registro condición a FALSO- y contenido en el r. Persona. en leyendo susvale campos. el archivo. ahora VERDADERO. el ciclo de lectura termina. Pantalla 31343568 Barredo 13146568 Gomez 16458798 Perez 26654987 Acevedo Animar Continúe clickeando el botón para ir avanzando la animación. La animación a finalizado. Rodrigo Leandro Germán Fabricio

Leer Archivo • El Diagrama Nassi Schneiderman la llamada sería: Su encabezado: void Leer.

Leer Archivo • El Diagrama Nassi Schneiderman la llamada sería: Su encabezado: void Leer. APers (FILE * &f. Arch. Pers, ty_r. Persona &r. Persona, boolean &b. Fin)

Grabar Archivo • Previamente, antes de poder grabar en un archivo -como se lo

Grabar Archivo • Previamente, antes de poder grabar en un archivo -como se lo estarán imaginando- hay que abrir el mismo en modo escritura -archivo de Salida-. • Este proceso se asemeja a la filmación de una película. El camarógrafo va tomando capturas (imágenes) que van siendo almacenadas en una cinta una detrás de la otra. En la grabación de un archivo secuencial los registros son agregados uno detrás de otro y siempre que grabamos lo hacemos en la última posición.

Grabar Archivo • El proceso de grabación de un archivo se asemeja a realizar

Grabar Archivo • El proceso de grabación de un archivo se asemeja a realizar una película desde el principio. • Siempre que abramos el archivo estaremos comenzando a grabar desde el primer registro. Debemos tener especial cuidado ya que perderemos toda la información que previamente existía en nuestro archivo secuencial. • La información que vayamos grabando será posicionada al final del archivo. • El Diagrama Nassi-Schneiderman la llamada sería: • Y su encabezado: void Grabar. APers (FILE *& f. Arch. Pers, ty_r. Persona)

Cerrar Archivo • Así como cada vez que terminamos de ver una película retiramos

Cerrar Archivo • Así como cada vez que terminamos de ver una película retiramos la misma del reproductor y la guardamos en su estuche, cuando terminamos de usar un archivo –sin importar el modo de apertura- debemos cerrarlo. • Es de suma importancia no olvidarse de cerrar el archivo para que toda la información enviada al mismo quede debidamente grabada. • El procedimiento de cierre de un archivo es la más simple de todos: • El Diagrama Nassi-Schneiderman su llamada sería: • Y su encabezado: void Cerrar. Arch(FILE * &f. Arch. Pers)

Precauciones Jamás olvidarse de: Abrir Archivo – Leer o Grabar Archivo – Cerrar Archivo

Precauciones Jamás olvidarse de: Abrir Archivo – Leer o Grabar Archivo – Cerrar Archivo Los encabezados que necesitamos en Programación 1 son los mismos que definimos en C++ para los procedimientos. Saludos y hasta pronto! Recordar que siempre la grabación de un archivo secuencial se realiza en la última posición. A la hora de grabar un archivo, asegúrense que el registro no contenga campos con “basura”. Grábense las siguientes recomendaciones