GET целая_переменная или строковая_перемен-ная [G]
Ждет нажатия клавиши и присваивает переменной ее код или
символ. Нумерация клавиш: 0 — "О", 1 — "I",..., 10 —
"А", 11 —"В", 12—"С" и т.д.
JOIN <номер_строки> [SHIFT 6]
Присоединение к указанной строке (или текущей строке, если
номер не указан) следующей строки. Полученная строка записывается под
указанным номером (или под номером текущей строки).
KEYIN строка [SHIFT 4]
Допустима только в качестве инструкции в программе. Подает
строку на вход интерпретатора командой строки BASIC
(это может быть строка программы).
KEYWORDS 1 [8]
KEYWORDS 0 [8]
Включает и выключает назначение ключевых слов BETA-BASIC на клавиши в режиме
"GRAPHICS".
LIST номер_строки ТО номер_строки
LLIST номер_строки ТО номер_строки
Расширение стандартного синтаксиса — вывод указанного
интервала строк на терминал или печать.
LOOP [L]
LOOP UNTIL условие [L]
LOOP WHILE условие [L]
Заканчивает конструкцию цикла DO-LOOP.
ON [0]
Используется в следующих конструкциях:
GOTO ON переменная; номер_строки,
номер_строки, . . .
GOSUB ON переменная; номер_строки,
номер_строки, . . .
Выполняет переход на
метку, порядковый номер которой соответствует значению переменной.
ON ERROR номер_строки [N]
Задает метку подпрограммы обработки ошибки. Переход не
происходит по событиям 0 ("ОК") и 9
("STOP"). Выполнение перехода можно отменить, задав: ON ERROR 0.
PLOT X,Y; строка
В расширенном синтаксисе вызывает вывод строки в указанное
место экрана. В заданные координаты будет помещен левый верхний угол первой
буквы строки. В строке можно использовать символы управления маркером.
POKE адрес, строка
В расширенном синтаксисе кладет коды всех символов строки
начиная с указанного адреса.
POP <целая_переменная> [Q]
Из стека берется адрес выхода из GOSUB,
DO-LOOP или PROG. Если указано имя переменной,
ей присваивается значение адреса.
PROC имя [2]
Вызов процедуры по имени.
RENUM <начало ТО конец> <LINE новое_нача-ло> <STEP
шаг> [4]
Перенумеровывает строки программы в зависимости от указанных
параметров. Если не указаны параметры, то строки нумеруются начиная с 10 с
шагом 10.
ROLL код_операции <, число_пикселей> <;
X,Y; ширина, высота> [R]
Циклический сдвиг указанного окна экрана параллельно краям
экрана. Указываются координаты левого верхнего угла области, ширина и высота.
Если не указано число пикселей, на которое сдвигать изображение, производится
сдвиг на 1 пиксель. Если не указаны размеры окна, произойдет сдвиг всего
экрана. Можно сдвигать изображение с атрибутами, только атрибуты или только
изображение. Для корректного переноса атрибутов все параметры должны быть
кратны 8. Коды операции указаны в таблице:
КОД
ОПЕРАЦИИ
|
НАПРАВЛЕНИЕ
|
ОБЪЕКТ
ПЕРЕНОСА
|
1
|
НАЛЕВО
|
АТРИБУТЫ
|
2
|
ВНИЗ
|
АТРИБУТЫ
|
3
|
ВВЕРХ
|
АТРИБУТЫ
|
4
|
НАПРАВО
|
АТРИБУТЫ
|
5
|
НАЛЕВО
|
ИЗОБРАЖЕНИЕ
|
6
|
ВНИЗ
|
ИЗОБРАЖЕНИЕ
|
7.
|
ВВЕРХ
|
ИЗОБРАЖЕНИЕ
|
8
|
НАПРАВО
|
ИЗОБРАЖЕНИЕ
|
9
|
НАЛЕВО
|
ИЗОБРАЖЕНИЕ
+ АТРИБУТЫ
|
10
|
ВНИЗ
|
ИЗОБРАЖЕНИЕ
+ АТРИБУТЫ
|
11
|
ВВЕРХ
|
ИЗОБРАЖЕНИЕ
+ АТРИБУТЫ
|
SCROLL <код_операции> <,
число_пикселей> <,
X,Y; ширина, высота> [S]
Сдвиг области экрана. Параметры аналогичны
ROLL. С помощью этой функции может быть реализован плавный рулон
экрана, как в ZX-81.
SORT массив или строка [М]
SORT INVERSE массив или строка [М]
Упорядочение массива или символов строки в порядке возрастания
или убывания значений или кодов символов.
SPLIT
Не имеет ключевого слова, вводится как стандартный символ
"о" (SYMBOL SHIFT + W). Если во время
редактирования строки программы вставить этот символ, то по нажатию "ENTER" часть строки до него будет помещена под
тем же номером в программу, а остаток строки с той же меткой останется в
буфере редактирования.
TRACE номер_строки [Т]
Команда для отладки программы. После каждой команды вызывается
подпрограмма с указанной отметки. Отменяется командами RUN,
CLEAR и TRACE 0.
UNTIL условие [К]
Используется в циклах DO-LOOP в
выражениях DO UNTIL И LOOP UNTIL.
Выход из цикла осуществляется при выполнении условия.
USING строковая_переменная; число [U]
Используется в операторе PRINT для
обозначения формата вывода чисел. Символы "#" в строке означают
позицию под цифру.
WHILE
условие [J]
Используется в циклах DO-LOOP в
выражениях DO WHILE и LOOP WHILE,
При выполнении условия продолжается выполнение цикла.
ГЛАВА 3:
ОПИСАНИЕ ФУНКЦИЙ
BETA-BASIC
Ниже перечислены функции системы BETA-BASIC
с аргументами и способом вызова (в квадратных скобках).
AND
(число,,число) [FN А (1
|
Поразрядное логическое умножение двух чисел
|
BIN S (число) [FN В$]
|
Перевод числа в строку в двоичном виде
|
CHARS (число) [FN С$]
|
Перевод числа в строку в беззнаковой форме (от 0 до 65535)
|
COSE (число) [FN С(]
|
Косинус большой точности (4 дополнительных знака по
сравнению со стандартным Бейсиком)
|
DEC (строка) [FN D(]
|
Перевод строки в шестнадцатеричной форме в число
|
DPEEK (адрес) [FN P(]
|
Чтение двухбайтового числа из указанного адреса
|
FILLED () [FN F(]
|
Дает число точек экрана, заполненных при последнем вызове FILL
|
NEXS (число) [FN H$]
|
Перевод числа в строку в шестнадцатеричной форме
|
INSTRING (старт, строка 1, строка 2) [FN 1(]
|
Выдается позиция первого появления от позиции
"старт" первого символа строки_2 в строке_1. Если символ
отсутствует, результат = 0
|
MEM () [FN M(]
|
Размер свободной памяти в байтах
|
MEMORY$ () [FN M$]
|
Строка, представляющая собой всю память ( от адреса 1 до
65532)
|
MOD (число 1, число 2) [FN V(]
|
Деление числа_1 по модулю числа_2
|
NUMBER (строка) [FN N(]
|
Перевод строки из двух знаков в число беззнаковой формы
(от 0 до 65535)
|
OR (число, число) [FN 0(]
|
Поразрядное логическое сложение двух чисел
|
RNDM (число) [FN R(]
|
Получение псевдослучайного числа в интервале от 0 до
указанного числа
|
SCR$
(номерстроки, номер колонки) [FN KS]
|
Возвращает символ, стоящий в указанной позиции экрана
|
SINE (число) [FN S(]
|
Синус большой точности (4 дополнительных знака)
|
STRINGS
(число,,строка) [FN SS]
|
Строка повторяется указанное число раз
|
TIMES () [FN TS]
|
Текущее время, заданное оператором CLOCK
|
USING$
(строка формат, число) [FN US]
|
Число переводится в строку в указанном формате (аналогично
оператору USING)
|
XOR
(число,,число) [ FN X(]
|
Поразрядная операция "исключающее или"
|
|
|
|
СПЕЦИАЛЬНЫЕ ПЕРЕМЕННЫЕ.
В системе
BETA-BASIC используются и определены следующие специальные переменные
(имена можно набирать строчными или прописными буквами).
XOS, YOS
— сдвиг начала системы координат от левого нижнего угла экрана (первоначально
установлены в 0,0). Могут принимать значения: XOS — от 0 до 255, YOS — от 0 до
175. Сбрасываются командами CLEAR и
RUN.
XRG, YRG
— условное число точек на экране — используется для масштабирования системы
координат. Значения по умолчанию (XRG=256, YRG=176)
устанавливаются командами CLEAR и
RUN.
При работе операторов ON ERROR и TRACE определены значения
следующих переменных:
ERROR — код последней ошибки;
LINE — номер строки программы, вызвавшей последнюю ошибку (ON ERROR) или последней выполненной строки
(TRACE);
STAT — номер
инструкции в строке, в которой возникла ошибка (ON ERROR),
или последней выполненной инструкции (TRACE).
Эти переменные доступны для
анализа работы программы или программной обработки ошибок.
ПРИЛОЖЕНИЕ
КОДЫ КЛАВИШ КЛЮЧЕВЫХ СЛОВ И
ФУНКЦИЙ
[G] [G] [FN]
A ALTER 1
DEF PROC A( AND
С CLOCK 2 PROC B$ BIN$
D DO 3
END PROC C( CHAR$
E ELSE 4
RENUM C( COSE
F FILL 6
AUTO D( DEC
G GET 7
DELETE F( FILLED
I EXIT IF 8
KEYWORDS H$ HEX$
J WHILE SH+1
DEF KEY l( INSTRING
К UNTIL SH+4 KEYIN K$ SCRN$
L LOOP SH+5
EDIT M( MEM
M SORT SH+6
JOIN M$ MEMORY$
N ON ERROR N(
NUMBER
0 ON 0(
OR
P DPOKE P(
DPEEK
Q POP R(
RNDM
R ROLL S(
SINE
S SCROLL S$
STRINGS
Т TRACE T$ TIMES
U USING U$
USING$
V(
MOD
X( XOR