Операторы вывода данных
Для вывода данных используются операторы PRINT и LPRINT, PRINT USING, LPRINT USING.
Оператор PRINT выводит данные на экран монитора, а LPRINT – на принтер. Оба оператора имеют одинаковый формат. Операторы PRINT USING и LPRINT USING имеют то же назначение, но дополнительно позволяют форматировать выводимые данные.
Формат оператора PRINT:
PRINT "Комментарий" [;/ /,] <список выражений> [;/,]
Комментарий служит для пояснения выводимой информации; символы
[;/_/,] – разделители. Если в качестве разделителя используется символ [;] или пробел, то выводимый текст размещается один возле другого без пробелов, при выводе чисел одна позиция резервируется для знака числа. Если в качестве разделителя используется запятая, то каждое новое сообщение печатается в новой зоне. Оператор PRINT формирует выводную строку, которая разбита на 5 зон по 14 символов. Это позволяет размещать выводимую информацию по колонкам. Если текст не умещается в зоне, то он занимает соседнюю зону, а новая порция информации начинает печататься в соседней свободной зоне. В список выражений может помещаться любая информация, в том числе и алгебраические выражения без левой части. Выводимые выражения в списке разделяются запятыми. В конце строки могут быть расположены управляющие символы: точка с запятой или запятая. При наличии этих управляющих символов курсор остается в текущей позиции, и следующий оператор PRINT будет выводить информацию с этой позиции. Действуют эти управляющие символы также как и управляющие символы после комментария.
Пример 9.4.5. Использование оператора PRINT
PRINT "Х=";x ' выводится значение х
PRINT "X=";x,"Y=";y ' выводятся значения x и y
PRINT "X="x,"Y=";SIN(x) ' выводится значение x, вычисляется и
' выводится значение функции SIN(x)
Для управления выводом информации в список выражений оператора PRINT могут включаться функции TAB и SPC.
Функции TAB и SPC перемещают точку вывода на заданное число позиций. Отличие в использовании функций TAB и SPC состоит в том, что функция TAB перемещает точку ввода относительно края экрана, а функция SPC – относительно текущей позиции (рис. 9.4.1)
Оператор PRINT USING предназначен для вывода информации на экран с форматированием.
Формат оператора PRINT USING:
PRINT USING {C$|e$}; <список переменных>
Здесь C$ и e$ - шаблоны для вывода символьной или числовой информации. Шаблоны для вывода символьной информации будут рассмотрены в разделе 9.4.9.
Шаблоны для вывода числовой информации:
Если число знаков, указанных в целой части числа шаблона, меньше чем фактическое, то число выводится на экран полностью, но перед первым символом числа ставится знак %.
В примерах 4 и 7 числа .01236787# и 1236787.45673# - вводятся как константы удвоенной точности
Операторы LPRINT и LPRINT USING имеют тот же синтаксис, что и операторы PRINT и PRINT USING, но выводят информацию на печатающее устройство.
Таблица 9.4.1
Символ | Описание | Пример |
# | - резервирует знакоместо для числа, пробела, знака $ или * | PRINT USING "#####"; a, b, c – зарезервировано 5 знакомест при выводе числа на экран монитора |
. | – позиция десятичной точки | PRINT USING "##.###";а, в, с – числа a, b, c будут выведены на экран с тремя знаками после десятичной точки |
^^^^ | - местоположение порядка числа (Е+рр) (Е -рр) | PRINT USING "#.####E+pp"; a, b, c – числа будут выведены в экспоненциальной форме |
± | - выводит знак числа. Может располагаться в начале или в конце шаблона | PRINT USING "-##.###"; a, b , c – перед отрицательными числами будет выводиться знак числа |
** | - заполнение лидирующих пробелов символами "*" | PRINT USING "**###.##"; a, b, c – если число знаков в числе меньше, чем число знакомест, указанных в шаблоне, то лидирующие пробелы заполняются звездочками |
$ | - вывод знака $ перед старшей значащей цифрой | PRINT USING "$###.##"; a, b, c - перед старшей значащей цифрой будет выведен знак $ |
, | - разделитель разрядов числа | PRINT USING "###,###,###.##";a, b, c – целая часть числа разделяется на триады от младшего разряда к старшему, а дробная часть на триады не разделяется |
Примеры:
№ | Строка программы | Результат |
PRINT USING "#####.##"; 123.6787 | 123.68 | |
PRINT USING "#####.##"; -123.6787 | -123.68 | |
PRINT USING "+#.##"; 123.6787 | %+123.68 | |
PRINT USING "#.##^^^^"; .01236787# | 0.12D-01 | |
PRINT USING "**#####.##"; 123.6787 | ****123.68 | |
PRINT USING "$####.##"; 123.6787 | $123.68 | |
PRINT USING "###,###,###.#######"; 1236787.45673# | 1,236,787.4567300 |