Programación Estructurada

Documentos relacionados
7. Manejo de Archivos en C.

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Formatos para prácticas de laboratorio

Contenidos. Archivos en C++ Archivos en C++ Introducción

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras

Examen escrito de Programación 1

Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto

Prof. Dr. Paul Bustamante

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Contenido. Capítulo 1. Introducción a lenguaje C 1

Modelos y Bases de Datos

SOLUCION EXAMEN junio 2006

Preliminares. Tipos de variables y Expresiones

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

LENGUAJES DE PROGRAMACIÓN WEB (PHP1, HTML52)

Diseño Estructurado de Algoritmos

Sistemas Operativos Práctica 3

Modulo 1 El lenguaje Java

Base de datos en Excel

Modelos y Bases de Datos

Ejercicios - Persistencia en Android: ficheros y SQLite

Capítulo 9. Archivos de sintaxis

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Matemáticas Básicas para Computación

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

GUÍA DE USUARIO: GOOGLE DRIVE

DOCUMENTACIÓN TÉCNICA

Introducción a la plataforma Moodle Aníbal de la Torre Plataforma Moodle. Accediendo a los contenidos

Uso de archivos en C++

Conciliación bancaria en CheqPAQ Cargado de estado de cuenta

1.- INTRODUCCIÓN 2.- PARÁMETROS

OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)

Aspectos Básicos de Networking

Sintaxis y Convenciones de Java. M. en C. Erika Vilches

Introducción a la programación orientada a objetos

COPIAS DE SEGURIDAD AUTOMÁTICAS DE DIRECCIONES CALLEÇPAÑA

Computación archivos

GENERACIÓN DE TRANSFERENCIAS

Tema 8: Tratamiento de datos. Ficheros

Informática I para Bachillerato

GENERACIÓN DE CÓDIGO

Representación de números enteros: el convenio signo y magnitud

Guía para publicar su Página Web

Sea el siguiente programa de nombre "c0p1" para copiar archivos (por simplicidad se ha eliminado todo control de errores): Se pide:

Psicología del Desarrollo

ÍNDICE I. INSTALACIÓN DEL SOFTWARE.. 2 II. ACTIVACIÓN DEL SOFTWARE.. 6. Manual de ayuda Registro de nuevo usuario 7. Ingresar nueva tarjeta.

Manual de Usuario SMS Inteligente

OFICINA VIRTUAL MANUAL DEL AFILIADO

KW x hora. on/off

SEGURIDAD Y PROTECCION DE FICHEROS

Tema 4. Gestión de entrada/salida

Práctica 0. Emulador XENON de la computadora CESIUS

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

Tema: FUNCIONES, PROCEDIMIENTOS Y RECURSIVIDAD.

Guía de Uso Básico de Prolog

Análisis del Consumidor

Entre los más conocidos editores con interfaz de desarrollo tenemos:

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

forma de entrenar a la nuerona en su aprendizaje.

Técnicas de planeación y control

Accesibilidad web GUÍA FUNCIONAL

INGENIERÍA DE SOFTWARE. Sesión 3: Tipos

Que es PHP? Que se puede hacer con PHP? Sintaxis del lenguaje. Variables. Operadores básicos. Condicionales. Ciclos.

Aspectos Básicos de Networking

LiLa Portal Guía para profesores

Capitulo 5. Implementación del sistema MDM

Unidad 1. Introducción a HTML (I)

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

GENERACIÓN DE ANTICIPOS DE CRÉDITO

ADMINISTRACIÓN DE LA PRODUCCIÓN

Tema: INSTALACIÓN Y PARTICIONAMIENTO DE DISCOS DUROS.

La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.

Introducción al tipo de dato ARRAY

Herramientas computacionales para la matemática MATLAB: Scripts

Guía Rápida de uso de ZBox Backup Configuración y uso del servicio de respaldo en la nube.

Contextualización COMUNICACIÓN 1. Sesión 8 El texto en situación comunicativa. Estructura, extensión y propiedades del texto

Microsoft Access proporciona dos métodos para crear una Base de datos.

