Руководство программиста для начинающих 1969 г.

Приложение - краткое описание функций и операторов, реализуемых данной версией языка БЕЙСИК.


ПРИЛОЖЕНИЕ А.

Краткое описание функций и операторов, реализуемых
данной версией языка БЕЙСИК

ФУНКЦИИ

Функции — это зашитые в БЕЙСИК — систему подпрограммы,
которые получая на входе одни значения, называемые аргумен-
тами, возвращают другие значения —- результаты.

Функции используются в выражении простым включением в
него имени функции с последующими аргументами.

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

Принятые обозначения:

X, Y — аргументы функций;

А, В — операнды функций.

Все функции языка Бейсик сведены в следующую таблицу:

Имя
функции

Тип
аргумента

Действие *»
(возвращаемое значение)

1

2

3

ABS

Число

Абсолютное значение

ACS

Число

Арккосинус в радианах, число должно быть в интервале
от — 1 до 1

ASN

Число

Арксинус а радианах, число должно быть в интервале
от — I до 1

ATN

Число

Арктангенс в радианах

ATTR

Два число-
вых аргумен-
та X и Y,
заключенных
в скобки

Число, двоичный код которого представляет собой атрибуты
Y-ой позиции Х-ой строки экраиа. Бит 7 (старшяй) равен
1 для мерцающего поля, и 0 для немерцающего. Биты с
5 по 3 — цвет фона. Биты с 2 по 0 — цвет закрашивания.
0<=Х<=23 и 0<=Y<=31.

BIN

Это не обычная функция. За BIN записывается после-
довательность нулей и единиц, представляющая собой дво-
ичное представление числа, которое записывается в память

CHR$

Число

Символ, чей код представим числом X, округленным к

ближайшему целому.

CODE

Строка
символов

Код первого символа в строке X (или 0,если строку пустая)

COS

Число в
радианах

Косинус X

EXP

Число

F, в степени X

FN

FN с последующим именем, определенной пользователем
функции (см. DEF). Аргументы должны заключаться в
скобки. Даже если иет аргументов, скобки все равно должны
записываться

IN

Число

Осуществляется ввод на уровне микропроцессора из порта
X (0<;=Х<—FFFFH). Загружается пара регистров ВС
и выполняется команда ассемблера IN А, (С).

INKEY$

Нет

Чтение с клавиатуры. Возвращает символ, введенный с кла-
виатуры (в режиме |L] или [С]) .если было действительное
нажатие клавиши, или пустую строку в противном случае.

INT

Число

Округление к ближайшему меньшему целому

LEN

Строка
символов

Длина строки

LN

Число

Натуральный логарифм, Х>-0.

NOT

Число

0, если ХоО; 1, если Х=0. Операция име.эт четвертый
приоритет.

1

2

з

OR

Оба операн
да числа

1

Логическая операция

1, если В<>0

A OR В-

А, если В=0
Операция имеет второй приоритет.

РЕЕК

Число

Значение байга в памяти по адресу X, округленному к
ближайшему целому

PI

Нет

Число ПИ (3.14159265...)

POINT 1

Два числовых
аргумента X
и Y, заклю-
ченных в
скобки

1, если точка экрана с координатами (X,Y) закрашена.
0, если эта точка имеет цвет фона.
0<=Х<=255 и 0<=Y<=175.

RND

Her

Очередное псевдослучайное число из последовательности,
получаемой возведением в 75 степень модуля числа 65537,
вычитанием 1 и делением иа 65536. Число лежит в интер-
вале 0<=Y<=1.

