Оператор 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
выводит значения переменных А,В,С со знаками. Каждое значение имеет две цифры в целой части и одну в дробной.