Capítulo 9. Lectura y escritura de ficheros

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Capítulo 9. Lectura y escritura de ficheros"

Transcripción

1 Capítulo 9.

2

3 Universidad del País Vasco / Euskal Herriko Unibertsitatea 235 Índice del capítulo 1. Introdución Objetivos Ficheros de texto vs. Ficheros binarios Entrada/salida estandar Entrada/Salida de caracteres Abriendo ficheros Escribiendo ficheros Cerrando ficheros Leyendo ficheros Problemas al abrir ficheros Contando caracteres Lectura y escritura de cadenas de caracteres (líneas) Entrada/Salida Formateada Ficheros de texto vs. Ficheros binarios: algunos datos adicionales Guardando números en ficheros de texto Líneas nuevas en los ficheros de texto y binarios Final de fichero en ficheros de texto y en binarios Entrada/salida bloque Escritura de estructuras mediante fwrite () Escritura de arrays mediante fwrite () Lectura de estructuras mediante la función fread () Punteros internos de los ficheros: las funciones fseek () y ftell () Bibilografia Ejercicios propuestos

4

5 Universidad del País Vasco / Euskal Herriko Unibertsitatea Introdución Casi todos los programas deben escribir datos en los ficheros y deben también leer datos de los ficheros. El concepto de fichero en el lenguaje C es general; se incluyen en él tanto dispositivos (pantalla, impresora, teclado), cómo ficheros que se almacenan en memoria. Un programa escrito en C puede escribir ficheros de muchas maneras. Esta sección tiene como objetivo mostrar cómo se lleva a cabo este proceso. La clasificación principal para entrada y salida de ficheros es la siguiente: entrada salida estándar (s t a n - d a rd I/O) y entrada y salida a nivel de sistema (system-level I/O). En ambos casos, el lenguaje C dispone de las funciones necesarias para poder realizar la entrada/salida de los ficheros. La forma más común para realizar la entrada/salida de los ficheros es la estándar, y seguramente es más sencilla que system I/O. La denominada entrada/salida a nivel de sisema System I/O, o f rece menos opciones para procesar datos y en ese sentido puede decirse que es más simple. Standard I/O ofrece cuatro formas diferentes para leer y escribir datos. System I/O, al contrario, tan sólo utiliza una de esas formas. Como introducción se muestran a continuación las características principales de esas cuatro formas diferentes: En la primera los datos se leen y escriben carácter a carácter. Es un método semejante al que hemos utilizado para leer del teclado (getche ()) o para escribir datos en la pantalla (putchar ()). En la segunda los datos se leen o escriben como cadenas de caracteres (tal y cómo hemos utilizado con puts () y gets ()). En la tercera los datos se leen o escriben de forma parecida al uso de las funciones printf () o scanf (). Es decir, se trata de una manipulación formateada de los datos. Y para finalizar, se utiliza el nuevo formato denominado bloque. Se utiliza para guardar y leer una cantidad fija de datos, por ejemplo las estructuras o los elementos de un array.

6 Universidad del País Vasco / Euskal Herriko Unibertsitatea Objetivos El objetivo de este capítulo es dar a conocer al alumno los diversos métodos que ofrece el lenguaje C para la manipulación de ficheros. En concreto estos son los objetivos que se pretenden conseguir: Conocer el proceso de manipulación de un fichero. Analizar los diferentes tipos de ficheros: ficheros texto, ficheros binarios. Utilizar las funciones estándar para la lectura y escritura de ficheros. Realizar programas que procesan ficheros.

7 Universidad del País Vasco / Euskal Herriko Unibertsitatea Ficheros de texto vs. Ficheros binarios La manipulación de ficheros implica en general abrirlos antes de poder realizar cualquier operación. Los f i c h e ros pueden abrirse de dos formas: modo texto y modo binario. La decisión entre cuál de los dos métodos emplear depende del tipo de gestión de ficheros a realizar y tiene que ver fundamentalmente con la definición del fin de fichero y el tratamiento de una nueva línea. El origen de estas diferencias se encuentra en el distinto tratamiento que los sistemas operativos UNIX y DOS dan a los ficheros. Entre los ficheros de texto y los ficheros binarios existe además otra diferencia a destacar: el formato para g u a rdarlos. En el formato de texto los números se guardan como cadenas de caracteres. En el form a t o binario, al contrario, los número se guardan tal y cómo están guardados en la memoria, esto es, los números enteros dos bytes, los reales cuatro, etc.

8 Universidad del País Vasco / Euskal Herriko Unibertsitatea Entrada/salida estandar La entrada/salida estándar es seguramente la más sencilla para ser usada y para ser programada. De los cuatro métodos vistos en la introducción a continuación examinaremos tres: entrada/salida de caracteres, entrada/salida de las cadenas de caracteres y entrada/salida formateada. Para empezar utilizaremos los ficheros en el modo texto Entrada/Salida de caracteres Como ejemplo en esta sección cre a remos un programa que escribirá en un fichero los caracteres introducidos mediante el teclado. #include <stdio.h> #include <conio.h> #define ENTER \r void main (void) FILE *fichero_ptr; char carac; fichero_ptr = fopen ( texto.txt, w ); carac = getche (); while (carac!= ENTER) putc (carac, fichero_ptr); carac = getche (); fclose (fichero_ptr); En los subapartados siguientes vamos a analizar las diferentes sentencias del programa escrito.

