COMO EL READ USA LOS FORMATOS

Anuncio
COMO EL READ USA LOS FORMATOS
1. Cuando las variables del READ terminan antes del fin del FORMAT cesa el uso
del mismo
El próximo READ comienza con un nuevo registro
Ej:
i →1
k→ 6
READ ( * , 30) i, j
READ ( * , 30) k, l, m
30 FORMAT(5I5)
5
1
0
1
5
2
0
2
5
1
2
3
4
5
6
7
8
9
1 0
j → 2
l → 7
m →8
2.Cuando las variables del READ son mas que los descriptores que los asignados en
el FORMAT almacena los asinados en la memoria y luego retorna al paréntesis
abierto que se encuentra a la derecha y no está precedido por un factor de repetición
Ej:
READ ( *, 40) i, j, k, l, m
40
FORMAT( I5, (T6, 2I5))
Usando el archivo anterior,
i →1
l → 7
5
1
0
1
5
2
0
2
5
1
2
3
4
5
6
7
8
9
1 0
j → 2
m →8
k→ 3
Ejemplo de lectura e impresión
Se tiene un archivo adjunto cuyas características son: La primera línea contiene un
entero que indica el número de datos siguiente. En las líneas subsiguientes hay 5
enteros de formato I5 salvo en la última línea que puede contener menos valores.
22
8 23 27 24 40
45 43 38 26 16
8 8 6 3 5
4 0 2 0 1
2 1
Escribir un programa FORTRAN que
imprima tantos asteriscos como indica cada
entero de acuerdo con la siguiente forma:
1 1 2 2 3 3 4 4 5 5 6
....5....0....5....0....5....0....5....0....5....0....5....0
8 |******** ( 8)
23 |*********************** (23)
27 |*************************** (27)
24 |************************ (24)
40 |**************************************** (40)
45 |********************************************* (45)
43 |******************************************* (43)
38 |************************************** (38)
26 |************************** (26)
16 |**************** (16)
8 |******** ( 8)
8 |******** ( 8)
6 |****** ( 6)
3 |*** ( 3)
5 |***** ( 5)
4 |**** ( 4)
0 | ( 0)
2 |** ( 2)
0 | ( 0)
1 |* ( 1)
2 |** ( 2)
1 |* ( 1)
CLAUSULAS DE LA SENTENCIA OPEN
Clausula
Entrada
y Salida
Propósito
Valores posibles
[UNIT=] exp_entera
Entrada
Asocia la
entrada/salida a un file
Entero. Depende del
procesador
FILE=exp_character
Entrada
Nombre del archivo
Characrer
STATUS= exp_character
Entrada
Especifica el ‘estado’
del file a ser abierto.
‘OLD’, ‘NEW’,
‘SCRACH’,
‘REPLACE’,
‘UNKNOWN’
IOSTAT= exp_entera
Salida
Estado de entradas
salidas al fin de la
operación
Valor entero
0 sin errores
Otros errores
depende del
procesador
ACCESS= exp_character
Entrada
Especifica si el acceso
es secuencial o directo
‘SEQUENTIAL’,
‘DIRECT’
FORM=exp_character
Entrada
Especifica si los datos
están formateados o
no formateados
‘FORMATED’,
‘UNFORMATED’
Clausula
Entrada
y Salida
Propósito
Valores posibles
ACTION=exp_character
Entrada
Especifica si el file es
de sólo lectura, sólo
escritura o
lectura/escritura
‘READ’, ‘WRITE’,
‘READWRITE’
RECL= exp_character
Entrada
Para files de acceso
directo. Si es
formateado número de
caracteres en cada
record si es
unformatted depende
del procesador
Entero positivo
Depende del
procesador
POSITION=exp_character
Entrada
Indica la posición en el
file luego de ser
abierto
‘REWIND’,
‘APPEND’, ‘ASIS’
DELIM=exp_character
Entrada
Delimitador de una
lista de caracteres
‘APOSTROPHE’,
‘QUOTE’, ‘NONE’
PAD=exp_character
Entrada
Especifica si los
records formateados
de entrada
‘YES’, ‘NO’
FORM
FORMATTED
Se llaman archivos formateados aquellos en los que usamos los descriptores
para convertir los datos en una forma usable por la computadora cuando los
leemos o los escribimos. También se da el proceso contrario cuando los
resultados del programa son trasladados de la memoria de la maquina a
lenguaje que podamos leer o escribir.
UNFORMATTED
Los archivos unformatted son una copia de lo almacenado en la memoria de la
computadora. Son mucho menores que los files formateados pero la información
está codificada en sistemas de bits y es difícil de examinar. Por su codificación es
difícil de trasladar archivos entre distintos tipos de computadoras.
Por default , los archivos secuenciales son archivos ‘FORMATTED’
Si se usa acceso directo → ‘UNFORMATTED’
RECL
Especifica la longitud de cada record en un archivo de acceso directo.
POSITION
‘REWIND’ → apunta al primer record del file
‘APPEND’ → apunta al último record del file antes de l marca de end of file
‘ASIS’ → posición no especificada i depende del procesador.
Descargar