Системные программы для «ZX-Spectrum» 1993 г.

BETA-BASIC VI.8 - описание команд (продолжение). Описание функций.


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) устанавливаются командами CLE­AR и RUN.

При работе операторов ON ERROR и TRACE определены значения следующих переменных:

ERROR код последней ошибки;

LINE номер строки программы, вызвавшей последнюю ошибку (ON ERROR) или последней выполненной строки (TRA­CE);

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

 

 

 

 

 




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Credits - авторы газеты.
Per Aspera - Bот, то самое обещанное путешествие. Астральное путешествие, т.е. вне тела. Hапрягите всю свою фантазию - ощущение непередоваемое!
Анекдоты - 40 анекдотов...
Приход - Искренне каемся за содеянное нами в третьем Психозе!
Юмор - Дембельская ракета рядового Кочкуркина.

В этот день...   2 мая