Оператор PRINT.

Операторы READ, DATA, RESTORE.

Операторы READ и DATA используются для организации блока данных, который считывается во время выполнения программы.

Общий вид

[N строки] READ <список>

где <список> - последовательность переменных (числовых или символьных), разделенных запятыми.

[N строки] DATA <список значений>

где <список значений> - последовательность констант (числовых или (и) символьных), разделенных запятыми.

Перед выполнением программы БЕЙСИК просматривает все операторы DATA в порядке их появления и создает блок данных. Каждый раз, когда в программе встречается оператор READ, из блока данных выбирается последовательно соответствующие значения для переменных этого оператора в том порядке, в котором они заданы в блоке данных.

После выполнения оператора READ положение последнего считанного данного запоминается (с помощью указателя). Следующий оператор READ начинает выбирать данные с той позиции, которая была установлена предыдущим оператором READ.

Пример:

READ A,B $

DATA 3.5, режим

БЕЙСИК присваивает значения в следующем порядке:

А=3.5

В$ =режим

Оператор READ допускается помещать в любом месте многооператорной строки.

Оператор DATA должен быть единственным или последним оператором строки. Обычно он ставится в конце программы.

При выполнении оператора READ указатель считывания данных перемещается. БЕЙСИК осуществляет повторное считывание одних и тех же данных с помощью оператора RESTORE.

 

Пример:

10 READ a, b, c

20 RESTORE

30 READ D, e, F

40 DATA 2,4.5,6,8,10

50 END

Оператор READ в строке 10 читает первые три значения из оператора DATA в строке 40.

А=2

В=4.5

С=6

Затем оператор RESTORE (строка 20) перемещает указатель данных на начало блока данных так, что второй оператор READ в строке 30 читает те же первые значения.

D = 2

e = 4.5

c = 6

Оператор PRINT выводит данные на терминал в процессе выполнения программы.

Общий вид

[N строки] PRINT <список>

где <список> - последовательность констант, переменных или выражений, подлежащих выводу.

Если элементом списка является выражение, БЕЙСИК вычисляет его и печатает результат.

Пример:

LET A1 = 25: A2 = 35

PRINT "A1+A2="; A1 + A2

Результат, выводимый на терминал: А1+А2=60

Строка символов, выводимая на терминал, состоит из 5 зон по 14 позиций в каждой зоне.

Оформление списка редактора PRINT.

Если между элементами списка оператора PRINT стоит запятая, то последующий элемент списка печатается в свободной зоне. Если последняя зона в строке заполнена, печать продолжается с первой зоны следующей строки.

Если две запятые стоят рядом, то выполняется пропуск одной зоны.

Если за элементом списка стоит точка с запятой (;), то

следующее значение размещается после числа через один пробел, а после символьного значения - в следующей позиции.

Если за последним элементом списка не стоит "," или ";", то первое значение, выводимое следующим оператором PRINT, размещается на следующей строке.

Если за последним элементом списка стоит "," или ";", то первое значение, выводимое следующим оператором PRINT, размещается в следующей зоне или следующей позиции.

Оператор PRINT без списка элементов служит для перевода строки терминала.

Пример:

PRINT -4

PRINT 15; ; 30

Сообщение, выводимое на терминал:

-4

15 30

Для вывода символьных данных используется символ " (кавычки).

Пример:

Нужно вывести на печать слово СКОРОСТЬ

По оператору

PRINT"СКОРОСТЬ"

БЕЙСИК выведет на терминал:

СКОРОСТЬ

Для вывода данных в заданном формате используется оператор PRINT USING, имеющий структуру:

[N строки] PRINT USING <список форматов>;<список вывода>

где <список вывода> оформляется так же, как в операторе

PRINT;

<список форматов> - последовательность специальных символов, заключенных в кавычки.

В качестве специальных символов используются:

# - вывод одной цифры;

. - вывод десятичной точки;

+ или (-) - вывод знака числа (+ или -);

(-) - вывод знака отрицательного числа (без скобок);

^^^^ - выделение поля для вывода экспоненты

и другие.

Примеры использования форматов:

Формат Выводимое число Результат

## 12 12

###.## 12 12.00

###.## 123 123.00

+### 123 +123

-### -123 -123

-### 123 123

##.##^^^^ 123 1.23Е+02

Например, оператор

PRINT USING "+##.#";A,B,C

выводит значения переменных А,В,С со знаками. Каждое значение имеет две цифры в целой части и одну в дробной.