S(,Rfh.N$

Два числовых
аргумента X
и Y, заклю-
ченных в
скобки;

Символ (обычный или инверсный), который появляется
на экране в строке X, позиии Y. Дает пустую строку, если
символ ие опознан.

SON

Число

-1,:если Х<0

0, если X—0

1, если Х> 0

SIN

Число в
радианах

Синус X

SQR

Число

Корень квадратный. Ошибка, если Х<0.

STR$

Число

Строка символов, которая должна быть отображена," "
если X выводится

USR

Число

Вызывает подпрограмму в машинных кодах, начальный
адрес которой X. При возврате результатом будет содер-
жимое регистровой пвры ВС.

USR

Строка
символов

Адрес группы байтов, задающих определённый пользова-
телем символ для закрепления его за X.

VAL

Строка
символов

Вычисляет X как числовое выражение. Выдает сообщение
об ошибке, если X содержит синтаксическую ошибку или
дает строковое (не числовое) значение.

VAL$

Строка
символов

Вычисляет X как строковое выражение. Выдает сообщение
об ошибке, если X содержит синтаксическую ошибку или
дает не строковое (числовое) значение.

ОПЕРАТОРЫ

Принятые обозначения:
А — одна буква;
V — переменная;
X, Y, Z — числовые выражения;

М, N — числовые выражения, которые округляются к ближай-
шему целому;
Е — некоторое выражение;
F — выражение, имеющее строковое значение;
S — последовательность операторов, разделенных двоеточием
«:»;

С — последовательность символов управления цветом. Каждый
заканчивается запятой или точкой с запятоц. Цветовой
символ имеет форму операндов: PAPER, INK, FLASH,
BRIGHT, INVERSE или OVER.
Текст произвольного выражения может располагаться в любом
месте строки (за исключением номера строки, который должен
размещаться в начале строки).

Все операторы, кроме INPUT, DEF и DATA могут исполь-
зоваться и как команды и в программах.

Команда или строка программы может содержать несколько
операторов, разделенных двоеточием «:».

Нет ограничений на положение оператора в строке, хотя есть
некоторые ограничения в IF и REM.

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

Оператор

Действие оператора

1

2

ВЕЕР X, Y

Воспроизводит звук длительностью X сек. и высотой Y полу-
тонов вверх от основного тона ДО (или вниз, если Y отрица-
тельное)

BORDER М

Устанавливает цвет рамки (бордюра) экрана. 0<—М<=7

BRIGHT М

Устанавливает яркость выводимого символа:

0 — для обычной яркости;

1 — для повышенной яркости;

8 — сохраняет существующую яркость.

CAT

Без MICRODRIVE не работает

CIRCLE X,Y,Z

Изображает дугу или окружность с центром в точке с коорди-
натами (X.Y) и радиусом Z.

CLEAR

Уничтожает все переменные и очищает занимаемую ими память
Выполняет RESTORE и CLS, устанавливает PLOT позицию
в нижнюю левую точку экрана и очищает GO SUB стек.

CLEAR N

Подобно CLEAR, но дополнительно изменяет системную пере-
менную RAMTOP на 'N' и задает новый GO SUB стек.

CLOSE*

Без MICRODRIVE ие работает

CLS

(CLEAR SCREEN) очищает файл экрана

CONTINUE

Продолжает выполнение программы, начатой ранее и остановлен-
ной с сообщением, отличным от 0. Если было сообщение 9 или L
то выполнение продолжается со следующего оператора. В других
случаях с того оператора, где случилась ошибка.

COPY

11ересылает копию 22 строк экрана на принтер, если он подключен

DATA EI, E2, E3„.

Часть списка данных Располагается только в программе.

DEF

FNA(Al,...,AK)=E

Определяемая пользователем функция Должна располагаться
в программе. А,А1 и т.д. единственные буквы или буквы и $ для
строковых аргументов, значений. Если нет аргументов, исполь-
зуется форма DEF FNA( ).

DELETE F

Без MICRODRIVE не работает

DIM

A (NI,N2,...,NK)

Уничтожает массив с именем 'А' и устанавливает числовой
массив 'А' с 'К' измерениями и присваивает всем его элементам
значение 0.

DIM

A$ (N1.N2.....NK)

Уничтожает массив или строку с именем ' ' и устаиавлн
вает символьный массив с 'К' измерениями и присваивает всем
его элементам значение « ». Массив не определен до его опи-
сания в операторе DIM.

DRAW X, Y

То же самое, что и DRAW X, Y, 0. Чертит прямую линию

DRAW X,Y,Z

Изображает линию от текущей графической позиции в точку
приращениями X,Y по дуге в Z радиан.

ERASE

Без MICRODRIVE не работает

1

2

FLASH N

Определяет, будет ли символ мерцающим или с постоянным
свечением. N=0 для постоянного свечения, N=1 для мерцания
N—8 — для сохранения предыдущего состояния.

FOR А=-Х ТО Y

FOR А=Х ТО Y STEP 1

FOR А=Х
ТО Y STEP Z

Уничтожает скалярную переменную 'А' и устанавливает управ
ляющую переменную 'X', предел 'Y', шаг приращения 'Z',
зацикливает адрес, указанный и утверждении после FOR оде
ратора. Проверяет, если начальное значение больше (если
STEP>=0) или меньше (если STEP<0), чем предел, то про-
исходит переход к утверждению NEXT А.

GO SUB N

Проталкивает строку с оператором GO SUB в стек для исполь-
зования затем как GO ТО N.

G6 ТО N

Продолжает выполнение программы со строки. 'N', если 'N'
опущено, то с первой строки после этой.

IFX THEN S

Если 'X' истинно (не равно 0), то выполняется 'S', 'S' вклю-
чает все операторы до конца строки.

INK N

Устанавливает цвет закрашивания (т.е. цвет, которым будут
изображаться символы иа цвете фона). 'N' в интервале от 0 до 7
указывает цвет. N=8 — оставить цвет без изменения, N=9 —
увеличение контраста.

INPUT...

/

- 4 '*'

'...' есть последовательность вводимых символов, разделяемых
как в операторе PRINT запятыми, точками с запятой или
апострофами. Вводимыми символами могут быть:

а) некоторый PRINT — символ, начинающийся не с буквы;

