PROGRAMACION II Es un conjunto de datos no

  • Slides: 28
Download presentation
PROGRAMACION II

PROGRAMACION II

 Es un conjunto de datos no necesariamente del mismo tipo, los cuales se

Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada uno de ellos o sobre toda la estructura. Los elementos individuales de una variable estructura reciben el nombre de campos. Ejemplos: vector, registro, matriz, archivo, lista, pila, ……

struct nombre_estructura { tipo campo 1; tipo campo 2; tipo campo. N; } lista

struct nombre_estructura { tipo campo 1; tipo campo 2; tipo campo. N; } lista de variables; Se utiliza nomestructura. nombredelcampo para referenciar al dato de un campo dentro de un registro

 Un registro es un conjunto de campos, en los campos se almacenan datos

Un registro es un conjunto de campos, en los campos se almacenan datos que no necesariamente son del mismo tipo, un registro esta representado como un renglón o fila dentro de una tabla. CAMPO NOMBRE_ARCHIVO REGISTRO codigo nombre edad Telefono 123 Pedro 17 5347298 222 Juana 18 8273646

Los archivos son medios que facilita el lenguaje para almacenar los datos en forma

Los archivos son medios que facilita el lenguaje para almacenar los datos en forma permanente, normalmente en los dispositivos de almacenamiento Conjunto de registros que contienen campos y en cada campo se almacena los datos simples. Todo archivo tiene nombre y extensión. EJ. Agenda. dat, carta. doc, notas. xls

 Hay tres tipos de archivos: archivos secuenciales archivos directos archivos indexados

Hay tres tipos de archivos: archivos secuenciales archivos directos archivos indexados

 Los datos se almacenan en forma consecutiva y no es posible leer ningun

Los datos se almacenan en forma consecutiva y no es posible leer ningun registro directamente. La desventaja es que el acceso es lento cuando el archivo tiene gran cantidad de registros La ventaja es la fácil implementación ya que no requiere otras instrucciones especiales

 Se puede acceder o leer un renglon n cualquiera, el acceso a todas

Se puede acceder o leer un renglon n cualquiera, el acceso a todas las operaciones sobre archivos es directamente a un registro especifico. El acceso es rápido y directo Se debe incluir la utilización del fseek()

 Este ultimo tipo de archivos tiene adicionalmente un campo denominado campo indice, el

Este ultimo tipo de archivos tiene adicionalmente un campo denominado campo indice, el cual permite acceder y realizar todas las operaciones con archivos

 Modo Texto: en este caso los datos son almacenados usando Ascii. [ t]

Modo Texto: en este caso los datos son almacenados usando Ascii. [ t] Modo Binario: en este caso los datos son almacenados en notación hexadecimal y por tanto se ocupa un editor binario para reconocerlos. [ b]

 Existen muchas operaciones asociadas a archivos, las mas elementales son: 1. - Creación

Existen muchas operaciones asociadas a archivos, las mas elementales son: 1. - Creación de Archivo. - En este proceso se pretende solamente crear un archivo nuevo en disco con su nombre tipo y especialidad de almacenamiento de datos apropiado.

algoritmo para crear un archivo: 1. - Definir la estructura 2. - Crear variable

algoritmo para crear un archivo: 1. - Definir la estructura 2. - Crear variable apuntador para el archivo con FILE 3. - Abrir el archivo en modo escritura 4. - cerrar el archivo

 2. - Apertura de Archivos. - En este caso se pretende abrir un

2. - Apertura de Archivos. - En este caso se pretende abrir un archivo ya existente en disco para procesarlo. Utilizar el fopen( ) y los modos de apertura Existen tres modos de apertura: Lectura (r) Escritura (w) Adicion o append (a)

 3. -Cierre de archivos: Es la operación mas importante en cualquier programa que

3. -Cierre de archivos: Es la operación mas importante en cualquier programa que maneje archivos, o se cierra el archivo como ultima instrucción del programa o se vera el anuncio ABORT, RETRY, FAIL. Utilizar el fclose( );

 4. -Altas en archivo (insertar). - En este proceso se captura una estructura

