Necesidad de las memorias secundarias.

Documentos relacionados
Ficheros Contenido del Tema

Sistemas y Aplicaciones Informáticas. Tema 14. Utilización de Ficheros según su Organización.

Fundamentos de Programación. Archivos (Ficheros)

Registros Un campo: Registro:

Facilitar a los usuarios la posibilidad de estructurar los archivos de la manera más adecuada.

MEMORIAS. Arquitectura de Computadoras. (Conceptos Introductorios) M. C. Felipe Santiago Espinosa

Unidad 3: Gestión de Archivos

BUSQUEDA SECUENCIAL Y DIRECTA, MARCELA MARQUEZ REBECA NAVARRO FONSECA GUADALUPE RUIZ ANGULO JONATHAN ALEXIS TOPETE ESTRUCTURA Y OPERACIONES

Sistemas de memoria. Estructura de computadores 2

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

TEMA. Ing. CIP Fabián Silva Alvarado

La organización lógica y física de los sistemas de archivo y sus mecanismos de acceso de archivo.

Introducción a la Computación. Capitulo 4 Memoria Cache

Unidad 4. Arreglos y Cadenas

Tema II. Unidad de memoria

Archivos. Conceptos SESION 13

Ficheros. Archivo, o fichero: Características:

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 1. Aspectos Básicos de los Ficheros.

Contenidos: Definiciones:

Tema 5: Soportes y Organización de Ficheros.

Subsistemas de memoria. Departamento de Arquitectura de Computadores

Tema 0. Introducción a los computadores

02/02/2012. El objetivo de este tema es dar unas nociones básicas del fichero electrónico.

Tema 13: Manejo de archivos en lenguaje C

ESTRUCTURAS BÁSICAS Concepto de datos estructurados.

INDICE 1. Introducción: Archivos y Estructuras de Archivos 2. Operaciones Fundamentales para el Procesamiento de Archivos

TEMA 2. ORGANIZACIONES DE FICHEROS Y ESTRUCTURAS DE ACCESO

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

Memoria. M. en C. Erika Vilches. Parte 1

6. Archivos. Programación II, FCFM, BUAP

Tema II. Unidad de memoria

Almacenamiento. Universidad de Buenos Aires Facultad de Ciencias Económicas Tecnología de la Información Profesor Adjunto Dr. Anibal Mazza Fraquelli

Nombre. Nombre. físico. Nombre lógico. lógico. a 12. program Archivos; var a: file of integer; begin assign(a, arch.dat ); end.

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 2. Estructura de un Fichero. Operaciones. Básicas.

EL ALMACENAMIENTO DE LA INFORMACIÓN

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 3. Estructuras de Almacenamiento. Básicas. Definición y Manejo.

Dra. Jessica Andrea Carballido

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

El nivel Interno. Índice Tema 3

Esta unidad describe cómo se almacena la información en los dispositivos magnéticos.

Organización física de las bases de datos T

Sistemas de Archivos. Unidad 2 Almacenamiento y Estructuras de Archivos

Unidad V: Sistemas de archivos 5.1 Concepto

Gestión de archivos. Gestión de archivos

Gestión de archivos. Gestión de archivos. Gestión de archivos. Objetivo general

Estructura de Datos: Archivos

Archivos Indice. Indexación y. Asociación. Conceptos Básicos Indices Ordenados Arboles. Asociación. Docente: Albert A.

Definición de Memoria

Nombre. lógico. físico. Nombre lógico. a 12. Nombre. program Archivos; var a: file of integer; begin assign(a, arch.dat ); end.

ESTRUCTURAS DE DATOS Y DE LA INFORMACIÓN 2

TEMA 7. ARRAYS (LISTAS Y TABLAS).

CAPÍTULO 2: ANÁLISIS DEL PSEUDOLENGUAJE

Lógica: Algoritmo: Archivo: Base de datos: Bit:

FUNDAMENTOS DE INFORMATICA

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

