


































































Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
MANEJO DE ARCHIVOS C++ EN ALGORITMOS Y LENGUAJES DE PROGRAMACIÓN
Tipo: Ejercicios
1 / 74
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



































































2.2.7. Detectando el final del archivo con feof()……..................... 35 2.2.8. Cambiando nombres de archivos mediante rename()…….... 35 2.2.9. Eliminando archivos con la función remove()……................. 36 3.- APLICACIONES DE ARCHIVOS EN C++……………. (^) 38 3.1. Declaraciones globales.........……....…………………………………… 38 3.2. Archivos secuenciales en Lenguaje C++……………………………… 39 3.2.1. ALTAS secuenciales……………….…………………………….. 40 3 .2.1.1. Diagrama de flujo de la rutina de ALTAS secuenciales.............................................................. 40 3 .2.1.2. Codificación de la rutina de ALTAS secuenciales…... 42 3.2.2. CONSULTAS secuenciales.…….……………….……………… 43 3 .2.2.1. Diagrama de flujo de la rutina de CONSULTAS secuenciales.............................................................. 43 3 .2.2.2. Codificación de la rutina de CONSULTAS secuenciales….......................................................... 43 3.2.3. LISTADO secuencial............…….……………….……………… 44 3 .2.3.1. Diagrama de flujo de la rutina de LISTADO secuencial................................................................. 44 3 .2.3.2. Codificación de la rutina de LISTADO secuencial...... 46 3.2.4. MODIFICACIONES de datos en un archivo secuencial........... 47 3 .2.4.1. Diagrama de flujo de la rutina de MODIFICACION secuencial................................................................. 47 3 .2.4.2. Codificación de la rutina de MODIFICACIÓN secuencial................................................................. 49 3.2.5. BAJAS de registros en un archivo secuencial (bajas ógicas y bajas físicas)............................................................................ 50 3 .2.5.1. Diagrama de flujo de la rutina de BAJAS lógicas en un archivo secuencial................................................ 51 3 .2.5.2. Codificación de la rutina de BAJAS lógicas en un archivo secuencial..................................................... 53 3 .2.5.3. Diagrama de flujo de la rutina de BAJAS físicas en un archivo secuencial (compactar)............................ 54 3 .2.5.4. Codificación de la rutina de BAJAS físicas en un archivo secuencial (compactar)................................. 56 3.3. Archivos directos en Lenguaje C++………………………………......... 57 3.3.1. ALTAS directas........……………….…………………………….. 57 3 .3.1.1. Diagrama de flujo de la rutina de ALTAS directas...... 57 3 .3.1.2. Codificación de la rutina de ALTAS directas........…... 59 3.3.2. CONSULTAS directas..........…….……………….……………… 60 3 .3.2.1. Diagrama de flujo de la rutina de CONSULTAS directas...................................................................... 60 3 .3.2.2. Codificación de la rutina de CONSULTAS directas.... 62 3.3.3. MODIFICACIONES directas..........…….……………….……..... 63 3 .3.3.1. Diagrama de flujo de la rutina de MODIFICACIONES directas..................................... 63
lógicas).................................................................................... 66 3 .3.4.1. Diagrama de flujo de la rutina de BAJAS lógicas directas...................................................................... 67 3 .3.4.2. Codificación de la rutina de BAJAS lógicas directas.. 69 4.- CONCLUSIONES......................................……………. (^) 71 5.-BIBLIOGRAFÍA..............................................…………. (^) 72 3 .3.3.2. Codificación de la rutina de MODIFICACIONES directas...................................................................... 65 3.3.4. BAJAS de registros en un archivo de acceso directo (bajas
PREFACIO Durante el tiempo que he impartido la materia de “Administración de Archivos” en la carrera de Ingeniería en Sistemas Computacionales (ISC) en el Instituto Tecnológico de Nuevo Laredo (ITNL), me he percatado de las deficiencias de los alumnos para programar archivos y, aunque es necesario dominar este aspecto de programación para aplicarlo en la materia, no es limitante o requisito estricto para cursarla, ya que la retícula así lo señala. Además estoy enterado que los temas de archivos pertenecen a la última unidad programática de las materias previas de Programación I y II y que debido a lo extenso de esos programas de estudio, no se comprenden completamente los temas relacionados con archivos. Debido a lo anterior, presento este documento basado en un cúmulo de experiencias y dudas planteadas por alumnos que tiene como finalidad reforzar los conocimientos de programación de archivos en Lenguaje C++ para aplicarlos a necesidades específicas de la materia “Administración de Archivos”. Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.mx/takeyas [email protected]
Recuerde: ¡¡¡ Los archivos NO procesan datos, sólo los almacenan !!! Microprocesador ALU Unidad de Control Proceso de “grabar” datos en el archivo Registros Archivo Proceso de “cargar” datos a la memoria
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
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 (Fig. 1 ).
Re gis tro s Archivo: PRODUCTO.SEC No_prod Descrip Cantidad Precio Garantia 0 “Camisa de vestir” 100 65. 80 ‘N’ 1 “Pantalón para dama” 234 115. 50 ‘N’ 2 “Radiograbadora” 36 895. 75 ‘S’ 3 “Gabinete para sala” 54 1532 .60 ‘N’ Entero Cadena [30] Entero Real Caracter Campos
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:
Operación o acción Archivero Archivo computacional Identificar la localización de la información Localizando el archivero en particular que contiene las carpetas con la información que se solicita, ya que una oficina puede tener varios archiveros debidamente clasificados e identificados Identificando la base de datos correspondiente a la información que se solicita. Una base de datos es una colección de archivos relacionados. P. Ejem. Profesores, alumnos y materias están correlacionados. Identificar el lugar exacto donde se encuentra la información Regularmente un archivero contiene varios cajones, cada uno con información debidamente clasificada y ordenada. Se recomienda que los archivos contengan datos relacionados con un objeto de interés en particular y no de varios. P. Ejem. Sólo datos de ALUMNOS.
Apertura Obviamente cuando se requiere agregar o consultar carpetas del cajón de un archivero, es necesario primero abrirlo. Para accesar los datos de un archivo es necesario abrirlo. Existen varios modos de apertura de los archivos dependiendo de las operaciones que se deseen realizar en él. Clasificación de los datos Los cajones de los archiveros tienen separadores o pequeñas pestañas para identificar las carpetas. Estas facilitan el acceso, ya sea la inserción o la extracción de un carpeta en particular. Los datos pueden ser almacenados de muchas formas diferentes en los archivos y de esto depende la facilidad (o dificultad) que el archivo muestre para ciertas operaciones de acceso. A estas formas de almacenamiento se les conoce como “organización del archivo”.
Cierre Cuando ya no se desea utilizar un cajón de un archivero es necesario cerrarlo, ya que de no hacerlo, se corre el riesgo de dañar o perder la información. Cuando se termina de utilizar un archivo es necesario cerrarlo. De esa forma se vacía la memoria caché y se asegura almacenar y proteger los datos. Seguridad Algunos archiveros cuentan con un candado que permite asegurar los cajones de aperturas no deseadas por personal no autorizado. Dependiendo del sistema operativo, se pueden aplicar restricciones de seguridad y acceso a los archivos dependiendo de los usuarios; es decir, se establecen políticas de acceso a usuarios.
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
Clasificación de archivos por contenido Texto Binarios
1.6.1. Archivos de texto 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.14 1592 en un archivo de texto, se almacena como “3.141592” y nótese que ...
1.6.2. 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”.
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.