Busqueda

Resultados

miércoles, 14 de octubre de 2009

Archivos

Muchas de las aplicaciones que ustedes han programado se hicieron usando la memoria principal o memoria RAM como único medio de almacenamiento (usando variables, arreglos, registros o estructuras de datos mas complejas, las recuerdan ¿verdad?) , con los problemas que esto representa: la volatilidad de la memoria RAM; es decir, si se apaga la computadora se pierden los datos. De ahí surge la necesidad de almacenar dichos datos de forma permanente que permita retenerlos en ciertos dispositivos de almacenamiento secundario por un período de tiempo largo sin necesidad de suministrarles energía, de tal forma que permitan transportarlos y utilizarlos en otro equipo.

El procesamiento que realiza una computadora es tarea absoluta del microprocesador en conjunción con la memoria principal; es decir, los dispositivos de almacenamiento secundario (diskettes, discos duros, CDs, flash drives, etc.) no procesan datos, sólo los almacenan.

Esto repercute de manera significativa al momento de programar archivos, ya que para hacerle modificaciones a los datos de un registro previamente almacenado es necesario primero “cargarlo” en la memoria principal, es decir, localizar el registro en el archivo y leerlo para colocar sus datos en la memoria RAM, ahí modificarlo y posteriormente grabarlo en la misma posición en la que se encontraba.

Recordemos algunas definiciones vistas en clases:

Campo: características de ciertos objetos de estudio o condiciones particulares de situaciones dadas. Por ejemplo un producto tiene los siguientes campos: codigo, marca, peso, presentación, fecha de elaboración y fecha de vencimiento. Cada campo es definido por un tipo de dato.
Registro: una combinación de otros tipos de datos en un nuevo tipo de datos. Se puede decir además que es el conjunto completo de datos relacionados pertenecientes a una entrada.

sigamos recordando
Type
Tipo_registro = Record
no_prod : integer;
descrip : string[30];
cantidad: integer;
precio : real;
garantia: char;
End;

Var
Registro : Tipo_registro;

Así pues tenemos que un archivo en términos informáticos es una colección de datos que tiene un nombre y se guardan en dispositivos de almacenamiento secundario, los cuales pueden ser magnéticos, ópticos, electrónicos, etc. P. ejem. Diskettes, discos duros, CD´s, ZIP drives, flash drives, memory sticks, entre otros.

Clasificación por tipo de contenido:
Existen muchas clasificaciones de archivos de acuerdo a diferentes criterios o aplicaciones. Aquí se presenta una muy importante: de acuerdo al contenido de Texto y Binario.

Archivos de texto : Son aquellos que pueden contener cualquier clase de datos y de tal maneraque son “entendibles” por la gente. Los datos en un archivo de texto se almacenan usando el código ASCII, en el cual cada carácter es representado por un simple byte. Debido a que los archivos de texto utilizan el código ASCII, se pueden desplegar o imprimir. En este tipo de archivos, todos sus datos se almacenan como cadenas de caracteres, es decir, los números se almacenan con su representación ASCII y no su representación numérica.

Archivos binarios: En este tipo de archivos también se pueden almacenar diferentes tipos de datos incluyendo datos numéricos; sin embargo, cabe destacar que los datos numéricos se graban con su representación binaria (no con su representación ASCII), por tal razón, cuando se despliegan con un editor de textos o por medio de comandos del sistema operativo, aparecen caracteres raros que no se interpretan.

Clasificacion por tipo de acceso:

Archivos secuenciales: Como su nombre lo indica, en este tipo de archivos los registros se graban en secuencia o consecutivamente y deben accesarse de ese mismo modo, es decir, conforme se van insertando nuevos registros, éstos se almacenan al final del último registro almacenado; por lo tanto, cuando se desea consultar un registro almacenado es necesario recorrer completamente el archivo leyendo cada registro y comparándolo con el que se busca. En este tipo de archivo se utiliza una marca invisible que el sistema operativo coloca al final de los archivos: EOF (End of File), la cual sirve para identificar dónde termina el archivo.

Archivos directos : A diferencia de los archivos secuenciales, en los archivos directos no esnecesario recorrerlo completamente para acceder un registro en particular, sino se puede colocar el apuntador interno del archivo directamente en el registro deseado, permitiendo con esto mayor rapidez de acceso. Cabe destacar que para reposicionar este apuntador se utiliza el comando SEEK indicándole la dirección del registro que se desea.