б) имя переменной;

в) строка имен переменных строкового типа.

PRINT — символы в случае а) представляются так же, как и
в операторе PRINT, за исключением того, что они все выводятся
в нижнюю часть экрана. В случае б) компьютер остаиавли-
иается и ждет ввода некоторого иыражеиия с клавиатуры, зна-
чение которого будет присвоено переменной. Ввод осуществля-
ете» обычным образом, а синтаксические ошибки выдаются
мерцающим знаком [?]. Для строкового выражения вводной
буфер устанавливается для размещения двух таких строк. Если
первый вводимый символ STOP, то программа останавливается
Случай в) подобен случаю б) с той лишь разницей, что вводимая
информация представляет собой строковый литерал неограни-
ченной длины, и STOP в этом случае ие сработает. Для останова
надо нажать клавишу 'курсор вниз'.

INVERSE N

Символ управления инверсией выводимого сямвола. Если N—0,
символ выводится в обычном виде с прорисовкой цветом закра-
шивания (INK) иа цвете фона (PAPER) Если N=1, то цветовое
решение изображения символа меняется на обратное.

LET V=E

Присваивает значение 'Е' переменной 'V'. Ключевое слово
LET не может быть опущено. Скалярная переменная ие опре-
делена, пока не встретится в операторах LET, READ или INPUT.

Если индексируемая строковая переменная или сечеиие стро-
кового массива (подстрока), то присваивание осуществляется
с усечением справа или дополнением пробелами до фиксирован-
ной длины. "

1

2

LIST

To же, что и LISTO.

LIST N

Записывает текст программы в верхнюю часть экрана, начиная
с первой строки, меньшей, чем 'N', и делает 'N' текущей строкой.

LLIST

То же, что и LLISTO. ЙНВ&гт

LLIST N

Подобно LIST, но вывод осуществляется на принтер

LOAD F

Загружает программу и переменные. Р

LOAD F DATA ( )

Загружает числовой массив

LOAD F DATA $ ( )

Загружает строковый массив.

LOAD F CODE M,Is

Загружает старшие 'N' байтов, начиная с адреса 'М'.

LOAD F CODE M

Загружает байты, начиная с адреса 'М'.

LOAD F CODE

Загружает байты по адресу, с которого они были
записаны на ленту.

LOAD F
SCREEN$

Аналогично LOAD F CODE 16384, 6912. Очищает файл экрана
и загружает его с кассетного магнитофона.

LPRINT

Подобно PRINT, но использует принтер.

MERGE F

Подобно LOAD F, но ие затирает всю старую программу в
памяти, а заменяет только те строки и переменные, у которых
совпадают номера или имена с такими же иа лейте

MERGE F1.F2

Без MICRODRIVE ие работает Я!

NEW

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

NEXT A

а) находит управляющую переменную 'А';

б) прибавляет к ней значение STEP;

в) если STEP>=0, а значение 'А' стало больше значения
'предел', или STEPcO, а значение 'А' меньше, чем значение
'предел', то происходит переход к оператору цикла.

OPEN#

Без MICRODRIVE не работает

OUT M.N