4. -Altas en archivo (insertar). - En este proceso se captura una estructura en memoria con sus datos pertinentes y después se graba la estructura al archivo en disco.

algoritmo para adicionar 1. - abrir el archivo el modo de lectura/escritura 2. -

algoritmo para adicionar 1. - abrir el archivo el modo de lectura/escritura 2. - capturar campos con scanf() 3. - grabar cada registro en la estructura con fwrite() 4. - cerrar el archivo

 5. -Lectura de archivo. - En este proceso se abre el archivo, se

5. -Lectura de archivo. - En este proceso se abre el archivo, se manda el registro de disco a una estructura en memoria para su procesamiento.

algoritmo para imprimirr 1. - abrir el archivo el modo de escritura 2. -

algoritmo para imprimirr 1. - abrir el archivo el modo de escritura 2. - mientras no sea fin de archivo Hacer Leer cada registro con fread ( ) Imprimir los datos del registro con printf( ) Fin de mientras 3. - cerrar el archivo

 6. - Consulta de archivos: En este proceso se pretende desplegar todos los

6. - Consulta de archivos: En este proceso se pretende desplegar todos los registros del archivo en disco a la pantalla y/o impresora, tambien se denomina impresión de registros

 7. -Busqueda en archivos: Una de las operaciones mas comunes consiste en que

7. -Busqueda en archivos: Una de las operaciones mas comunes consiste en que el usuario pide toda la información de algún renglón en disco proporcionando la información de algun campo generalmente el campo clave de la estructura.

algoritmo de búsqueda en un archivo secuencial 1. - abrir el archivo en modo

algoritmo de búsqueda en un archivo secuencial 1. - abrir el archivo en modo escritura 2. - introducir el dato clave por el cual se hará la búsqueda 3. - mientras no sea fin de archivo Comparar si la clave es igual al registro buscado Entonces imprimir el registro Sino imprimir “registro no encontrado” Fin de mientras 4. - cerrar el archivo

 8. - Filtros. - En este proceso el usuario esta interesado en algún

8. - Filtros. - En este proceso el usuario esta interesado en algún conjunto de renglones con características comunes (condición), por ejemplo todos los alumnos de "sistemas" o todos los empleados que ganen más de Bs. 500. 00

 Se utiliza una condición para comparar, se puede aplicar a un solo campo

Se utiliza una condición para comparar, se puede aplicar a un solo campo o también a varios campos También se puede incluir los operadores lógicos (and, or, not) Se puede realizar cálculos internos con algunos campos y mostrarlos

 9. -Modificaciones de registros o archivos: Problema muy común, donde los datos originales

9. -Modificaciones de registros o archivos: Problema muy común, donde los datos originales ya grabados se tienen que cambiar o actualizar, por ejemplo el nombre no era "juan" es "juana", o la calificación no es 100 es 20, etc.

 Editar registros significa cambiar el contenido de algunos de los campos o columnas

Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva información o para corregir algún error de captura original o para agregar alguna columna que no existía por modificación de la tabla o la base de datos. Se realiza con dos archivos el original y el temporal

 10. - Bajas de registros(eliminación): También muy común este proceso, por ejemplo el

10. - Bajas de registros(eliminación): También muy común este proceso, por ejemplo el alumno ya egreso, el cliente huyo, etc.

 Eliminación o bajas es el proceso por medio del cual algunos registros del

Eliminación o bajas es el proceso por medio del cual algunos registros del archivo son purgados del archivo, existen dos maneras por las cuales se puede realizar ese proceso. remove borra un archivo rename renombra archivos

 Se usan dos archivos, el archivo original y un archivo temporal, el procedimiento

Se usan dos archivos, el archivo original y un archivo temporal, el procedimiento o algoritmo es muy sencillo, se lee el registro del archivo original y si no es el registro a eliminar entonces se almacena en el archivo temporal, cuando se termina de procesar todo el archivo original, el archivo temporal solo contendrá todos los registros que no se quisieron eliminar