Enlace de ínteres:
Manejo de archivos es pascal

14 comentarios:

  1. un archivo es una Espacio dwe almacenamiento en una maquina o programa.
    ejemplo archivos en word

    ResponderEliminar
  2. Maria Seijas 701 ":"maru
    ARCHIVO>: PODEMOS DECIR QUE ES DE TIPO ESTANDAR EN DONDE SIEMPRE TIENDE A TERMIANR SUS LINEAAS CON UN FIN ES DECIR(EONL, "end of line").

    Para declarar una variable de tipo texto debemos hacer esto:

    var
    nombre variable:text;
    El nombre de la variable puedde ser cualquiera es valido para el programa.

    ,MANIPULACION DE ARCHIVOS DE TEXTO:

    WRITELN('DIRECCION:',AUX.DIRECCION);
    WRITELN('EDAD:', AUX.EDAD:1);
    WRITWLN('SALDO:', AUX.SALDO);
    END.

    ESTE METODO ES UN POCO MAS ENREDADO POR ESO PASCAL PROPORCIONA LE SENTENCIA WITH QUE FACILITARA EL PROCESO DE LECTURA/ESCRITURA DE LOS REGISTROS.

    EJEMPLO:
    SINTAXIS:
    WRITW(F,V1,V2...);
    F ES UNA VARIABLE TIPO ARCHIVO-
    V1,V2,...SON VARIABLES DE TIPO DE DATOS.
    EJEMPLO:


    1. WRITW(DEMO,'ESTO ES UNA PRUEBA DE ESCRITURA');
    WRITW(DEMO,' Y ESTA ES LA SIGUIENTE PRUEBA');


    2. VAR NOMBREARCH: STRING:[30];
    ARCHTEX: TEXT;
    ...
    ...
    WRITE('NOMBRE DE ARCHIVO');
    READLN(NOMBRE ARCHIV);
    ASSIGN(ARCHTEXT,NOMBREARCH);
    RESSET (ARCHTEX);

    ResponderEliminar
  3. MARIA 701 "_"MARU

    LECTURA DE UN ARCHIVO:
    SE EFECTUA MEDIANTE LAS SENTENCIAS READ O READLN.
    SINTAXIS

    READ (F,V1,V2,..);

    REWRITW(F);
    EXISTEN ALGUNOS ASPECTOS IMPORTANTES QUE DEBES TOMAR AL UTILIXAR REWRITE:

    - si al abrir el archivo de texto, con assign y reset, ya existe en el disco, la sentencia rewrite lo recibira.
    - por lo contrario la sentencia assign y rewrite suponen la existencia del archivo llamado en el disco, si este archivo no existe, las sentencias anteriores produciran errores de ejecucion.0

    ResponderEliminar
  4. WoO.. Maria tu si sabes xD.!mM... Pero como tal el rewrite sirve para reescribir el archivo no?
    mm... pero si el archivo no exist... uno lo puede crear como tal no? Y,Y

    ResponderEliminar
  5. el reset como tal abre el archivo pero mas no lo crea Y.Y , ahorita es q me acabo d dar d cuenta ^^

    ResponderEliminar
  6. ARCHIVOS:
    Son estructuras de datos utilizados para almacenar y manipular grandes lotes de información.

    voy a colocar un ejemplo donde se utilizan algunas instrucciones para realizar un archivo.

    Ejemplo de una consulta de datos en un archivos:

    PROGRAM Consulta_entras (Arch1, output);
    USES CRT;
    {busca y muestra archivos entras.dat}

    TYPE
    Registro=RECORD
    Codigo:integer;
    Sexo:char;
    Nombres:string[15];
    Edad:integer;
    END;
    Archivo=FILE OF Registro;
    VAR
    Reg:Registro;{registro de archivos}
    Arch1:Archivo;{archivo a leer}
    Cod,D:integer;
    BEGIN
    clrscr;
    Assign(Arch1,'entras.dat');
    Reset(Arch1);{abre el archivo}
    writeln('Consulta del Archivo entras.dat');
    writeln;write('codigo a consultar:');
    readln(cod);writeln;
    writeln('Codigo Sexo Nombre Edad');
    writeln('=======================');
    WHILE NOT eof(Arch1) or (D<0) DO
    BEGIN
    read(Arch1,Reg);{leer el archivo}
    with Reg do
    {el if verifica si encontro el registro solicitado}
    if cod= codigo then
    begin
    writeln(Codigo:2,Sexo:8,Nombre:13,Edad:15);
    D:=;{indica que encontro el registro}
    end;{finde if}
    END;{del WHILE}
    if D=0 then write('lo siento codigo no existe');
    Writeln('pulse enter');
    Close(Arch1);{cierra el archivo
    READKEY;
    END.
    Espero ayudarlos con este ejercicios que relacionas todas las intrucciones que hemos visto en clases

    ResponderEliminar
  7. Archivos Sin Tipo o File

    Todos los archivos utilizados hasta ahora suponen algún tipo de estructura. Si no se conoce la estructura del registro se debe utilizar un archivo sin tipo. Los archivos sin tipo son canales de E/S de bajo nivel, principalmente utilizados para acceso directo a cualquier archivo de disco con independencia del tipo y estructura. Cualquier archivo de disco puede ser declarado como sin tipo. Turbo Pascal permite tratar un archivo como una serie de bloques sin necesidad de conocer el tipo de datos que contiene
    FilePos

    Está función devuelve la posición actual del archivo (número de registro), en forma de un entero largo (longint).

    Formato: FilePos (f)

    f variable de tipo archivo

    Notas :

    1. Devuelve 0 si esta al principio del archivo.

    2. Es igual a FileSize(f) si el puntero de posición del archivo esta al final del archivo.

    FileSize

    Está función devuelve el tamaño actual del archivo(número de registros existentes en el archivo). Si el archivo esta vacío devuelve cero.

    Formato: FileSize(f)

    f variable de tipo archivo

    Seek

    Sitúa el puntero de posición del archivo en el número de registro correspondiente.

    Formato: Seek(f,numreg)

    f nombre de archivo (no de tipo text) numreg número de posición del registro, el primer registro es cero; si numreg es menor que 0 o mayor que n (para un archivo de n registros), se producirán resultados impredecibles.

    Ejemplo:

    Seek(empleados,FileSize(empleados));

    {está sentencia posiciona el puntero al final del archivo}

    jejeje muy util para modificar cualquier archivo. y que creen que es lo que usaremos para la tarea del lunes ta tan jejejeje

    ResponderEliminar
    Respuestas
    1. disculpa, podrias decirme como guardar la posicion del puntero del archivo en una variable?

      Eliminar
  8. corsiojan metete en este enlace hay estrian tus preguntas claras http://www.monografias.com/trabajos15/registro-archivos/registro-archivos.shtml#ARCHIV

    ResponderEliminar
  9. Un poco tarde; pero mas vale tarde pero seguro de verdad me pareció muy buena esta clase pero un poco complicada pero hay vamos para adelante. Opino que todos los comentarios están muy buenos y de igual manera doy mi opinión.
    Los archivos son estructura de datos seguidos por una secuencia de dicho elementos llamados registro o ( record) en esta se almacenan información cono unidad en alguna parte de la computadora y lo importante de todo es que no se limitan por la memoria de la computadora; se encuentran varios tipos de archivos de entrada, de salida y los de programa.

    ResponderEliminar
  10. disculpe que lo envie tarde pero no avia podido conectarme es carlo prado exp 22405

    ResponderEliminar
  11. Un registro(record) es:un dato con una estructuctura la cual lo llamamos dato(record) que se alia con un grupo de elementos que pueden ser diferentes o iguales.

    Formato

    Type

    Tipo - dato = record

    Lista de identificador 1 : tipo 1;

    Lista de identificador 2 : tipo 2 ;

    .Lista de identificador n : tipo n;

    End;

    danny yovera exp:19879 seccion:701

    ResponderEliminar
  12. El archivo tambien llamdo (registro) decimos que es una secuencia de datos consistentes que siguen una secuencia, y son simples y estructurados.Existen 3 tipos de archivos los de entrada, los de salida y los de programa. y en turbo pascal existes 3 tambien que son los siguientes: archivos tipeados, no tipeados y los secuenciales,

    Ejemplo:

    Type

    datos = record

    clave : integer;

    nombre : string[30];

    puesto : string[20];

    sueldo : real;

    estado : boolean;

    {true activo,false baja lógica}

    end;

    Var

    archivo:file of datos;

    Begin

    Assign(archivo,'empleado.dat');
    end.

    ResponderEliminar