Introducción. Tema 10a. Introducción. Memoria RAM. Memoria RAM HDD

Administración de sistemas gestores de bases de datos

Métodos de ordenamiento y búsqueda en vectores

Caracter a caracter los datos pueden ser escritos o leidos carácter a carácter, con las funciones fputc() y fgetc().

Tema 7. Entrada / Salida

INDICE. Prólogo de la Segunda Edición

Tabla de Símbolos. Programación II Margarita Álvarez

Almacenamiento Secundario y Terciario. Unidad 4. Almacenamiento y Estructuras de Archivos

Tarea 5 Gestión de Archivos

FICHEROS. Javier Fernández Rivera -

Tabla de Símbolos. Programación II Margarita Álvarez

Indexación y Asociación

SISTEMAS UNIDAD IV ADMINISTRACION DE ARCHIVOS ING. AGUILERA SERGIO OMAR

Modelo Físico. M. Andrea Rodríguez-Tastets. II Semestre Universidad de Concepción,Chile andrea

1. Partes del ordenador. Nuevas Tecnologías y Sociedad de la Información

UNIDAD I. Universidad del Zulia Costa Oriental del Lago. Conceptos Básicos

Sistemas Operativos. Curso 2016 Sistema de Archivos

Partes de una computadora. Conceptos Generales. Elementos de Computación (CU) Computación (TIG) El Hardware de una computadora

Unidad 2: Taller de Cómputo. Estructura y Componentes de la Computadora UNIDAD DOS: INTRODUCCIÓN

Centro Universitario UAEM Zumpango

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

Tema 5: Memorias. Espacio reservado para notas del alumno

FICHEROS EN PASCAL. Ficheros

TEMA 7 UNIDAD DE MEMORIA

Sistemas Operativos Tema 9

UNIDAD TEM ATICA 3: ACELERACI ON DEL ACCESO A MEMORIA.

Proceso de información en la computadora

Dra. Jessica Andrea Carballido

ENTRADA/SALIDA. Relación Programa - Sistema Operativo - Hardware

INFORME MEMORIA CACHE Y MEMORIA VIRTUAL.

Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados

Tema 2.3. Hardware. Unidades de Almacenamiento

Almacenamiento y discos

Tema 0. Introducción a los computadores

Tema III: Componentes de un Sistema Operativo

Sistemas Electrónicos Industriales II EC2112

Tema 05: Tablas hash. M. en C. Edgardo Adrián Franco Martínez edgardoadrianfrancom

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

SISTEMAS OPERATIVOS: SISTEMAS DE FICHEROS. Ficheros

Memoria Caché. Algorítmo de Mapeo Directo

UNIVERSIDAD DE GUADALAJARA

Transcripción:

Contenido del Tema 4.1. Introducción. 4.2. Conceptos básicos. 4.3. Operaciones sobre ficheros. 4.4. Tipos de ficheros. 4.5. Organización de ficheros. 4.6. Primitivas de acceso. 4.7. Ordenación externa. Metodología de la Programación. Curso 2002/03. Pág. 1 Necesidad de las memorias secundarias. La Memoria Principal es rápida pero cara, de poca capacidad y generalmente volátil. La Memoria Secundaria es lenta pero barata, de alta capacidad y no volátil. Para el procesamiento es necesario transferir la información a memoria principal. Memoria Principal Memoria Secundaria Datos que CPU Programa Libre Datos del programa procesar Fragmento transferido a memoria principal Metodología de la Programación. Curso 2002/03. Pág. 2

