jueves, 12 de marzo de 2015

Manejo de archivos

  necesidad de utilizar archivos


  muchas aplicaciones    usan la memoria principal o memoria RAM como único medio de almacenamiento (usando variables, arreglos o estructuras de datos mas complejas), con el inconveniente que esto representa: la volatilidad de la memoria RAM; es decir, si se apaga la computadora se pierden los datos. Además, algunas aplicaciones exigen transportar los datos de una computadora a otra. De ahí surge la necesidad de almacenar dichos datos de forma permanente que permita retenerlos en ciertos dispositivos de almacenamiento secundario por un período de tiempo largo sin necesidad de suministrarles energía, de tal forma que permitan transportarlos y utilizarlos en otro equipo comunicacional. 





Existe una estrecha relación entre la memoria principal, el microprocesador y los dispositivos de almacenamiento secundario ya que el procesamiento que realiza una computadora es tarea absoluta del microprocesador en conjunción con RAM Archivo ALU Unidad de Control Registros Microprocesador Proceso de “cargar” datos a la memoria Proceso de “grabar” datos en el archivo Recuerde: ¡¡¡ Los archivos NO procesan datos, sólo los almacenan !!! Manejo de Archivos en Lenguaje C++ Ing. Bruno López Takeyas , M.C. 10 la memoria principal; es decir, los dispositivos de almacenamiento secundario (diskettes, discos duros, CDs, flash drives, etc.) no procesan datos, sólo los almacenan. En estos dispositivos sólo se reflejan los datos previamente procesados y funcionan exclusivamente como una bodega. Esto repercute de manera significativa al momento de programar archivos, ya que para hacerle modificaciones a los datos de un registro previamente almacenado es necesario primero “cargarlo” en la memoria principal, es decir, localizar el registro en el archivo y leerlo para colocar sus datos en la memoria RAM, ahí modificarlo y posteriormente grabarlo en la misma posición en la que se encontraba, sin embargo estas operaciones no se realizan directamente, sino a través de la unidad aritmética-lógica, la unidad de control y los registros del microprocesador 


 Definiciones de datos, registros y archivos •


 Datos: Básicamente se refieren a los testimonios individuales relacionados con hechos, ya sean características de ciertos objetos de estudio o condiciones particulares de situaciones dadas. Los elementos individuales de los archivos se llaman datos o campos. Por ejemplo un cheque de un banco tiene los siguientes campos: Cuenta habiente, Número de cheque, Fecha, Persona a la que se le paga, Monto numérico, Monto con letra, Nota, Identificación del banco, Número de cuenta y Firma. Cada campo es definido por un tipo de dato. • Registro: Es el conjunto completo de datos relacionados pertenecientes a una entrada.


P. ejem. Un almacén puede retener los datos de sus productos en registros de acuerdo al formato mostrado en la Fig. 2. 





El registro de la Fig. 2 puede ser declarado globalmente (por encima de la función main) el Lenguaje C++ utilizando struct (Fig. 3)






 Archivo:


 En términos computacionales es una colección de datos que tiene

un nombre y se guardan en dispositivos de almacenamiento secundario, los
cuales pueden ser magnéticos, ópticos, electrónicos, etc. P. ejem.
Diskettes, discos duros, CD´s, ZIP drives, flash drives, memory sticks, etc. 



Analogías de archivos y archiveros

 El modo de operación de un archivo puede ser asociado con el de un archivero en una oficina, ya que ambos almacenan datos y operan de forma semejante. De tal forma que muestran las siguientes operaciones, acciones similares y comparaciones:















apertura de archivos

Antes de escribir o leer datos de un archivo es necesario abrirlo. Al abrir el
archivo se establece comunicación entre el programa y el sistema operativo a
cerca de cómo accesarlo. Es necesario que el programa le proporcione al sistema
operativo el nombre completo del archivo y la intención de uso (leer o escribir
datos), entonces se definen áreas de comunicación entre ellos. Una de estas áreas es una estructura que controla el archivo (alias del archivo), de esta forma
cuando se solicita una operación del archivo, se recibe una respuesta que informa
el resultado mediante un apuntador. Cada archivo abierto requiere un alias para
poder realizar operaciones en él (Fig.6).
La estructura del archivo contiene información del archivo que se está
usando, así como el tamaño actual y la localización de los buffers de datos. 





Clasificación de archivos

Existen muchas clasificaciones de archivos de acuerdo a diferentes criterios o
aplicaciones. Aquí se presenta una muy importante: de acuerdo al contenido. 




archivos de textos

Son aquellos que pueden contener cualquier clase de datos y de tal manera que son “entendibles” por la gente. Los datos en un archivo de texto se almacenan usando el código ASCII, en el cual cada carácter es representado por un simple byte. Debido a que los archivos de texto utilizan el código ASCII, se pueden desplegar o imprimir. En este tipo de archivos, todos sus datos se almacenan como cadenas de caracteres, es decir, los números se almacenan con su representación ASCII y no su representación numérica, por lo tanto no se pueden realizar operaciones matemáticas directamente con ellos. P. ejem. Si se guarda el dato 3.141592 en un archivo de texto, se almacena como “3.141592” y nótese que ... 3.141592 ≠ “3.141592” 



Archivos binarios

Este tipo de archivos almacenan los datos numéricos con su representación binaria. Pueden ser archivos que contienen instrucciones en lenguaje máquina listas para ser ejecutadas. Por ejemplo, cuando escribimos un programa en un lenguaje en particular (como C++, Pascal, Fortran, etc), tenemos las instrucciones almacenadas en un archivo de texto llamado programa fuente, pero una vez que lo sometemos a un proceso de compilación y ejecución nuestro programa lo trasladamos a un programa ejecutable (en lenguaje máquina), que es directamente entendido por la computadora y se crea un archivo binario. En este tipo de archivos también se pueden almacenar diferentes tipos de datos incluyendo datos numéricos; sin embargo, cabe destacar que los datos numéricos se graban con su representación binaria (no con su representación ASCII), por tal razón, cuando se despliegan con un editor de textos o por medio de comandos del sistema operativo, aparecen caracteres raros que no se interpretan. P. ejem. Si se guarda el dato 27 en un archivo binario, se almacena como 00001111 y no como “27”.




Clasificación de archivos por tipo de acceso



 De acuerdo a la forma de acceder los datos de los archivos, éstos se clasifican en secuenciales o directos (también conocidos como de acceso directo, relativos o aleatorios). En esta sección no se pretende analizar las diferentes estructuras de datos involucradas en estas clasificaciones de archivos ni desarrollar aplicaciones complejas debidamente diseñadas usándolos, sino conocer esencialmente sus conceptos teóricos y la forma de manejarlos. 








No hay comentarios:

Publicar un comentario