La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación.

Presentaciones similares


Presentación del tema: "Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación."— Transcripción de la presentación:

1 Tema 3. Fundamentos para la construcción de código a partir del algoritmo
Objetivo: El alumno construirá programas utilizando el lenguaje de programación C a través de un análisis y modelado algorítmico previo.

2 3. Fundamentos para la construcción de código a partir del algoritmo
Contenido: Sintaxis básica y semántica.  Variables, tipos, expresiones y asignación. Estructuras de control condicional e iterativo. Funciones y paso de parámetros. Descomposición estructurada. Manejo de E/S. Estrategias de depuración. Tipo de errores. Técnicas de depuración.

3 3.6 Manejo de E/S Lectura y Escritura de Archivos Muchas aplicaciones requieren escribir o leer información de un dispositivo de almacenamiento auxiliar. Tal información se guarda en el dispositivo de almacenamiento en la forma de un archivo de datos. Por tanto, los archivos de datos nos permiten almacenar información de modo permanente y acceder y modificar la misma cuando sea necesario.

4 3.6 Manejo de E/S Lectura y Escritura de Archivos En C existe un conjunto amplio de funciones de biblioteca para crear y procesar archivos de datos. Cuando se trabaja con archivos, el primer paso es establecer un área de buffer, donde la información se almacena temporalmente mientras se está transfiriendo entre la memoria de la computadora y el archivo de datos. Esta área de buffer permite leer y escribir información del archivo más rápidamente de lo que sería posible de otra manera.

5 3.6 Manejo de E/S Lectura y Escritura de Archivos El área de buffer se establece escribiendo FILE *apFile; Donde FILE (se requieren letras mayúsculas) es un tipo especial de datos (estructura) que establece el área de buffer y apFile es la variable apuntador que indica el principio de esta área. El tipo de estructura FILE está definido en stdio.h

6 3.6 Manejo de E/S Lectura y Escritura de Archivos Un archivo debe ser abierto antes de ser creado o procesado. Esto asocia el nombre del archivo con el área de buffer (o apuntador). También se especifica cómo se va a usar el archivo, sólo para lectura, sólo para escritura, o para lectura/escritura, en el que se permiten ambas operaciones. Para abrir un archivo se usa la función de biblioteca fopen. apFile = fopen(nombreArchivo, tipoArchivo); Donde nombreArchivo y tipoArchivo son cadenas de caracteres que representan, respectivamente, el nombre del archivo y la manera en la que el archivo será utilizado.

7 3.6 Manejo de E/S Lectura y Escritura de Archivos El tipoArchivo debe ser una de las cadenas mostradas en la siguiente Tabla: “r” Abre un archivo existente en modo de sólo lectura. “w” Abre un archivo nuevo en modo sólo escritura. Si el archivo ya existe lo reemplaza. “a” Abre un archivo existente en modo añadir. Si el archivo no existe lo crea. “r+” Abre un archivo existente en modo lectura y escritura “w+” Abre un archivo nuevo en modo lectura y escritura. Si el archivo ya existe lo reemplaza. “a+” Abre un archivo en modo lectura y añadir. Si el archivo no existe lo crea.

8 3.6 Manejo de E/S Lectura y Escritura de Archivos La función fopen devuelve un apuntador al principio del área de buffer asociada con el archivo. Se devuelve un valor NULL si no se puede abrir el archivo, por ejemplo si no se puede encontrar un archivo existente.

9 3.6 Manejo de E/S Lectura y Escritura de Archivos Finalmente, un archivo de datos debe cerrarse al final del programa. Esto puede realizarse con la función de biblioteca fclose. fclose (apFile) ; Es una buena práctica de programación cerrar explícitamente los archivos de datos mediante la función fclose, aunque la mayoría de los compiladores de C cerrarán automáticamente los archivos de datos al final de la ejecución.

10 3.6 Manejo de E/S Ejemplo:

11 3.6 Manejo de E/S Creación de archivos Un archivo debe crearse antes de ser procesado. Un archivo puede crearse de dos formas distintas. Una es crear el archivo directamente, usando un procesador de texto o un editor. La otra es escribir un programa que introduzca información en la computadora y la escriba en un archivo. Cuando se crea un nuevo archivo con uno de estos programas, el enfoque normal es introducir la información desde el teclado y escribirla en el archivo. Si el archivo consta de caracteres individuales, se pueden usar las funciones de biblioteca getchar y putc (similar a putchar) para introducir los datos desde el teclado y escribirlos en el archivo.