Выводит байт 'N' в порт 'М'. Операции выполняется на уровне
микропроцессора (загружает в регистровую пару ВС адрес 'М',
а в регистр А — 'N' и выполняет команду ассемблера OUT
(С). А .

0<=М <=65535. — 255<=N<=255.

OVERN

Управляющий символ надпечатываиия по выведенной строке.
Если N—0, то выводимый символ затирает существующий в
данной позиции. Если N=1, то новый символ соединяется со ста-
рым, образуй закрашивающий цвет, при условии, что старый
символ имел указание цветв, отличное от старого, или цвет
фона, если оба указывают на один и тот же цвет (либо фона,
либо закрашивания).

PAPER N

Подобен INK, но управляет цветом фона.

I

2

PAUSE N

Останавливает выполнение программы и задерживает изображе
ние на экране на 'N' кадров (50 кадров в сек. — частота
кадровой развертки) или до нажатия любой клавиши.
0<= N<=65535. При N=0 время задержки не учитывается
и продолжается до первого нажатия клавиши.

PLOT C; M,N

Выводит точку закрашивающего цвета (обработанная OVER и
INVERSE) с координатами (ABS (М), ABS(N)), смещает гра
фическую позицию.

Если цветовой символ 'С' ие специфицирован иначе, то цвет
закрашивания в позиции, где расположена эта точка, изме-
няется на текущий сплошной закрашивающий цвет, и другие
указания (цвет фона, мерцание, яркость) остаются без изме-
нения.

0<=ABS(M) <=255
0<=ABS(N) <=175

POKE M,N

Записывает значение 'N' в байт памяти по адресу 'М'.
0<=М <=65535, — 255 <=N <=255

PRINT.

'...' последовательность PRINT — символов, разделенных запя
тыми, точками с запятой или апострофами, которые выводятся
в экранный файл для отображения на экране телевизора. Точка
с запятой сама действия не вызывает, а используется для
разграничения символов. Запятая порождает управляющий
символ «запятая>, а апостроф порождает символ ENTER
В конце оператора PRINT, если он не заканчивается точкой
с запятой, запятой илн апострофом, автоматически выводится
символ ENTER PRINT — символом может быть:

а) пустая строка;

б) числовое выражение.

Если значение выражения отрицательно, то выводится знак
минус. Если Х<=10**( 5) или Х>=10**13, вывод осущест-
вляется в показательной форме. Мантисса представляется 8-мью
цифрами (с нормализацией) и десятичной точкой (отсутствует
только тогда, когда в мантиссе одна цифра) после первой
цифры. Показатель степени записывается после буквы 'Е' с
последующим знаком и двумя цифрами порядка. Иначе X выво-
дится как обычное десятичное число с 8-мью значащими циф-
рами;

в) строковое выражение.

В строке возможны пробелы до и после символов.
Управляющие символы вызывают определяемое ими действие.
Не отображаемые на экране символы выводятся как '7';

г) AT M,N

Вывод в позицию 'N' строки 'М';

д) TAB N

Перемещает позицию вывода в столбец N текущей строки;

е) цветовой символ в форме PAPER, INK, FLASH,
BRIGHT, INVERSE или OVER оператора.

Hn

RANDOMIZE

To же, что и RANDOMIZE 0

1

' ' 2

RANDOMIZE N

Устанавливает системную переменную SEED, используемую
для вычисления очередного значения функции RND. Если
N< >0, то SEED принимает значение 'N'. Если N=0, то
SEED принимает значение другой системной переменной
FRAMES, подсчитывающей кадры, отображаемые на экране,
что обеспечивает вполне случайное число. N должно лежать
в интервале от 0 до 65535.

READ V1,V2,...,VK

Присваивает переменным VI,...VK одной за другой значения,
последовательно представленные в списке DATA.

REM... ^

Вставка комментариев. Не выполняется. '...' может быть по-
следовательностью символов (исключая ВК).

RESTORE

То же самое, что н RESTORE О

RESTORE N

я

Перезаписывает указатель данных в первый оператор DATA
в строке меньшей, чем N. Следующий оператор READ начнет
считывание отсюда.

RETURN

Возврат из подпрограммы, ссылается на оператор GO SUB
в стеке и передает управление на строку после него.

RUN ■

То же самое, что н RUN О.

RUN N

Запуск выполнения БЕЙСИК-программы. Выполняет CLEAR,
а затем GO ТО N.

SAVE F

Вывод на ленту программ н данных.

SAVE F LINE M

Записывает на ленту программу и переменные таким образом,
что при загрузке программа автоматически выполняется со стро-
ки 'М'.

SAVE F DATA ( )

Запись на ленту числового массива.

SAVE F DATA $ ( )

Запись на ленту строкового массива

SAVE F CODE M,N

Запись на лепту 'N' байтов, начиная с адреса 'М'.

SAVE F SCREEN$

Аналогично SAVE F CODE 16384, 6912

STOP

Останавливает выполнение программы. Продолжение
(CONTINUE) будет осуществляться со следующего оператора.

VERIFY

Го же, что н LOAD, за исключением того, что данные не
загружаются в ОЗУ, а сравниваются с находящимися там
кодами.




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

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



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

Похожие статьи:
Newвости - Минская мизансцена, да что и говорить, вся беларуская, находится в великом дауне.
Юмор - That is true.
Cyberpunk - Куда девался КИБЕРПАНК.
SUXX! - О делах, обстоящих с писюшным софтом. Обращение фронта освобождения от Microsoft.
Внимание - Памятка пользователю сети SPbZXNet.

В этот день...   21 ноября