Читайте также: |
|
Нормальное действие оператора ввода-вывода состоит в продвижении к следующей записи по завершении оператора. Таким образом на вводе, если запись читалась только частично, остаток вводимой записи сбрасывается. На выводе оператор WRITE() будет завершен на позиции курсора в начале новой строки.
I/O без продвижения позволяет запись читать по частям (например, длинная запись неизвестной длины) или создавать искусный пользовательский интерфейс, где приглашение ввода и ответ пользователя появляется в одной и той же строке (но остерегайтесь, что это "аккуратное средство" не определено в стандарте Fortran и зависит от реализации).
Имеется комплексное множество правил, превращающих использование ввода-вывода без продвижения и его вариантов в соответствующие ключевые слова. Этот раздел имеет смысл только с весьма зависящим от реализации аспектами управления экраном. Ключевое слово ADVANCE должно быть использовано в операторах WRITE или READ следующим образом:
INTEGER:: i, j
...
WRITE(*,*,ADVANCE='NO') 'Введите значение i: '
READ(*,*) i
WRITE(*,*) ''Введите значение j: '! ADVANCE='YES'
READ(*,*) j
Если пользователь вводит значения 10 и 20 это должно появиься на экране следующим образом:
Введите значение i: 10
Введите значение j:
Ввод-вывод без продвижения выглядит ясно, но зависит от реализации.
Файловый ввод-вывод
В предшествующих модулях весь ввод и вывод представлен работающим с устройством по умолчанию., а именно: с клавиатурой и экраном. Во многих случаях эти действия не подходят: временная память промежуточных результатов, много ввода или вывода, вывод одной программы для ввода в другой, множество вводимых данных используется многократно, и т.д.
Требуется механизм, который позволяет программисту обеспечить прямой ввод из другого исходного устройства, но не с клавиатуры (во время выполнения) и представлять вывод в сохраняемой форме. Таким средством является коллекция файлов в памяти. Такие файлы как исходный текст программы или множество данных для ввода.вывода форматированы, то есть представлены упорядоченной последовательностью символов, разделенных маркерами конца или маркером записи. Форматированный файл может быть просмотрен с помощью редактора или напечатан на принтере. Неформатированный файл не имеет такой структуры и может быть рассмотрен как единый поток байтов данных. Неформатированный файл естественно вводить путем использования подходящей программы, написанной пользователем.
Дата добавления: 2015-11-14; просмотров: 83 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Вещественные - форма с фиксированной точкой | | | Оператор OPEN |