9 Universidad del País Vasco / Euskal Herriko Unibertsitatea Abriendo ficheros Antes de escribir o leer un fichero, debemos abrirlo para que la información de control correspondiente se cargue en la memoria y para que las funciones básicas de entrada/salida del sistema operativo puedan consultarlas. Al abrir el fichero esa información de control se guarda en una estructura denominada F I L E (definida en el fichero stdio.h) y la utilizaremos mediante un puntero. Por lo tanto cuando pedimos que se abra un fichero conseguimos el puntero a la estructura FILE, y cada fichero que abrimos consta de su estructura FILE y de su puntero. Por lo tanto en nuestro programa se hace necesaria la siguiente declaración: FILE * fichero_ptr; Para señalar que la variable fichero_ptres el puntero de FILE. A continuación abrimos el fichero mediante la siguiente sentencia: fichero_ptr = fopen ( texto.txt, w ); Esta sentencia le dice al sistema operativo que abra un fichero denominado texto.txt. También puede darse toda la dirección, esto es, ejemplos\fich\texto.txt. El segundo parámetro, w, indica que abrimos ese fichero para su escritura. La función f o p e n () nos da un puntero de la estructura FILE como valor de la función. Tal y como puede verse este segundo parámetro es una cadena de caracteres y expresa qué es lo que se puede hacer con el fichero. A continuación se nombran todas las opciones existentes: modo r w a r+ w+ a+ operaciones admitidas lecturas escrituras redacciones en el final del fichero (de no haber fichero, crearlo) lecturas + escrituras (fichero creado) lecturas + escrituras (si el fichero está creado se sobrescribe) lecturas + redacciones en el final del fichero (si no hay fichero se crea) De existir algún problema al abrir el fichero, la función f o p e n daría NULL. Con respecto al modo de abrir el fichero: cuando es texto t, cuando es binario b. Por ejemplo, la sentencia siguiente abre el fichero texto.txt para escribirlo en modo binario. fichero_ptr = fopen ( texto.txt, wb ); Escribiendo ficheros Para escribir en el fichero hemos utilizado la función putc () : putc (carac, fichero_ptr);

10 Universidad del País Vasco / Euskal Herriko Unibertsitatea 242 La función putc () y puchar () o putch () son parecidas, pero, como ya sabemos, estas dos últimas siempre escriben el carácter en pantalla y la función putc () escribe en los ficheros. Necesita dos parámetros: el carácter a escribir y el puntero de la estructura FILE, el mismo que conseguimos mediante f o p e n al abrir el fichero Cerrando ficheros Después de finalizada la operación realizada con el fichero hay que cerrarlo. Esto se realiza mediante la función fclose () y puede observarse en la siguiente sentencia: fclose (fichero_ptr); Leyendo ficheros Para leer ficheros carácter a carácter, utilizamos la función getc (). A continuación se muestra el programa que lee el contenido del fichero texto.txt: #include <stdio.h> #include <conio.h> void main (void) FILE *fichero_ptr; char carac; fichero_ptr = fopen ( texto.txt, r ); carac = getc (fichero_ptr); while (carac!= EOF) printf ( %c, carac); carac = getc (fichero_ptr); fclose (fichero_ptr); Como se puede observ a r, este programa debe de estar leyendo hasta dar con el último carácter del f i c h e ro. Cómo se hace esto? Para llevar esto a cabo el programa debe encontrar un carácter especial: EOF (E nd Of File) el final del fichero. Este no es un carácter normal. A decir verdad no es un carácter

11 Universidad del País Vasco / Euskal Herriko Unibertsitatea 243 sino un número entero y su valor es -1. El valor de EOF se encuentra definido en el fichero stdio.h. Cuando el sistema operativo advierte que se ha leído el último carácter devuelve este valor. Por lo tanto el programa lee hasta que aparece este valor y es entonces cuando termina la ejecución Problemas al abrir ficheros Los anteriores programas funcionarán bien si se cumple esta condición: no hay problemas al abrir los f i c h e ros. Supongamos que queremos leer el fichero texto.txt p e ro que todavía no ha sido creado. En ese caso la función fopen() nos dará un error y el programa no funcionará. Por lo tanto, antes de continuar hay que comprobar el valor que da fopen (). De existir problemas en la apertura de ficheros la función devuelve el valor NULL. Por lo tanto el programa para leer ficheros podemos escribirlo de la siguiente manera y evitar así todos estos problemas: #include <stdio.h> #include <conio.h> void main (void) FILE *fichero_ptr; char carac; if ((fichero_ptr = fopen ( texto.txt, r ))!= NULL) carac = getc (fichero_ptr); while (carac!= EOF) printf ( %c, carac); carac = getc (fichero_ptr); else fclose (fichero_ptr); printf ( \nel fichero texto.txt no puede abrirse. );

12 Universidad del País Vasco / Euskal Herriko Unibertsitatea Contando caracteres Vamos a escribir a continuaciónun programa que cuenta los caracteres contenidos en un fichero. #include <stdio.h> #include <conio.h> void main () FILE *fichero_ptr; int cuantos= 0; if ((fichero_ptr = fopen ( texto.txt, r ))!= NULL) while (getc (fichero_ptr)!= EOF) cuantos ++; fclose (fichero_ptr); printf ( \n%sel fichero contiene %d caracteres., texto.txt,cuantos); getch (); else printf ( \n%s el fichero no puede abrirse, texto.txt ); Resulta evidente que el resultado de este programa y el del comado DIR del sistema operativo DOS son d i f e rentes. El lenguaje C y el sistema operativo DOS entienden de manera diferente el carácter nueva línea \ n (ASCII 10). En el lenguaje C las líneas nuevas se expresan con un único carácter. En el sistema operativo DOS, en cambio, se utilizan dos caracteres c a r riage r e t u r n (ASCII 13) y l i n e f e e d (ASCII 10) Lectura y escritura de cadenas de caracteres (líneas) Leer o escribir cadenas de caracteres resulta tan sencillo como leer y escribir caracteres. En este caso se deben utilizar las funciones fputs () y fgets (). He aquí un ejemplo dodne el texto introducido desde el teclado, se escribe en el fichero mediante la función fputs ().

13 Universidad del País Vasco / Euskal Herriko Unibertsitatea 245 #include <stdio.h> #include <conio.h> #include <string.h> #define CARACTERES 81 void main (void) FILE *fichero_ptr; char cadena [ CARACTERES ]; if ((fichero_ptr = fopen ( texto.txt, w ))!= NULL) while (strlen (gets (cadena)) > 0) fputs (cadena, fichero_ptr); fputs ( \n, fichero_ptr); else fclose (fichero_ptr); printf ( \nel fichero texto.txt no puede abrirse. ); La función fputs () escribe el contenido de la cadena de caracteres en un fichero. Para ello toma dos parámetros: la cadena de carácter y el puntero del fichero. Este programa leerá continuamente el texto introducido mediante el teclado mientras la longitud de la cadena de caracteres sea superior a 0. En el programa anterior hemos visto cómo se escriben las cadenas de caracteres en los ficheros. Ahora mostraremos cómo se leen las cadenas de caracteres mediante la función fgets (). #include <stdio.h> #include <conio.h> #include <string.h> #define CARACTERES 81 void main (void) FILE *fichero_ptr;

