
- •22. Операторы ввода-вывода в Фортране, аналогия последовательного обмена с кассетным магнитофоном
- •23. Ответы на вопросы "Что", "Куда-откуда" в операторах обмена данными
- •25. Форматный вывод таблиц
- •Правило таблицы
- •26. Атрибуты и новая форма описания объектов в современном Фортране. Массивы в раннем фортран -77 и современном Фортране. Конформные массивы.
- •27. Секция и конструктор массива
- •Примеры манипуляций с секциями
- •28. Характеристики массива
- •29.Размещение массива в памяти компьютера
22. Операторы ввода-вывода в Фортране, аналогия последовательного обмена с кассетным магнитофоном
Ввод-вывод в Фортране реализован средствами языка. Структура оформляемого текста должна соответствовать решаемой задаче. Текст появляется в результате выполнения многих операторов write, но каждый начинает вывод с новой строки. Аналогично каждый read начинает вывод с новой строки. В рамках одного write или read используется только один способ оформления текста, хотя в Фортране их предусмотрено несколько. Концепции ввода-вывода в Фортране
read откуда→как→что преобразует данные, поступающие из текстового источника, во внутреннее представление компьютера, предлагая ответы на 3 вопроса – откуда вводить? как вводить? и что вводить? write куда←как←что данные, поступающие из внутреннего представления компьютера, преобразует в текст, предлагая - ответы на 3 вопроса – кудавыводить? как выводить? и что выводить?
Возможные варианты написания оператора write ( куда , как ) что 1. write(куда,как) что - 1-ый параметр задаёт куда направить текстовый вывод, а именно: a) без предварительного открытия текстового файла write(*,как)что или write(0,как)что - вывод на всегда готовую консоль (клавиатура+экран) - можно использовать read(5,как)что для ввода с консоли - можно использовать write(6,как)что для вывода на консоль - можно задать другие номера, чтобы отложить открытие файла до выполнении приложения, когда по номеру запросят имя файла b) предварительно открыв текстовый файл open(номер_направления, file=’файл’), выводим данные из памяти по заданному направлению write(номер_направления, как ) что - номер_направления задаётся целой константой или переменной - для физических устройств ввода-вывода используют зарезервированные имена файлов: prn-принтер, con-консоль, nul-пустышка c) направить вывод write(строка,как)что в строковую переменную, называемую внутренним файлом 2. write(куда,как)что - 2-ой параметр задаёт как оформить вывод 4 разными способами a) write (куда,*)что - это простейший бесформатный вывод b) write (куда, формат)что - вывести по электронному бланку, заполняемому данными из “что”
c) write (куда
d) предварительно
задав, что выводить
в
операторе Namelist /имярекСписка/ СписокПеременных
write (куда, имярекСписка) -
вывести данные поимённо, без списка 3. что выводить задаётся 2 способами
a) либо,
как в 2d,
предварительно задав СписокПеременных в
операторе Namelist
тогда write (куда, имярекСписка) пишется без
списка b) write(куда,как)что - данные перечисляются после самого оператора write в списке вывода что, состоящем из объектов программы, как-то: константа, переменная, переменная с индексами массив, секция массива, конструктор массива список из многих значений в форме неявного цикла do запись производного типа из нескольких полей или массив записей выражение как скалярное, так и векторное
Аналогия последовательного обмена с кассетным магнитофоном Последовательный ввод-вывод легче понять, используя аналогию с кассетным магнитофоном
|