3.11.1. Общее описание
Оператор-вывода предназначен для вывода данных.
Общая синтаксическая форма оператора-вывода имеет вид:
PRINT элемент р элемент р ... р элемент
где каждый элемент является либо выражением, либо вызовом-табулятора, либо пробелом, а знак пунктуации (р) является либо запятой, либо точкой с запятой.
3.11.2. Синтаксис
1) оператор-вывода = PRINT список-вывода
2) список-вывода = (элемент-вывода разделитель-вывода)* элемент-вывода.
3) элемент-вывода = выражение вызов табулятора
4) вызов-табулятора = TAB круглая-скобка-левая арифметическое-выражение круглая-скобка-правая
5) разделитель-вывода = запятая точка-с-запятой
3.11.3. Примеры
1) | PRINT X | |||
PRINT X, Y | ||||
PRINT X, Y, Z | ||||
PRINT ,,, X | ||||
PRINT | ||||
PRINT "X EQUALS", I0 | ||||
PRINT X; (Y+Z)/2 | ||||
PRINT TAB (I0); A; "IS DONE". |
3.11.4. Семантика
Выполнение оператора-вывода создает строку символов для передачи на внешнее устройство. Эта строка символов определяется в результате последовательной обработки каждого элемента-вывода и разделителя-вывода в списке-вывода.
При вычислении арифметических-выражений создается строка символов, содержащая в начале либо пробел, если число положительное, либо знак-минус, если число отрицательное. Далее следует десятичное представление абсолютного значения числа, завершающееся пробелом. Положительное десятичное представление числа совпадает с описанием числовых-констант (см. п.3.3) и используется следующим образом.
В каждой реализации должны быть определены 2 параметра: d - максимальное количество выводимых значащих десятичных цифр числа; е - минимальное количество выводимых цифр порядка числа (см. п.3.3.1). Значение d должно быть не менее шести, а значение е - не менее двух.
Число, точно представимое целым (d или меньшим) количеством десятичных цифр, выводится в формате представления с неявно заданной точкой без указания порядка.
Все остальные числа выводятся либо в формате представления с явно заданной точкой без задания порядка, либо с явно заданной точкой и с заданным порядком.
Если точность чисел, которые могут быть представлены с d или меньшим количеством цифр без задания порядка, не меньше точности в случае представления этих чисел в формате с заданным порядком, они должны выводиться без задания порядка. Например, если d=6, то 10^(-6) должно выводиться как 0.00000I.
Числа, представленные в формате с явно заданной точкой без задания порядка, должны выводиться не менее чем с d десятичными значащими цифрами и точкой; последующие нули в дробной части могут быть опущены. В представлении числа, меньшего единицы, должны отсутствовать цифры левее точки. Эта форма требует не менее d+3 символов, включая знак, точку и замыкающий пробел.
Числа, представленные с явно заданной точкой и заданным порядком, должны выводиться в формате:
"значение" Е s "порядок"
где s - знак плюс или минус, величина "значения" находится в диапазоне от единицы до десяти и представлена не менее d цифрами точности, а "порядок" содержит от одной до е цифр.
В дробной части "значения" замыкающие нули, могут быть опущены, так же как ведущие нули в "порядке". Точка распечатывается как часть "значения", поэтому выводимое число всего будет содержать d+e+5 символов (знак мантиссы, точка, Е, знак порядка и замыкающий пробел).
При обработке текстовых-выражений генерируется соответствующий текст. При обработке разделителя точка-с-запятой генерируется текст нулевой длины.