read (núm_unidad, núm_formato) lista_de_variables
write(núm_unidad, núm_formato) lista_de_variables
El número de unidad se puede referir a la salida estándar, entrada estándar o
a un archivo. Se describirá más adelante. El número de formato se
refiere a una etiqueta para la sentencia format, la cual será descrita
brevemente.
Es posible simplificar estas sentencias usando asteriscos (*) para algunos argumentos, como lo que se ha hecho en los ejemplos anteriores. A lo anterior se le conoce como una lectura/escritura de lista dirigida.
read (*,*) lista_de_variables
write(*,*) lista_de_variables
La primera sentencia leerá valores de la entrada estándar y asignará los
valores a las variables que aparecen en la lista, y la segunda escribe la
lista en la salida estándar.
integer m, n
real x, y
read(*,*) m, n
read(*,*) x, y
Se ingresan los datos a través de la entrada estándar (teclado), o bien,
redireccionando la entrada a partir de un archivo. Un archivo de datos
consiste de registros de acuerdo a los formatos válidos de Fortran.
En el ejemplo, cada registro contiene un número (entero o real). Los registros
estan separados por espacios en blanco o comas. Por lo que una entrada válida
al programa anterior puede ser:
-1 100 -1.0 1e+2O se pueden agregar comas como separadores:
-1, 100 -1.0, 1e+2Observar que la entrada en Fortran 77 es sensible a la línea, por lo que es importante contar con el número apropiado de elementos de entrada (registros) en cada línea. Por ejemplo, si se da la siguiente entrada en una sola línea
-1, 100, -1.0, 1e+2entonces a m y a n se asignarán los valores de -1 y 100 respectivamente, pero los dos últimos valores serán descartados, dejando a x e y sin definir.
read *, lista_de_variables
print *, lista_de_variables
la cual tiene el mismo significado que la lista dirigida de lectura y
escritura descrita anteriormente. Esta versión siempre lee/escribe a la
entrada/salida estándar, por lo que * corresponde al formato.