|
Приложение C (Часть 2) - язык программирования БЕЙСИК.
|
П Р И Л О Ж Е Н И Е C (часть 2)
Язык программирования бейсик
Справочное пособие
Все числа в системе могут иметь точность 9 или 10 знаков.
Наибольшее число 10**38, наименьшее положительное число
4*10**(-39). Числа имеют внутреннее представление как числа с
плавающей (двоичной) точкой, с выделением одного бита на по-
казатель степени "E" (экспоненты) в интервале от 1 до 255, и
четырех байтов на мантиссу "M" в интервале от 0.5 до 1 (M^=1),
представляется числом M*2**E(-128).
Поскольку 1/"<=м<1, старший значащий бит мантиссы всегда
следовательно, мы можем заменить его на бит,обозначающий знак
0 - для положительного числа и 1 - для отрицательного.
Наименьшее целое имеет специалое представление в котором
первый байт 0, второй байт знака ( 0 и FFH ), а третий и
четвертый само число в дополнительном коде (младшие значащие
цифры в первом байте).
Числовые переменные имеют имя произвольной длины, начинающей-
ся с буквы и продолжающееся буквами или цифрами, пробелы и символы
управления цветом игнорируются и все буквы преобразуются к мини-
мально упакованному виду.
Управляющие переменные для FOR-NEXT циклов имеют имена дли-
ной в одну букву.
Числовые массивы имеют имена длиной в одну букву, которая
может быть такой же, как имя скалярной переменной, эти массивы
могут иметь произвольное количество измерений и произвольный
размер. Начальный индекс всегда 1.
Строки символов более гибкие в своей длине, имя строковой
переменной в отличии от простой переменной заканчивается знаком
доллара ($).
Строковые массивы также могут иметь произвольное количество
измерений и размер, их имена представляют собой одну букву и
следующий за ней символ $, но не могут совпадать с именем простой
строки символов.
Все строки в массивах имеют фиксированную длину, которая
определяется числом, задающим последнюю размерность в операторе
DIM. Начальный индекс 1.
Подстрока от строки может быть получена как сечение. Сечение
может быть:
а) пустым;
б) числовым выражением;
в) некоторым 'числовым выражением ' 'то' другим 'числовым
выражением' и использоваться в:
*) строковых выражениях (сечениях);
**) строковых массивах переменных
( индекс 1, индекс 2, .... индекс N, сечение)
или что тоже самое
( индекс 1, индекс 2, ....... индекс N) (сечение).
В случае *) строка выражения имеет значение S$. Если сечение
массива пусто, то S$ считается подстрокой от самой себя.
Если сечение представляется числовым выражением с значением
'M', то результатом будет M-ый символ от S$( подстрока длиной 1)
Если сечение представлено в форме B) и первое числовое выра
жение имеет значение 'M' (умалчиваемое значение 1), а второе
'N' (умалчиваемое значение S$), и если 1<=M<=N<, чем длина S$, то
результатом будет подстрока от S$ с M-ым начальным символом и
N-ым конечным.
Если 0<=N0 ?
? ? тогда------> а AND B =< ?
? ? ? L B, если б=0 ?
? ? ? ?
? ? - строка, ? г а$, если б<>0 ?
? ? тогда-----> а$ AND B=< ?
? ? ? L " " , если б=0 ?
Г---------Е-----------Е-----------------------------------------?
? ASN ? число ? арксинус в радианах, выдает сообщение ?
? ? ? а, если не лежит в интервале от -1 до 1 ?
Г---------Е-----------Е-----------------------------------------?
? ATN ? число ? арктангенс в радианах. ?
А---------Б-----------Б-----------------------------------------Щ
Ъ---------В-----------В-----------------------------------------ї
? 1 ? 2 ? 3 ?
Г---------Е-----------Е-----------------------------------------?
? аттр ? два число-? число, двоичный код которого, представ- ?
? ? вых аргу- ? ляет собой атрибуты Y-ой позиции X-ой ?
? ? мента X и ? строки экрана, бит 7 (старший) равен: ?
? ? Y, заклю- ? для мерцающего поля, и 0 для немерцаю- ?
? ? чаемые в ? щего, биты с 5 по 3 - цвет фона, биты с ?
? ? скобки ? 2 по 1 - цвет закрашивания, выдает ?
? ? ? сообщение B, если 0<=х<=23 и 0<=Y<=31. ?
Г---------Е-----------Е-----------------------------------------?
? BIN ? ? это не обычная функция, за BIN записыва-?
? ? ? ется последовательность нулей и единиц ?
? ? ? представляющая собой двоичное представ- ?
? ? ? ление числа, которое записывается в па- ?
? ? ? мять. ?
Г---------Е-----------Е-----------------------------------------?
? CHR$ ? число ? символ, чей код представим числом X, ?
? ? ? округленным к ближайшему целому. ?
Г---------Е-----------Е-----------------------------------------?
? CODE ? строка ? код первого символа в строке X( или 0, ?
? ? символов ? если х - пустая строка). ?
Г---------Е-----------Е-----------------------------------------?
? COS ? число B ? косинус х ?
? ? радианах ? ?
Г---------Е-----------Е-----------------------------------------?
? EXP ? число ? е в степени х ?
Г---------Е-----------Е-----------------------------------------?
? FN ? ? FN с последующим именем, определенной ?
? ? ? пользователем функции ( ом, DEF), аргу- ?
? ? ? менты должны заключаться в скобки, даже,?
? ? ? если нет аргументов, скобки все равно ?
? ? ? должны записываться. ?
А---------Б-----------Б-----------------------------------------Щ
Ъ---------В-----------В-----------------------------------------ї
? 1 ? 2 ? 3 ?
Г---------Е-----------Е-----------------------------------------?
? IN ? число ? осуществляется ввод на уровне микропро- ?
? ? ? цессора из порта X (0<=х<=FFFFH), загру-?
? ? ? жается пара регистров BC I выполняется ?
? ? ? команда аццемблера IN A(C). ?
Г---------Е-----------Е-----------------------------------------?
? INKEY$ ? нет ? чтение с клавиатуры, возвращает символ ?
? ? ? введенный с клавиатуры ( в режиме [L] и ?
? ? ? [C]), если было действительное нажатие ?
? ? ? клавиши, или пустую строку в противном ?
? ? ? случае. ?
Г---------Е-----------Е-----------------------------------------?
? INT ? число ? округление к ближайшему меньшему целому ?
Г---------Е-----------Е-----------------------------------------?
? LEN ? строка ? длина строки ?
? ? символов ? ?
Г---------Е-----------Е-----------------------------------------?
? LN ? число ? натуральный логарифм, выдает сообщение ?
? ? ? а, если х<=0. ?
Г---------Е-----------Е-----------------------------------------?
? NOT ? число ? 0, если х<>0, 1, если х=0. операция ?
? ? ? имеет четвертый приоритет ?
Г---------Е-----------Е-----------------------------------------?
? ON ? логичес- ? ?
? ? кая опера-? г 1, если B<>0 ?
? ? ция. оба ? а OR B =< ?
? ? операнда ? L а, если б=0 ?
? ? числа ?операция имеет второй приоритет ?
Г---------Е-----------Е-----------------------------------------?
? PEEK ? число ? значение байта в памяти по адресу х, ?
? ? ? округленному к ближайшему целому ?
Г---------Е-----------Е-----------------------------------------?
? PI ? нет ? число пи ( 3,12159265...) ?
А---------Б-----------Б-----------------------------------------Щ
Ъ---------В-----------В-----------------------------------------ї
? 1 ? 2 ? 3 ?
Г---------Е-----------Е-----------------------------------------?
? POINT ? два число-? 1, если точка экрана с координатами (X,Y)
? ? вых аргу- ? закрашена. 0, если эта точка имеет цвет ?
? ? мента х и ? фона. выдает сообшение B, если не выпол-?
? ? Y, заклю- ? няются условия 0<=х<=255 и 0<=Y<=175 ?
? ? ченных в ? ?
? ? скобки ? ?
Г---------Е-----------Е-----------------------------------------?
? RND ? нет ? очередное псевдослучайное число из пос- ?
? ? ? ледовательности, получаемой возведением ?
? ? ? в 75 степень модуля числа 65537, число ?
? ? ? лежит в интервале 0<=Y<=1. ?
Г---------Е-----------Е-----------------------------------------?
? SCREEN $? два число-? символ (обычный или инверсный), который ?
? ? вых аргу- ? появляется на экране в строке х, позиции?
? ? мента х и ? Y. дает пустую строку, если символ не ?
? ? Y, заклю- ? опознан. ?
? ? ченных в ? ?
? ? скобки ? ?
Г---------Е-----------Е-----------------------------------------?
? SGN ? число ? -1, если х<0 ?
? ? ? 0, если х=0 ?
? ? ? 1, если х>0 ?
Г---------Е-----------Е-----------------------------------------?
? SIN ? число в ? синус х ?
? ? радианах ? ?
Г---------Е-----------Е-----------------------------------------?
? SGR ? число ? корень квадратный . выдает сообщение а, ?
? ? ? если х<0. ?
Г---------Е-----------Е-----------------------------------------?
? STR$ ? число ? строка символов, которая должна быть ?
? ? ? отображена, если х выводится. ?
А---------Б-----------Б-----------------------------------------Щ
Ъ---------В-----------В-----------------------------------------ї
? 1 ? 2 ? 3 ?
Г---------Е-----------Е-----------------------------------------?
? USR ? строка ? адрес группы байтов, задающих определен-?
? ? символов ? ный пользователем символ для закрепления?
? ? ? его за х. ?
Г---------Е-----------Е-----------------------------------------?
? VAL ? строка ? вычисление х как числового выражения ?
? ? символов ? выдает сообщение C , если х содержит ?
? ? ? синтактические ошибки или дает строковое?
? ? ? (не числовое) значение. возможны и ?
? ? ? другие ошибки ?
Г---------Е-----------Е-----------------------------------------?
? VAL$ ? строка ? вычисляет х как строковое выражение, ?
? ? символов ? выдает сообщение с, если х содержит син-?
? ? ? тактическую ошибку или дает не строковое?
? ? ? ( числовое) выражение. ?
А---------Б-----------Б-----------------------------------------Щ
О П Е Р А Ц И И
префиксные:
- число отрицательное значение
инфиксные ( двухоперандовые):
+ сложение для чисел, конкагенция для строк
- вычитание
* умножение
/ деление
** возведение в степень (стрелка вверх), сообщение
если левый операнд отрицательный
=равенство
> больше ? оба операнда должны быть
< меньше ? одного типа, результат равен
>= больше или равно ? если сравнение истинно и не
<= меньше или равно ? равно 0, если нет.
<> не равно ?
Функции и операции имеют следующие приоритеты:
индексация и сечения -12
все функции за исключением:
NOT и префиксного минуса -11
возведение в степень -10
префиксный минус - 9
*, / - 8
+, -(вычитание) - 6
=, >, <, <=, >=, < > - 5
NOT - 4
AND - 3
OR - 2
О П Е Р А Т О Р Ы
принятые обозначения:
а - одна буква;
V - переменная;
X,Y,Z- числовые выражения;
м,N - числовые выражения, которые округляются к ближайшему
целому
е - некоторое выражение;
F - выражение,ое значение;
S - последовательность операторов, разделенных двоеточием;
с - последовательность символов управления цветом. каждый
заканчивается запятой или точкой с запятой. цветовой
символ имеет форму операндов;
PAPER, INK, FLASH, BRIGHT, INVERSE или OVER.
текст произвольного выражения может располагаться в любом
месте строки (за исключением номера строки, который должен раз
мещаться вначале строки).
все операторы кроме INPUT, DEF и DATA могут использоваться и
как команды и в программах.
команда или строка программы может содержать несколько опера
торов, разделенных двоеточием (':').
нет ограничений на положение оператора в строке, хотя есть неко
торые ограничения в IF и REM.
все операторы языка сведены в следующую таблицу:
Ъ------------------------В--------------------------------------ї
? оператор ? действие оператора ?
Г------------------------Е--------------------------------------?
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? BEEP X,Y ? воспроизводит звук длительностью ?
? ? х сек. и высотой у полутонов вверх ?
? ? от основного тона до (или вниз,ес- ?
? ? ли у отрицательное). ?
Г------------------------Е--------------------------------------?
? BORDER M ? устанавливает цвет рамки (бордюра) ?
? ? экрана, выдает сообщение об ошибке ?
? ? к, если 0 > м > у, ?
Г------------------------Е--------------------------------------?
? BRIGHT M ? устанавливает яркость выводимого ?
? ? символа: ?
? ? 0 - для обычной яркости, ?
? ? 1 - для повышенной яркости, ?
? ? 8 - сохраняет существующую яркость ?
Г------------------------Е--------------------------------------?
? CAT ? без MIKRODRIVE не работает ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? CIRKLE X,Y,Z ? изображает дугу или окружность с ?
? ? центром в точке с координатами ?
? ? (X,Y) и радиусом Z, ?
Г------------------------Е--------------------------------------?
? CLEAR ? уничтожает все преременные и очищает?
? ? занимаемую ими память, выполняет ?
? ? RESTORE и CLS, устанавливает PLOT ?
? ? позицию в нижнюю левую точку экрана ?
? ? и очищает GO SUB стек, ?
Г------------------------Е--------------------------------------?
? CLEAR N ? подобно CLEAR, нO дополнительно из-?
? ? меняет системную переменную RAMTOP ?
? ? на "N" и задает новый GO SUB стек, ?
Г------------------------Е--------------------------------------?
? CLOSE# ? без MIKRODRIVE не работает, ?
Г------------------------Е--------------------------------------?
? CLS ? (CLEAR SCREEN) очищает файл экрана,?
Г------------------------Е--------------------------------------?
? CONTINUE ? продолжает выполнение программы,на- ?
? ? чатой ранее и остановленной с сооб- ?
? ? щением, отличным от 0, если было ?
? ? сообщение 9 или 0, то выполнение ?
? ? продолжается со следующего операто- ?
? ? ра, в других случаях с того операто-?
? ? ра, где случилась ошибка, если сооб-?
? ? щение возникло в командной строке,то?
? ? CONTINUE вызовет попытку повторить ?
? ? командную строку и перейдет в цикл, ?
? ? если было сообщение 0:1, дает сооб- ?
? ? щение 0, если было 0:2, или дает со-?
? ? общение N, если было 0:3 или более, ?
? ? в качестве CONTINUE используется ?
? ? ключевое слово CONT на клавиатуре. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? COPY ? пересылает копию 22 строк экрана на ?
? ? принтер, если он подключен, помните,?
? ? что по COPY нельзя распечатать нахо-?
? ? дящийся на экране автоматический ?
? ? листинг, выдает сообщение если на- ?
? ? жать клавишу BREAK, ?
Г------------------------Е--------------------------------------?
? DATA E1,E2,E3,... ? часть списка данных,должна распола- ?
? ? гаться в программе, ?
Г------------------------Е--------------------------------------?
? DEF FNA(A1,A2,..AK)=E? определяемая пользователем функция ?
? ? должна располагаться в программе ?
? ? а,а1,а2 и т.д. единственные буквы ?
? ? или буквы и $ для строковых аргумен-?
? ? тов, значений, используется форма ?
? ? DEF FNA( ), если нет аргумента, ?
Г------------------------Е--------------------------------------?
? DELETE F ? без MICRODRIVE не работает ?
Г------------------------Е--------------------------------------?
? DIM A(N1,N2,...NK) ? уничтожает массив с именем "а" и ?
? ? устанавливает числовой массив"а" с ?
? ? "к" измерениями и присваивает всем ?
? ? его элементам значение 0, ?
Г------------------------Е--------------------------------------?
? DIM A$(N1,N2,...NK) ? уничтожает массив или строку с име- ?
? ? нем "а$" и устанавливает символьный ?
? ? массив с "к" измерениями и присваи- ?
? ? вает всем его элементам значения" " ?
? ? " ", массив вожет быть представлен ?
? ? как массив строк фиксированной дли- ?
? ? ны NK, с к-1 размерностью, сообщение?
? ? 4 выдается, если недостаточно места ?
? ? для размещения массива,массив не оп-?
? ? ределен до описания в операторе DIM,?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? DRAW X,Y ? то же самое что и DRAW X,Y,0 ?
? ? чертит прямую линию ?
Г------------------------Е--------------------------------------?
? DRAW X,Y,Z ? изображает линию от текущей графи- ?
? ? ческой позиции в точку с прираще- ?
? ? ниями X,Y по дуге в Z радиан, выдает?
? ? сообщение 8 при выходе за пределы ?
? ? экрана, ?
Г------------------------Е--------------------------------------?
? ERAZE ? без MICRODRIVE не работает ?
Г------------------------Е--------------------------------------?
? FLASH N ? определяет, будет ли символ мерцаю- ?
? ? щим или с постоянным свечением,N=1 ?
? ? для мерцания, N=8, для сохранения ?
? ? предыдущего состояния, ?
Г------------------------Е--------------------------------------?
? FOR A=X TO Y ? FOR A=X TO Y STEP 1 ?
Г------------------------Е--------------------------------------?
? FOR A=X TO Y STEP Z ? уничтожает скалярную переменную "а" ?
? ? и устанавливает управляющую перемен-?
? ? ную "х", предел"у", шаг приращения ?
? ? "Z", зацикливает адрес указанный в ?
? ? утверждении после FOR оператора. ?
? ? проверяет если начальное значение ?
? ? больше ( если STEP >=0) или меньше ?
? ? (если STEP < 0 ), чем предел, то ?
? ? происходит переход к утверждению ?
? ? NEXT A или выдача сообщения 1, если ?
? ? нет (см.NEXT), сообщение 4 выдается,?
? ? если недостаточно места для размеще-?
? ? ния прерменной, ?
Г------------------------Е--------------------------------------?
? FORMAT F ? без MIKRODRIVE не работает ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? GO SUB N ? проталкивает строку с оператором ?
? ? GO SUB в стек для использования , ?
? ? затем как GO TO N выдается сообще- ?
? ? ние 4. если не все программы завер-?
? ? шились с RETURN. ?
Г------------------------Е--------------------------------------?
? GO TO N ? продолжает выполнение программы со ?
? ? строки 'N' опущено, то с первой ?
? ? строки после этой. ?
Г------------------------Е--------------------------------------?
? IF X THEN S ? если 'х' истинно (не равно 0), то ?
? ? выполняется 'S'. 'S' ?
? ? операторы до конца строки. ?
? ? форма 'IF X THEN номер строки' ?
? ? недопустима ?
Г------------------------Е--------------------------------------?
? INK N ? устанавливает цвет закрашивания ?
? ? (т.е.цвет, которым будут изображать-?
? ? ся символы на цвете фона).'N' в ?
? ? интервале от 0 до 7 указывает цвет. ?
? ? N=8-оставить цвет без изменения, ?
? ? N=9-увеличение контраста. ?
? ? выдает сообщение к, если 'N' не ле- ?
? ? жит в интервале от 0 до 9. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? INPUT ... ? где '...' есть последовательность ?
? ? вводимых символов, разделяемых как ?
? ? в операторе PRINT запятыми, точками ?
? ? с запятой или апострофами; вводимыми?
? ? символами могут быть: ?
? ? а) некоторый PRINT-символ, начина-?
? ? ющийся не с буквы; ?
? ? б) имя переменной ?
? ? в) строка имен переменных строко- ?
? ? вого типа. ?
? ? PRINT-символы в случае а) представ- ?
? ? ляются так же, как и в операторе ?
? ? PRINT, за исключением того , что ?
? ? они все выводятся в нижнюю часть ?
? ? экрана . в случае б) компьютер оста-?
? ? навливается и ждет ввода некоторого ?
? ? выражения с клавиатуры, значение ко-?
? ? торого будет присвоено переменной, ?
? ? ввод осцществляется обычным образом,?
? ? а синтактические ошибки выдаются ?
? ? мерцающим [?]. для строкового выра- ?
? ? жения вводной буфер устанавливается ?
? ? для размещения двух таких строк ?
? ? ( который при необходимости может ?
? ? быть увеличен), если первый вводимый?
? ? символ STOP, то программа останавли-?
? ? вается с сообщением х. случай в) по-?
? ? добен случаю б) с той лишь разницей,?
? ? что вводимая информация представляет?
? ? собой строковый литерал неограничен-?
? ? ной длины. STOP в этом случае не ?
? ? сработает. для останова вы должны ?
? ? нажать клавишу 'курсор вниз' ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? INVERSE N ? символ управления инверсией выводи- ?
? ? мого символа, если N=0. символ вво- ?
? ? дится в обычном виде с прорисовкой ?
? ? цветом закрашивания (INK) и цветом ?
? ? фона (PAPER), если N=1, цветовое ре-?
? ? шение изображения символа меняется ?
? ? на обратное, смотри ПРИЛОЖЕНИЕ B, ?
? ? выдает СООБЩЕНИЕ к, если 'N' не 0 ?
? ? или 1. ?
Г------------------------Е--------------------------------------?
? LET V=E ? присваивает значение 'е' переменной ?
? ? 'V'. ключевое слово LET не может ?
? ? быть опущено. скалярная переменная ?
? ? не определена, пока не встретится в ?
? ? операторах LET, READ или INPUT. ?
? ? если 'V' индексируемая строковая пе-?
? ? ременная или сечение строкового мас-?
? ? сива (подстрока), то присваивание ?
? ? осуществляется с усечением справа ?
? ? или дополнением пробелами до фикси- ?
? ? рованной длины. ?
Г------------------------Е--------------------------------------?
? LIST ? то же, что и LIST O. ?
Г------------------------Е--------------------------------------?
? LIST N ? записывает текст программы в верхнюю?
? ? часть экрана, начиная с первой ?
? ? строки, меньшей, чем 'N', и делает ?
? ? 'N' текущей строкой. ?
Г------------------------Е--------------------------------------?
? LLIST ? то же, что и LIST 0. ?
Г------------------------Е--------------------------------------?
? LLIST N ? подобно LIST, но вывод осуществля- ?
? ? ется на принтер. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? LOAD F ? загружает программу и переменные ?
Г------------------------Е--------------------------------------?
? LOAD F DATA () ? загружает числовой массив ?
Г------------------------Е--------------------------------------?
? LOAD F DAT$() ? загружает строковый массив ?
Г------------------------Е--------------------------------------?
? LOAD F CODE M,N ? загружает старшие 'N' байтов, начи- ?
? ? ная с адреса 'N'. ?
Г------------------------Е--------------------------------------?
? LOAD F CODE M ? загружает байты, начиная с адреса ?
? ? 'M'. ?
Г------------------------Е--------------------------------------?
? LOAD F CODE ? загружает байты по тому же адресу ?
? ? с которого они были разгружены ?
Г------------------------Е--------------------------------------?
? LOAD F SCREEN$ ? аналогично LOAD F CODE 16384,6912. ?
? ? очищает файл экрана и загружает ?
? ? с кассетного магнитофона. ?
? ? смотри главу 20. ?
Г------------------------Е--------------------------------------?
? LPRINT ? подобно PRINT, но использует ?
? ? принтер. ?
Г------------------------Е--------------------------------------?
? MERGE F ? подобно LOAD F, но не затирает всю ?
? ? старую программу в памяти, а заменя-?
? ? ет только те строки и переменные, ?
? ? у которых совпадают номера или имена?
? ? с такими же на ленте. ?
Г------------------------Е--------------------------------------?
? MOVE F1,F2 ? без MIKRODRIVE не работает. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? NEW ? запускает по новой систему програми-?
? ? рования бейсик, уничтожая старую ?
? ? программу и переменные и используем-?
? ? ую память, включая и байт адреса в ?
? ? системной переменной RAMBOT, но со- ?
? ? храняет системные переменные UDG, ?
? ? P RAMT, RASF и PIP. ?
Г------------------------Е--------------------------------------?
? NEXT A ? A) находит управляющую переменную ?
? ? 'а'; ?
? ? б) прибавляет к ней значение STEP ?
? ? в) если STEP>=0, а значение 'а' ?
? ? стало больше значения 'предел ', ?
? ? или STEP<0, A значение 'а' меньше ?
? ? чем значение 'предел' ?
? ? то происходит переход к оператору ?
? ? цикла ?
Г------------------------Е--------------------------------------?
? OPEN# ? без MIKRODRIVE не работает ?
Г------------------------Е--------------------------------------?
? OUT M,N ? выводит байт 'N' в порт 'м'. опера- ?
? ? ция выполняется на уровне микропро- ?
? ? цессора (загружает в регистровую па-?
? ? ру BC адрес 'м', а в регистр а -'н' ?
? ? и выполняет команду ассемблера OUT ?
? ? (C),A) ?
? ? 0<=M<=65535, -255<=N<=255, ?
? ? иначе выдается сообщение B. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? OVER N ? управляющий символ надпечатывания ?
? ? по выведенной строке, если N=0, то ?
? ? выводимый символ затирает существу- ?
? ? ющий в данной позиции, если N=1, ?
? ? то новый символ соединяется со ста- ?
? ? рым, образуя закрашивающий цвет, ?
? ? при условии, что старый символ имел ?
? ? указание цвета отличное от старого, ?
? ? или цвет фона, если оба указывают ?
? ? на один и тот же цвет (либо фона, ?
? ? ли сложение по мо- ?
? ? дулю 2). смотри приложение B. ?
Г------------------------Е--------------------------------------?
? PAPER N ? подобен INK, но управляет цветом ?
? ? фона. ?
Г------------------------Е--------------------------------------?
? PAUSE N ? останавливает выполнение прграммы ?
? ? и задерживает изображение на экране ?
? ? на 'N' кадров ( 50 кадров в сек. - ?
? ? частота кадровой развертки) или ?
? ? нажатия левой клавиши. ?
? ? 0<=N<=65535, иначе выдается сообше- ?
? ? ние B, при N=0 время задержки не ?
? ? учитывается и продолжается до перво-?
? ? го нажатия клавиши. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? PLOT C:M,N ? выводит точку закрашивающего цвета ?
? ? ( обработанная OVER и INVERSE) с ?
? ? координатами (ABS(M),ABS(N)) смещая ?
? ? графическую (PLOTPOSITION) позицию ?
? ? если цветовой символ 'C' не специфи-?
? ? цирован иначе, TO цвет закрашивания ?
? ? в позиции, где расположена эта точка?
? ? изменяется на текущий сплошной зак- ?
? ? рашивающий цвет, и другие указания ?
? ? (цвет фона, мерцание, яркость) оста-?
? ? ются без изменений. ?
? ? 0<=ABS(M)<=255, 0<=ABS(N)<=175, ?
? ? иначе сообщение B. ?
Г------------------------Е--------------------------------------?
? POKE M,N ? записывает значение 'N' в байт па- ?
? ? мяти по адресу 'N'. ?
? ? 0<=N<=65535. ?
? ? -255<=N<=255, иначе сообщение B. ?
Г------------------------Е--------------------------------------?
? PRINT.... ? где '...' последовательность PRINT ?
? ? символов, разделенных запятыми или ?
? ? точками с запятой или апострофом, ?
? ? которые выводятся в экранный файл ?
? ? для отображения на экране телевизора?
? ? точка с запятой сама действий не вы-?
? ? зывает, а используется для разграни-?
? ? чения символов, запятая рождает уп- ?
? ? равляющий символ 'запятая', а апос- ?
? ? троф порождает символ ENTER. ?
? ? в конце оператора PRINT, если он ?
? ? заканчивается точкой с запятой, за- ?
? ? пятой или апострофом, автоматически ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? ? выводится символ ENTER. ?
? ? PRINT-символом может быть: ?
? ? а) пустая строка (т.е. ничего) ?
? ? б) числовое выражение. ?
? ? если значение выражения отрицательно?
? ? то выводится знак минус. ?
? ? если х<= 10**(-5) или х>= 10**(5) ?
? ? вывод осуществляется в показательной?
? ? форме, мантиса представляется 8-мью ?
? ? цифрами (с нормализацией) десятичной?
? ? точкой (отсутствует только тогда, ?
? ? когда в мантисе одна цифра) после ?
? ? первой цифры, показатель степени за-?
? ? писывается после с последующим зна- ?
? ? ком и двумя цифрами порядка, иначе х?
? ? выводится как обычное десятичное ?
? ? число с 8-мью значащими цифрами ?
? ? в) строковое выражение. ?
? ? в строке возможны пробелы до и после?
? ? символов. управляющие символы вызы- ?
? ? вают определяемое ими действие, не ?
? ? отражаемые на экране символы выво- ?
? ? дятся как '7'. ?
? ? г) ат м,N ?
? ? вывод в строку 'м', позицию 'N'. ?
? ? д) TAB N ?
? ? вывод управляющего символа TAB с по-?
? ? следующими двумя байтами 'N (первый ?
? ? байт старший), вызывает TAB останов.?
? ? е) цветовой символ в форме PAPеR, ?
? ? INK, FLASH, BRIGHT, INVERSE или ?
? ? OVER оператора. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? RANDOMIZE ? то же, что и RANDOMIZE 0 ?
Г------------------------Е--------------------------------------?
? RANDOMIZE N ? устанавливает системную переменную ?
? ? SEED, используемую для вычисления ?
? ? очередного значения функции RND. ?
? ? если N<>0, то SEED принимает значе- ?
? ? ние другой системной переменной ?
? ? FRAMES, подсчитывающий кадры, отоб- ?
? ? ражаемые на экране, что обеспечивает?
? ? вполне случайное число. оператор ?
? ? запускает сокращение RAND (см. кла- ?
? ? вишу), выдает сообщение B, если 'N' ?
? ? не лежит в интервале от 0 до 65535. ?
Г------------------------Е--------------------------------------?
? READ V1, V2, ...VK ? присваивает переменным одной за дру-?
? ? гой значения последовательно пред- ?
? ? ставленные в списке DATA. ?
Г------------------------Е--------------------------------------?
? REM... ? не выполняется. '...' может быть ?
? ? последовательностью символов (исклю-?
? ? чая ENTER), может включать двоето- ?
? ? чие (':') для указания отсутствия ?
? ? операторов в строке с REM. ?
Г------------------------Е--------------------------------------?
? RESTORE ? то же самое, что и в RESTORE 0. ?
Г------------------------Е--------------------------------------?
? RESTORE N ? перезаписывает указатель данных в ?
? ? первый оператор Dата в строке с ?
? ? меньшим, чем 'N'. следующий оператор?
? ? READ начнет считывание отсюда. ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? RETURN ? ссылается на оператор GO SUB в стеке?
? ? и передает управление на строку пос-?
? ? ле него, выдает сообщение 7, если ?
? ? нет указываемого оператора в стеке. ?
? ? характерная ошибка, когда операторы ?
? ? GO SUB не сбалансированны операто- ?
? ? рами RETURN. ?
Г------------------------Е--------------------------------------?
? RUN ? то же самое, что и RUN 0. ?
Г------------------------Е--------------------------------------?
? RUN N ? CLEAR, и затем GO TO N ?
Г------------------------Е--------------------------------------?
? SAVE F ? записывает на ленту программу и ?
? ? переменные. ?
Г------------------------Е--------------------------------------?
? SAVE F LINE N ? записывает на ленту программу и пе- ?
? ? ременные таким образом, что при заг-?
? ? рузке программа автоматически выпол-?
? ? няется со строки 'N' ?
Г------------------------Е--------------------------------------?
? SAVE F DATA () ? запись на ленту числового массива ?
Г------------------------Е--------------------------------------?
? SAVE F DATA$ () ? запись на ленту строкового массива $?
Г------------------------Е--------------------------------------?
? SAVE F CODEM,N ? записывает на ленту 'N' байтов начи-?
? ? ная с адреса 'м'. ?
Г------------------------Е--------------------------------------?
? SAVE F SCREEN$ ? аналогично SAVE F CODE 16384,6912 ?
? ? выдает сообщение F, если 'F' пустая ?
? ? строка или имеет длину более 10, ?
? ? смотри главу 20 ?
А------------------------Б--------------------------------------Щ
Ъ------------------------В--------------------------------------ї
? 1 ? 2 ?
Г------------------------Е--------------------------------------?
? STOP ? останавливает выполнение программ с ?
? ? выдачей сообщения 9, CONTINUE (про- ?
? ? должение) будет осуществляться со ?
? ? следующего оператора ?
Г------------------------Е--------------------------------------?
? VERIFY ? то же, что и LOAD, за исключением ?
? ? того, что данные загружаются в окно ?
? ? сравниваются с находящимися там. ?
? ? выдается сообщение B, если обнару- ?
? ? жится хотя бы один не совпадающий ?
? ? байт. ?
А------------------------Б--------------------------------------Щ
|
|