14 Universidad del País Vasco / Euskal Herriko Unibertsitatea 246 char cadena [ CARACTERES ]; if ((fichero_ptr = fopen ( texto.txt, r ))!= NULL) while (fgets (cadena, CARACTERES-1, fichero_ptr)!= NULL) printf ( %s,cadena); else fclose (fichero_ptr); printf ( \nel fichero texto.txt no puede abrirse. ); La función fgets () toma tres parámetros. El primero es la dirección de memoria donde vamos a guardar la cadena de caracteres, es decir su puntero, la segunda la longitud máxima de la cadena de caracteres, y el tercero el puntero al fichero Entrada/Salida Formateada Para poder realizar la Entrada/Salida formateada a ficheros utilizamos funciones parecidas a printf () o scanf (): fprintf () y fscanf (). Para formatear la Entrada/Salida a ficheros también se pueden utilizar los especificadores que utilizan las funciones printf () y scanf (). A continuación se muestra un programa que ilustra la utilización de la función fprintf (). #include <stdio.h> #include <conio.h> #include <string.h> #define CARACTERES 40 #define VERDAD 1 #define FALSO 0 void main (void) FILE *fichero_ptr; char nombre [ CARACTERES ];

15 Universidad del País Vasco / Euskal Herriko Unibertsitatea 247 char flag; int codigo; float longitud; int control = VERDAD; if ((fichero_ptr = fopen ( texto.txt, w ))!= NULL) while (control == VERDAD) printf ( \npor favor, nombre, código y longitud: ); scanf ( %s %d %f, nombre, &codigo, &longitud); fprintf(fichero_ptr, %10s %10d %10.2f,nombre,codigo,longitud); fprintf (fichero_ptr, \n ); fflush (stdin); printf ( \n Más datos (b/e): ); scanf ( %c, &flag); if (flag == e ) control = FALSO; else fclose (fichero_ptr); printf ( \nel fichero texto.txt no puede abrirse. ); En el programa anterior hemos visto cómo se utiliza fprintf (). En el ejemplo que se muestra a continuación, se presenta el uso de la función fscanf (): #include <stdio.h> #include <conio.h> #include <string.h> #define CARACTERES 40

16 Universidad del País Vasco / Euskal Herriko Unibertsitatea 248 void main (void) FILE *fichero_ptr; char nombre [CARACTERES]; int codigo; float longitud; if ((fichero_ptr = fopen ( texto.txt, r ))!= NULL) while (fscanf (fichero_ptr, %s %d %f, nombre, &codigo, &longitud)!= EOF) printf ( \n%10s %10d %10.2f, nombre, codigo, longitud); else fclose (fichero_ptr); printf ( \nel fichero texto.txt no puede abrirse. );

17 Universidad del País Vasco / Euskal Herriko Unibertsitatea Ficheros de texto vs. Ficheros binarios: algunos datos adicionales Como hemos visto al comienzo de este tema, hay dos tipos de ficheros: ficheros binarios y ficheros de texto. Las diferencias se encuentran sobre todo en el formato para guardar los números y en el modo de apertura de los ficheros Guardando números en ficheros de texto Cómo se guardan los números en los ficheros de texto? Sabemos cómo se guardan en la memoria, por ejemplo: un número entero necesita dos bytes, los reales 4. Cada carácter necesita en los ficheros de texto de un byte. Los números se guardan como cadena de caracteres. Por ejemplo el número 878 se guarda en la memoria mediante dos bytes pero en un fichero de texto necesita 3 bytes, cada byte es un número. El número real necesita 4 bytes en la memoria, pero en el fichero necesita 5, cuatro para los números y uno para el punto. Por lo tanto para guardar números los ficheros de texto no son nada adecuados y la solución es utilizar ficheros binarios Líneas nuevas en los ficheros de texto y binarios La línea nueva pide dos caracteres en el fichero de texto (Carriage Return y Linefeed). Pero el lenguaje C al leer esos dos caracteres en modo texto, los convierte en uno. Si abrimos los ficheros en modo binario esto no sucede y la diferencia con la orden DIR del sistema operativo DOS que existía en el programa que contabilizaba caracteres de la sección anterior (4.1.6.) desaparece. #include <stdio.h> #include <conio.h> void main (void) FILE *fichero_ptr; int cuantos = 0;

18 Universidad del País Vasco / Euskal Herriko Unibertsitatea 250 if ((fichero_ptr = fopen ( texto.txt, rb ))!= NULL) while (getc (fichero_ptr)!= EOF) cuantos ++; fclose (fichero_ptr); printf ( \n El fichero %s contiene %d caracteres., texto.txt, cuantos); else printf ( \n El fichero %s no puede abrirse, texto.txt ); La única diferencia entre estos dos programas reside en el modo de apertura de los ficheros. En este caso en la sentencia: fopen ( texto.txt, rb ) hemos escrito b, indicando claramente que queremos abrir el fichero en modo binario Final de fichero en ficheros de texto y en binarios E n t re estos dos modos, también existen diferencias a la hora de detectar el final de un fichero. En los dos sistemas se tiene en cuenta la longitud del fichero y para expresar el final se utiliza el carácter EOF. En los f i c h e ros de texto se introduce un carácter especial detrás del último carácter (1A hexadecimal 26 decimal). Cuando la función de lectura encuentra dicho carácter devuelve EOF como valor. 6. Entrada/salida bloque Utilizando la entrada/salida denominada bloque podemos escribir en los ficheros binarios número s, a rrays, estructuras, arrays de estructuras, etc. de una sola vez. Por lo tanto se utiliza para guardar y leer cantidades fijas de datos, y se consigue mediante las funciones fwrite () y fread (). En los subapartados siguientes veremos ejemplos de utilización de este tipo de lectura y escritura de ficheros Escritura de estructuras mediante fwrite () En el programa que viene a continuación se muestra cómo escribimos estructuras en los ficheros binarios mediante la utilización de la función fwrite ().

