Операторы вывода данных

Для вывода данных используются операторы 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