Программирование на Бейсик 48/128 для ZX-Spectrum 1993 г.

SPECTRUM-бейсик - операторы.


PLOT <х>, <у>

оператор стр. 19

ставит на экран точку (включает пиксель). Позиция точки задается
двумя целочисленными значениями, следующими через запятую
после ключевого слова: <х> (0...255) определяет горизонтальную
координату, <у> (0... 175) — вертикальную.

Цвета точки и фона знакоместа, в которое она помещается, опреде-
ляются постоянными значениями атрибутов либо задаются вре-
менными атрибутами. Ключевые слова, задающие временные ат-
рибуты, размещаются непосредственно за ключевым словом PLOT
и отделяются друг от друга и от параметров точками с запятой.

Пример: 160 PLOT INK 2; INVERSE 1; х,у

POINT (<х>, <y>)__(el ss/8

функция

проверяет состояние пикселя. Если пиксель включен (окрашен в
цвет тона), функция возвращает 1 и если выключен (окрашен в
цвет фона), — 0. Координаты пикселя задаются двумя целочислен-
ными значениями, следующими после ключевого слова в скобках
через запятую: <х> (0...255) — горизонтальная координата, <у>
(0...175) — вертикальная.

Пример: 240 IF POINT (X,Y)=1 THEN GO SUB 600

POKE <addr> , < byte>__ _О

оператор стр. 62

записывает в память целочисленное значение <byte> (0...255). Ад-
рес ячейки памяти задается целочисленным значением <addr>
(0...65535).

Пример: РОКЕ 23609,255

PRINT р

оператор стр. 8

выводит на экран данные — числовые и символьные значения,
следующие за ключевым словом. Перед блоками данных в любом
порядке могут ставиться ключевые слова, задающие позицию, и
атрибуты выводимых на экран символов (TAB, AT, INK, PAPER, FLASH,
BRIGHT, INVERSE и OVER). Друг от друга ключевые слова и блоки
данных отделяются знаками-разделителями: точкой с запятой, за-
пятой или апострофом.

Символьные значения оператор PRINT освобождает от кавычек и
выводит на экран. Числовые выражения, стоящие за PRINT, вы-
числяются, и на экране отображается результат в десятичной фор-
ме (не более восьми значащих цифр). Числа больше 108 и мень-
ше 10~5 отображаются в экспоненциальной форме.

Пример: PRINT 500000000

5Е8

PRINT .0000092
9.2Е-4

Блоки данных, разделенные точкой с запятой, отображаются опе-
ратором PRINT один за другим без пробелов. Запятая переводит
текущую позицию печати на середину текущей строки или в
начало следующей, в зависимости от позиции последнего напеча-
танного символа. Данные, отделенные апострофом, отображаются
с новой строки.

Знак, стоящий в конце оператора PRINT, оказывает действие на
последующий оператор PRINT.

Пример: PRINT 10-9;2,3"'ASD"

12 3

ASD

Используя параметр #<с> в произвольном месте списка парамет-
ров и данных оператора PRINT, можно переключать вывод инфор-
мации на другие потоки (см. [1J).

RANDOMIZE [<о]___ т

оператор стр. 54

задает начало последовательности случайных чисел, генерируемой
оператором RND. Целочисленное значение <с> (1...65535) задает
фиксированное начало последовательности. RANDOMIZE без пара-
метра либо с нулевым значением задает начало последовательно-
сти в зависимости от содержимого системной переменной
FRAMES (см. стр. 61). При этом достигается относительная слу-
чайность начала последовательности.

READ <var>[, < var> ]... __IE] A

оператор стр. 43

присваивает переменным значения, считываемые из списка данных,

следующих за операторами DATA. Переменные указываются через
запятую за ключевым словом. Тип переменных (числовые или
символьные) должен соответствовать типу DATA-данных.

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

Последовательность считывания данных может быть изменена опе-
ратором RESTORE.

Пример: 20 READ А$, X

REM_е

оператор стр. 31

отделяет текст комментариев от текста программы. Следом за REM
могут стоять любые символы.

Пример: 50 GO ТО 1000: REM Переход на конец программы
RESTORE [<п>] ■ [е] s

оператор стр. 44

указывает оператор DATA, с которого нужно считывать данные
следующим по программе оператором READ. Строка, в которой
расположен требуемый оператор DATA, задается целочисленным
значением <п>. Если следом за RESTORE не указано никакого значе-
ния либо оно равно 0, следующий оператор READ обращается к
первому в программе оператору DATA.

RETURN y

оператор стр. 45

передает управление оператору, следующему за последним выпол-
ненным оператором GO SUB.

RND_[ЕГг

функция стр. 54

возвращает псевдослучайное число в интервале: больше или равно
0 и меньше 1. Аргументов не требует.

После включения (сброса) компьютера или выполнения оператора
NEW функция RND генерирует одну и ту же последовательность
случайных чисел. Изменить последовательность можно выполнени-
ем оператора RANDOMIZE.

Пример: FOR 1=1 ТО 22: PRINT RND: NEXT I

RUN [<n>] R

оператор стр. 26

запускает выполнение бейсик-программы. Строка, с которой нужно
начать выполнение, задается целочисленным значением <n>. RUN
без параметра запускает программу со строки с наименьшим но-
мером.

Перед запуском программы оператор RUN выполняет CLEAR, то есть
обнуляет все переменные и т. д. (см. CLEAR).

SAVE <string> [LINE <n>] s

оператор стр. 46

записывает бейсик-программу на магнитную ленту. Программе
присваивается имя, задаваемое символьным значением <string>.
Имя должно состоять не более чем из десяти символов и не может
быть «пустым». При выполнении оператора компьютер выдает
сообщение: Start tape, then press any key (включите магнитофон, затем
нажмите любую клавишу).

В операторе SAVE ключевое слово LINE, стоящее после имени про-
граммы, указывает, что программа после ее загрузки оператором
LOAD будет сразу запущена со строки с номером <п> (автомати-
чески выполнится оператор GO ТО <п>).

Пример: SAVE "NAME" LINE 1

SAVE <string> CODE <addr> , <c>_S...[E] 1

оператор стр. 50

сохраняет на магнитной ленте блок кодов (последовательность бай-
тов). Имя файла, в который записывается блок, задается символь-
ным значением <string>. Имя должно состоять не более чем из
десяти символов и не может быть «пустым».

За ключевым словом CODE указываются через запятую два цело-
численных значения: <addr> (0.. 65535) — адрес размещения бло-
ка кодов в памяти компьютера и <с> — количество входящих в него
байт.

Пример: SAVE "PICTURE" CODE 16384,6912

SAVE <string> DATA < a> [$]()_S...[E] D

оператор стр. 49

сохраняет на магнитной ленте массив. Имя файла, в котором сохра-
няется массив, задается символьным значением <string>. Имя дол-
жно состоять не более чем из десяти символов и не может быть
«пустым». Затем следуют ключевое слово DATA и имя массива <а>
(буква или буква со знаком $) с пустыми скобками.

Пример: 450 SAVE "NUMBERS" DATA N()

SAVE <string> SCREEN$ s...[e]ss/k

оператор стр. 49

записывает на магнитную ленту экранное изображение. Имя фай-
ла, в котором сохраняется экранное изображение, задается сим-
вольным значением <string>. Имя должно состоять не более чем из
десяти символов и не может быть «пустым».

SCREEN$ (<row>, <col>) [Ejss/K

функция

возвращает символ, помещенный в указанном знакоместе экрана.
Позиция знакоместа задается двумя целочисленными значениями,
следующими в скобках через запятую следом за ключевым словом:
<row> (0...21) — номер строки, <col> (0...31) — номер столбца.

Возвращаются только символы набора, на который указывает сис-
темная переменная CHARS. При несовпадении изображения в
знакоместе ни с одним из символов набора функция screen$
возвращает «пустую строку».

Пример: 160 if screen$(14,19)="#" then print at 14,19; "$"

SGN <z> [E]F

функция стр. 1 6

определяет знак числового значения. SNG возвращает:

1 — если аргумент положителен,
— 1 «- если аргумент отрицателен,
0 - если аргумент равен 0.

SIN <q> [E]Q

функция стр. 15

вычисляет синус угла <q>, заданного в радианах.

SQR <z> [е] н

функция стр. 15

вычисляет квадратный корень числового значения <z>.

STEP _ss/p

оператор стр. 37

используется для построения цикла for...next (см. for).

STOP ____ss/a

оператор стр. 33

останавливает выполнение бейсик-программы. Параметров не тре-
бует. После остановки программы ее выполнение может быть
продолжено оператором continue с оператора, следующего за stop.

STR$ <z>

функция crp. 17

преобразует числовое значение <z> в символьное. STR$ возвращает
значение аргумента в виде символьной константы.

Пример: PRINT LEN STR$ 100
3

TAB <col> [E]P

оператор стр. 14

задает позицию вывода на экран в текущей строке. Целочисленное
значение <col> (0...31) указывает номер колонки. Если <col> мень-
ше текущей позиции вывода, символ помещается в заданную пози-
цию, но строкой ниже. TAB используется только совместно с опера-
торами PRINT и INPUT.

Пример: PRINT TAB 1;"А";ТАВ 5;"В";ТАВ 3;"С"

А В

С

TAN < q >_[Е)Е

функция стр. 15

вычисляет тангенс угла <q>, заданного в радианах.

THEN__ss/g

См. IF.

ТО SS/F

оператор, функция стр. 16

Оператор

используется для построения циклов FOR...NEXT (см. FOR).
Функция

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

Начальная и конечная позиции сечения задаются двумя цело-
численными значениями, которые записываются черёз ключевое
слово ТО в скобках следом за символьным значением.

По умолчанию первый аргумент принимает значение, равное 1,
второй — равное длине символьного значения.

Пример: PRINT "DU-DU"(2 ТО 4)

U-D

USR [e] l

функция стр. 56

С целочисленным значением <addr>

передает управление подпрограмме в машинных кодах, располо-
женной по адресу <addr> (0...65535). После выполнения подпрог-
раммы возвращает содержимое регистровой пары процессора ВС.

Пример: RANDOMIZE USR 65000

С символьным значением

возвращает адрес первого из восьми байтов, задающих изображе-
ние символа, определяемого пользователем. Следом за USR указы-
вается односимвольное значение, соответствующее одной из 21
клавиш (от А до U).

Пример: PRINT USR "а"

65368

VAL <string> [E]J

функция стр. 17

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

Пример: PRINT VAL "3+5"-5
3

VAL$ " < string> "_[Е] ss/j

функция

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

Пример: 10 LET A$="ss": LET B$="rr"
20 LET C$="A$+""D""+B$"
20 PRINT C$, VAL$ C$

A$+"D"+B$ ssDrr

VERIFY < string >_[E] ss/r

оператор стр. 47

проверяет правильность записи программы на магнитную ленту.
Имя проверяемой программы задается символьным значением
<string>. Если одноименные программы: программа, записанная на
магнитной ленте, и программа, находящаяся в памяти компьютера,
не совпадают, то выдается сообщение об ошибке: Таре loading error.

С помощью операторов VERIFY...DATA, VERIFY...SCREENS и
VERIFY...CODE можно проверить правильность записи массивов,
экранного изображения и блоков кодов, указав после имени про-
граммы соответствующее ключевое слово с параметрами.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Новинки - MICROEDITOR v.3.09, PCX - VIEW, Spectrofon to ZX-Word coder, FAST READER, The Fast Packet v1.0x, RETURN TO HOME 4, STRIP REVERSI, MORTAL KOMBAT,
Предисловие - Наступил последний месяц лета.
Курс изучения ассемблера - ЯЗЫК АССЕМБЛЕРА (4 часть).
40 Things To Do With A Duff Floppy
Interface - Riskej/OCA interview.

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