Pirámide de memorias en un ordenador. - + Capacidad Registros. Memoria caché. De primer nivel. De segundo nivel. Memoria principal. Memoria RAM. Memoria ROM. Memoria flash. Discos. Magnéticos fijos. Magnéticos removibles. Magneto ópticos. Cintas. Memorias ópticas. CD-ROM. DVD-ROM. Velocidad Coste por bit Metodología de la Programación. Curso 2002/03. Pág. 3 + - Definición de fichero Conjunto de información relacionada, tratada como una unidad de almacenamiento en memoria secundaria y organizada de forma estructurada para facilitar la búsqueda de datos individuales. Un fichero está compuesto por registros homogéneos que contienen información organizada en campos. Siendo un campo la mínima unidad de procesamiento con significado propio. Fichero Registro JUAN MARTINEZ ANCHA, 42 MALAGA 432567 JOSE PEREZ Campos Metodología de la Programación. Curso 2002/03. Pág. 4

En un lenguaje de alto nivel, el fichero no es manejado directamente por el propio programa, sino por el Sistema Operativo. Esto facilita que los programas sean transportables. PROGRAMA BUFFER Llama NIVEL DEL PROGRAMADOR Estructura Lógica Controla SISTEMA OPERATIVO DISCO Direcciona NIVEL FISICO Estructura Física Metodología de la Programación. Curso 2002/03. Pág. 5 Estructura física. Se refiere a la forma en que se almacenan físicamente los datos de los ficheros en los dispositivos de almacenamiento. Bloque o registro físico. Unidad de transferencia entre el dispositivo y la memoria central. Buffer. Area de la memoria principal donde se almacena el bloque transferido o bien donde se construye un bloque antes de escribirlo. Forma de acceso. Forma en la que puede leerse o escribirse la información en un dispositivo de memoria secundaria. De acceso secuencial (Dispositivos no direccionables). De acceso directo (Dispositivos direccionables). Metodología de la Programación. Curso 2002/03. Pág. 6

Dispositivos de acceso secuencial (cintas) Grabación. Se agrupan registros en bloques separados por marcas (IBG). Los ficheros se almacenan en bloques contiguos y se separan también por marcas (EOF). Recuperación. Se leen bloques completos de forma secuencial. Ventajas. Baratos, robustos y compactos. Desventajas. Sólo admiten acceso secuencial. Bloques EOF IBG Fichero Metodología de la Programación. Curso 2002/03. Pág. 7 Dispositivos de acceso directo (discos) Grabación. Los registros se agrupan en bloques denominados sectores, que a su vez se agrupan en pistas y cilindros. El acceso se efectúa de forma directa. Recuperación. Acceso a un bloque arbitrario. Ventajas. Acceso directo y rápido. Desventajas. Alto coste. sector pista cilindro Metodología de la Programación. Curso 2002/03. Pág. 8

Dirección. Es la forma de referenciar un bloque o registro de información dentro de un dispositivo. Dirección física. Localización del registro en el dispositivo expresada en número de bytes. Dirección relativa. Posición del registro respecto del principio del fichero expresada en número de bytes. Dirección simbólica. Los registros se identifican por el valor de un campo clave del registro. Comparación entre los tipos de direcciones Tipo Velocidad Independencia Dirección física Muy rápido Ninguna Dirección relativa Menos rápido Alguna Dirección simbólica Lento Total Metodología de la Programación. Curso 2002/03. Pág. 9 Estructura lógica. Es la forma de manipular los datos desde los programas. Cursor del fichero. Se trata de una variable interna que contiene la dirección al registro actual del fichero. Registro actual. Es el registro que se va a recuperar del fichero (leer) o almacenar sobre él (escribir). Clave o identificativo. Campo que identifica a un registro o grupo de registros en el fichero. Llave. Cuando la clave se usa como campo de localización (dirección simbólica). Directorio. Indice de los ficheros de un dispositivo. Metodología de la Programación. Curso 2002/03. Pág. 10

La vida de todo fichero comienza cuando se crea y acaba cuando se borra. Durante su vida se pueden realizar las siguientes operaciones básicas: Operaciones sobre el fichero completo (realizadas mediante ordenes del sistema operativo): Creación. Borrado o destrucción. Copia. Clasificación u ordenación. Fusión o mezcla. Regeneración. n 1 2 Fusión Metodología de la Programación. Curso 2002/03. Pág. 11 Operaciones sobre los registros individuales del fichero (realizadas mediante primitivas por los programas): Operación de apertura del fichero. Recuperación y consulta de registros. (lectura) Actualización de registros. (escritura) Modificación de registros. Eliminación de registros. Inserción de nuevos registros. Operación de cierre del fichero. Metodología de la Programación. Curso 2002/03. Pág. 12

