Логические номера устройств в Фортране
Jul. 17th, 2024 02:04 pmИз фортрановских программ на БЭСМ-6 можно напрямую читать-писать ленты или диски. Стандартные операторы READ и WRITE отлично работают. Надо только указать верный логический номер устройства. К примеру, вот пара программ: одна пишет числа на диск, другая читает их и печатает.
Логические номера устройств упоминаются в книжке Салтыкова, Макаренко "Программирование на языке Фортран" на странице 133:

Но здесь не сказано про соответствие направлениям мониторки. Вот оно.
Выполняем на симуляторе dubna, получаем:*name fortran
*file:scratch,45,w
*no list
*no load list
subroutine wtest
print 1000
1000 format ('Write data to disk')
k = 123
m = 456
n = 789
write (5) k, m, n
end
*call wtest
subroutine rtest
print 1000
1000 format ('Read data from disk')
rewind 5
read (5) k, m, n
print 2000, k, m, n
2000 format (3I10)
end
*call rtest
*end file
Число 5 в операторах WRITE, READ и REWIND здесь задаёт логический номер устройства. Оно соответствует носителю номер 45 в карте *FILE:SCRATCH. В терминологии мониторной системы Дубна это называется направление.*NAME FORTRAN
*FILE:SCRATCH,45,W
*NO LIST
*NO LOAD LIST
*CALL WTEST
WRITE DATA TO DISK
*CALL RTEST
READ DATA FROM DISK
123 456 789
*END FILE
Логические номера устройств упоминаются в книжке Салтыкова, Макаренко "Программирование на языке Фортран" на странице 133:

Но здесь не сказано про соответствие направлениям мониторки. Вот оно.
- Фортрановские логические номера устройств 1-7 соответствуют направлениям 41-47 мониторки. Логические номера 8-15 соответствуют направлениям 50-57. Эти направления следует заказывать в паспорте Диспака или картами *FILE Дубны.
- Логический номер 16 соответствует направлению 16, то есть магнитному барабану. Он всегда присутствует: его не надо как-то специально заказывать.
- Логический номер 50 это ввод с перфокарт. Он работает только на чтение.
- Логический номер 51 - вывод на печать. Он работает только на запись. Функционирует в точности как оператор PRINT.
- Логический номер 52 - вывод на перфокарты. Работает только на запись. В симуляторе dubna образуется файл "punch.out" с образами перфокарт.
- Логический номер 54 вводит с терминала и выводит на терминал. То есть позволяет интерактивный диалоговый сеанс.