19 Universidad del País Vasco / Euskal Herriko Unibertsitatea 251 #include <stdio.h> #include <conio.h> #include <string.h> #define CARACTERES 40 struct trabajadores char nombre [ CARACTERES ]; int numero; float longitud; ; void main (void) struct trabajadores agente; FILE *fichero_ptr; char flag = b ; if ((fichero_ptr = fopen ( agente.dat, wb ))!= NULL) do printf ( \nel nombre por favor: ); gets (agente.nombre); printf ( \npor favor el número oculto: ); scanf ( %d, &agente.numero); printf ( \nlongitud del agente por favor: ); scanf ( %f, &agente.longitud); fflush (stdin); fwrite (&agente, sizeof (struct trabajadores), 1, fichero_ptr); printf ( \n Más datos (b/e): ); flag = getche (); while (flag == b ); fclose (fichero_ptr);

20 Universidad del País Vasco / Euskal Herriko Unibertsitatea 252 else printf ( \nel fichero agente.dat no puede abrirse. ); La sentencia que utilizamos para escribir la estructura en el fichero es la siguiente: fwrite (&agente, sizeof (struct trabajadores), 1, fichero_ptr); El primer parámetro es la dirección de la estructura que se va a escribir. El segundo el tamaño de la e s t ructura. Para ello utilizamos la función sizeof (). El terc e ro es cuántas veces queremos escribir esa e s t ructura. El cuarto es el puntero de la estructura FILE (el puntero del fichero que queremos escribir) Escritura de arrays mediante fwrite () En el programa que viene a continuación se muestra cómo se guarda un array entero en un fichero mediante la función fwrite() : #include <stdio.h> #include <conio.h> #include <string.h> int tabla [10 ] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ; void main (void) FILE *fichero_ptr; if ((fichero_ptr = fopen ( tabla.dat, wb ))!= NULL) else fwrite (tabla, sizeof (int tabla), 1, fichero_ptr); fclose (fichero_ptr); printf ( \nel fichero tabla.dat no puede abrirse. );

21 Universidad del País Vasco / Euskal Herriko Unibertsitatea Lectura de estructuras mediante la función fread () En la sección 6.1 hemos examinado un programa que escribía estructuras en un fichero. Si queremos leer el fichero creado mediante este programa debemos utilizar la función fread (). En el siguiente programa se muestra el uso de esta función. #include <stdio.h> #include <conio.h> #include <string.h> #define CARACTERES 40 struct trabajadores char nombre [ CARACTERES ]; int numero; float longitud; ; void main (void) struct trabajadores agente; FILE *fichero_ptr; if ((fichero_ptr = fopen ( agente.dat, rb ))!= NULL) while(fread (&agente, sizeof (struct trabajadores), 1, fichero_ptr) == 1) printf ( \nnombre: %s, agente.nombre); printf ( \nnúmero oculto: %d, agente.numero); printf ( \nlongitud del agente: %f, agente.longitud); else fclose (fichero_ptr); printf ( \nel fichero agente.dat no puede abrirse. ); La particularidad de este programa reside en la siguiente sentencia: fread (&agente, sizeof (struct trabajadores), 1, fichero_ptr)

22 Universidad del País Vasco / Euskal Herriko Unibertsitatea 254 La función f read () toma 4 parámetros. En el primero se guarda la información leída del fichero. El segundo define la longitud de la información leída. El terc e ro expresa la cantidad de datos leídos y el cuarto es el puntero del fichero abierto. La función fread () devuelve un valor: la cantidad de datos leídos. Por lo tanto cuando lea bien el tercer parámetro y el valor devuelto por la función serán iguales Punteros internos de los ficheros: las funciones fseek () y ftell () Para señalar los bytes internos de un fichero también utilizamos los punteros. Un puntero interno de un fichero es el puntero de un byte contenido en el fichero. Las funciones vistas hasta el momento utilizan este puntero para realizar las operaciones del fichero. Cada vez que escribimos algo, el puntero se coloca detrás de lo que hemos escrito y de este modo lo que se escribe a continuación se escribe bien. Cuando cerramos un fichero el puntero se sitúa de nuevo al comienzo del fichero. La función fseek () controla el puntero interno del fichero. Toma tres parámetros: el primero expresa el p u n t e r o del fichero a b i e rto, el segundo toma el nombre o ffset y expresa la distancia que vamos a mover desde el comienzo del fichero. El terc e ro se denomina m o d o e indica la forma en la que medimos el parámetro offset: modo Offset 0 Desde el comienzo del fichero SEEK_SET 1 Desde la posición actual SEEK_CUR 2 Desde el final de fichero SEEK_END La función fseek () devuelve el valor 0 si es que todo ha ido bien, de lo contrario 1. Ejemplo: fseek (fichero_ptr, 0L, 2) La ejecución de esta sentencia significaría ir a la posición situada a 0 bytes a partir del final de fichero que señala fichero_ptr. La función ftell () devuelve la posición del puntero de fichero mediante un número entero. Por ejemplo: z = ftell (fichero_ptr); en la variable z se encontrará la posición del puntero fichero_ptr.

23 Universidad del País Vasco / Euskal Herriko Unibertsitatea Bibilografía AUTONAKOS, K.C., MANSFIELD, K.C. Programación Estructurada en C. Ed. Prentice Hall. KERNIGHAN, BW., RITCHIE D.M. The C Programming Language. Ed. Prentice Hall. PRESS, W.H., TEKOLSKY, S.A., VETTERLING, W.T., FLANNERY, B.P. Numerical Recipes in C. Ed. Cambridge QUERO, E., LÓPEZ HERRANZ, J. Programación en Lenguajes Estructurados. Ed. Paraninfo. WA I T E, M., PR ATA, S., MA RT I N, D. P rogramación en C. Introducción y Conceptos Avanzados. Ed. Anaya Multimedia.