12 3.6 Manejo de E/S Ejemplo:

13 3.6 Manejo de E/S Un archivo creado de esta manera puede ser visualizado de distintas formas. Por ejemplo, el archivo puede ser visualizado directamente, usando una orden del sistema operativo tal como print o type. También se puede visualizar usando un editor o un procesador de texto. Otra posibilidad es escribir un programa que lea el contenido del archivo y lo muestre. Este programa sería, en algún sentido, una imagen especular del descrito anteriormente; la función de biblioteca getc leerá caracteres individuales del archivo de datos y putchar los mostrará en la pantalla. Ésta es una forma más complicada de visualizar un archivo, pero ofrece gran flexibilidad, ya que los elementos individuales pueden procesarse según se leen.

14 3.6 Manejo de E/S Ejemplo:

15 3.6 Manejo de E/S fgets y fputs Los archivos de datos que contienen sólo cadenas de caracteres pueden crearse y leerse más fácilmente con programas que utilizan funciones de biblioteca especialmente orientadas para cadenas de caracteres. Algunas funciones de este tipo comúnmente usadas son gets, puts, fgets y fputs. Las funciones puts y gets leen o escriben cadenas de caracteres a o desde los dispositivos de salida estándar, mientras que fgets y fputs intercambian cadenas con archivos.

16 3.6 Manejo de E/S Ejemplo:

17 3.6 Manejo de E/S Ejemplo:

18 3.6 Manejo de E/S fscanf y fprintf Muchos archivos de datos contienen estructuras de datos más complicadas, tales como registros que incluyen combinaciones de información numérica y de carácter. Tales archivos se pueden procesar usando las funciones de biblioteca fscanf y fprintf, que son análogas a las funciones scanf y printf. Así, la función fscanf permite leer un dato con formato desde un archivo de datos asociado con un archivo, y fprintf permite escribir datos con formato en el archivo de datos. Las especificaciones de formato son las mismas que se usan con las funciones printf y scanf solamente hay que agregar el apuntador al archivo a utilizar.

19 3.6 Manejo de E/S Ejemplo:

20 3.6 Manejo de E/S Ejemplo:

21 3.6 Manejo de E/S Procesamiento de Archivos Para poder recorrer todo el archivo generalmente se utilizan ciclos en los que se va leyendo línea por línea o dato por dato hasta llegar al final del archivo. Para saber que se ha llegado al final del archivo (End Of File EOF) se usa la función feof. La función feof siempre devolverá cero (Falso) si no es encontrado EOF en el archivo, de lo contrario regresará un valor distinto de cero (Verdadero).

22 3.6 Manejo de E/S Ejemplo:

23 3.6 Manejo de E/S Procesamiento de Archivos Una vez que se ha leído el archivo hasta el final (EOF), si se desea volver a leer desde el principio es necesario regresar el cursor de lectura hasta el inicio del archivo, esto se hace con la función rewind

24 3.6 Manejo de E/S Ejemplo:

25 3.6 Manejo de E/S Ejercicios: Hacer un programa en C que:
Escriba 5 nombres en un archivo llamado nombres.dat utilizando fputs. Escriba los números del 1 al 100 en un archivo llamado numeros.txt , los números NO deberán estar escritos uno por línea, si no separados por un espacio entre cada uno. Añada 3 nombres más al archivo nombres.dat (creado en el primer ejercicio)

26 3.6 Manejo de E/S

27 3.6 Manejo de E/S

28 3.6 Manejo de E/S

29 3.6 Manejo de E/S Tarea 10: Realizar los siguientes programas en C.
Pedir al usuario el nombre de un archivo a leer e imprimir su contenido en la pantalla. Leer un archivo datos.txt con el siguiente formato (cada línea) NumeroDeLista , Nombre, FechaDeNacimiento (día/mes/año). Por ejemplo: 1,Juan,12/08/2005 E imprimirlo en pantalla con el formato: 1 Juan 12 del 08 del 2005 Copiar un archivo origen.txt (existente) en un archivo copia.txt como un respaldo del original. Se envía únicamente los archivos fuente ( .c ) Se trabajará en parejas


Descargar ppt "Tema 3. Fundamentos para la construcción de código a partir del algoritmo Objetivo: El alumno construirá programas utilizando el lenguaje de programación."

Presentaciones similares


Anuncios Google