la estructura donde se guardan los datos de los programas se llama archivo ( file )

7
La estructura donde se guardan los datos de los programas se llama archivo (file) Un file consiste en varias líneas de datos relacionados que forman una unidad Cada línea de información en un file se llama record Cuando los records se leen ordenadamente (un record tras otro) se llama acceso secuencial cuando lo hacemos sin in orden especifico se llama acceso directo LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE) LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE)

Upload: axel-montgomery

Post on 02-Jan-2016

26 views

Category:

Documents


0 download

DESCRIPTION

LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE). La estructura donde se guardan los datos de los programas se llama archivo ( file ) Un file consiste en varias líneas de datos relacionados que forman una unidad Cada línea de información en un file se llama record - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

La estructura donde se guardan los datos de los programas se llama archivo (file) Un file consiste en varias líneas de datos relacionados que forman una unidadCada línea de información en un file se llama recordCuando los records se leen ordenadamente (un record tras otro) se llama acceso secuencial cuando lo hacemos sin in orden especifico se llama acceso directo

LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE)LECTURA Y ESCRITURA DESDE ARCHIVOS (FILE)

Page 2: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

Sentencia de I/O

Función

OPEN Asociar un file en disco con un número de unidad

CLOSE Finaliza la asociación del file y el número de unidad

READ Leer datos del file asignado al número de unidad

WRITE Imprimir datos en el file asignado al número de unidad

REWIND Mueve al comienzo del file

BACKSPASE Mueve hacia atrás un record en un file

SENTENCIA OPENSENTENCIA OPEN

Open → Asocia un file con un número de unidad. En general:OPEN(lista_ de_ clausulas )

Page 3: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

Las 5 clausulas mas importantes son:

1.UNIT = → indica el numero de unidad de entrada salida asociada a un file tiliza un valor entero positivo2. FILE= → nombre del archivo a ser abierto3.STATUS = → puede ser uno de los siguientes: ´OLD’, ‘NEW’, ‘REPLACE’, ‘SCRATCH’ OR ‘UNKNOWN’4.ACTION= → indica si es un archivo para lectura, escritura o ambas. (READ, WRITE y READWRITE). Si no se pone nada se asume lectura y escritura.5.IOSTAT= → nombre de un entero. Aclara si el archivo fue abierto correctamente o con error. Si no hay mensaje de error el valor es 0.

Ej: Caso 1El nombre del file es ‘ejemplo.dat’ yel número de unidad 8

INTEGER : : ierror OPEN(UNIT= 8, FILE = ‘ejemplo.dat’, STATUS = ‘OLD’, & ACTION = ‘READ’ , IOSTAT= ierror) ‘OLD’ → significa que el archivo ya existe. Si no existe IOSTAT manda un mensaje de error

Page 4: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

Caso 2El nombre del archivo de salida SALDATOS en la unidad 25

INTEGER : : unit, ierrorCHARACTER, (len=8) : : archivoarchivo = ‘ SALDATOS’unit = 25OPEN(UNIT= unit, FILE= archivo, STATUS = ‘REPLACE’, & ACTION= ‘WRITE’, IOSTAT=ierror)

‘REPLACE’ quiere decir que un nuevo archivo será abierto para la salida exista o no un file con ese nombre. Si existe lo borra y crea un nuevo file para la salida. El contenido del viejo file se pierde.

o OPEN(UNIT= unit, FILE= archivo, STATUS = ‘NEW’, &

ACTION= ‘WRITE’, IOSTAT=ierror)

Como el archivo esta declarado como ‘NEW’ si ya existe ierror saca un mensaje. Esto impide sobre imprimir un archivo.

Page 5: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

Caso 3 OPEN(UNIT= 12, STATUS = ‘SCRATCH’ , IOSTAT=ierror)

‘SCRATCH’ es un file temporario creado por el programa que se borra automáticamente cuando el programa termina. Notar que no se escribe el nombre del archivo (es un error escribirlo)

Como no se puso ‘ACTION ‘ de este archivo se puede leer y escribir.

SENTENCIA CLOSESENTENCIA CLOSE

Cierra el file y libera el número de unidad asociado al archivo. En generalCLOSE(lista_ de_ clausulas )

CLOSE(UNIT= número entero)

Si no se cierra el archivo cuando se termina el programa los archivos se cierran automáticamente.

Page 6: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

Cuando se cierra un file el número de unidad queda liberado para ser utilizado en la apertura de un nuevo archivo. Si se quiere reabrir el mismo archivo el número de unidad puede usarse el mismo número o cualquier otro.

LECTURA Y ESCRITURA EN ARCHIVOS DE DISCO

Por el OPEN se asocio un número a un archivo dentro del cual se puede leer y escribir usando esa relación:

OPEN(UNIT=8, FILE=‘entra.dat’, STTUS=‘old’, IOSTAT=ierror)READ(8,*) x, y, z

OPEN(UNIT=9, FILE=‘sal.dat’, STATUS=‘REPLACE’, IOSTAT=ierror)WRITE(9,100) x, y, z100 FORMAT(‘ X = ’, F10.2.’ Y= ‘, F10.2, ‘ Z = ‘, F10.2)

IOSTAT

Toma la forma IOSTAT= var_entera

Page 7: La estructura donde se guardan los datos de los programas se llama  archivo ( file )

En la lectura la var_entera toma el valor 0 si no existió ningún error.Si existió un error en el formato devuelve un número positivo Si encontró el fin de archivo , la variable devuelve un número negativo.

Si no se conoce el fin de archivo y no existe la clausula IOSTAT cuando la lectura llega al final intenta leer el proximo registro y el programa se oborta.

POSICIÓN EN EL FILE

Un archivo secuencial tiene que ser leido registro por registro.para poder saltear registros en un archivo secuencial hay 2 sentencias: BACKSPACE mueve un record cada vez que es llamado REWID vuelve el file a su principio.

BACKSPACE(UNIT=iunit)Y

REWIND(UNIT=iunit)

iunit es el número entero asociado a a la unidad.Ambas sentencias pueden incluir la clausula IOSTAT.