Los ficheros se pueden clasificar atendiendo a distintos criterios: Por el tipo de sus registros. Por la forma de almacenar los datos. Por su contenido. Por su duración o tiempo de vida. Por su uso. Por su organización. Metodología de la Programación. Curso 2002/03. Pág. 13 Por el tipo de sus registros: Ficheros con formato. Tienen registros de longitud fija. Ficheros sin formato. Tienen registros de longitud variable. Por la forma de almacenamiento: Ficheros binarios. Almacenan la información en el mismo formato que en memoria central. Ficheros de texto. Almacenan la información en forma de cadenas de caracteres. Por su contenido: De programa. De datos. Metodología de la Programación. Curso 2002/03. Pág. 14

Hay varios motivos para estructurar la información en los ficheros: Acceso rápido a los registros. Economía de almacenamiento. Facilitar la actualización de los registros. La estructura permite reflejar la organización real de la información. Se debe, pues, optar por una u otra organización, atendiendo a la forma en que se va a usar el fichero. Metodología de la Programación. Curso 2002/03. Pág. 15 Secuenciales. Lineales. Encadenados. Directos. Por posición. Por clave. Indexados. ISAM (Indexed Sequential Access Mode). C-ISAM (Chained ISAM). Metodología de la Programación. Curso 2002/03. Pág. 16

Organización secuencial lineal Los registros se almacenan físicamente de forma contigua (uno a continuación de otro) siguiendo la secuencia lógica del fichero. Orden físico = Orden lógico Todas las operaciones que se realizan sobre el fichero se hacen según esta secuencia. Es la única que admite un soporte físico de acceso secuencial no direccionable. Metodología de la Programación. Curso 2002/03. Pág. 17 Operaciones : Añadir. Sólo es posible escribir al final del fichero. Consulta. Se realiza en orden secuencial. Actualización. (Inserción, eliminación, modificación) FICHERO SECUENCIAL A ACTUALIZAR FICHERO DE MOVIMIENTOS PROGRAMA DE ACTUALIZACION NUEVO FICHERO SECUENCIAL FICHERO DE SALIDA FICHEROS DE ENTRADA Metodología de la Programación. Curso 2002/03. Pág. 18

Si el fichero está almacenado en un dispositivo físico direccionable, es posible realizar actualizaciones directas, y también: Consulta. Si el fichero contiene registros de longitud fija, es posible determinar la posición de comienzo de cada uno a partir de su posición relativa en el fichero. Modificación. Una vez localizado un registro, se puede reescribir este en el propio fichero, siempre que al modificar el registro no aumente su longitud. Borrado. No es posible eliminar un registro del fichero. Se realiza un borrado lógico. Metodología de la Programación. Curso 2002/03. Pág. 19 Una caso especial: Fichero de texto Utilizado para almacenar textos. Registros de tamaño variables denominados líneas. Cada línea almacena una cadena de caracteres. Delimitador de registros: EOL (End Of Line) Los lenguajes de programación ofrecen primitivas para reconocer e insertar el delimitador. Metodología de la Programación. Curso 2002/03. Pág. 20