Bases de datos y tablas

Si haces clic sobre el icono de un objeto que no ha sido instalado como por ejemplo acceso remoto, comenzará su asistente de instalación.

Para trabajar este tema vamos a situarlo un poco más en el lenguaje común:

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

5.4. Manual de usuario

3.1. Guardar un libro de trabajo

GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Guía de instalación de la carpeta Datos de IslaWin

POSICIONAMIENTO EN LA WEB (SEM Y SEO)

1. Visualización de datos con Octave

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Entrada y salida de datos en C y C++

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

Poder Judicial de Costa Rica

Mi primer proyecto en Dev-C++

Adelacu Ltda. Fono Graballo+ Agosto de Graballo+ - Descripción funcional - 1 -

Creado dentro de la línea de sistemas operativos producida por Microsoft Corporation.

Fundamentos de Turismo

COMISIÓN NACIONAL PARA EL AHORRO DE ENERGÍA

Transcripción:

Programación Estructurada

PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base de datos, era difícil utilizar solo contenedores como variables, arreglos o estructuras robustas que contuvieran una gran numero de información, para solucionar muchas de estas necesidades se implementó una metodología de manejo de archivos. La intención de utilizar archivos como fuentes de datos o incluso, como repositorio de información, surge a partir de los grandes programas que requerían un gran número de información o detalle de información, que, al tratar de almacenar en arreglos multidimensionales tipo banco de datos, absorbían mucha memoria y ralentizaban los programas. La llegada de los ficheros a los lenguajes de programación, ayudo con esta carga de datos, permitiendo un manejo más robusto de la información.

PROGRAMACIÓN ESTRUCTURADA 2 Introducción al Tema En sesiones anteriores se detalló el uso de las diferentes estructuras de almacenamiento de datos, así como su uso e implementación, si bien la capacidad para manejar la información y trabajarla en contenedores temporales es robusta, no siempre es la mejor forma de trabajar en cuanto a lenguaje de programación estructurada se trata. En el caso de programas robustos como los sistemas bancarios de hace muchos años, la información que se manejaba era muchísima, y se requería de grandes tamaños de memoria para poder correr programas de forma óptima, esto, debido a las estructuras que consumían memoria para trabajar con datos que durarían mucho tiempo en el programa ejecutable. La metodología sobre el manejo de ficheros, vino a solucionar grandes problemas de consumo de memoria, ya que su implementación consiste en crear un documento y escribir en él, almacenándolo en un espacio reservado al cual apunta un puntero particular para trabajar sobre la información que el contiene. En esta sesión encontrarás la forma de trabajar con ficheros en el lenguaje C, sus operaciones básicas y los tipos de fichero con los que se puede trabajar.

PROGRAMACIÓN ESTRUCTURADA 3 Explicación 6.1 Operaciones básicas Antes de comenzar se debe hacer una aclaración en caso de que no estés familiarizado con la palabra fichero (debido a que ya es un término casi olvidado). Un fichero es conocido también como archivo, y es un conjunto de bits que se almacenan en un dispositivo de almacenamiento, por ejemplo el disco duro de una computadora. El manejo de archivos en C se realiza a través de los punteros de fichero, es decir, obteniendo la dirección en memoria de donde se encuentra el archivo. Cada vez que se va a utilizar un fichero, es preciso definir primero un puntero a fichero de la siguiente forma: #include <stdio.h> File * FilePointer; El puntero de fichero apunta a una estructura que define varios aspectos internos del archivo, entre las que se incluye su nombre, su estado y la posición actual. En esencia, el puntero de archivo identifica un archivo de disco duro, así como el stream asociado a él. Las operaciones básicas con archivos son: lectura y escritura. Abrir un archivo. Para poder trabajar con archivos se deben cumplir los siguientes pasos: 1. Definir un apuntador tipo FILE 2. Utilizar la función fopen(); para abrir el documento. 3. Definir la operación sobre el archivo (lectura, escritura etc.) 4. Cerrar el archivo utilizando la función fclose();