24 Universidad del País Vasco / Euskal Herriko Unibertsitatea Ejercicios propuestos 1. Los datos de la población de Bilbao se encuentran guardados en un fichero CENSO. Mediante un p rograma, crear un nuevo fichero que recogerá los datos de las personas que tengan 60 o más años (incluidos los de este año). La información situada en el fichero fuente no se borrará. Calcular el porcentaje que suponen sobre el total. El fichero fuente también debe ser creado. Para ello se definirá un estructura que contenga los siguientes campos: nombre, apellidos, dirección y fecha de nacimiento. El programa debe visualizar ambos ficheros y el porcentaje calculado. 2. El fichero conteniendo los datos de los trabajadores de una empresa se ha estropeado. La inform a- ción sobre los trabajadores es la siguiente: Nombre Apellidos Dirección Fecha_de_entrada numero_seguridad_social Número_cuenta_corriente La información contenida se ha repartido en dos ficheros diferentes. Los primeros cuatro campos se han situado, para todos los trabajadores, en el fichero TRABAJADORES, y los dos últimos se han ubicado en el fichero NUMERO. Afortunadamente el elemento n del fichero TRABAJADORES y el elemento n de NUMERO son los datos de la misma persona. Escribir un programa que reparará el fichero anterior. 3. Disponemos de un fichero denominado VUELOS.DAT donde se incluye la información de los vuelos de salida de un aeropuerto: NUM VUELO: número entero DESTINO: número entero, código de la ciudad de destino HORARIO SALIDA: cadena de caracteres (Para introducir el horario utilizar el siguiente formato HH:MM) NUMERO DE ASIENTOS LIBRES: número entero

25 Universidad del País Vasco / Euskal Herriko Unibertsitatea 257 La información está guardada de la siguiente manera: NUM VUELO DESTINO ASIENTOS HORARIO SALIDA : :15 Disponemos también de otro fichero denominado DESTINO.DAT que guarda el nombre de la ciudad de destino y su código correspondiente, organizado de esta manera: CODIGO DESTINO 5 MADRID 10 LONDRES La información contenida en este fichero se guardará en un array de cadena de caracteres, siendo el código de la ciudad el índice del arr a y. En la ejecución del programa aparecerá el siguiente menú. 1. INFORMACIÓN DE VUELOS 2. INFORMACIÓN SOBRE VUELOS A UNA CIUDAD 0. SALIR DEL PROGRAMA 1. Opción Visualizará toda la información sobre vuelos siguiendo este formato: NUM VUELO DESTINO HORARIO SALIDA ASIENTOS 1 MADRID 09: LONDRES 11: Opción P reguntará el destino del avión y mediante el formato anterior visualizará la información de todos los vuelos con ese destino. 4. Crearemos ficheros binarios de datos utilizando para ello los ficheros de texto (VUELOS.DAT y DES- TINO.DAT) creados en el ejercicio anterior. Crearemos ficheros de texto utilizando estos ficheros binarios y a petición del usuario. Estos ficheros de texto contendrán la información de todos los vuelos con destino a una ciudad organizados de esta manera: Destino: MADRID NUM VUELO HORARIO SALIDA ASIENTOS 1 09: : :00 18 El nombre del fichero será el de la ciudad de destino.

26

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

LENGUAJE. Tema 8 Ficheros

LENGUAJE. Tema 8 Ficheros LENGUAJE Tema 8 Ficheros FICHEROS EN C Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA LSC 2003-1 5221 Lenguaje de Programación Estructurada PRÁCTICA No. 8 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado

Más detalles

Operaciones de E/S en ANSI C

Operaciones de E/S en ANSI C Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los

Más detalles

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

ARCHIVOS. 1. Introducción. 2. Definición de archivo. 3. Archivos de acceso secuencial. 4. Gestión de un archivo secuencial de estructuras ARCHIVOS 1. Introducción 2. Definición de archivo 3. Archivos de acceso secuencial 3.1. fopen 3.2. fclose 3.3. fcloseall 3.4. putc 3.5. getc 3.6. fscanf 3.7. fprintf 4. Gestión de un archivo secuencial

Más detalles

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

FILE *nombre_puntero_fichero; fopen(char_nombre_archivo,char_modo_apertura ); MODOS DE APERTURA. Abre un archivo de texto para lectura. FICHEROS El sistema de archivos de C está diseñado para secuencias que son independientes del dispositivo. Existen dos tipos se secuencias: de texto que es una ristra de caracteres organizados en líneas

Más detalles

7. Manejo de Archivos en C.

7. Manejo de Archivos en C. 7. Manejo de Archivos en C. Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos se almacenan normalmente en un dispositivo de

Más detalles

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Entrada y Salida de Datos Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia E/S por consola Se refiere a las operaciones que ocurren

Más detalles

Entrada y Salida de Datos. Lectura de archivos.

Entrada y Salida de Datos. Lectura de archivos. 1 Entrada y Salida de Datos. Lectura de archivos. Son innumerables los casos en los que son necesarios guardar datos entre ejecuciones de un programa para poder ser recuperados en futuras sesiones. Los

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma: Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.

Más detalles

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

CAPITULO 4: ENTRADA Y SALIDA DE DATOS. CAPITULO 4: ENTRADA Y SALIDA DE DATOS. 1. INTRODUCCIÓN. Hemos visto que el lenguaje C va acompañado de una colección de funciones de biblioteca que incluye un cierto número de funciones de entrada/salida.

Más detalles

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero

TEMA 7: Ficheros. TEMA 7: Ficheros. 7.1.-Concepto de fichero TEMA 7: Ficheros 7.1.-Concepto de fichero Todas las estructuras de datos que hemos visto hasta ahora utilizan memoria principal. Esto tiene dos limitaciones importantes: 1. Los datos desaparecen cuando

Más detalles

Unidad 7: Procesamiento de archivos en el lenguaje C

Unidad 7: Procesamiento de archivos en el lenguaje C Unidad 7: Procesamiento de archivos en el lenguaje C 1º de ASI Esta obra está bajo una licencia de Creative Commons. Autor: Jorge Sánchez Asenjo (año 2005) http://www.jorgesanchez.net email:info@jorgesanchez.net

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C. El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos

Más detalles

Repaso 03: Manejo de Archivos en C

Repaso 03: Manejo de Archivos en C Repaso 03: Manejo de Archivos en C Solicitado: Ejercicios 03: Programa con Archivos M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras

Más detalles

LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B)

LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B) APRENDERAPROGRAMAR.COM LEER Y ESCRIBIR ARCHIVOS DE TEXTO CON PHP. FUNCIONES FOPEN (MODOS), FGETS, FPUTS, FCLOSE Y FEOF. EJEMPLOS (CU00836B) Sección: Cursos Categoría: Tutorial básico del programador web:

Más detalles

MIS. Lizbeth Alejandra Hernández González

MIS. Lizbeth Alejandra Hernández González MIS. Lizbeth Alejandra Hernández González Función en Pascal Descripción VariableArch:Text VariableArch:File of Integer Assign(VariableArch,Nombre) FileMode=valor; Reset(VariableArch); Append(VariableArch);

Más detalles

Programación I Ficheros de texto

Programación I Ficheros de texto 1 Ficheros de texto Iván Cantador 2 Ficheros (I) 3 Un ficheroo archivoes un conjunto de bits que es tratado por el sistema operativo como única unidad lógica Un fichero está identificado por su nombre

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida por archivos en lenguaje C

Laboratorio de Arquitectura de Redes. Entrada y salida por archivos en lenguaje C Laboratorio de Arquitectura de Redes Entrada y salida por archivos en lenguaje C Entrada y salida por archivos lenguaje C Archivos y secuencias en lenguaje C Apertura y cierre de un archivo Fin de fichero

Más detalles

Lenguajes de programación LPSI EUI UPM CADENAS DE CARACTERES

Lenguajes de programación LPSI EUI UPM CADENAS DE CARACTERES CADENAS DE CARACTERES Arrays unidimensionales de caracteres \0 es el carácter nulo Toda cadena debe acabar en \0 Lo que hay después de \0 en el array no se considera parte de la cadena Las cadenas constantes

Más detalles

Programación Estructurada

Programación Estructurada 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

Más detalles

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8 TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 1.1 VECTORES O ARRAYS UNIDIMENSIONALES 2 1.2 ARRAYS MULTIDIMENSIONALES 3 1.3 INICIALIZACIÓN DE ARRAYS 4 1.3.1 INICIALIZACIÓN DE ARRAYS SIN

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

Tema 07: Tipos de datos en C & entrada y salida estándar

Tema 07: Tipos de datos en C & entrada y salida estándar Tema 07: Tipos de datos en C & entrada y salida estándar M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 3

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 3 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C Sesión 3 Contenidos: 1. Funciones de entrada/salida 2. Manejo de ficheros 3. Gestión dinámica de memoria 4. Otras funciones

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

UNAN LEÓN Departamento de Computación. Asignatura: ALGORITMO Y ESTRUCTURA DE DATOS MANEJO DE ARCHIVOS (FICHEROS) EN C

UNAN LEÓN Departamento de Computación. Asignatura: ALGORITMO Y ESTRUCTURA DE DATOS MANEJO DE ARCHIVOS (FICHEROS) EN C 2011 UNAN LEÓN Departamento de Computación Asignatura: ALGORITMO Y ESTRUCTURA DE DATOS MANEJO DE ARCHIVOS (FICHEROS) EN C TEMA 1: MANEJO DE ARCHIVOS EN C 1.1 GENERALIDADES: Muy a menudo necesitamos almacenar

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

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

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

Más detalles

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Problema 1: [1 punto] Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Duración: 2,45 horas 10 PUNTOS Publicación de notas 26 de enero Revisión de examen 1 de febrero En el horario

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

Guía práctica de estudio 12: Lectura y escritura de datos

Guía práctica de estudio 12: Lectura y escritura de datos Guía práctica de estudio 12: Lectura y escritura de datos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 12: Lectura

Más detalles

LECTURA Y ESCRITURA (fwrite) DE ARCHIVOS DE TEXTO CON PHP. MODOS DE ACCESO. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00837B)

LECTURA Y ESCRITURA (fwrite) DE ARCHIVOS DE TEXTO CON PHP. MODOS DE ACCESO. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00837B) APRENDERAPROGRAMAR.COM LECTURA Y ESCRITURA (fwrite) DE ARCHIVOS DE TEXTO CON PHP. MODOS DE ACCESO. EJERCICIOS RESUELTOS Y EJEMPLOS. (CU00837B) Sección: Cursos Categoría: Tutorial básico del programador

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Lenguaje C Elementos de un Programa Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006 Objetivos Conocer los elementos que conforman un programa en C 1. Elementos léxicos de un Programa Cuando el programa

Más detalles

Fundamentos de programación

Fundamentos de programación Fundamentos de programación Estructuras de Control Estructuras de control Estructuras de control Estructura secuencial Estructura alternativa Sentencias if, if else Sentencias if else anidadas El operador

Más detalles

Archivos de datos en C Ficheros

Archivos de datos en C Ficheros 2013 Archivos de datos en C Ficheros Departamento de Computación ARCHIVOS DE DATOS EN C INTRODUCCIÓN: En la actualidad es común procesar volúmenes de información tan grandes que es prácticamente imposible

Más detalles

Introducción al lenguaje C

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Uruguay 29 de marzo de 2016 Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10;

Más detalles

Manejo de Archivos en Lenguaje C++

Manejo de Archivos en Lenguaje C++ SEP SEIT DGIT INSTITUTO TECNOLÓGICO DE NUEVO LAREDO DEPTO. DE SISTEMAS Y COMPUTACIÓN Manejo de Archivos en Lenguaje C++ Por: Ing. Bruno López Takeyas, M.C. http://www.itnuevolaredo.edu.mx/takeyas Email:

Más detalles

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática Tema 7 Fundamentos de Informática Índice 1. Qué es un vector? 2. Vectores unidimensionales 3. Cadenas de caracteres 4. Paso de vectores unidimensionales a funciones. 5. Vectores multidimensionales: matrices

Más detalles

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20%

EXAMEN PARCIAL TRABAJO INTEGRADOR (TI) EVALUACIÓN CONTINUA PESO PORCENTUAL PESO PORCENTUAL 1 30% 06-MAY-14 30% 03-MAY-14 20% 20% UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS ROMA PLANEACIÓN DIDÁCTICA LICENCIATURA EJECUTIVA CICLO 201425 Nombre de la asignatura: Lenguajes Operativos Horas por semana: 6 Nombre del docente: Olvera Jiménez

