16
20/07/2012 1 Programación Estructurada Dr. Héctor Saldaña Aldana Objetivos específicos de aprendizaje Al finalizar esta unidad el alumno será capaz de organizar y utilizar archivos secuenciales, directos e indexados

Objetivos específicos de aprendizaje

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Objetivos específicos de aprendizaje

20/07/2012

1

Programación Estructurada

Dr. Héctor Saldaña Aldana

Objetivos específicos de aprendizaje

Al finalizar esta unidad el alumno será capaz de organizar y utilizar archivos secuenciales, directos e indexados

Page 2: Objetivos específicos de aprendizaje

20/07/2012

2

Introducción

Hemos trabajado arreglos de datos en memoria RAMmemoria RAM.

Inconvenientes: Limitación de la memoria.

Trabajar con datos generados en la memoria.

No persistencia de los datos.

Sólo aplicaciones sencillas.

Introducción

Para tratar con grandes cantidades de informacióninformación

Que sean persistentes en el tiempo

Guardados en dispositivos externos (discos CD, DVD, cintas magnéticas, memorias electrónicas, etc.)

Se requiere de una estructura de datos llamada ARCHIVO.

Page 3: Objetivos específicos de aprendizaje

20/07/2012

3

Introducción

Podemos almacenar:P ( C C J Vi l B i Programas (en C, C++, Java, Visual Basic, etc.)

Gráficos

Textos

Datos

I á Imágenes

Audio y video

Definición

Una Archivo es una estructura de almacenamiento de datos externaalmacenamiento de datos externa

Es una memoria externa (a diferencia de la RAM que es interna)

Características: Persistencia

Su uso requiere transferirlos a la memoria interna

Page 4: Objetivos específicos de aprendizaje

20/07/2012

4

Estructura

Están formados por REGISTROS Formato preestablecido Formato preestablecido Cantidad finita e indeterminada Residen en un dispositivo de

almacenamiento externo La información está almacenada en forma

permanente (en teoría) Son independientes de los programas que

los usan Alta capacidad de almacenamiento

Registros lógicos y físicos

Registrológico

Simple

Complejo

Page 5: Objetivos específicos de aprendizaje

20/07/2012

5

Registros lógicos y físicos

Un registro físico es el fragmento de archivo que el sistema operativo puedearchivo que el sistema operativo puede transferir en una sola operación de entrada o salida

Estructura de los registros

Un registro lógico está dividido enC Campos○ Subcampos

Para diferenciar un registro de otro se utiliza un campo llamado campo llave

Permite identificar de manera unívoca a cada uno de los registros del archivo

Ejemplos Archivo de alumnos

Page 6: Objetivos específicos de aprendizaje

20/07/2012

6

Estructura de los registros

Longitud de los registrosFij Fija

Variable

Nombre del archivo Externo (SO)

Interno (programa)

Tipos de archivos

Según su función

Permanentes○ De situación○ De constantes○ Históricos

De movimientos○ Temporales

De Trabajo○ *.bak

Page 7: Objetivos específicos de aprendizaje

20/07/2012

7

Tipos de archivos

Según su función

Movimientos

Trabajo ○ De situación

○ De constantes

○ Históricos

Page 8: Objetivos específicos de aprendizaje

20/07/2012

8

Acceso secuencial

Para accesar un registro dentro del archivo de datos se deben recorrerarchivo de datos, se deben recorrer todos los registros precedentes. Por ejemplo: Archivos en una cinta

magnética

Acceso directo

En este modo se pueden accesar los registros del archivos de datos deregistros del archivos de datos de manera directa, es decir, no se tiene que al principio del archivo y recorrerlo hasta llegar al registro deseado.

Sólo es posible en dispositivos que permiten accesos direccionables. Por ejemplo: Discos duros, diskettes, CD’s,

etc.

Page 9: Objetivos específicos de aprendizaje

20/07/2012

9

Acceso directo

El acceso se puede hacer por medio de:U ú d i t Un número de registro

Llave de acceso (clave de acceso)

Clasificación de archivos

Por el modo de accesarlos:A hi i l Archivos secuenciales

Archivos de acceso directo

Archivos secuenciales indexados

Page 10: Objetivos específicos de aprendizaje

20/07/2012

10

Operaciones sobre archivos

No actúan sobre los registros sino sobre el archivo completoel archivo completo Creación del archivo Lectura de los registros del archivo Clasificación u ordenación Actualización○ ABC (Altas, Bajas y Cambios)( , j y )

Partición Fusión o mezcla Borrado de archivo

Page 11: Objetivos específicos de aprendizaje

20/07/2012

11

Las operaciones sobre los registros de un archivos son las más importantesun archivos son las más importantes, pues es allí en donde está el verdadero procesamiento de la información: Consulta Modificación Borrado○ Por marca○ Real

Inserción

Archivos secuenciales

Se crean para cualquier tipo de dispositivo de almacenamientodispositivo de almacenamiento

Los registros son secuenciales (tienen posiciones consecutivas en la memoria)

Tienen el mismo orden en el que fueron introducidas

Se pueden ver como una lista lineal

Page 12: Objetivos específicos de aprendizaje

20/07/2012

12

Archivos secuenciales

Acceso: depende del tipo de almacenamiento:almacenamiento: No Direccionable○ Hay que leer o pasar por todos los anteriores

Direccionable○ Acceso mediante un número de registro

Archivos secuenciales

Estos archivos pueden implementarse en Di iti di i bl ( i t t ) Dispositivos no direccionables (cintas, etc)

Dispositivos direccionables (discos, CD’s, etc.) Archivos secuenciales ligados (lista enlazada)

Ventajas

Desventajas

Page 13: Objetivos específicos de aprendizaje

20/07/2012

13

Creación

Usando un simple editor de textosBl k d t (Wi d ) Block de notas (Windows)

gedit (Linux)

Entornos integrados (IDE’s)

Por medio de un programa

Pseudocódigo para crear un archivo secuencial

inicioabrir archivo para escribirleer(condicion)mientras (condicion sea cierta)leer(datos)escribir en registro de archivo(datos)l ( di i )leer(condicion);

fin_mientrascerrar archivo

fin

Page 14: Objetivos específicos de aprendizaje

20/07/2012

14

Recorrido de un archivo secuencial El archivo fue creado y existe

Puede recorrerse desde el primer registro hasta el último

Después del último registros hay una marca de FIN DE ARCHIVO (EOF: EndOfFile)

Se puede recorrer el archivo mientras no se detecte esta marca de EOF.

Pseudocódigo de recorrido

<RECORRIDO>i i iinicioabrir archivoSi hay error de apertura

escribir(**Error de apertura**)en otro casoleer registro de archivomientras (no EOF)<procesar registro>p gleer registro de archivo(registro)

Fin mientrascerrar archivo

Fin_Sifin

Page 15: Objetivos específicos de aprendizaje

20/07/2012

15

Búsqueda secuencialUn subprograma de búsqueda esté o no ordenado

INTERFAZPropósito: Buscar secuencialmente un elemento de un archivoEntradas: El elemento a buscar y el nombre del archivoPrecondiciones: ninguna Salidas: un número enteroPostcondiciones: los siguientes valores:

- Número de registro que ocupa el elemento buscado

- -1 si el elemento no se encuentra- 0 hubo un error de apertura de archivo

Pseudocódigo de búsquedaEntero BusquedaSecAr(CampoBuscado, NomArchivo)Inicioentero Ind =-1, NumReg=0entero Ind 1, NumReg 0Ttipo registro /*Tipo de registro: básico o definido*/ abrir NomArchivo para leerSi error de aperturaInd =0

en otro casoleer registro de NomArchivo(registro)Mientras (no EOF & Ind==-1)NumReg++Si(CampoRegiustro == CampoBuscado)Ind = NumReg

FinSileer registro de NomArchivo(registro)

FinMientras

Page 16: Objetivos específicos de aprendizaje

20/07/2012

16

Pseudocódigo de búsquedaCerrar NomArchivo

FinSIRegresar(Ind)

FinBuscar

Los archivos deben estar abiertos el menor tiempo posiblemenor tiempo posible La apertura bloquea el archivo y nadie más

lo puede accesar

La apertura de archivos puede hacerse dentro de los subprogramas o en el

i i lprograma principal