В памяти данные хранятся в виде последовательностей нулей и единиц. Однако при вводе и выводе входные и выходные данные представляются в виде отличном от внутреннего представления. Преобразование данных из внутреннего представления при выводе и во внутреннее представление при вводе осуществляется с помощью оператора FORMAT. Опишем оператор FORMAT, обеспечивающий форматный ввод-вывод. При использовании этого оператора программист в явном виде указывает местоположение и форму вводимых или выводимых переменных в записи (строке). Общий вид оператора
Управление переводом данных из внутреннего представления в текстовое задается дескрипторами преобразований (ДП).
ДП подразделяются на:
• дескрипторы данных (ДД),
• дескрипторы управления,
• строки символов.
Дескрипторы данных, например F8.2 или I4, определяют размер и форму полей ввода/вывода(В/В), в которых размещаются текстовые представления данных. При форматном В/В каждый элемент списка В/В использует тот или иной ДД. Элементы списка В/В и ДД должны быть согласованы по типам. Так, нельзя передать вещественное число, применяя преобразование Iw.m. При вводе также должны быть согласованы внешние представления данных и ДД. Так, если поле ввода содержит символы и выполняется ввод с этого поля целого числа, то возникнет ошибка ввода.
Если в списке В/В присутствует несколько элементов, то каждый элемент выбирает один ДД из списка ДП. Правило выбора таково: k-й элемент списка В/В выбирает k-й ДД (назовем этот порядок выбора правилом 1). При этом поля всех элементов списка В/В располагаются в одной записи. Это правило работает, когда число ДД не меньше числа элементов в списке В/В.
Пример:
в этом случае для ввода переменной L будет использован дескриптор I6, а для M- I4, а для ввода трёх элементов массива MARK – дескриптор I3. Для того, чтобы задать значения L=243, M=2, MARK(1)=800, MARK(2)=21, MARK(3)=4, на клавиатуре необходимо набрать строку( здесь символ • - использован для обозначения пробела)
243•••2800•21••4