Más detalles

Archivos. qué es un archivo?

Archivos. qué es un archivo? Departamento de Informática Universidad Técnica Federico Santa María Archivos Programación de Computadores Prof. Teddy Alfaro qué es un archivo? Un archivo es una estructura de datos de un mismo tipo,

Más detalles

Tema 10: Estructuras de control de entrada y salida

Tema 10: Estructuras de control de entrada y salida Tema 10: Estructuras de control de entrada y salida Estructuras de control de entrada y salida (input, disp, fopen, fclose, fscanf, fprintf, textread, load, save). Instrucciones de entrada (lectura) y

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 2 Nombre: El lenguaje de programación C Contextualización Una constante en todos los lenguajes de programación (viejos y nuevos) es la implementación

Más detalles

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro:

En el siguiente ejemplo se declara un registro y luego variables de ese tipo de registro: LABORATORIO #6 (Parte I y II) REGISTROS Y ARCHIVOS Parte I: Registros Un registro es una estructura de datos formado por un conjunto de elementos llamados campos, no necesariamente del mismo tipo y que

Más detalles

Programación En Lenguaje C

Programación En Lenguaje C Programación En Lenguaje C Introducción Básica para Primero de Bachillerato TECNOLOGÍA DE LA INFORMACIÓN IES PALAS ATENEA Lenguaje C Estructurado Secuencial De alto Nivel Altamente portable Necesita un

Más detalles

LENGUAJE. Tema 1 - Introducción

LENGUAJE. Tema 1 - Introducción LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del

Más detalles

Funciones y paso de parámetros

Funciones y paso de parámetros Unidad Didáctica 24 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0 Índice Consideraciones sobre funciones Estructura de una función

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Trabajando

Más detalles

Lenguaje de programación C. Introducción

Lenguaje de programación C. Introducción Lenguaje de programación C Introducción 1 Elementos del lenguaje C Colección de funciones Estas funciones contienen declaraciones, sentencias, expresiones y otros elementos que en conjunto indican a la

Más detalles

Capítulo 2. Conceptos básicos del lenguaje C

Capítulo 2. Conceptos básicos del lenguaje C Capítulo 2. Conceptos básicos del lenguaje C Universidad del País Vasco / Euskal Herriko Unibertsitatea 3 Índice del capítulo 1. Intr oducción........................................ 5 2. Objetivos...........................................

Más detalles

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

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Introducción a Lenguaje C. Jornadas de Octubre 2009 Grupo de Usuarios de Linux Universidad Carlos III Tania Pérez

Introducción a Lenguaje C. Jornadas de Octubre 2009 Grupo de Usuarios de Linux Universidad Carlos III Tania Pérez Jornadas de Octubre 2009 Grupo de Usuarios de Linux Universidad Carlos III Tania Pérez El lenguaje C es: Estructurado Portable. Flexible, veloz y potente. Fácil modificación. Compilado. 2 Algunas características

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 1: Punteros Objetivos Se hará hincapié en la aritmética de punteros

Más detalles

PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F)

PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F) APRENDERAPROGRAMAR.COM PASO DE PARÁMETROS O ARGUMENTOS EN C. POR DEFECTO, POR VALOR O POR REFERENCIA. SIZEOF MEMORIA (CU00550F) Sección: Cursos Categoría: Curso básico de programación en lenguaje C desde

Más detalles

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( "\nla temperatura media es %f\n", media );

media = ( temp0 + temp1 + temp2 + temp3 + temp temp23 ) / 24; printf( \nla temperatura media es %f\n, media ); Arrays en el lenguaje C Introducción Una posible definición de array sería: Un conjunto de datos del mismo tipo, identificados por el mismo nombre, y que se pueden distinguir mediante un número de índice.

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Entrada y salida en C. Informática II

Entrada y salida en C. Informática II Entrada y salida en C Informática II - 2012 Argumentos en la línea de comando Dentro de un entorno que maneje C hay forma de pasar argumentos en la línea de comando o de parámetros cuando se ejecuta un

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

Más detalles

Lenguajes de programación

Lenguajes de programación Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones Etapas

Más detalles

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina Variables Especificadores de Formatos Secuencias de Escape. EJEMPLO. Programa que permite mostrar en pantalla BIENVENIDOS A LA PROGRAMACIÓN EN LENGUAJE C #include #include { printf("bienvenidos

Más detalles

OPERADORES Y EXPRESIONES

OPERADORES Y EXPRESIONES OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador

Más detalles

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO TIPOS DE DATOS BÁSICOS: Tipo Tipo Tamaño aproximado en bits Rango mínimo Carácter char 8 0 a 55 Entero int 16-3767 a 3767 Real float 3

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 2 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 2 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Reserva

Más detalles

Matías Zabaljáuregui

Matías Zabaljáuregui El buffer de la entrada estándar en GNU/Linux Matías Zabaljáuregui (matiasz@info.unlp.edu.ar) http://linux.linti.unlp.edu.ar 0. Introducción Se intentará describir en términos sencillos la forma de tratar

Más detalles

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES

TEMA 02 TIPOS, OPERADORES Y EXPRESIONES TEMA 02 TIPOS, OPERADORES Y EXPRESIONES 2.1.- Introducción. 2.2.- Datos. 2.3.- Entrada y salida básica. 2.4.- Modificadores. 2.5.- Cadenas de caracteres. 2.6.- Operadores. 2.7.- Precedencia de operadores.

Más detalles

Estructuras de Datos Declaraciones Tipos de Datos

Estructuras de Datos Declaraciones Tipos de Datos Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación

Más detalles

Guía rápida para gestionar el puerto paralelo del PC

Guía rápida para gestionar el puerto paralelo del PC Guía rápida para gestionar el puerto paralelo del PC Descarga desde: http://eii.unex.es/profesores/jisuarez/descargas/ip/guia_rapida_pp.pdf José Ignacio Suárez Marcelo Universidad de Extremadura Escuela

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2013-2014. 1º Grado en Informática Práctica 2: Memoria dinámica y Bibliotecas Objetivos Practicar conceptos

