Programación Estructurada PROGRAMACIÓN ESTRUCTURADA Sesión No. 12 Nombre: Manejo de archivos Contextualización Los programas estructurales creados en C que requieren de un uso robusto de datos se diseñan principalmente con implementacion de ficheros como fuente y contenedor de datos. Se mencionaba anteriormente que los sistmas bancarios utilizaban estos ficheros para controlar la informacion de sus usuarios y demas transacciones. ¿Cómo es esto posible? Apuntar al fichero correcto y al registro exacto, requiere de metodologias de ordenamiento que son de mucho cuidado, una vez establecidos los patrones exactos que serviran de modelo, diseño y estructura de un archivo, los datos seram mas faciles de utilizar en operaciones complejas. 1 PROGRAMACIÓN ESTRUCTURADA Introducción al Tema ¿Cómo controlar la informacion contenida en los datos para poder accesar a ellos facilmente? En la programación estructurada todo se maneja con orden, es una de las maximas para poder ejecutar de forma adecuada las operaciones que daran solucion a un prblema. Cuando se habla de ficheros, el orden es también una regla a seguir, ya que los patrones que en él se encuentran aseguraran el éxito en las transacciones como consulta insercion o modificación de la información contenida en ellos. Existen dos modelos básico de acceso a los ficheros en los programas desarrollados en C. Acceso secuencial Acceso directo. En esta sesión se plantearan los conceptos sobre los tipos de acceso a los ficheros utilizados en programas desarrollados en lenguaje C. 2 PROGRAMACIÓN ESTRUCTURADA Explicación 6.3 Acceso secuencial y directo Para poder tomar los ficheros como fuente de información, (ya sea para almacenar o recabar datos) se deben utilizar dos metodologías de acceso de archivos, ya sean secuenciales o de acceso directo. El acceso secuencial. Como recordarás en la sesión anterior, para leer un archivo existen funciones que permiten leer, ya sean caracteres, cadenas o un conjunto de cadenas, pero para poder llegar al dato que se necesita se debe recorrer el documento desde el inicio hasta encontrarse con la coinsidencia buscada. El acceso secuencial es justamente este tipo de acceso, donde la lectura del archivo se da en forma de letura tradicional occidental, es decir, tomando en cuenta que se consulta un archivo de tipo texto o binario, el cursor recorrera las posiciones de arriba hacia abajo y de izquierda a derecha. Se basa en el hecho de que, para acceder a una determinada posición de los mismos, hemos de recorrer desde el principio todas las posiciones hasta llegar a la deseada. En los archivos secuenciales, los datos se almacenan de igual forma, lo cual quiere decir que los datos nuevos almacenados se insertaran al final del documento, asi, el primer registro guardado se encontrara en el inicio del documento. Cada registro toma una posicion, con la cual se accesara. En los archivos secuenciales no existen espacios entre registros, por lo cual, cada dato tomara su numero consecutivo, primer registro, segundo registro etc. 3 PROGRAMACIÓN ESTRUCTURADA Si bien la lectura del archivo es bastante facil de seguir, no es optimo cuando se trata de busquedas o lecturas que no son secuenciales, es decir, si el dato que se busca se encuentra en una posicion anterior a la ubicación del puntero, se debera leer de nuevo el documento desde el inicio. Acceso directo. Con el uso del acceso directo se puede acceder de forma directa a la posición que se requiera sin tener que pasar por las posiciones anteriores, como si fueran arreglos en la memoria. Lo cual permitira tomar modifica e insertar informacion en la posicion que se desee. Las operaciones de lectura y/o escritura pueden hacerse en cualquier punto del archivo. Muchas veces se desea acceder un dato concreto de un archivo en una posición relativa conocida de antemano. Por ejemplo, queremos leer o escribir en el registro 713 de un archivo. El acceso directo está pensado para resolver fácilmente estas operaciones. Un archivo de acceso directo permite leer o escribir bloques de información en un punto cualquiera del archivo, que se pasa como parámetro en la llamada del sistema correspondiente. Hay total libertad en el orden en que se accede a los registros. Por ejemplo el 15, luego 713, luego 9… este modo de acceso es muy útil en sistema de base de datos. 4 PROGRAMACIÓN ESTRUCTURADA Conclusión A lo largo de esta unidad pudimos comprender los diferentes tipos de archivos, así como la forma en la que se manejan, por lo tanto podemos concluir que los archivos, sean de texto o binarios, de acceso secuencial o aleatorio, actúan como contenedores de datos en los que se introducen o de los que se extraen datos. Los ficheros, tal como los contenedores, es necesario abrirlos antes de extraer o introducir datos. Y no sólo eso, después de llevar a cabo todas las operaciones de lectura/escritura sobre ellos es obligatorio cerrarlos, de lo contrario puede perderse toda información contenida en ellos. Los archivos aleatorios o directos tienen tanto a los registros como a los campos de longitud fija. Esta uniformidad en la longitud es la que permite que un registro cualquiera pueda ser accedido en forma directa, sin tener que pasar por registros previos. 5 PROGRAMACIÓN ESTRUCTURADA Para aprender más Archivos secuenciales Una de las practicas mas utilizadas en el manecho de archivos es de inventarios, donde se consultan las existencias de productos y se registran las compras para su posterior consulta. En el siguiente video encontrarás un ejemplo clasico de inventarios utilizando archivos secuenciales, en el, podras apreciar como utilizarlo para crear bancos de datos en archivos ordenados. https://www.youtube.com/watch?v=mRQ-KEAFi5w 6 PROGRAMACIÓN ESTRUCTURADA Actividad de Aprendizaje Con la finalidad de reforzar los conocimientos adquiridos a lo largo de esta sesión, ahora tendrás que realizar la siguiente actividad. Instrucciones: Realiza un programa en C donde mediante el uso de un archivo secuencial busques un dato específico sobre algún tema de tu elección, por ejemplo: un archivo de datos que contenga un listado de modelos de automóviles, donde se busque el modelo Jetta. Deberas copiar el codigo y convertirlo en imagen para subirlo a la plataforma. Esta actividad te ayudará a comprender os tipos de archivos del lenguaje C, así como su uso correcto. Esta actividad representa el 5% de tu calificación y se tomará en cuenta lo siguiente: Tus datos generales. Título. Programa en C donde mediante el uso de un archivo secuencial busques un dato específico sobre algún tema de tu elección Ortografía y redacción. Referencias bibliográficas 7 PROGRAMACIÓN ESTRUCTURADA Bibliografía Candela, S; (2007). Fundamentos de Sistemas Operativos, España: Thomson Cobo A; (s/f). Programar C desde un punto de vista científico, Madrid: Vision Libros Jordá, P; (s/f). Diseño e implementación de programas en lenguaje C, Valencia: Universidad Politécnica de Valencia. Oviedo, R; (2004), Lógica de programación, Bogotá: Ecoe Ediciones 8