PROGRAMACIÓN ESTRUCTURADA 4 Sintaxis: Para poder trabajar con los archivos existen diferentes tipos de acciones que deben ser declarados en la invocación del fopen(); las acciones pueden invocarse del siguiente modo: Modo "r" "w" "a" "r+" "rb" "wb" "ab" "r+b" "w+b" "a+b" "rt" "wt" "at" "r+t" "w+t" "a+t" Significado Abrir fichero para lectura. Abrir fichero para escritura. Si el fichero no existe, es creado. Si existe su contenido, es limpiado. Abrir fichero para añadir Abrir archivo para lectura. Abrir archivo binario para leer. Abrir fichero binario para escritura. Abrir fichero binario para añadir. Abrir fichero para lectura / escritura. Abrir fichero para lectura / escritura. El archivo es creado además. Añadir a un archivo binario o creado para lectura / escritura. Abrir archivo de texto para leer. Abrir fichero de texto para escritura. Abrir fichero de texto para añadir. Abrir archivo de texto para lectura / escritura. Abrir archivo de texto para lectura / escritura. El archivo es creado además. Añadir a un archivo de texto o crearlo para la lectura / escritura. Cuando no se especifica la t de texto o la b de binario se toma el valor que tenga la variable global_fmode. Esta variable suele tener por defecto el valor o_text, aunque puede asignársele el valor de o_binary.

PROGRAMACIÓN ESTRUCTURADA 5 Un fichero se cierra mediante la función fclose(); que tiene la siguiente sintaxis: Int fclose (FILE *filepointer); Esta función recibe el puntero al archivo que deseamos cerrar y devuelve un valor de 0 si la operación tiene éxito. Ejemplo: #include <stdio.h> #include <stdlib.h> int main(int argc, char** argv) { FILE *fp; fp = fopen ( "fichero.in", "r" ); if (fp==null) {fputs ("File error",stderr); exit (1);} fclose ( fp ); return 0; } En este ejemplo se utilizó el tipo opentype r para poder leer el archivo únicamente. Como podrás observar, se valida si el retorno de la función fue de tipo NULL, lo cual significaría que el archivo no existe.

PROGRAMACIÓN ESTRUCTURADA 6 Lectura de un archivo o fichero. Existen varias funciones para poder leer un archivo: feof(); Busca el fin del documento, como ya se comentó, todos los archivos terminan con el carácter especial EOF (end of file), feof() devuelve un valor verdadero si encuentra el carácter EOF en la posición actual del puntero. rewind(); regresa el cursor de lectura del archivo al inicio, es decir, regresa al inicio del documento. fgetc(); Lee un carácter del archivo justo donde se encuentra el cursor. Para poder leer un documento completo se deberá hacer un ciclo repetitivo que incluya esta función hasta que el carácter leído sea el fin de línea (EOF). Ejemplo: #include <stdio.h> #include <stdlib.h> int main() { FILE *archivo; char caracter; archivo = fopen("miarchivo.txt","r"); if (archivo == NULL){ printf("\no se encontro el archivo. \n\n"); }else{ printf("\nel contenido del archivo es \n\n"); while (feof(archivo) == 0) { caracter = fgetc(archivo); printf("%c",caracter);

PROGRAMACIÓN ESTRUCTURADA 7 } } fclose(archivo); return 0; } fgets(); esta función también se encarga de leer el archivo, sólo que en lugar de leer carácter por carácter toma cadenas de caracteres. Escritura en archivos o ficheros. fputc(); escribe un carácter a la vez en un archivo. fputs(); escribe una cadena de caracteres en un archivo. fwrite(); esta función permite escribir registros de longitud constante permitiendo volcar a partir de datos almacenados en la memoria. fprintf(); esta función trabaja exactamente igual que printf(); solo que su objetivo de escritura es un archivo en lugar de imprimir en pantalla. Ejemplo: #include <stdio.h> int main ( int argc, char **argv ) { FILE *fp; char buffer[100] = "Esto es un texto dentro del fichero."; fp = fopen ( "fichero.txt", "r+" ); fprintf(fp, buffer); fprintf(fp, "%s", "\nesto es otro texto dentro del fichero."); fclose ( fp ); return 0; }