Más detalles

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos.

Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Universidad Rafael Urdaneta Escuela de Ingeniería de Computación Números enteros (cortos, largos y sin signo) Números reales (precisión simple y doble) Carácter y cadenas de caracteres. Lógicos. Asignación

Más detalles

Descripción de un Programa

Descripción de un Programa Unidad 2 Descripción de un Programa 1 El Lenguaje C (1) El lenguaje C fue creado en 1972 por Ken L. Thompson y Dennis M. Ritchie en los Laboratorios Bell. Es evolución de un lenguaje más antiguo: B (a

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS Departamento de Ciencias de la Computación e IA Subprogramas en C Objetivo Una vez que tengamos un programa que resuelva un problema concreto, ser capaces de usarlo

Más detalles

Ejercicios Tema 6. Funciones

Ejercicios Tema 6. Funciones Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.

Más detalles

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

CAPÍTULO 5 MANEJO DE ARCHIVOS

CAPÍTULO 5 MANEJO DE ARCHIVOS CAPÍTULO 5 MANEJO DE ARCHIVOS Actualmente existen dos formas para manejar los archivos en lenguaje C, uno llamado de primer nivel (también llamado secuencial) y otro llamado de segundo nivel (también llamado

Más detalles

EDITRAN/TR. Windows/Unix. Manual de referencia

EDITRAN/TR. Windows/Unix. Manual de referencia EDITRAN/TR Windows/Unix Manual de referencia INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. INTERFAZ DE PROGRAMACIÓN.... 2-1 2.1. DESCRIPCION... 2-1 2.2. FUNCIONES DE ENVIO Y RECEPCION...

Más detalles

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez

Memoria Dinámica. Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez Jornadas de Marzo 2010 Grupo de Usuarios de Linux Tania Pérez 1. PUNTEROS 2. MEMORIA DINÁMICA 2 1. PUNTEROS 3 Qué es un puntero? Un tipo de variable cuyo valor es la dirección de memoria de otra variable.

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros

Práctica 3. Paso de parámetros entre subrutinas. 3. Consideraciones sobre el paso de parámetros Práctica 3. Paso de parámetros entre subrutinas 1. Objetivo de la práctica El objetivo de esta práctica es que el estudiante se familiarice con la programación en ensamblador y el convenio de paso de parámetros

Más detalles

Se guardan en archivos con extencion c y los cabezales con extension h

Se guardan en archivos con extencion c y los cabezales con extension h Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767

Más detalles

Tema 3: Ficheros en C++ Índice. Notas. Programación 2. Curso Notas

Tema 3: Ficheros en C++ Índice. Notas. Programación 2. Curso Notas de : en C++ Programación 2, Curso 2016-2017 Índice de, 1 de de un fichero de (1/2) de un fichero de 2, de un fichero binario de un fichero binario 3 Control de errores de lectura/escritura Qué es un fichero

Más detalles

Entrada y salida de datos en C y C++

Entrada y salida de datos en C y C++ Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida

Más detalles

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011

Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 Módulo 2. Fundamentos de Programación Informática y Programación Escuela de Ingenierías Industriales y Civiles Curso 2010/2011 1 CONTENIDO Tema 1. Conceptos generales de algorítmica Tema 2. Sentencias

Más detalles

LENGUAJE. Tema 3 Elementos de un programa II

LENGUAJE. Tema 3 Elementos de un programa II LENGUAJE Tema 3 Elementos de un programa II ELEMENTOS DE UN PROGRAMA II Funciones. Procedimientos. Entrada/Salidadedatos. Variables locales / globales. Programación con archivos múltiples. FUNCIONES Además

Más detalles

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1)

Tema 8: Tipos de datos. Sesión 24: Tipos de datos (1) Tema 8: Tipos de datos Sesión 24: Tipos de datos (1) Referencias Programming Languages Pragmatics: Capítulo 7, apartados 7.1 (Type Systems) y 7.2 (Type Checking) Programming in Scala: Capítulo 5 (Basic

Más detalles

INTRODUCCIÓN AL LENGUAJE C

INTRODUCCIÓN AL LENGUAJE C INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática EUP ULPGC Jose Torres 1 de 36 Historia de C Precursores: muchas ideas provienen de BCPL (Martin Richards, 1967) y de B (Ken Thompson, 1970) C fue diseñado

Más detalles

Tipos de Datos Estructurados

Tipos de Datos Estructurados - Unidad 3 Tipos de Datos Estructurados 1 Tipos de Datos Compuestos en C 2 Arreglos (1) Un arreglo (array) una colección homogénea de datos simples ó compuestos, que se referencian con un nombre comú,

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Lenguaje de Programación

Lenguaje de Programación UG C++ C++ Universidad de Guanajuato Sesión 33 Una estructura es un grupo de variables las cuales pueden ser de diferentes tipos sostenidas o mantenidas juntas en una sola unidad. La unidad es la estructura.

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

CURSO BASICO DE PROGRAMACION EN C. Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M.

CURSO BASICO DE PROGRAMACION EN C. Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M. CURSO BASICO DE PROGRAMACION EN C Apoyo a Investigación C. P. D. Servicios Informáticos U. C. M. CURSO BASICO DE PROGRAMACION EN C. Servicios Informáticos U. C. M.-1-1 INDICE 1 INDICE 1 2 INTRODUCCION

Más detalles

Elementos de un programa en C

Elementos de un programa en C Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución

Más detalles

Manual básico de Programación en C++

Manual básico de Programación en C++ UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN Materia: ESTRUCTURA DEL COMPUTADOR Manual básico de Programación en C++ Selección: DZ Índice (RECOPILACION I) Diferencias entre

Más detalles

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. APUNTADORES Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable. No hay que confundir una dirección de memoria con el contenido

Más detalles

TEMA 4. ESTRUCTURAS DE CONTROL

TEMA 4. ESTRUCTURAS DE CONTROL M.P. Sesmero, P. de Toledo, F.J. Ordoñez, J. Gómez-Romero, J.A. Iglesias, J.L. Mira Programación TEMA 4. ESTRUCTURAS DE CONTROL Grado en Ingeniería en Tecnologías Industriales Programación CONTENIDOS 4.1.

Más detalles

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO. TRUJILLO 1.- Resumen de Prog1 Comentarios es C++ Declaraciones de variables.

Más detalles