Organización directa o aleatoria Existe una transformación conocida que genera la dirección de cada registro dentro del fichero a partir de una clave. El problema fundamental es la elección de dicha transformación o método de direccionamiento. Pueden aparecer dos situaciones no deseadas: Direcciones que no corresponden a ninguna llave. Sinónimos. Metodología de la Programación. Curso 2002/03. Pág. 21 Tres métodos usuales de direccionamiento: Direccionamiento directo. La dirección relativa es la propia llave (debe ser numérica y de rango igual al tamaño del fichero). Direccionamiento asociado (por clave). Cada llave tiene asociada una dirección en una tabla. Al añadir nuevos registros las llaves se colocan al final de la tabla La tabla está desordenada, lo cual puede hacer lento el acceso. Para hacerlo más rápido se puede tener la tabla ordenada o almacenada en memoria principal Direccionamiento calculado (Hashing). Se utilizan técnicas de Hashing. Llave ABC ZHA ALP MAX etc Dir. 1028 4532 3456 7231 etc Metodología de la Programación. Curso 2002/03. Pág. 22

Dos formas de resolver los sinónimos: 1. Búsqueda de una posición libre. Secuencialmente. Aplicando otro método de direccionamiento. Ambos métodos son lentos 2. Mediante zona de desbordamientos. Esta se puede gestionar: Secuencialmente. Encadenada con la zona principal. Metodología de la Programación. Curso 2002/03. Pág. 23 Operaciones: Creación. Se debe reservar espacio en disco. Consulta. Se realiza por llave. Si procede hay que tratar sinónimos Borrado. Borrado lógico. Se puede reutilizar el espacio del registro eliminado Modificación e Inserción Siempre se pueden hacer, realizando la transformación de llave correspondiente. Metodología de la Programación. Curso 2002/03. Pág. 24

Definición de tipos de ficheros y registros. En pseudolenguaje sólo vamos a definir primitivas para ficheros binarios secuenciales sin formato. Cuando el formato de almacenamiento de los registros del fichero coincide con el utilizado en memoria principal se dice que el fichero es binario. No todos los lenguajes permiten definir estructuras de registros para manipular los ficheros (Ficheros sin formato). El formato de las componentes del fichero se establecerá en las correspondientes primitivas de acceso. Sintaxis: TipoFichero = FICHERO Metodología de la Programación. Curso 2002/03. Pág. 25 Descriptor de fichero. El descriptor es una variable de un tipo especial (Tipo FICHERO) definida en el programa, y desde la que se puede acceder a un fichero. Contiene un área de memoria para almacenar el registro actual (buffer) y el cursor del fichero. Tipos Complejo = REGISTRO real, imag : REAL FINREGISTRO FicheroComplejos = FICHERO Variables Mifichero : FicheroComplejos FicheroEnteros : FICHERO Descriptores de ficheros Metodología de la Programación. Curso 2002/03. Pág. 26

Apertura: Asocia un fichero físico existente con un descriptor y sitúa el cursor al principio del mismo. ABRIR ( c: TCadena): FICHERO Apertura para añadir: Asocia un fichero existente con un descriptor y sitúa el cursor al final del mismo. AÑADIR ( c: TCadena): FICHERO Creación: Crea y abre un fichero. Si el fichero existe se destruye su contenido CREAR ( c: TCadena): FICHERO Cierre: Libera los recursos asociados al descriptor. CERRAR ( f: FICHERO) Metodología de la Programación. Curso 2002/03. Pág. 27 Primitivas de acceso secuencial Lectura. Recoge del fichero tantos bytes como sea el tamaño de T. Transfiere esos bytes a la variable que se le pasa como parámetro interpretándolos como un valor del tipo T. Mueve el cursor al siguiente registro (si existe). Si se ha alcanzado el final del fichero la función EOF devolverá CIERTO. LEERBIN ( f: FICHERO; v: T) Donde T es cualquier tipo y se lee directamente del fichero en la representación interna de v. Metodología de la Programación. Curso 2002/03. Pág. 28