PROGRAMACIÓN ESTRUCTURADA 8 6.2 Texto y binarios Existen dos tipos de archivos con los que se puede trabajar en C, los archivos de texto y los archivos binarios. Los archivos de texto. Son una secuencia de cadenas de caracteres cuyo final se determina por el carácter especial EOF. En este tipo de archivos, se suele guardar información de tipo plano o bases de datos simples, es decir un contenido estructurado de valores fáciles de leer y entender por el usuario pues son caracteres tipo texto. Los Archivos binarios Desde el punto de vista del programador, los archivos se deben ver como una cadena de bits (0 a 1) agrupados en bytes consecutivos, de los cuales, el ultimo, es un carácter especial (EOF) que indica que no existen más bytes a partir de él. Los programas manejan estos bytes de diversas formas dependiendo la codificación que haya sido utilizada para crear los ficheros, es decir, los bytes pueden representar números enteros, números reales, caracteres, direcciones de memoria, etc. En ambos casos, los archivos son cadenas de bytes terminadas por el carácter EOF. La diferencia radica en cómo el programa que trata con el fichero va a interpretar la información contenida en él. Una vez creado un archivo y la información escrita en él se haya hecho como texto o como binario, en lo sucesivo, habrá que trabajar siempre del mismo modo, es decir, no podrá cambiar la forma de leer / escribir información de / en él.

PROGRAMACIÓN ESTRUCTURADA 9 En el caso concreto de MS- DOS, los archivos vienen identificados por un nombre que ha de tener un máximo de 8 caracteres y una extensión separada del nombre por punto que es opcional y ha de tener un máximo de 3 caracteres. Además, es posible especificar el dispositivo en el cual está y el camino de acceso a dicho archivo a través de los directorios.

PROGRAMACIÓN ESTRUCTURADA 10 Conclusión Los programas que utilizan como fuente de datos a los ficheros, son archivos potentes cuya principal necesidad es la lectura y almacenaje de grandes cantidades de datos, permitiendo resguardar la información en archivos sin necesidad de recurrir todo el tiempo a espacios de memoria que ralentizan el programa en ejecución a la larga. Los archivos más utilizados son los de tipo texto y se utilizan comúnmente para hacer una emulación de base de datos, conteniendo en ellos, grandes cantidades de cadenas de texto previamente planeadas y ordenadas.

PROGRAMACIÓN ESTRUCTURADA 11 Para aprender más En el siguiente link, encontrarás un video donde se detalla paso a paso, como es que se pueden utilizar los ficheros en un programa desarrollado en lenguaje C. En él se explica desde la creación de los archivos a consultar y las funciones para abrirlo leerlo y escribir en él, todo, paso a paso en un programa real. https://www.youtube.com/watch?v=ztesa-dtn3e 1 1 Video tomado de YouTube en la liga: https://www.youtube.com/watch?v=ztesadtn3e

PROGRAMACIÓN ESTRUCTURADA 12 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 Escribe un ejemplo de un programa básico en C donde abras un archivo de tipo texto y se escriba en el tu nombre mediante un código de escritura en el archivo. Imprimir la pantalla ya que esté escrito en C Convertir en imagen en formato JPG el programa realizado Subirlo a la plataforma de la asignatura Esta actividad te ayudará a comprender los diferentes tipos de archivos que existen en el lenguaje C, así como su correcta utilización, lo cual te facilitará a entender las siguientes sesiones. Esta actividad representa el 5% de tu calificación y se tomará en cuenta lo siguiente: Tus datos generales. Título. Ejemplo de programa básico en C con tu nombre mediante un código. Ortografía y redacción. Referencias bibliográficas

PROGRAMACIÓN ESTRUCTURADA 13 Bibliografía Badenas, J; (2001). Curso práctico de programación en C y C++, Castello de la Plana: Universidad Jaume I. Cobo A; (s/f). Programar C desde un punto de vista científico, Madrid: Visión Libros Harvey, M; (2004), C / C++ y Java cómo programar, México: Pearson Educación. 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