1 - дескриптор файла, который вы должны открыть с помощью соответствующего вызова open.
82 - это метка, которая ссылается на формат, означающий, как вы будете сообщать данные с точки зрения визуального форматирования.
program foo
implicit none
integer :: i
double precision :: a
write (*,*) 'give me an integer and a float'
read (*,82) i,a
write (*,82) i,a
82 format (I4, F8.3)
end program
В этом примере программа принимает от стандартного ввода (номер единицы которого не указан, и поэтому я ставлю *) целое число и значение с плавающей запятой. формат говорит, что целое число занимает первые четыре столбца, затем у меня есть число с плавающей запятой, которое остается в 8 столбцах, с 3 цифрами после десятичной точки
Если я запустил программу сейчас, и я не следую именно этому формату, программа будет жаловаться и вылетать, потому что первые 4 столбца должны представлять целое число (из-за формата I4), и «5 3 «. не является действительным целым числом
$ ./a.out
give me an integer and a float
5 3.5
At line 7 of file test.f (Unit 5)
Traceback: not available, compile with -ftrace=frame or -ftrace=full
Fortran runtime error: Bad value during integer read
Однако, правильная спецификация (обратите внимание на три пробела перед цифрой 5) будет выполнять правильную операцию (с небольшим допуском, это не , что строгое)
$ ./a.out
give me an integer and a float
5 3.5
5 3.500
$