Escritura. Transfiere al fichero la información de la variable que se pasa como parámetro, en el formato de la misma. Escribe en el fichero tantos bytes como sea el tamaño de T. Mueve el cursor al siguiente hueco libre a escribir. ESCRIBIRBIN ( f: FICHERO; v: T) Donde T es cualquier tipo y se escribe la representación interna de v. Fin de fichero (EOF: End Of File). Función que indica si la última operación realizada sobre un fichero ha alcanzado el final del mismo. EOF ( f: FICHERO): LÓGICO Metodología de la Programación. Curso 2002/03. Pág. 29 Ejemplo de acceso secuencial. Copiar un fichero de números enteros. Lectura adelantada Algoritmo Copiar Variables fich1, fich2 : FICHERO dato : ENTERO Inicio fich1 ABRIR ("FICHERO1.DAT") fich2 CREAR ("FICHERO2.DAT") LEERBIN (fich1, dato) MIENTRAS ( EOF (fich1)) HACER ESCRIBIRBIN (fich2, dato) LEERBIN (fich1, dato) FINMIENTRAS CERRAR (fich1) CERRAR (fich2) Fin Metodología de la Programación. Curso 2002/03. Pág. 30

Primitivas de acceso directo. Buscar. Sitúa el cursor del fichero en el registro que se indique mediante su dirección relativa (número del byte donde comienza el registro a localizar). La próxima operación de lectura o escritura se realizará sobre la posición de dicho registro actual. Si la posición a localizar no existe, la función EOF devolverá CIERTO. BUSCAR ( f: FICHERO; pos: NATURAL) Lectura, Escritura y Fin de Fichero. Igual que para el acceso secuencial. Metodología de la Programación. Curso 2002/03. Pág. 31 Posición. Devuelve la posición en bytes (dirección relativa) donde está el cursor del fichero. POSICION ( f: FICHERO): NATURAL Eliminar. Borra del registro actual el número de bytes indicado. Mueve el cursor del fichero al registro siguiente al borrado, si no existe, EOF devolverá CIERTO. ELIMINAR ( f:fichero; bytes:natural) Longitud. Devuelve el número de bytes del fichero (NATURAL). LONGITUD ( f: FICHERO): NATURAL Metodología de la Programación. Curso 2002/03. Pág. 32

Ejemplo de acceso directo. Búsqueda binaria en un fichero directo ordenado de enteros. Algoritmo Busqueda Variables fich1 : FICHERO buscado, dato : ENTERO izqda, dcha, medio : NATURAL Encontrado : LÓGICO Inicio Escribir ("Introducir el valor a buscar: ") Leer (buscado) fich1 ABRIR ("FICHERO1.DAT") izqda 0 dcha LONGITUD (fich1) / Tamaño (ENTERO) Encontrado FALSO Metodología de la Programación. Curso 2002/03. Pág. 33 Fin MIENTRAS ( Encontrado) (izqda dcha) HACER medio (izqda + dcha) / 2 BUSCAR (fich1, medio * Tamaño (ENTERO)) LEERBIN (fich1, dato) SI (dato = buscado) ENTONCES Encontrado CIERTO EN OTRO CASO SI (dato > buscado) ENTONCES dcha medio - 1 EN OTRO CASO izqda medio + 1 FINSI FINSI FINMIENTRAS CERRAR (fich1) SI Encontrado ENTONCES Escribir ("Se encuentra en la posición", medio) EN OTRO CASO Escribir ("El valor no se encuentra") FINSI Metodología de la Programación. Curso 2002/03. Pág. 34

Manipulación de ficheros. Renombrar. Cambia el nombre de un fichero. RENOMBRAR ( nombre_antiguo: Tcadena; nombre_nuevo: TCadena) Borrar. Elimina físicamente el fichero que se indica. BORRAR ( nombre_fichero: TCadena) Existe. Determina si existe un fichero. EXISTE ( nomb_fich: TCadena): LÓGICO Operaciones sobre directorios: Crear, Borrar. CREARDIR ( nombre_dir: TCadena) BORRARDIR ( nombre_dir: TCadena) Metodología de la Programación. Curso 2002/03. Pág. 35 Ficheros de texto. Definición. Fichero secuencial compuesto por una secuencia de caracteres subdivida en registros de longitud variable llamados líneas. Cada línea almacena una cadena de caracteres que representa un dato concreto. Los registros o líneas se separan mediante un delimitador EOL (End Of Line). Sintaxis: TipoFicheroTexto = FICHERO Metodología de la Programación. Curso 2002/03. Pág. 36

