read (núm_unidad, núm_formato) lista_de_variables write(núm_unidad, núm_formato) lista_de_variablesEl 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_variablesLa 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, ySe 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_variablesla 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.