Operaciones. En un fichero de texto, los datos siempre se almacenan como secuencias de caracteres. Abrir un fichero de texto para leer o escribir. ABRIR ( c: TCadena): FICHERO Abrir un fichero de texto para añadir al final. AÑADIR ( c: TCadena): FICHERO Cerrar un fichero de texto. CERRAR ( f: FICHERO) Detectar fin de fichero. EOF ( f: FICHERO): LÓGICO Metodología de la Programación. Curso 2002/03. Pág. 37 Leer un dato. LEER ( F: FICHERO; v: T) Donde T es un tipo simple predefinido o un array de caracteres. Detectar delimitador de fin de línea. EOL ( f: FICHERO): LÓGICO Escribir un dato. ESCRIBIR ( F: FICHERO; v: T) Donde T es un tipo simple predefinido o un array de caracteres. Los datos se almacenan como secuencias de caracteres. Almacenar delimitador de fin de línea. ESCRIBIR ( f: FICHERO, EOL) Metodología de la Programación. Curso 2002/03. Pág. 38

Ejemplo. Procedimiento para leer cadenas. PROC LeeCadena ( fich: FICHERO; cad: TCadena) Variables i : NATURAL car : CARÁCTER Inicio i 1 LEER (fich, car) MIENTRAS ( EOL (fich)) ( EOF (fich)) HACER SI (i MAXCAD) ENTONCES cad [i] car i i + 1 FINSI LEER (fich, car) FINMIENTRAS SI (i MAXCAD) ENTONCES /* Pone el fin de cadena */ cad [i] FINCAD FINSI Fin Metodología de la Programación. Curso 2002/03. Pág. 39 Tarea fundamental en procesamiento de datos. No se puede acceder a todos los datos, es necesario realizar la clasificación por partes. Se generan secuencias ordenadas de registros al mezclar repetidamente secuencias más pequeñas. Cada mezcla produce una secuencia ordenada más larga que su entrada. El proceso se realiza siempre sobre secuencias (ficheros secuenciales). Metodología de la Programación. Curso 2002/03. Pág. 40

Algoritmo MezclaDosFicheros Variables ent1,ent2: FICHERO dato1, dato2 : TReg Inicio ent1 ABRIR ("FENT1.DAT") ent2 ABRIR ("FENT2.DAT") sal CREAR ("FSAL.DAT") LEERBIN (ent1, dato1) LEERBIN (ent2, dato2) MIENTRAS EOF (ent1) EOF (ent2) HACER SI dato1 < dato2 ENTONCES ESCRIBIRBIN (sal, dato1) LEERBIN (ent1, dato1) EN OTRO CASO ESCRIBIRBIN (sal, dato2) LEERBIN (ent2, dato2) FINSI FINMIENTRAS Proceso de mezcla de ficheros: Es una tarea básica a realizar en todos los algoritmos de ordenación externa. MIENTRAS EOF (ent1) HACER ESCRIBIRBIN (sal, dato1) LEERBIN (ent1, dato1) FINMIENTRAS MIENTRAS EOF (ent2) HACER ESCRIBIRBIN (sal, dato2) LEERBIN (ent2, dato2) FINMIENTRAS Fin Metodología de la Programación. Curso 2002/03. Pág. 41 Estructuras de datos. Lewis & Smith. Paraninfo. Algoritmos y estructura de datos. Niklaus Wirth. Prentice Hall. Curso de programación. Castro, Cucker y otros. McGraw Hill. Introducción moderna a la ciencia de la computación. Goldschlager & Lister. Prentice Hall. Pascal. Dale & Weems. McGraw Hill. Metodología de la Programación. Curso 2002/03. Pág. 42